diff options
author | Katja Marttila <katja.marttila@qt.io> | 2022-03-18 14:13:24 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2022-03-24 09:15:33 +0200 |
commit | ac1637b8976d7d85ac42f308c4be6de97dcf86cb (patch) | |
tree | 601dc434e0d8ae225758c2603fe4992a3b83418f /src/libs/installer/uninstallercalculator.h | |
parent | 449afefe542d3411de4bdacd068c1116ec10779c (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.h | 16 |
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; }; } |