summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/spacewidget.cpp
diff options
context:
space:
mode:
authorKatja Marttila <[email protected]>2025-05-20 14:10:02 +0300
committerKatja Marttila <[email protected]>2025-05-23 12:39:13 +0300
commitaf6aa8d69d2633196cbe1e08b0a1709087032619 (patch)
treecf97f08c678afbfd217fb0b9aea23f184d7ce41d /src/libs/installer/spacewidget.cpp
parentd01505194d4e525f8d41f1ad040c1fc1a7951696 (diff)
Add warning about space usageHEADdev
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.cpp26
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);
}
}