diff options
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 19 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 3 | ||||
-rw-r--r-- | src/libs/installer/scriptengine.cpp | 9 | ||||
-rw-r--r-- | src/libs/installer/scriptengine_p.h | 2 | ||||
-rw-r--r-- | src/sdk/tabcontroller.cpp | 2 |
5 files changed, 34 insertions, 1 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 22092cfdd..85bf4e1f0 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -208,6 +208,7 @@ public: , m_modified(false) , m_autoSwitchPage(true) , m_showSettingsButton(false) + , m_silent(false) { m_wizardButtonTypes.insert(QWizard::BackButton, QLatin1String("QWizard::BackButton")); m_wizardButtonTypes.insert(QWizard::NextButton, QLatin1String("QWizard::NextButton")); @@ -231,6 +232,7 @@ public: bool m_modified; bool m_autoSwitchPage; bool m_showSettingsButton; + bool m_silent; QHash<int, QWizardPage*> m_defaultPages; QHash<int, QString> m_defaultButtonText; @@ -405,6 +407,23 @@ QWizard::WizardStyle PackageManagerGui::getStyle(const QString &name) } /*! + Hides the GUI when \a silent is \c true. +*/ +void PackageManagerGui::setSilent(bool silent) +{ + d->m_silent = silent; + setVisible(!silent); +} + +/*! + Returns the current silent state. +*/ +bool PackageManagerGui::isSilent() const +{ + return d->m_silent; +} + +/*! Enables automatic page switching when \a request is \c true. */ void PackageManagerGui::setAutomatedPageSwitchEnabled(bool request) diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 7956075c5..63012c334 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -93,6 +93,9 @@ public: void updateButtonLayout(); static QWizard::WizardStyle getStyle(const QString &name); + void setSilent(bool silent); + bool isSilent() const; + Q_SIGNALS: void interrupted(); void languageChanged(); diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp index eebfdf214..0397307b9 100644 --- a/src/libs/installer/scriptengine.cpp +++ b/src/libs/installer/scriptengine.cpp @@ -204,6 +204,15 @@ QList<QJSValue> GuiProxy::findChildren(QObject *parent, const QString &objectNam return children; } +/*! + Hides the GUI when \a silent is \c true. +*/ +void GuiProxy::setSilent(bool silent) +{ + if (m_gui) + m_gui->setSilent(silent); +} + void GuiProxy::cancelButtonClicked() { if (m_gui) diff --git a/src/libs/installer/scriptengine_p.h b/src/libs/installer/scriptengine_p.h index e1ff08b87..3998f5bbd 100644 --- a/src/libs/installer/scriptengine_p.h +++ b/src/libs/installer/scriptengine_p.h @@ -159,6 +159,8 @@ public: Q_INVOKABLE QJSValue findChild(QObject *parent, const QString &objectName); Q_INVOKABLE QList<QJSValue> findChildren(QObject *parent, const QString &objectName); + Q_INVOKABLE void setSilent(bool silent); + signals: void interrupted(); void languageChanged(); diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp index 394f953fa..1cdc87fc2 100644 --- a/src/sdk/tabcontroller.cpp +++ b/src/sdk/tabcontroller.cpp @@ -139,7 +139,7 @@ int TabController::init() } d->m_gui->restart(); - d->m_gui->show(); + d->m_gui->setVisible(!d->m_gui->isSilent()); onCurrentIdChanged(d->m_gui->currentId()); return PackageManagerCore::Success; |