diff options
author | Katja Marttila <katja.marttila@qt.io> | 2018-02-26 12:36:04 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2018-11-06 05:55:33 +0000 |
commit | bc545c65836cf81533c54438f0113ff2a76bfd52 (patch) | |
tree | 0c356ff2f8c1c35206f604e119a92681a17c4218 /src/libs/installer | |
parent | a2b41038222b43dd593e57a586a9113395fca678 (diff) |
Register virtual component for uninstall
Task-number: QTIFW-1102
Change-Id: I5033f095eece1f1e588c00f518cf7d9d046c2003
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 15 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 5ee3d14fc..9ed02249f 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -2273,6 +2273,21 @@ void ComponentSelectionPage::allowCompressedRepositoryInstall() d->allowCompressedRepositoryInstall(); } +bool ComponentSelectionPage::addVirtualComponentToUninstall(const QString &name) +{ + PackageManagerCore *core = packageManagerCore(); + const QList<Component *> allComponents = core->components(PackageManagerCore::ComponentType::All); + Component *component = PackageManagerCore::componentByName( + name, allComponents); + if (component && component->isInstalled() && component->isVirtual()) { + component->setCheckState(Qt::Unchecked); + core->componentsToInstallNeedsRecalculation(); + qDebug() << "Virtual component " << name << " was selected for uninstall by script."; + return true; + } + return false; +} + void ComponentSelectionPage::setModified(bool modified) { setComplete(modified); diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 238e22a62..4694e723b 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -311,6 +311,7 @@ public: Q_INVOKABLE void selectComponent(const QString &id); Q_INVOKABLE void deselectComponent(const QString &id); Q_INVOKABLE void allowCompressedRepositoryInstall(); + Q_INVOKABLE bool addVirtualComponentToUninstall(const QString &name); protected: void entering(); |