summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore.cpp
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-10-09 14:35:37 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-11-04 10:17:46 +0200
commit4be2a6ed5db2ca69bd6a2d008c1290e592eaa3f8 (patch)
tree07c936957d46478f4846ed5e20111eedc51303b0 /src/libs/installer/packagemanagercore.cpp
parent839679e4ec9667b2c36daab1fe0d499673228d50 (diff)
CLI: Add possibility to filter installed packages with regexp
Task-number: QTIFW-1953 Change-Id: Ie291e8ae96d46082e342e9bcb152258862813afd Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagercore.cpp')
-rw-r--r--src/libs/installer/packagemanagercore.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index eb866e436..820e939cc 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -2242,16 +2242,23 @@ bool PackageManagerCore::componentUninstallableFromCommandLine(const QString &co
}
/*!
- Lists installed packages without GUI.
+ Lists installed packages without GUI. List of packages can be filtered with \a regexp.
*/
-void PackageManagerCore::listInstalledPackages()
+void PackageManagerCore::listInstalledPackages(const QString &regexp)
{
LocalPackagesHash installedPackages = this->localInstalledPackages();
+ if (!regexp.isEmpty()) {
+ qCDebug(QInstaller::lcInstallerInstallLog)
+ << "Searching packages with regular expression:" << regexp;
+ }
+ const QRegularExpression re(regexp);
+
const QStringList &keys = installedPackages.keys();
foreach (const QString &key, keys) {
KDUpdater::LocalPackage package = installedPackages.value(key);
- d->printLocalPackageInformation(package);
+ if (re.match(package.name).hasMatch())
+ d->printLocalPackageInformation(package);
}
}