From e092c5b51ddd8cd3dd6f0d32358ec4ae6198b75e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 19 Aug 2015 13:17:55 +0200 Subject: Move duplicate code into function Change-Id: I48e3187acb53159c16c7884a96ebdb831571b830 Reviewed-by: Niels Weber --- plugins/autotest/testresultdelegate.cpp | 103 ++++++++++++-------------------- plugins/autotest/testresultdelegate.h | 2 + 2 files changed, 41 insertions(+), 64 deletions(-) diff --git a/plugins/autotest/testresultdelegate.cpp b/plugins/autotest/testresultdelegate.cpp index 7cf841dd78..4dea7c050d 100644 --- a/plugins/autotest/testresultdelegate.cpp +++ b/plugins/autotest/testresultdelegate.cpp @@ -42,6 +42,43 @@ TestResultDelegate::~TestResultDelegate() } +QString TestResultDelegate::outputString(const TestResult &testResult, bool selected) +{ + const QString desc = testResult.description(); + QString output; + switch (testResult.result()) { + case Result::PASS: + case Result::FAIL: + case Result::EXPECTED_FAIL: + case Result::UNEXPECTED_PASS: + case Result::BLACKLISTED_FAIL: + case Result::BLACKLISTED_PASS: + output = testResult.className() + QLatin1String("::") + testResult.testCase(); + if (!testResult.dataTag().isEmpty()) + output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag())); + if (selected && !desc.isEmpty()) { + output.append(QLatin1Char('\n')).append(desc); + } + break; + case Result::BENCHMARK: + output = testResult.className() + QLatin1String("::") + testResult.testCase(); + if (!testResult.dataTag().isEmpty()) + output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag())); + if (!desc.isEmpty()) { + int breakPos = desc.indexOf(QLatin1Char('(')); + output.append(QLatin1String(": ")).append(desc.left(breakPos)); + if (selected) + output.append(QLatin1Char('\n')).append(desc.mid(breakPos)); + } + break; + default: + output = desc; + if (!selected) + output = output.split(QLatin1Char('\n')).first(); + } + return output; +} + void TestResultDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { QStyleOptionViewItemV4 opt = option; @@ -75,7 +112,6 @@ void TestResultDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op TestResultModel *resultModel = static_cast(resultFilterModel->sourceModel()); LayoutPositions positions(opt, resultModel); TestResult testResult = resultModel->testResult(resultFilterModel->mapToSource(index)); - Result::Type type = testResult.result(); QIcon icon = index.data(Qt::DecorationRole).value(); if (!icon.isNull()) @@ -92,38 +128,7 @@ void TestResultDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op painter->setPen(tmp); } - const QString desc = testResult.description(); - QString output; - switch (type) { - case Result::PASS: - case Result::FAIL: - case Result::EXPECTED_FAIL: - case Result::UNEXPECTED_PASS: - case Result::BLACKLISTED_FAIL: - case Result::BLACKLISTED_PASS: - output = testResult.className() + QLatin1String("::") + testResult.testCase(); - if (!testResult.dataTag().isEmpty()) - output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag())); - if (selected && !desc.isEmpty()) { - output.append(QLatin1Char('\n')).append(desc); - } - break; - case Result::BENCHMARK: - output = testResult.className() + QLatin1String("::") + testResult.testCase(); - if (!testResult.dataTag().isEmpty()) - output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag())); - if (!desc.isEmpty()) { - int breakPos = desc.indexOf(QLatin1Char('(')); - output.append(QLatin1String(": ")).append(desc.left(breakPos)); - if (selected) - output.append(QLatin1Char('\n')).append(desc.mid(breakPos)); - } - break; - default: - output = desc; - if (!selected) - output = output.split(QLatin1Char('\n')).first(); - } + QString output = outputString(testResult, selected); if (selected) { output.replace(QLatin1Char('\n'), QChar::LineSeparator); @@ -184,37 +189,7 @@ QSize TestResultDelegate::sizeHint(const QStyleOptionViewItem &option, const QMo if (selected) { TestResult testResult = resultModel->testResult(resultFilterModel->mapToSource(index)); - QString desc = testResult.description(); - QString output; - switch (testResult.result()) { - case Result::PASS: - case Result::FAIL: - case Result::EXPECTED_FAIL: - case Result::UNEXPECTED_PASS: - case Result::BLACKLISTED_FAIL: - case Result::BLACKLISTED_PASS: - output = testResult.className() + QLatin1String("::") + testResult.testCase(); - if (!testResult.dataTag().isEmpty()) - output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag())); - if (!desc.isEmpty()) { - output.append(QLatin1Char('\n')).append(desc); - } - break; - case Result::BENCHMARK: - output = testResult.className() + QLatin1String("::") + testResult.testCase(); - if (!testResult.dataTag().isEmpty()) - output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag())); - if (!desc.isEmpty()) { - int breakPos = desc.indexOf(QLatin1Char('(')); - output.append(QLatin1String(" - ")).append(desc.left(breakPos)); - if (selected) - output.append(QLatin1Char('\n')).append(desc.mid(breakPos)); - } - break; - default: - output = desc; - } - + QString output = outputString(testResult, selected); output.replace(QLatin1Char('\n'), QChar::LineSeparator); if (AutotestPlugin::instance()->settings()->limitResultOutput diff --git a/plugins/autotest/testresultdelegate.h b/plugins/autotest/testresultdelegate.h index d70b0d8902..63873a9d25 100644 --- a/plugins/autotest/testresultdelegate.h +++ b/plugins/autotest/testresultdelegate.h @@ -38,6 +38,8 @@ public: void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; + static QString outputString(const TestResult &testResult, bool selected); + public slots: void currentChanged(const QModelIndex ¤t, const QModelIndex &previous); -- cgit v1.2.1