From 938612c35e82bec69868e1bf6490c1b331085d82 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 20 Sep 2012 10:31:34 +0200 Subject: [PATCH] Do not use QAbstractItemModel::reset(). Change-Id: Ie49bdf576a6d3543aef6df133b27c8827775c935 Rationale: a) It is conceptually cleaner to do the changes to the model in between calls to beginResetModel() and endResetModel, respectively. b) The function is deprecated in Qt 5, for exactly that reason. Reviewed-by: hjk --- src/libs/cplusplus/OverviewModel.cpp | 3 ++- src/libs/utils/historycompleter.cpp | 3 ++- .../android/androidpackagecreationwidget.cpp | 3 ++- src/plugins/android/androidsettingswidget.cpp | 3 ++- src/plugins/coreplugin/dialogs/settingsdialog.cpp | 4 +++- src/plugins/debugger/breakhandler.cpp | 6 ++++-- src/plugins/debugger/moduleshandler.cpp | 6 ++++-- src/plugins/debugger/qtmessageloghandler.cpp | 1 - src/plugins/debugger/registerhandler.cpp | 9 ++++++--- src/plugins/debugger/snapshothandler.cpp | 15 ++++++++++----- src/plugins/debugger/snapshothandler.h | 2 +- src/plugins/debugger/sourcefileshandler.cpp | 6 ++++-- src/plugins/debugger/sourcefileshandler.h | 1 - src/plugins/debugger/stackhandler.cpp | 9 ++++++--- src/plugins/debugger/stackhandler.h | 2 +- src/plugins/debugger/threadshandler.cpp | 9 ++++++--- src/plugins/find/searchresulttreemodel.cpp | 3 ++- src/plugins/locator/locatorwidget.cpp | 3 ++- src/plugins/projectexplorer/dependenciespanel.cpp | 3 ++- src/plugins/projectexplorer/projectmodels.cpp | 3 ++- .../projectexplorer/projectwelcomepage.cpp | 15 ++++++++++----- .../resourceeditor/qrceditor/resourcefile.cpp | 3 ++- src/plugins/texteditor/colorschemeedit.cpp | 3 ++- src/plugins/texteditor/fontsettingspage.cpp | 3 ++- .../texteditor/snippets/snippetssettingspage.cpp | 9 ++++++--- src/plugins/valgrind/xmlprotocol/stackmodel.cpp | 3 ++- 26 files changed, 85 insertions(+), 45 deletions(-) diff --git a/src/libs/cplusplus/OverviewModel.cpp b/src/libs/cplusplus/OverviewModel.cpp index 0d5d8b53269..6689339719a 100644 --- a/src/libs/cplusplus/OverviewModel.cpp +++ b/src/libs/cplusplus/OverviewModel.cpp @@ -239,6 +239,7 @@ Symbol *OverviewModel::symbolFromIndex(const QModelIndex &index) const void OverviewModel::rebuild(Document::Ptr doc) { + beginResetModel(); _cppDocument = doc; - reset(); + endResetModel(); } diff --git a/src/libs/utils/historycompleter.cpp b/src/libs/utils/historycompleter.cpp index 1e0356c86ef..024d0489418 100644 --- a/src/libs/utils/historycompleter.cpp +++ b/src/libs/utils/historycompleter.cpp @@ -139,8 +139,9 @@ bool HistoryCompleterPrivate::removeRows(int row, int count, const QModelIndex & void HistoryCompleterPrivate::clearHistory() { + beginResetModel(); list.clear(); - reset(); + endResetModel(); } void HistoryCompleterPrivate::saveEntry(const QString &str) diff --git a/src/plugins/android/androidpackagecreationwidget.cpp b/src/plugins/android/androidpackagecreationwidget.cpp index 9dcf9b79a39..61757995fa6 100644 --- a/src/plugins/android/androidpackagecreationwidget.cpp +++ b/src/plugins/android/androidpackagecreationwidget.cpp @@ -148,8 +148,9 @@ PermissionsModel::PermissionsModel(QObject *parent) void PermissionsModel::setPermissions(const QStringList &permissions) { + beginResetModel(); m_permissions = permissions; - reset(); + endResetModel(); } const QStringList &PermissionsModel::permissions() diff --git a/src/plugins/android/androidsettingswidget.cpp b/src/plugins/android/androidsettingswidget.cpp index ae8d2b72834..12366ff9d26 100644 --- a/src/plugins/android/androidsettingswidget.cpp +++ b/src/plugins/android/androidsettingswidget.cpp @@ -51,8 +51,9 @@ namespace Internal { void AvdModel::setAvdList(const QVector &list) { + beginResetModel(); m_list = list; - reset(); + endResetModel(); } QString AvdModel::avdName(const QModelIndex &index) diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index eea0b197dcb..246c336f8c9 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -137,6 +137,8 @@ QVariant CategoryModel::data(const QModelIndex &index, int role) const void CategoryModel::setPages(const QList &pages, const QList &providers) { + beginResetModel(); + // Clear any previous categories qDeleteAll(m_categories); m_categories.clear(); @@ -176,7 +178,7 @@ void CategoryModel::setPages(const QList &pages, category->providers.append(provider); } - reset(); + endResetModel(); } Category *CategoryModel::findCategoryById(const QString &id) diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 191f2218a6a..b269c84b066 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -1163,18 +1163,20 @@ void BreakHandler::saveSessionData() void BreakHandler::loadSessionData() { + beginResetModel(); m_storage.clear(); - reset(); + endResetModel(); loadBreakpoints(); } void BreakHandler::removeSessionData() { + beginResetModel(); Iterator it = m_storage.begin(), et = m_storage.end(); for ( ; it != et; ++it) it->destroyMarker(); m_storage.clear(); - reset(); + endResetModel(); } void BreakHandler::breakByFunction(const QString &functionName) diff --git a/src/plugins/debugger/moduleshandler.cpp b/src/plugins/debugger/moduleshandler.cpp index 645e944f2db..10786d29dff 100644 --- a/src/plugins/debugger/moduleshandler.cpp +++ b/src/plugins/debugger/moduleshandler.cpp @@ -195,15 +195,17 @@ QVariant ModulesModel::data(const QModelIndex &index, int role) const void ModulesModel::setModules(const Modules &m) { + beginResetModel(); m_modules = m; - reset(); + endResetModel(); } void ModulesModel::clearModel() { if (!m_modules.isEmpty()) { + beginResetModel(); m_modules.clear(); - reset(); + endResetModel(); } } diff --git a/src/plugins/debugger/qtmessageloghandler.cpp b/src/plugins/debugger/qtmessageloghandler.cpp index e63f7c5b585..ccb738a1ca9 100644 --- a/src/plugins/debugger/qtmessageloghandler.cpp +++ b/src/plugins/debugger/qtmessageloghandler.cpp @@ -182,7 +182,6 @@ QtMessageLogHandler::~QtMessageLogHandler() void QtMessageLogHandler::clear() { beginResetModel(); - reset(); delete m_rootItem; m_rootItem = new QtMessageLogItem(0); endResetModel(); diff --git a/src/plugins/debugger/registerhandler.cpp b/src/plugins/debugger/registerhandler.cpp index cd9a11b5eee..57d0a1f9b7d 100644 --- a/src/plugins/debugger/registerhandler.cpp +++ b/src/plugins/debugger/registerhandler.cpp @@ -480,8 +480,9 @@ Qt::ItemFlags RegisterHandler::flags(const QModelIndex &idx) const void RegisterHandler::removeAll() { + beginResetModel(); m_registers.clear(); - reset(); + endResetModel(); } bool RegisterHandler::isEmpty() const @@ -503,12 +504,13 @@ static inline bool compareRegisterSet(const Registers &r1, const Registers &r2) void RegisterHandler::setRegisters(const Registers ®isters) { + beginResetModel(); m_registers = registers; const int size = m_registers.size(); for (int r = 0; r < size; r++) m_registers[r].changed = false; calculateWidth(); - reset(); + endResetModel(); } void RegisterHandler::setAndMarkRegisters(const Registers ®isters) @@ -544,9 +546,10 @@ void RegisterHandler::calculateWidth() void RegisterHandler::setNumberBase(int base) { if (m_base != base) { + beginResetModel(); m_base = base; calculateWidth(); - emit reset(); + endResetModel(); } } diff --git a/src/plugins/debugger/snapshothandler.cpp b/src/plugins/debugger/snapshothandler.cpp index 3e4a9671de8..b886d79d22d 100644 --- a/src/plugins/debugger/snapshothandler.cpp +++ b/src/plugins/debugger/snapshothandler.cpp @@ -214,10 +214,11 @@ Qt::ItemFlags SnapshotHandler::flags(const QModelIndex &index) const void SnapshotHandler::activateSnapshot(int index) { + beginResetModel(); m_currentIndex = index; //qDebug() << "ACTIVATING INDEX: " << m_currentIndex << " OF " << size(); debuggerCore()->displayDebugger(at(index), true); - reset(); + endResetModel(); } void SnapshotHandler::createSnapshot(int index) @@ -240,28 +241,31 @@ void SnapshotHandler::removeSnapshot(int index) //QString fileName = engine->startParameters().coreFile; //if (!fileName.isEmpty()) // QFile::remove(fileName); + beginResetModel(); m_snapshots.removeAt(index); if (index == m_currentIndex) m_currentIndex = -1; else if (index < m_currentIndex) --m_currentIndex; //engine->quitDebugger(); - reset(); + endResetModel(); } void SnapshotHandler::removeAll() { + beginResetModel(); m_snapshots.clear(); m_currentIndex = -1; - reset(); + endResetModel(); } void SnapshotHandler::appendSnapshot(DebuggerEngine *engine) { + beginResetModel(); m_snapshots.append(engine); m_currentIndex = size() - 1; - reset(); + endResetModel(); } void SnapshotHandler::removeSnapshot(DebuggerEngine *engine) @@ -274,8 +278,9 @@ void SnapshotHandler::removeSnapshot(DebuggerEngine *engine) void SnapshotHandler::setCurrentIndex(int index) { + beginResetModel(); m_currentIndex = index; - reset(); + endResetModel(); } DebuggerEngine *SnapshotHandler::at(int i) const diff --git a/src/plugins/debugger/snapshothandler.h b/src/plugins/debugger/snapshothandler.h index b534bb57a95..34ad92810b2 100644 --- a/src/plugins/debugger/snapshothandler.h +++ b/src/plugins/debugger/snapshothandler.h @@ -76,7 +76,7 @@ private: QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; Qt::ItemFlags flags(const QModelIndex &index) const; - Q_SLOT void resetModel() { reset(); } + Q_SLOT void resetModel() { beginResetModel(); endResetModel(); } int m_currentIndex; QList< QPointer > m_snapshots; diff --git a/src/plugins/debugger/sourcefileshandler.cpp b/src/plugins/debugger/sourcefileshandler.cpp index 45f1c856e7f..50fb3289dde 100644 --- a/src/plugins/debugger/sourcefileshandler.cpp +++ b/src/plugins/debugger/sourcefileshandler.cpp @@ -49,9 +49,10 @@ void SourceFilesHandler::clearModel() { if (m_shortNames.isEmpty()) return; + beginResetModel(); m_shortNames.clear(); m_fullNames.clear(); - reset(); + endResetModel(); } QVariant SourceFilesHandler::headerData(int section, @@ -101,6 +102,7 @@ QVariant SourceFilesHandler::data(const QModelIndex &index, int role) const void SourceFilesHandler::setSourceFiles(const QMap &sourceFiles) { + beginResetModel(); m_shortNames.clear(); m_fullNames.clear(); QMap::ConstIterator it = sourceFiles.begin(); @@ -109,7 +111,7 @@ void SourceFilesHandler::setSourceFiles(const QMap &sourceFile m_shortNames.append(it.key()); m_fullNames.append(it.value()); } - reset(); + endResetModel(); } void SourceFilesHandler::removeAll() diff --git a/src/plugins/debugger/sourcefileshandler.h b/src/plugins/debugger/sourcefileshandler.h index 7fcec92c8b3..0412171f16c 100644 --- a/src/plugins/debugger/sourcefileshandler.h +++ b/src/plugins/debugger/sourcefileshandler.h @@ -56,7 +56,6 @@ public: Qt::ItemFlags flags(const QModelIndex &index) const; void clearModel(); - void update() { reset(); } void setSourceFiles(const QMap &sourceFiles); void removeAll(); diff --git a/src/plugins/debugger/stackhandler.cpp b/src/plugins/debugger/stackhandler.cpp index c83df76315e..25848504345 100644 --- a/src/plugins/debugger/stackhandler.cpp +++ b/src/plugins/debugger/stackhandler.cpp @@ -184,13 +184,15 @@ void StackHandler::setCurrentIndex(int level) void StackHandler::removeAll() { + beginResetModel(); m_stackFrames.clear(); setCurrentIndex(-1); - reset(); + endResetModel(); } void StackHandler::setFrames(const StackFrames &frames, bool canExpand) { + beginResetModel(); m_resetLocationScheduled = false; m_contentsValid = true; m_canExpand = canExpand; @@ -199,7 +201,7 @@ void StackHandler::setFrames(const StackFrames &frames, bool canExpand) setCurrentIndex(0); else m_currentIndex = -1; - reset(); + endResetModel(); emit stackChanged(); } @@ -217,8 +219,9 @@ void StackHandler::scheduleResetLocation() void StackHandler::resetLocation() { if (m_resetLocationScheduled) { + beginResetModel(); m_resetLocationScheduled = false; - reset(); + endResetModel(); } } diff --git a/src/plugins/debugger/stackhandler.h b/src/plugins/debugger/stackhandler.h index 938e8ff3ced..7548e107120 100644 --- a/src/plugins/debugger/stackhandler.h +++ b/src/plugins/debugger/stackhandler.h @@ -94,7 +94,7 @@ private: QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; Qt::ItemFlags flags(const QModelIndex &index) const; - Q_SLOT void resetModel() { reset(); } + Q_SLOT void resetModel() { beginResetModel(); endResetModel(); } StackFrames m_stackFrames; int m_currentIndex; diff --git a/src/plugins/debugger/threadshandler.cpp b/src/plugins/debugger/threadshandler.cpp index e9368abd09d..1d044ed1d72 100644 --- a/src/plugins/debugger/threadshandler.cpp +++ b/src/plugins/debugger/threadshandler.cpp @@ -249,12 +249,13 @@ int ThreadsHandler::indexOf(quint64 threadId) const void ThreadsHandler::setThreads(const Threads &threads) { + beginResetModel(); m_threads = threads; if (m_currentIndex >= m_threads.size()) m_currentIndex = -1; m_resetLocationScheduled = false; m_contentsValid = true; - reset(); + endResetModel(); updateThreadBox(); } @@ -273,9 +274,10 @@ Threads ThreadsHandler::threads() const void ThreadsHandler::removeAll() { + beginResetModel(); m_threads.clear(); m_currentIndex = 0; - reset(); + endResetModel(); } void ThreadsHandler::notifyRunning() @@ -334,8 +336,9 @@ void ThreadsHandler::scheduleResetLocation() void ThreadsHandler::resetLocation() { if (m_resetLocationScheduled) { + beginResetModel(); m_resetLocationScheduled = false; - reset(); + endResetModel(); } } diff --git a/src/plugins/find/searchresulttreemodel.cpp b/src/plugins/find/searchresulttreemodel.cpp index e97b3dd9025..0312d12551c 100644 --- a/src/plugins/find/searchresulttreemodel.cpp +++ b/src/plugins/find/searchresulttreemodel.cpp @@ -411,10 +411,11 @@ QList SearchResultTreeModel::addResults(const QListclearChildren(); m_editorFontIsUsed = false; - reset(); + endResetModel(); } QModelIndex SearchResultTreeModel::nextIndex(const QModelIndex &idx, bool *wrapped) const diff --git a/src/plugins/locator/locatorwidget.cpp b/src/plugins/locator/locatorwidget.cpp index 910f64cac44..d945799bd27 100644 --- a/src/plugins/locator/locatorwidget.cpp +++ b/src/plugins/locator/locatorwidget.cpp @@ -205,8 +205,9 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const void LocatorModel::setEntries(const QList &entries) { + beginResetModel(); mEntries = entries; - reset(); + endResetModel(); } // =========== CompletionList =========== diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp index 582bd0fb638..339a7b40fd3 100644 --- a/src/plugins/projectexplorer/dependenciespanel.cpp +++ b/src/plugins/projectexplorer/dependenciespanel.cpp @@ -82,9 +82,10 @@ DependenciesModel::~DependenciesModel() void DependenciesModel::resetModel() { + beginResetModel(); m_projects = m_session->projects(); m_projects.removeAll(m_project); - reset(); + endResetModel(); } int DependenciesModel::rowCount(const QModelIndex &index) const diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 422212e4fa0..c323e5cfd52 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -452,8 +452,9 @@ void FlatModel::setStartupProject(ProjectNode *projectNode) void FlatModel::reset() { + beginResetModel(); m_childNodes.clear(); - QAbstractItemModel::reset(); + endResetModel(); } QModelIndex FlatModel::indexForNode(const Node *node_) diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp index a4d79e7beb7..9e0b0f8dfe8 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.cpp +++ b/src/plugins/projectexplorer/projectwelcomepage.cpp @@ -111,7 +111,8 @@ bool SessionModel::isDefaultVirgin() const void SessionModel::resetSessions() { - reset(); + beginResetModel(); + endResetModel(); } void SessionModel::cloneSession(const QString &session) @@ -124,8 +125,9 @@ void SessionModel::cloneSession(const QString &session) QString newSession = newSessionInputDialog.value(); if (newSession.isEmpty() || m_manager->sessions().contains(newSession)) return; + beginResetModel(); m_manager->cloneSession(session, newSession); - reset(); + endResetModel(); if (newSessionInputDialog.isSwitchToRequested()) { m_manager->loadSession(newSession); @@ -135,8 +137,9 @@ void SessionModel::cloneSession(const QString &session) void SessionModel::deleteSession(const QString &session) { + beginResetModel(); m_manager->deleteSession(session); - reset(); + endResetModel(); } void SessionModel::renameSession(const QString &session) @@ -149,8 +152,9 @@ void SessionModel::renameSession(const QString &session) QString newSession = newSessionInputDialog.value(); if (newSession.isEmpty() || m_manager->sessions().contains(newSession)) return; + beginResetModel(); m_manager->renameSession(session, newSession); - reset(); + endResetModel(); if (newSessionInputDialog.isSwitchToRequested()) { m_manager->loadSession(newSession); @@ -194,7 +198,8 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const void ProjectModel::resetProjects() { - reset(); + beginResetModel(); + endResetModel(); } /////////////////// diff --git a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp index 83684f0b5f0..92d58e62920 100644 --- a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp +++ b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp @@ -1092,10 +1092,11 @@ QModelIndex ResourceModel::deleteItem(const QModelIndex &idx) bool ResourceModel::reload() { + beginResetModel(); const bool result = m_resource_file.load(); if (result) setDirty(false); - reset(); + endResetModel(); return result; } diff --git a/src/plugins/texteditor/colorschemeedit.cpp b/src/plugins/texteditor/colorschemeedit.cpp index c03b58f95e8..1862c4175e0 100644 --- a/src/plugins/texteditor/colorschemeedit.cpp +++ b/src/plugins/texteditor/colorschemeedit.cpp @@ -62,8 +62,9 @@ public: void setFormatDescriptions(const FormatDescriptions *descriptions) { + beginResetModel(); m_descriptions = descriptions; - reset(); + endResetModel(); } void setBaseFont(const QFont &font) diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp index d3ae74d931e..921edc90c4f 100644 --- a/src/plugins/texteditor/fontsettingspage.cpp +++ b/src/plugins/texteditor/fontsettingspage.cpp @@ -101,8 +101,9 @@ public: void setColorSchemes(const QList &colorSchemes) { + beginResetModel(); m_colorSchemes = colorSchemes; - reset(); + endResetModel(); } const ColorSchemeEntry &colorSchemeAt(int index) const diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.cpp b/src/plugins/texteditor/snippets/snippetssettingspage.cpp index 54d0bb82fb7..7128b2598f7 100644 --- a/src/plugins/texteditor/snippets/snippetssettingspage.cpp +++ b/src/plugins/texteditor/snippets/snippetssettingspage.cpp @@ -165,8 +165,9 @@ QVariant SnippetsTableModel::headerData(int section, Qt::Orientation orientation void SnippetsTableModel::load(const QString &groupId) { + beginResetModel(); m_activeGroupId = groupId; - reset(); + endResetModel(); } QList SnippetsTableModel::groupIds() const @@ -219,14 +220,16 @@ void SnippetsTableModel::revertBuitInSnippet(const QModelIndex &modelIndex) void SnippetsTableModel::restoreRemovedBuiltInSnippets() { + beginResetModel(); m_collection->restoreRemovedSnippets(m_activeGroupId); - reset(); + endResetModel(); } void SnippetsTableModel::resetSnippets() { + beginResetModel(); m_collection->reset(m_activeGroupId); - reset(); + endResetModel(); } void SnippetsTableModel::replaceSnippet(const Snippet &snippet, const QModelIndex &modelIndex) diff --git a/src/plugins/valgrind/xmlprotocol/stackmodel.cpp b/src/plugins/valgrind/xmlprotocol/stackmodel.cpp index 40291f1c5cf..408f99fcd9c 100644 --- a/src/plugins/valgrind/xmlprotocol/stackmodel.cpp +++ b/src/plugins/valgrind/xmlprotocol/stackmodel.cpp @@ -221,8 +221,9 @@ void StackModel::setError(const Error &error) { if (d->error == error) return; + beginResetModel(); d->error = error; - reset(); + endResetModel(); } void StackModel::clear()