summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/packagemanagergui.cpp19
-rw-r--r--src/libs/installer/packagemanagergui.h3
-rw-r--r--src/libs/installer/scriptengine.cpp9
-rw-r--r--src/libs/installer/scriptengine_p.h2
-rw-r--r--src/sdk/tabcontroller.cpp2
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;