diff options
author | Katja Marttila <katja.marttila@qt.io> | 2024-01-04 16:29:40 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2024-02-23 10:58:34 +0200 |
commit | 3f5a21fe502a513f1cc3bdee1863688a85481fef (patch) | |
tree | a57db88ef6ae38a55c419759ab8418b5109d15f7 /src/libs/installer/componentmodel.cpp | |
parent | 46fbd3781595d9fa4818992c10b9511247cca95f (diff) |
Move non-ui related functionality to core
We need to access the core functionality despite of what user interface
is used.
Change-Id: I6c4c7e8526ff24a479128061aa40fba66e61660c
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/installer/componentmodel.cpp')
-rw-r--r-- | src/libs/installer/componentmodel.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/libs/installer/componentmodel.cpp b/src/libs/installer/componentmodel.cpp index 7f9c3dcd4..1e8dd1ff7 100644 --- a/src/libs/installer/componentmodel.cpp +++ b/src/libs/installer/componentmodel.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2022 The Qt Company Ltd. +** Copyright (C) 2024 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -335,6 +335,22 @@ QSet<Component *> ComponentModel::uncheckable() const return m_uncheckable; } +bool ComponentModel::componentsSelected() const +{ + if (m_core->isInstaller() || m_core->isUpdater()) + return checked().count(); + + if (checkedState().testFlag(ComponentModel::DefaultChecked) == false) + return true; + + const QSet<Component *> uncheckables = uncheckable(); + for (auto &component : uncheckables) { + if (component->forcedInstallation() && !component->isInstalled()) + return true; // allow installation for new forced components + } + return false; +} + /*! Returns a pointer to the PackageManagerCore this model belongs to. */ |