diff options
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 9 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 430008cdb..39235317d 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -73,6 +73,7 @@ #include <QShowEvent> #include <QFileDialog> #include <QGroupBox> +#include <QDesktopWidget> #ifdef Q_OS_WIN # include <qt_windows.h> @@ -382,8 +383,16 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent) d->m_defaultButtonText.insert(i, buttonText(QWizard::WizardButton(i))); m_core->setGuiObject(this); + + // We need to create this ugly hack so that the installer doesn't exceed the maximum size of the + // screen. The screen size where the widget lies is not available until the widget is visible. + QTimer::singleShot(30, this, SLOT(setMaxSize())); } +void PackageManagerGui::setMaxSize() +{ + setMaximumSize(qApp->desktop()->availableGeometry(this).size()); +} /*! Destructs a package manager UI. */ diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 59ea6572e..48f5089c0 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -106,6 +106,7 @@ public Q_SLOTS: void rejectWithoutPrompt(); void showFinishedPage(); void setModified(bool value); + void setMaxSize(); protected Q_SLOTS: void wizardPageInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page); |