diff options
-rw-r--r-- | doc/scripting-api/gui.qdoc | 7 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 14 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 1 | ||||
-rw-r--r-- | src/libs/installer/scriptengine.cpp | 10 | ||||
-rw-r--r-- | src/libs/installer/scriptengine_p.h | 1 |
5 files changed, 33 insertions, 0 deletions
diff --git a/doc/scripting-api/gui.qdoc b/doc/scripting-api/gui.qdoc index de8e2a663..35539c6be 100644 --- a/doc/scripting-api/gui.qdoc +++ b/doc/scripting-api/gui.qdoc @@ -104,6 +104,13 @@ */ /*! + \qmlmethod void gui::clickButton(string objectName, int delayInMs) + + Automatically clicks the button specified by \a objectName after a delay + in milliseconds specified by \a delayInMs. +*/ + +/*! \qmlmethod boolean gui::isButtonEnabled(int wizardButton) Returns \c true if the button specified by \a wizardButton is enabled. diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index d80709416..751076f9a 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -530,6 +530,20 @@ void PackageManagerGui::clickButton(int wb, int delay) } /*! + Clicks the button specified by \a objectName after the delay specified by \a delay. + + \sa {gui::clickButton}{gui.clickButton} +*/ +void PackageManagerGui::clickButton(const QString &objectName, int delay) const +{ + QPushButton *button = findChild<QPushButton *>(objectName); + if (button) + QTimer::singleShot(delay, button, &QAbstractButton::click); + else + qCWarning(QInstaller::lcInstallerInstallLog) << "Button with objectname: " << objectName << "not found!"; +} + +/*! Returns \c true if the button specified by \a wb is enabled. Returns \c false if a button of the specified type is not found. diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index e08b366cd..70ec43aca 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -80,6 +80,7 @@ public: QString defaultButtonText(int wizardButton) const; void clickButton(int wizardButton, int delayInMs = 0); + void clickButton(const QString &objectName, int delayInMs = 0) const; bool isButtonEnabled(int wizardButton); void showSettingsButton(bool show); diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp index accd54957..55940df61 100644 --- a/src/libs/installer/scriptengine.cpp +++ b/src/libs/installer/scriptengine.cpp @@ -178,6 +178,16 @@ void GuiProxy::clickButton(int wizardButton, int delayInMs) m_gui->clickButton(wizardButton, delayInMs); } +/*! + Automatically clicks the button specified by \a objectName after a delay + in milliseconds specified by \a delayInMs. +*/ +void GuiProxy::clickButton(const QString &objectName, int delayInMs) const +{ + if (m_gui) + m_gui->clickButton(objectName, delayInMs); +} + bool GuiProxy::isButtonEnabled(int wizardButton) { if (!m_gui) diff --git a/src/libs/installer/scriptengine_p.h b/src/libs/installer/scriptengine_p.h index 0fc963bf9..bf8240d98 100644 --- a/src/libs/installer/scriptengine_p.h +++ b/src/libs/installer/scriptengine_p.h @@ -160,6 +160,7 @@ public: Q_INVOKABLE QString defaultButtonText(int wizardButton) const; Q_INVOKABLE void clickButton(int wizardButton, int delayInMs = 0); + Q_INVOKABLE void clickButton(const QString &objectName, int delayInMs = 0) const; Q_INVOKABLE bool isButtonEnabled(int wizardButton); Q_INVOKABLE void showSettingsButton(bool show); |