summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/packagemanagergui.cpp')
-rw-r--r--src/libs/installer/packagemanagergui.cpp15
1 files changed, 15 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);