diff --git a/src/plugins/autotest/testresultdelegate.cpp b/src/plugins/autotest/testresultdelegate.cpp index ebef913f183..34bd6188a86 100644 --- a/src/plugins/autotest/testresultdelegate.cpp +++ b/src/plugins/autotest/testresultdelegate.cpp @@ -183,9 +183,12 @@ void TestResultDelegate::currentChanged(const QModelIndex ¤t, const QModel void TestResultDelegate::clearCache() { + const QModelIndex current = m_lastProcessedIndex; m_lastProcessedIndex = QModelIndex(); m_lastProcessedFont = QFont(); m_lastWidth = -1; + if (current.isValid()) + emit sizeHintChanged(current); } void TestResultDelegate::recalculateTextLayout(const QModelIndex &index, const QString &output, diff --git a/src/plugins/autotest/testresultspane.cpp b/src/plugins/autotest/testresultspane.cpp index 4bbface7aa2..d3b3691b764 100644 --- a/src/plugins/autotest/testresultspane.cpp +++ b/src/plugins/autotest/testresultspane.cpp @@ -166,6 +166,7 @@ TestResultsPane::TestResultsPane(QObject *parent) : this, &TestResultsPane::addTestResult); connect(TestRunner::instance(), &TestRunner::hadDisabledTests, m_model, &TestResultModel::raiseDisabledTests); + visualOutputWidget->installEventFilter(this); } void TestResultsPane::createToolButtons() @@ -576,6 +577,14 @@ void TestResultsPane::filterMenuTriggered(QAction *action) navigateStateChanged(); } +bool TestResultsPane::eventFilter(QObject *object, QEvent *event) +{ + QTC_ASSERT(m_outputWidget, return false); + if (event->type() == QEvent::Resize && object->parent() == m_outputWidget) + static_cast(m_treeView->itemDelegate())->clearCache(); + return false; +} + void TestResultsPane::onTestRunStarted() { m_testRunning = true; diff --git a/src/plugins/autotest/testresultspane.h b/src/plugins/autotest/testresultspane.h index b13796b5a9e..f28f1865f1b 100644 --- a/src/plugins/autotest/testresultspane.h +++ b/src/plugins/autotest/testresultspane.h @@ -105,6 +105,7 @@ private: void onRunSelectedTriggered(); void checkAllFilter(bool checked); void filterMenuTriggered(QAction *action); + bool eventFilter(QObject *object, QEvent *event) override; void initializeFilterMenu(); void updateSummaryLabel();