From 27bdfe510edca34b37231ec78a171f053b4d72d7 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Tue, 8 Jun 2010 17:36:47 +0200 Subject: [PATCH] Make the TaskView 10% faster by caching how wide "8888" is. --- src/plugins/projectexplorer/taskwindow.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 0deacbd4868..d01dd1a87d8 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -142,6 +142,7 @@ private: const QIcon m_warningIcon; int m_taskCount; int m_errorTaskCount; + int m_sizeOfLineNumber; }; class TaskFilterModel : public QSortFilterProxyModel @@ -221,7 +222,8 @@ TaskModel::TaskModel() : m_errorIcon(QLatin1String(":/projectexplorer/images/compile_error.png")), m_warningIcon(QLatin1String(":/projectexplorer/images/compile_warning.png")), m_taskCount(0), - m_errorTaskCount(0) + m_errorTaskCount(0), + m_sizeOfLineNumber(0) { } @@ -422,9 +424,12 @@ int TaskModel::sizeOfFile() int TaskModel::sizeOfLineNumber() { - QFont font; - QFontMetrics fm(font); - return fm.width("8888"); + if (m_sizeOfLineNumber == 0) { + QFont font; + QFontMetrics fm(font); + m_sizeOfLineNumber = fm.width("8888"); + } + return m_sizeOfLineNumber; } void TaskModel::setFileNotFound(const QModelIndex &idx, bool b) -- GitLab