aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2020-11-17 00:23:17 +0100
committerJarek Kobus <jaroslaw.kobus@qt.io>2020-11-17 14:38:17 +0000
commit2c919c43bef9131885204f9416cc93cffd711225 (patch)
treea4162d2ffb7f2f741b457958d24e46439cbd9b91
parent5efbdd5f10d138824b166f2505169d75ff5432f7 (diff)
Use QHash instead of QMap when key is a pointer type
Ordering in container by pointer to memory doesn't make much sense. QHash is faster for lookups in this case. Change-Id: I0d4bdac7f5bb9afffdeaef70b99326547c080f55 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r--src/plugins/autotest/projectsettingswidget.cpp2
-rw-r--r--src/plugins/autotest/projectsettingswidget.h2
-rw-r--r--src/plugins/autotest/testprojectsettings.h6
-rw-r--r--src/plugins/autotest/testtreemodel.cpp2
-rw-r--r--src/plugins/clangtools/virtualfilesystemoverlay.cpp2
-rw-r--r--src/plugins/clangtools/virtualfilesystemoverlay.h3
-rw-r--r--src/plugins/coreplugin/vcsmanager.cpp2
-rw-r--r--src/plugins/languageclient/languageclientutils.cpp4
8 files changed, 12 insertions, 11 deletions
diff --git a/src/plugins/autotest/projectsettingswidget.cpp b/src/plugins/autotest/projectsettingswidget.cpp
index 9706fa7e26..133fa4a73c 100644
--- a/src/plugins/autotest/projectsettingswidget.cpp
+++ b/src/plugins/autotest/projectsettingswidget.cpp
@@ -105,7 +105,7 @@ ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *p
TestTreeModel::instance(), &TestTreeModel::synchronizeTestFrameworks);
}
-void ProjectTestSettingsWidget::populateFrameworks(const QMap<ITestFramework *, bool> &frameworks)
+void ProjectTestSettingsWidget::populateFrameworks(const QHash<ITestFramework *, bool> &frameworks)
{
TestFrameworks sortedFrameworks = frameworks.keys();
Utils::sort(sortedFrameworks, &ITestFramework::priority);
diff --git a/src/plugins/autotest/projectsettingswidget.h b/src/plugins/autotest/projectsettingswidget.h
index d921d56e88..b8c0d47add 100644
--- a/src/plugins/autotest/projectsettingswidget.h
+++ b/src/plugins/autotest/projectsettingswidget.h
@@ -51,7 +51,7 @@ public:
explicit ProjectTestSettingsWidget(ProjectExplorer::Project *project,
QWidget *parent = nullptr);
private:
- void populateFrameworks(const QMap<Autotest::ITestFramework *, bool> &frameworks);
+ void populateFrameworks(const QHash<Autotest::ITestFramework *, bool> &frameworks);
void onActiveFrameworkChanged(QTreeWidgetItem *item, int column);
TestProjectSettings *m_projectSettings;
QComboBox *m_useGlobalSettings = nullptr;
diff --git a/src/plugins/autotest/testprojectsettings.h b/src/plugins/autotest/testprojectsettings.h
index 7f7332197e..9ae6c0b045 100644
--- a/src/plugins/autotest/testprojectsettings.h
+++ b/src/plugins/autotest/testprojectsettings.h
@@ -47,9 +47,9 @@ public:
bool useGlobalSettings() const { return m_useGlobalSettings; }
void setRunAfterBuild(RunAfterBuildMode mode) {m_runAfterBuild = mode; }
RunAfterBuildMode runAfterBuild() const { return m_runAfterBuild; }
- void setActiveFrameworks(const QMap<ITestFramework *, bool> enabledFrameworks)
+ void setActiveFrameworks(const QHash<ITestFramework *, bool> enabledFrameworks)
{ m_activeTestFrameworks = enabledFrameworks; }
- QMap<ITestFramework *, bool> activeFrameworks() const { return m_activeTestFrameworks; }
+ QHash<ITestFramework *, bool> activeFrameworks() const { return m_activeTestFrameworks; }
void activateFramework(const Utils::Id &id, bool activate);
Internal::ItemDataCache<Qt::CheckState> *checkStateCache() { return &m_checkStateCache; }
private:
@@ -59,7 +59,7 @@ private:
ProjectExplorer::Project *m_project;
bool m_useGlobalSettings = true;
RunAfterBuildMode m_runAfterBuild = RunAfterBuildMode::None;
- QMap<ITestFramework *, bool> m_activeTestFrameworks;
+ QHash<ITestFramework *, bool> m_activeTestFrameworks;
Internal::ItemDataCache<Qt::CheckState> m_checkStateCache;
};
diff --git a/src/plugins/autotest/testtreemodel.cpp b/src/plugins/autotest/testtreemodel.cpp
index c538b5ff87..d3441baa2c 100644
--- a/src/plugins/autotest/testtreemodel.cpp
+++ b/src/plugins/autotest/testtreemodel.cpp
@@ -235,7 +235,7 @@ void TestTreeModel::synchronizeTestFrameworks()
qCDebug(LOG) << "Active frameworks sorted by priority" << sorted;
} else { // we've got custom project settings
const TestProjectSettings *settings = AutotestPlugin::projectSettings(project);
- const QMap<ITestFramework *, bool> active = settings->activeFrameworks();
+ const QHash<ITestFramework *, bool> active = settings->activeFrameworks();
sorted = Utils::filtered(active.keys(), [active](ITestFramework *framework) {
return active.value(framework);
});
diff --git a/src/plugins/clangtools/virtualfilesystemoverlay.cpp b/src/plugins/clangtools/virtualfilesystemoverlay.cpp
index e230ee4186..1ddcf77079 100644
--- a/src/plugins/clangtools/virtualfilesystemoverlay.cpp
+++ b/src/plugins/clangtools/virtualfilesystemoverlay.cpp
@@ -53,7 +53,7 @@ void VirtualFileSystemOverlay::update()
return;
std::map<Utils::FilePath, QList<Core::IDocument *>> documentRoots;
const QList<Core::IDocument *> &modifiedDocuments = Core::DocumentManager::modifiedDocuments();
- QMap<Core::IDocument *, AutoSavedPath> newSaved;
+ QHash<Core::IDocument *, AutoSavedPath> newSaved;
for (Core::IDocument *doc : modifiedDocuments) {
auto document = qobject_cast<TextEditor::TextDocument *>(doc);
if (!document)
diff --git a/src/plugins/clangtools/virtualfilesystemoverlay.h b/src/plugins/clangtools/virtualfilesystemoverlay.h
index 768b6366bc..c594544819 100644
--- a/src/plugins/clangtools/virtualfilesystemoverlay.h
+++ b/src/plugins/clangtools/virtualfilesystemoverlay.h
@@ -28,6 +28,7 @@
#include <utils/fileutils.h>
#include <utils/temporarydirectory.h>
+#include <QHash>
#include <QMap>
namespace Core { class IDocument; }
@@ -55,7 +56,7 @@ private:
Utils::FilePath path;
};
- QMap<Core::IDocument *, AutoSavedPath> m_saved;
+ QHash<Core::IDocument *, AutoSavedPath> m_saved;
QMap<Utils::FilePath, Utils::FilePath> m_mapping;
};
diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp
index d6dffcb58c..b4a8147c9d 100644
--- a/src/plugins/coreplugin/vcsmanager.cpp
+++ b/src/plugins/coreplugin/vcsmanager.cpp
@@ -351,7 +351,7 @@ FilePaths VcsManager::promptToDelete(const FilePaths &filePaths)
}
// Categorize by version control system.
- QMap<IVersionControl *, FilePaths> filesByVersionControl;
+ QHash<IVersionControl *, FilePaths> filesByVersionControl;
for (auto it = filesByParentDir.cbegin(); it != filesByParentDir.cend(); ++it) {
IVersionControl * const vc = findVersionControlForDirectory(it.key().toString());
if (vc)
diff --git a/src/plugins/languageclient/languageclientutils.cpp b/src/plugins/languageclient/languageclientutils.cpp
index a97bd7ff50..4b10ccdd54 100644
--- a/src/plugins/languageclient/languageclientutils.cpp
+++ b/src/plugins/languageclient/languageclientutils.cpp
@@ -207,7 +207,7 @@ void updateEditorToolBar(Core::IEditor *editor)
TextDocument *document = textEditor->textDocument();
Client *client = LanguageClientManager::clientForDocument(textEditor->textDocument());
- static QMap<QWidget *, QAction *> actions;
+ static QHash<QWidget *, QAction *> actions;
if (actions.contains(widget)) {
auto action = actions[widget];
@@ -253,7 +253,7 @@ void updateEditorToolBar(Core::IEditor *editor)
});
}
- static QMap<QWidget *, QPair<Client *, QAction *>> outlines;
+ static QHash<QWidget *, QPair<Client *, QAction *>> outlines;
if (outlines.contains(widget)) {
auto outline = outlines[widget];