summaryrefslogtreecommitdiffstats
path: root/src/libs/kdtools
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2022-04-29 14:22:15 +0300
committerKatja Marttila <katja.marttila@qt.io>2022-05-06 13:43:22 +0300
commit1f16d680ce03e01a80915d64d5cc20694b1300f7 (patch)
tree94b966a952af3b090f245823a572a392e4535797 /src/libs/kdtools
parentb0582875f59c83f36daf57dd75c982034b9572c1 (diff)
Do not recalculate local installed components
No need to recalculate local installed components if no changes has been made. This makes the component selection quicker if there are lots of components to be installed. Local components are already calculated and listed in LocalPackageHub. Using this class directly instead of calculating own local component hash table. This changes the localInstalledPackages() from QHash to QMap, which is not as optimized for searching components, but overall performance is still now way better. Task-number: QTIFW-2522 Change-Id: I8c16060f4b4014f740be0c7c43ece5e659d92987 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/kdtools')
-rw-r--r--src/libs/kdtools/localpackagehub.cpp7
-rw-r--r--src/libs/kdtools/localpackagehub.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/libs/kdtools/localpackagehub.cpp b/src/libs/kdtools/localpackagehub.cpp
index 60a11f1a3..f63f6c974 100644
--- a/src/libs/kdtools/localpackagehub.cpp
+++ b/src/libs/kdtools/localpackagehub.cpp
@@ -124,6 +124,13 @@ bool LocalPackageHub::isValid() const
}
/*!
+ Returns a map of all local installed packages. Map key is the package name.
+*/
+QMap<QString, LocalPackage> LocalPackageHub::localPackages() const
+{
+ return d->m_packageInfoMap;
+}
+/*!
Returns a list of all local installed packages.
*/
QStringList LocalPackageHub::packageNames() const
diff --git a/src/libs/kdtools/localpackagehub.h b/src/libs/kdtools/localpackagehub.h
index 6b6744491..11ed200a5 100644
--- a/src/libs/kdtools/localpackagehub.h
+++ b/src/libs/kdtools/localpackagehub.h
@@ -77,6 +77,8 @@ public:
};
bool isValid() const;
+
+ QMap<QString, LocalPackage> localPackages() const;
QStringList packageNames() const;
Error error() const;