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 <qthjk@ovi.com>
This commit is contained in:
Christian Kandeler
2012-09-20 10:31:34 +02:00
committed by hjk
parent 1b3d637c1b
commit 938612c35e
26 changed files with 85 additions and 45 deletions

View File

@@ -239,6 +239,7 @@ Symbol *OverviewModel::symbolFromIndex(const QModelIndex &index) const
void OverviewModel::rebuild(Document::Ptr doc) void OverviewModel::rebuild(Document::Ptr doc)
{ {
beginResetModel();
_cppDocument = doc; _cppDocument = doc;
reset(); endResetModel();
} }

View File

@@ -139,8 +139,9 @@ bool HistoryCompleterPrivate::removeRows(int row, int count, const QModelIndex &
void HistoryCompleterPrivate::clearHistory() void HistoryCompleterPrivate::clearHistory()
{ {
beginResetModel();
list.clear(); list.clear();
reset(); endResetModel();
} }
void HistoryCompleterPrivate::saveEntry(const QString &str) void HistoryCompleterPrivate::saveEntry(const QString &str)

View File

@@ -148,8 +148,9 @@ PermissionsModel::PermissionsModel(QObject *parent)
void PermissionsModel::setPermissions(const QStringList &permissions) void PermissionsModel::setPermissions(const QStringList &permissions)
{ {
beginResetModel();
m_permissions = permissions; m_permissions = permissions;
reset(); endResetModel();
} }
const QStringList &PermissionsModel::permissions() const QStringList &PermissionsModel::permissions()

View File

@@ -51,8 +51,9 @@ namespace Internal {
void AvdModel::setAvdList(const QVector<AndroidDeviceInfo> &list) void AvdModel::setAvdList(const QVector<AndroidDeviceInfo> &list)
{ {
beginResetModel();
m_list = list; m_list = list;
reset(); endResetModel();
} }
QString AvdModel::avdName(const QModelIndex &index) QString AvdModel::avdName(const QModelIndex &index)

View File

@@ -137,6 +137,8 @@ QVariant CategoryModel::data(const QModelIndex &index, int role) const
void CategoryModel::setPages(const QList<IOptionsPage*> &pages, void CategoryModel::setPages(const QList<IOptionsPage*> &pages,
const QList<IOptionsPageProvider *> &providers) const QList<IOptionsPageProvider *> &providers)
{ {
beginResetModel();
// Clear any previous categories // Clear any previous categories
qDeleteAll(m_categories); qDeleteAll(m_categories);
m_categories.clear(); m_categories.clear();
@@ -176,7 +178,7 @@ void CategoryModel::setPages(const QList<IOptionsPage*> &pages,
category->providers.append(provider); category->providers.append(provider);
} }
reset(); endResetModel();
} }
Category *CategoryModel::findCategoryById(const QString &id) Category *CategoryModel::findCategoryById(const QString &id)

View File

@@ -1163,18 +1163,20 @@ void BreakHandler::saveSessionData()
void BreakHandler::loadSessionData() void BreakHandler::loadSessionData()
{ {
beginResetModel();
m_storage.clear(); m_storage.clear();
reset(); endResetModel();
loadBreakpoints(); loadBreakpoints();
} }
void BreakHandler::removeSessionData() void BreakHandler::removeSessionData()
{ {
beginResetModel();
Iterator it = m_storage.begin(), et = m_storage.end(); Iterator it = m_storage.begin(), et = m_storage.end();
for ( ; it != et; ++it) for ( ; it != et; ++it)
it->destroyMarker(); it->destroyMarker();
m_storage.clear(); m_storage.clear();
reset(); endResetModel();
} }
void BreakHandler::breakByFunction(const QString &functionName) void BreakHandler::breakByFunction(const QString &functionName)

View File

@@ -195,15 +195,17 @@ QVariant ModulesModel::data(const QModelIndex &index, int role) const
void ModulesModel::setModules(const Modules &m) void ModulesModel::setModules(const Modules &m)
{ {
beginResetModel();
m_modules = m; m_modules = m;
reset(); endResetModel();
} }
void ModulesModel::clearModel() void ModulesModel::clearModel()
{ {
if (!m_modules.isEmpty()) { if (!m_modules.isEmpty()) {
beginResetModel();
m_modules.clear(); m_modules.clear();
reset(); endResetModel();
} }
} }

View File

@@ -182,7 +182,6 @@ QtMessageLogHandler::~QtMessageLogHandler()
void QtMessageLogHandler::clear() void QtMessageLogHandler::clear()
{ {
beginResetModel(); beginResetModel();
reset();
delete m_rootItem; delete m_rootItem;
m_rootItem = new QtMessageLogItem(0); m_rootItem = new QtMessageLogItem(0);
endResetModel(); endResetModel();

View File

@@ -480,8 +480,9 @@ Qt::ItemFlags RegisterHandler::flags(const QModelIndex &idx) const
void RegisterHandler::removeAll() void RegisterHandler::removeAll()
{ {
beginResetModel();
m_registers.clear(); m_registers.clear();
reset(); endResetModel();
} }
bool RegisterHandler::isEmpty() const bool RegisterHandler::isEmpty() const
@@ -503,12 +504,13 @@ static inline bool compareRegisterSet(const Registers &r1, const Registers &r2)
void RegisterHandler::setRegisters(const Registers &registers) void RegisterHandler::setRegisters(const Registers &registers)
{ {
beginResetModel();
m_registers = registers; m_registers = registers;
const int size = m_registers.size(); const int size = m_registers.size();
for (int r = 0; r < size; r++) for (int r = 0; r < size; r++)
m_registers[r].changed = false; m_registers[r].changed = false;
calculateWidth(); calculateWidth();
reset(); endResetModel();
} }
void RegisterHandler::setAndMarkRegisters(const Registers &registers) void RegisterHandler::setAndMarkRegisters(const Registers &registers)
@@ -544,9 +546,10 @@ void RegisterHandler::calculateWidth()
void RegisterHandler::setNumberBase(int base) void RegisterHandler::setNumberBase(int base)
{ {
if (m_base != base) { if (m_base != base) {
beginResetModel();
m_base = base; m_base = base;
calculateWidth(); calculateWidth();
emit reset(); endResetModel();
} }
} }

View File

@@ -214,10 +214,11 @@ Qt::ItemFlags SnapshotHandler::flags(const QModelIndex &index) const
void SnapshotHandler::activateSnapshot(int index) void SnapshotHandler::activateSnapshot(int index)
{ {
beginResetModel();
m_currentIndex = index; m_currentIndex = index;
//qDebug() << "ACTIVATING INDEX: " << m_currentIndex << " OF " << size(); //qDebug() << "ACTIVATING INDEX: " << m_currentIndex << " OF " << size();
debuggerCore()->displayDebugger(at(index), true); debuggerCore()->displayDebugger(at(index), true);
reset(); endResetModel();
} }
void SnapshotHandler::createSnapshot(int index) void SnapshotHandler::createSnapshot(int index)
@@ -240,28 +241,31 @@ void SnapshotHandler::removeSnapshot(int index)
//QString fileName = engine->startParameters().coreFile; //QString fileName = engine->startParameters().coreFile;
//if (!fileName.isEmpty()) //if (!fileName.isEmpty())
// QFile::remove(fileName); // QFile::remove(fileName);
beginResetModel();
m_snapshots.removeAt(index); m_snapshots.removeAt(index);
if (index == m_currentIndex) if (index == m_currentIndex)
m_currentIndex = -1; m_currentIndex = -1;
else if (index < m_currentIndex) else if (index < m_currentIndex)
--m_currentIndex; --m_currentIndex;
//engine->quitDebugger(); //engine->quitDebugger();
reset(); endResetModel();
} }
void SnapshotHandler::removeAll() void SnapshotHandler::removeAll()
{ {
beginResetModel();
m_snapshots.clear(); m_snapshots.clear();
m_currentIndex = -1; m_currentIndex = -1;
reset(); endResetModel();
} }
void SnapshotHandler::appendSnapshot(DebuggerEngine *engine) void SnapshotHandler::appendSnapshot(DebuggerEngine *engine)
{ {
beginResetModel();
m_snapshots.append(engine); m_snapshots.append(engine);
m_currentIndex = size() - 1; m_currentIndex = size() - 1;
reset(); endResetModel();
} }
void SnapshotHandler::removeSnapshot(DebuggerEngine *engine) void SnapshotHandler::removeSnapshot(DebuggerEngine *engine)
@@ -274,8 +278,9 @@ void SnapshotHandler::removeSnapshot(DebuggerEngine *engine)
void SnapshotHandler::setCurrentIndex(int index) void SnapshotHandler::setCurrentIndex(int index)
{ {
beginResetModel();
m_currentIndex = index; m_currentIndex = index;
reset(); endResetModel();
} }
DebuggerEngine *SnapshotHandler::at(int i) const DebuggerEngine *SnapshotHandler::at(int i) const

View File

@@ -76,7 +76,7 @@ private:
QVariant data(const QModelIndex &index, int role) const; QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const;
Qt::ItemFlags flags(const QModelIndex &index) const; Qt::ItemFlags flags(const QModelIndex &index) const;
Q_SLOT void resetModel() { reset(); } Q_SLOT void resetModel() { beginResetModel(); endResetModel(); }
int m_currentIndex; int m_currentIndex;
QList< QPointer<DebuggerEngine> > m_snapshots; QList< QPointer<DebuggerEngine> > m_snapshots;

View File

@@ -49,9 +49,10 @@ void SourceFilesHandler::clearModel()
{ {
if (m_shortNames.isEmpty()) if (m_shortNames.isEmpty())
return; return;
beginResetModel();
m_shortNames.clear(); m_shortNames.clear();
m_fullNames.clear(); m_fullNames.clear();
reset(); endResetModel();
} }
QVariant SourceFilesHandler::headerData(int section, QVariant SourceFilesHandler::headerData(int section,
@@ -101,6 +102,7 @@ QVariant SourceFilesHandler::data(const QModelIndex &index, int role) const
void SourceFilesHandler::setSourceFiles(const QMap<QString, QString> &sourceFiles) void SourceFilesHandler::setSourceFiles(const QMap<QString, QString> &sourceFiles)
{ {
beginResetModel();
m_shortNames.clear(); m_shortNames.clear();
m_fullNames.clear(); m_fullNames.clear();
QMap<QString, QString>::ConstIterator it = sourceFiles.begin(); QMap<QString, QString>::ConstIterator it = sourceFiles.begin();
@@ -109,7 +111,7 @@ void SourceFilesHandler::setSourceFiles(const QMap<QString, QString> &sourceFile
m_shortNames.append(it.key()); m_shortNames.append(it.key());
m_fullNames.append(it.value()); m_fullNames.append(it.value());
} }
reset(); endResetModel();
} }
void SourceFilesHandler::removeAll() void SourceFilesHandler::removeAll()

View File

@@ -56,7 +56,6 @@ public:
Qt::ItemFlags flags(const QModelIndex &index) const; Qt::ItemFlags flags(const QModelIndex &index) const;
void clearModel(); void clearModel();
void update() { reset(); }
void setSourceFiles(const QMap<QString, QString> &sourceFiles); void setSourceFiles(const QMap<QString, QString> &sourceFiles);
void removeAll(); void removeAll();

View File

@@ -184,13 +184,15 @@ void StackHandler::setCurrentIndex(int level)
void StackHandler::removeAll() void StackHandler::removeAll()
{ {
beginResetModel();
m_stackFrames.clear(); m_stackFrames.clear();
setCurrentIndex(-1); setCurrentIndex(-1);
reset(); endResetModel();
} }
void StackHandler::setFrames(const StackFrames &frames, bool canExpand) void StackHandler::setFrames(const StackFrames &frames, bool canExpand)
{ {
beginResetModel();
m_resetLocationScheduled = false; m_resetLocationScheduled = false;
m_contentsValid = true; m_contentsValid = true;
m_canExpand = canExpand; m_canExpand = canExpand;
@@ -199,7 +201,7 @@ void StackHandler::setFrames(const StackFrames &frames, bool canExpand)
setCurrentIndex(0); setCurrentIndex(0);
else else
m_currentIndex = -1; m_currentIndex = -1;
reset(); endResetModel();
emit stackChanged(); emit stackChanged();
} }
@@ -217,8 +219,9 @@ void StackHandler::scheduleResetLocation()
void StackHandler::resetLocation() void StackHandler::resetLocation()
{ {
if (m_resetLocationScheduled) { if (m_resetLocationScheduled) {
beginResetModel();
m_resetLocationScheduled = false; m_resetLocationScheduled = false;
reset(); endResetModel();
} }
} }

View File

@@ -94,7 +94,7 @@ private:
QVariant data(const QModelIndex &index, int role) const; QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const;
Qt::ItemFlags flags(const QModelIndex &index) const; Qt::ItemFlags flags(const QModelIndex &index) const;
Q_SLOT void resetModel() { reset(); } Q_SLOT void resetModel() { beginResetModel(); endResetModel(); }
StackFrames m_stackFrames; StackFrames m_stackFrames;
int m_currentIndex; int m_currentIndex;

View File

@@ -249,12 +249,13 @@ int ThreadsHandler::indexOf(quint64 threadId) const
void ThreadsHandler::setThreads(const Threads &threads) void ThreadsHandler::setThreads(const Threads &threads)
{ {
beginResetModel();
m_threads = threads; m_threads = threads;
if (m_currentIndex >= m_threads.size()) if (m_currentIndex >= m_threads.size())
m_currentIndex = -1; m_currentIndex = -1;
m_resetLocationScheduled = false; m_resetLocationScheduled = false;
m_contentsValid = true; m_contentsValid = true;
reset(); endResetModel();
updateThreadBox(); updateThreadBox();
} }
@@ -273,9 +274,10 @@ Threads ThreadsHandler::threads() const
void ThreadsHandler::removeAll() void ThreadsHandler::removeAll()
{ {
beginResetModel();
m_threads.clear(); m_threads.clear();
m_currentIndex = 0; m_currentIndex = 0;
reset(); endResetModel();
} }
void ThreadsHandler::notifyRunning() void ThreadsHandler::notifyRunning()
@@ -334,8 +336,9 @@ void ThreadsHandler::scheduleResetLocation()
void ThreadsHandler::resetLocation() void ThreadsHandler::resetLocation()
{ {
if (m_resetLocationScheduled) { if (m_resetLocationScheduled) {
beginResetModel();
m_resetLocationScheduled = false; m_resetLocationScheduled = false;
reset(); endResetModel();
} }
} }

View File

@@ -411,10 +411,11 @@ QList<QModelIndex> SearchResultTreeModel::addResults(const QList<SearchResultIte
void SearchResultTreeModel::clear() void SearchResultTreeModel::clear()
{ {
beginResetModel();
m_currentParent = NULL; m_currentParent = NULL;
m_rootItem->clearChildren(); m_rootItem->clearChildren();
m_editorFontIsUsed = false; m_editorFontIsUsed = false;
reset(); endResetModel();
} }
QModelIndex SearchResultTreeModel::nextIndex(const QModelIndex &idx, bool *wrapped) const QModelIndex SearchResultTreeModel::nextIndex(const QModelIndex &idx, bool *wrapped) const

View File

@@ -205,8 +205,9 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const
void LocatorModel::setEntries(const QList<FilterEntry> &entries) void LocatorModel::setEntries(const QList<FilterEntry> &entries)
{ {
beginResetModel();
mEntries = entries; mEntries = entries;
reset(); endResetModel();
} }
// =========== CompletionList =========== // =========== CompletionList ===========

View File

@@ -82,9 +82,10 @@ DependenciesModel::~DependenciesModel()
void DependenciesModel::resetModel() void DependenciesModel::resetModel()
{ {
beginResetModel();
m_projects = m_session->projects(); m_projects = m_session->projects();
m_projects.removeAll(m_project); m_projects.removeAll(m_project);
reset(); endResetModel();
} }
int DependenciesModel::rowCount(const QModelIndex &index) const int DependenciesModel::rowCount(const QModelIndex &index) const

View File

@@ -452,8 +452,9 @@ void FlatModel::setStartupProject(ProjectNode *projectNode)
void FlatModel::reset() void FlatModel::reset()
{ {
beginResetModel();
m_childNodes.clear(); m_childNodes.clear();
QAbstractItemModel::reset(); endResetModel();
} }
QModelIndex FlatModel::indexForNode(const Node *node_) QModelIndex FlatModel::indexForNode(const Node *node_)

View File

@@ -111,7 +111,8 @@ bool SessionModel::isDefaultVirgin() const
void SessionModel::resetSessions() void SessionModel::resetSessions()
{ {
reset(); beginResetModel();
endResetModel();
} }
void SessionModel::cloneSession(const QString &session) void SessionModel::cloneSession(const QString &session)
@@ -124,8 +125,9 @@ void SessionModel::cloneSession(const QString &session)
QString newSession = newSessionInputDialog.value(); QString newSession = newSessionInputDialog.value();
if (newSession.isEmpty() || m_manager->sessions().contains(newSession)) if (newSession.isEmpty() || m_manager->sessions().contains(newSession))
return; return;
beginResetModel();
m_manager->cloneSession(session, newSession); m_manager->cloneSession(session, newSession);
reset(); endResetModel();
if (newSessionInputDialog.isSwitchToRequested()) { if (newSessionInputDialog.isSwitchToRequested()) {
m_manager->loadSession(newSession); m_manager->loadSession(newSession);
@@ -135,8 +137,9 @@ void SessionModel::cloneSession(const QString &session)
void SessionModel::deleteSession(const QString &session) void SessionModel::deleteSession(const QString &session)
{ {
beginResetModel();
m_manager->deleteSession(session); m_manager->deleteSession(session);
reset(); endResetModel();
} }
void SessionModel::renameSession(const QString &session) void SessionModel::renameSession(const QString &session)
@@ -149,8 +152,9 @@ void SessionModel::renameSession(const QString &session)
QString newSession = newSessionInputDialog.value(); QString newSession = newSessionInputDialog.value();
if (newSession.isEmpty() || m_manager->sessions().contains(newSession)) if (newSession.isEmpty() || m_manager->sessions().contains(newSession))
return; return;
beginResetModel();
m_manager->renameSession(session, newSession); m_manager->renameSession(session, newSession);
reset(); endResetModel();
if (newSessionInputDialog.isSwitchToRequested()) { if (newSessionInputDialog.isSwitchToRequested()) {
m_manager->loadSession(newSession); m_manager->loadSession(newSession);
@@ -194,7 +198,8 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const
void ProjectModel::resetProjects() void ProjectModel::resetProjects()
{ {
reset(); beginResetModel();
endResetModel();
} }
/////////////////// ///////////////////

View File

@@ -1092,10 +1092,11 @@ QModelIndex ResourceModel::deleteItem(const QModelIndex &idx)
bool ResourceModel::reload() bool ResourceModel::reload()
{ {
beginResetModel();
const bool result = m_resource_file.load(); const bool result = m_resource_file.load();
if (result) if (result)
setDirty(false); setDirty(false);
reset(); endResetModel();
return result; return result;
} }

View File

@@ -62,8 +62,9 @@ public:
void setFormatDescriptions(const FormatDescriptions *descriptions) void setFormatDescriptions(const FormatDescriptions *descriptions)
{ {
beginResetModel();
m_descriptions = descriptions; m_descriptions = descriptions;
reset(); endResetModel();
} }
void setBaseFont(const QFont &font) void setBaseFont(const QFont &font)

View File

@@ -101,8 +101,9 @@ public:
void setColorSchemes(const QList<ColorSchemeEntry> &colorSchemes) void setColorSchemes(const QList<ColorSchemeEntry> &colorSchemes)
{ {
beginResetModel();
m_colorSchemes = colorSchemes; m_colorSchemes = colorSchemes;
reset(); endResetModel();
} }
const ColorSchemeEntry &colorSchemeAt(int index) const const ColorSchemeEntry &colorSchemeAt(int index) const

View File

@@ -165,8 +165,9 @@ QVariant SnippetsTableModel::headerData(int section, Qt::Orientation orientation
void SnippetsTableModel::load(const QString &groupId) void SnippetsTableModel::load(const QString &groupId)
{ {
beginResetModel();
m_activeGroupId = groupId; m_activeGroupId = groupId;
reset(); endResetModel();
} }
QList<QString> SnippetsTableModel::groupIds() const QList<QString> SnippetsTableModel::groupIds() const
@@ -219,14 +220,16 @@ void SnippetsTableModel::revertBuitInSnippet(const QModelIndex &modelIndex)
void SnippetsTableModel::restoreRemovedBuiltInSnippets() void SnippetsTableModel::restoreRemovedBuiltInSnippets()
{ {
beginResetModel();
m_collection->restoreRemovedSnippets(m_activeGroupId); m_collection->restoreRemovedSnippets(m_activeGroupId);
reset(); endResetModel();
} }
void SnippetsTableModel::resetSnippets() void SnippetsTableModel::resetSnippets()
{ {
beginResetModel();
m_collection->reset(m_activeGroupId); m_collection->reset(m_activeGroupId);
reset(); endResetModel();
} }
void SnippetsTableModel::replaceSnippet(const Snippet &snippet, const QModelIndex &modelIndex) void SnippetsTableModel::replaceSnippet(const Snippet &snippet, const QModelIndex &modelIndex)

View File

@@ -221,8 +221,9 @@ void StackModel::setError(const Error &error)
{ {
if (d->error == error) if (d->error == error)
return; return;
beginResetModel();
d->error = error; d->error = error;
reset(); endResetModel();
} }
void StackModel::clear() void StackModel::clear()