summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore.cpp
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2023-08-21 14:48:36 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2023-08-22 06:22:14 +0000
commit1354b4930f365bf782a745bfe90c16b385102fd0 (patch)
treec29ec148d88cd15c6236b21dc4b5d5d0d0bb536b /src/libs/installer/packagemanagercore.cpp
parent13212a89505ec646ced77c319256c8191fbc2e90 (diff)
Allow setting temporary repositories for offline-only installers
As the settings button can be configured to be visible for offline-only installers, the user may configure additional repositories in addition to the embedded binary content. Those repositories were not considered for the metadata fetch, however, so components from those repositories could not be installed. Allow fetching metadata from temporary or user configured repositories regardless of if the installer is created as "offline-only". Also fix required temporary space calculation when content is installed simultaneously from both embedded to the installer binary and remote repositories. Task-number: QTIFW-3078 Change-Id: I4effa365e856ca009588ac8768f8b6c30b4b0373 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagercore.cpp')
-rw-r--r--src/libs/installer/packagemanagercore.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 9feb195d8..f52752e7f 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -798,12 +798,13 @@ quint64 PackageManagerCore::requiredDiskSpace() const
*/
quint64 PackageManagerCore::requiredTemporaryDiskSpace() const
{
- if (isOfflineOnly())
- return 0;
-
quint64 result = 0;
- foreach (QInstaller::Component *component, orderedComponentsToInstall())
+ foreach (QInstaller::Component *component, orderedComponentsToInstall()) {
+ if (!component->isFromOnlineRepository())
+ continue;
+
result += size(component, scCompressedSize);
+ }
return result;
}