diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2020-10-09 14:35:37 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2020-11-04 10:17:46 +0200 |
commit | 4be2a6ed5db2ca69bd6a2d008c1290e592eaa3f8 (patch) | |
tree | 07c936957d46478f4846ed5e20111eedc51303b0 /src/libs/installer/packagemanagercore.cpp | |
parent | 839679e4ec9667b2c36daab1fe0d499673228d50 (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.cpp | 13 |
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 ®exp) { 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); } } |