diff options
author | Katja Marttila <[email protected]> | 2025-05-20 14:10:02 +0300 |
---|---|---|
committer | Katja Marttila <[email protected]> | 2025-05-23 12:39:13 +0300 |
commit | af6aa8d69d2633196cbe1e08b0a1709087032619 (patch) | |
tree | cf97f08c678afbfd217fb0b9aea23f184d7ce41d /src/libs/installer/spacewidget.cpp | |
parent | d01505194d4e525f8d41f1ad040c1fc1a7951696 (diff) |
If installation size exceeds 50GB, warning message is shown in
installation summary -view.
Task-number: QTIFW-3740
Change-Id: I28f1916fefad8f534b7f6b4c4ab971ac1254ad11
Reviewed-by: Arttu Tarkiainen <[email protected]>
Diffstat (limited to 'src/libs/installer/spacewidget.cpp')
-rw-r--r-- | src/libs/installer/spacewidget.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/libs/installer/spacewidget.cpp b/src/libs/installer/spacewidget.cpp index d6fc9b2fc..f0a26774e 100644 --- a/src/libs/installer/spacewidget.cpp +++ b/src/libs/installer/spacewidget.cpp @@ -42,6 +42,7 @@ static const char *scSpaceRequired(QT_TRANSLATE_NOOP("QInstaller::SpaceWidget", static const char *scSpaceFreed(QT_TRANSLATE_NOOP("QInstaller::SpaceWidget", "Space freed: %1")); static const char *scSpaceAvailable(QT_TRANSLATE_NOOP("QInstaller::SpaceWidget", "Space available: %1")); static const char *scNoSpaceAvailable(QT_TRANSLATE_NOOP("QInstaller::SpaceWidget", "There is not enough disk space for the installation")); +static const char *scExceedsRecommended(QT_TRANSLATE_NOOP("QInstaller::SpaceWidget", "Space required on your hard drive is more than %1")); static const char *scSpaceExceedsLimit(QT_TRANSLATE_NOOP("QInstaller::SpaceWidget", "Space exceeds the supported executable size %1 in Windows")); using namespace QInstaller; @@ -74,6 +75,11 @@ SpaceWidget::SpaceWidget(PackageManagerCore *core, bool showSpaceExceedWidget, Q spaceLabelLayout->addWidget(m_noSpaceAvailableLabel); m_noSpaceAvailableLabel->setVisible(false); m_noSpaceAvailableLabel->setObjectName(QLatin1String("SpaceWarning")); + + m_spaceRecommendationLabel = new LabelWithPixmap(tr(scNoSpaceAvailable), QLatin1String(":/warning.png")); + spaceLabelLayout->addWidget(m_spaceRecommendationLabel); + m_spaceRecommendationLabel->setVisible(false); + m_spaceRecommendationLabel->setObjectName(QLatin1String("SpaceRecommendation")); } spaceLabelLayout->addStretch(); installDirectoryChanged(m_core->value(scTargetDir)); @@ -103,17 +109,21 @@ void SpaceWidget::installDirectoryChanged(const QString &newDirectory) void SpaceWidget::availableSpaceChanged(const PackageManagerCore::SpaceInfo spaceStatus) { updateSpaceRequiredText(); - if (!m_noSpaceAvailableLabel) + if (!m_showSpaceExceedWidget || !m_noSpaceAvailableLabel || !m_spaceRecommendationLabel) return; - if (spaceStatus == PackageManagerCore::SpaceAvailable) { - m_noSpaceAvailableLabel->setVisible(false); - } else if (m_showSpaceExceedWidget) { - if (spaceStatus == PackageManagerCore::ExecutableSizeExceeded) - m_noSpaceAvailableLabel->setWarningText(tr(scSpaceExceedsLimit).arg(humanReadableSize(UINT_MAX))); - else - m_noSpaceAvailableLabel->setWarningText(tr(scNoSpaceAvailable)); + m_noSpaceAvailableLabel->setVisible(false); + m_spaceRecommendationLabel->setVisible(false); + + if (spaceStatus == PackageManagerCore::ExecutableSizeExceeded) { + m_noSpaceAvailableLabel->setWarningText(tr(scSpaceExceedsLimit).arg(humanReadableSize(UINT_MAX))); + m_noSpaceAvailableLabel->setVisible(true); + } else if (spaceStatus == PackageManagerCore::SpaceExceeded) { + m_noSpaceAvailableLabel->setWarningText(tr(scNoSpaceAvailable)); m_noSpaceAvailableLabel->setVisible(true); + } else if (spaceStatus == PackageManagerCore::RecommendedSizeExceeded) { + m_spaceRecommendationLabel->setWarningText(tr(scExceedsRecommended).arg(humanReadableSize(scRecommendedMaxSize))); + m_spaceRecommendationLabel->setVisible(true); } } |