summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/uninstallercalculator.h
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2022-03-18 14:13:24 +0200
committerKatja Marttila <katja.marttila@qt.io>2022-03-24 09:15:33 +0200
commitac1637b8976d7d85ac42f308c4be6de97dcf86cb (patch)
tree601dc434e0d8ae225758c2603fe4992a3b83418f /src/libs/installer/uninstallercalculator.h
parent449afefe542d3411de4bdacd068c1116ec10779c (diff)
Add install reason why component is uninstalled
In details view uninstallable and installable components are listed. For installable components a reason is shown why the component is installed. Added similar kind of message for uninstallable components as well. Task-number: QTIFW-2581 Change-Id: Idbf31200793a6c89a4ed4a6fc115f49889b5f9b5 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/installer/uninstallercalculator.h')
-rw-r--r--src/libs/installer/uninstallercalculator.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libs/installer/uninstallercalculator.h b/src/libs/installer/uninstallercalculator.h
index fb7035d4e..c20616e93 100644
--- a/src/libs/installer/uninstallercalculator.h
+++ b/src/libs/installer/uninstallercalculator.h
@@ -43,11 +43,26 @@ class PackageManagerCore;
class INSTALLER_EXPORT UninstallerCalculator
{
public:
+ enum UninstallReasonType
+ {
+ Selected, // "Deselected Component(s)"
+ Replaced, // "Component(s) replaced by other components"
+ VirtualDependent, // "No dependencies to virtual component"
+ Dependent, // "Removed as dependency component is removed"
+ AutoDependent // "Removed as autodependency component is removed"
+ };
+
UninstallerCalculator(const QList<Component *> &installedComponents, PackageManagerCore *core);
QSet<Component*> componentsToUninstall() const;
void appendComponentsToUninstall(const QList<Component*> &components);
+ void insertUninstallReason(Component *component,
+ UninstallReasonType installReasonType,
+ const QString &referencedComponentName = QString());
+ QString uninstallReason(Component *component) const;
+ UninstallerCalculator::UninstallReasonType uninstallReasonType(Component *c) const;
+ QString uninstallReasonReferencedComponent(Component *component) const;
private:
@@ -57,6 +72,7 @@ private:
QList<Component *> m_installedComponents;
QSet<Component *> m_componentsToUninstall;
PackageManagerCore *m_core;
+ QHash<QString, QPair<UninstallReasonType, QString> > m_toUninstallComponentIdReasonHash;
};
}