OSDN Git Service

Make TaskModel 2.5x faster
authordt <qtc-committer@nokia.com>
Tue, 8 Jun 2010 09:57:50 +0000 (11:57 +0200)
committerdt <qtc-committer@nokia.com>
Tue, 8 Jun 2010 13:23:58 +0000 (15:23 +0200)
src/plugins/projectexplorer/taskwindow.cpp

index fb28941..77dcd19 100644 (file)
@@ -250,9 +250,13 @@ void TaskModel::addTask(const Task &task)
 {
     Q_ASSERT(m_categories.keys().contains(task.category));
 
-    QList<Task> tasksInCategory = m_tasksInCategory.value(task.category);
-    tasksInCategory.append(task);
-    m_tasksInCategory.insert(task.category, tasksInCategory);
+    if (m_tasksInCategory.contains(task.category)) {
+        m_tasksInCategory[task.category].append(task);
+    } else {
+        QList<Task> temp;
+        temp.append(task);
+        m_tasksInCategory.insert(task.category, temp);
+    }
 
     beginInsertRows(QModelIndex(), m_tasks.size(), m_tasks.size());
     m_tasks.append(task);