diff options
author | Katja Marttila <katja.marttila@qt.io> | 2024-01-22 14:23:44 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2024-02-22 14:34:31 +0200 |
commit | 46fbd3781595d9fa4818992c10b9511247cca95f (patch) | |
tree | 82c513f91a1487b354e5b7c211ca4f59feb49bb7 /src/libs/installer | |
parent | ff5df69f6e7797001f715d9ab57426a101aae121 (diff) |
Add possibility to change button text
Sometimes the button texts in installer are not something that is
suitable. Added possibility to change button texts from script to a
specific installer page.
Task-number: QTIFW-711
Change-Id: I2883cda6d770843c3617fda4e6b07d102a357730
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 18 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 3 | ||||
-rw-r--r-- | src/libs/installer/scriptengine.cpp | 8 | ||||
-rw-r--r-- | src/libs/installer/scriptengine_p.h | 3 |
4 files changed, 28 insertions, 4 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 32a2a5099..806e58823 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2023 The Qt Company Ltd. +** Copyright (C) 2024 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -692,6 +692,22 @@ bool PackageManagerGui::isButtonEnabled(int wb) } /*! + Sets \a buttonText for button specified by \a buttonId to a installer page \a pageId. + + \note In some pages, installer will change the button text when entering + the page. In that case, you need to connect to \c entered() -signal of the + page to change the \a buttonText. + + \sa {gui::setWizardPageButtonText}{gui.setWizardPageButtonText} +*/ +void PackageManagerGui::setWizardPageButtonText(int pageId, int buttonId, const QString &buttonText) +{ + PackageManagerPage *const p = qobject_cast<PackageManagerPage*> (page(pageId)); + if (p) + p->setButtonText(static_cast<QWizard::WizardButton>(buttonId), buttonText); +} + +/*! Sets a validator for the custom page specified by \a name and \a callbackName requested by \a component. */ diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 655dd9875..d1492f75d 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2023 The Qt Company Ltd. +** Copyright (C) 2024 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -82,6 +82,7 @@ public: void clickButton(int wizardButton, int delayInMs = 0); void clickButton(const QString &objectName, int delayInMs = 0) const; bool isButtonEnabled(int wizardButton); + void setWizardPageButtonText(int pageId, int buttonId, const QString &buttonText); void showSettingsButton(bool show); void requestSettingsButtonByInstaller(bool request); diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp index 602f88b61..cb05ddaea 100644 --- a/src/libs/installer/scriptengine.cpp +++ b/src/libs/installer/scriptengine.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2023 The Qt Company Ltd. +** Copyright (C) 2024 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -189,6 +189,12 @@ bool GuiProxy::isButtonEnabled(int wizardButton) return m_gui->isButtonEnabled(wizardButton); } +void GuiProxy::setWizardPageButtonText(int pageId, int buttonId, const QString &buttonText) +{ + if (m_gui) + m_gui->setWizardPageButtonText(pageId, buttonId, buttonText); +} + void GuiProxy::showSettingsButton(bool show) { if (m_gui) diff --git a/src/libs/installer/scriptengine_p.h b/src/libs/installer/scriptengine_p.h index 035b68be4..101d4f303 100644 --- a/src/libs/installer/scriptengine_p.h +++ b/src/libs/installer/scriptengine_p.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2023 The Qt Company Ltd. +** Copyright (C) 2024 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -116,6 +116,7 @@ public: 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 setWizardPageButtonText(int pageId, int buttonId, const QString &buttonText); Q_INVOKABLE void showSettingsButton(bool show); Q_INVOKABLE void setSettingsButtonEnabled(bool enable); |