summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2018-02-26 12:36:04 +0200
committerKatja Marttila <katja.marttila@qt.io>2018-11-06 05:55:33 +0000
commitbc545c65836cf81533c54438f0113ff2a76bfd52 (patch)
tree0c356ff2f8c1c35206f604e119a92681a17c4218 /src
parenta2b41038222b43dd593e57a586a9113395fca678 (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')
-rw-r--r--src/libs/installer/packagemanagergui.cpp15
-rw-r--r--src/libs/installer/packagemanagergui.h1
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();