summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.h
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-05-08 16:38:15 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-06-11 12:19:06 +0300
commitf6565bdc455d7b3a10941c29d780b58fc1305ef2 (patch)
treea9b11b7ba52e29ad845533303c85b4f69113ed92 /src/libs/installer/packagemanagergui.h
parentfc973b4c0b1b4e30ff69564565fd30e5ac18524a (diff)
Add a page list widget to installer wizard
If an installer is configured with <WizardShowPageList> set to true (default), a QListWidget set as a side widget for the wizard will be shown. The list should indicate completed and incomplete pages and the current wizard page. User navigation is not enabled in this change. The page list should honor the visibility of individual pages and update itself dynamically. In addition the visibility of a page in page list widget can be set internally with setShowOnPageList() which overrides other factors when hiding a page. The page item title shown on the list can be set internally with setPageListTitle() for the PackageManagerPage object, or the item can alternatively use the normal page title and the object name. Task-number: QTIFW-1755 Change-Id: I8a792d957a10e2176de5f42f29b1282e8e7667db Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagergui.h')
-rw-r--r--src/libs/installer/packagemanagergui.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h
index 70ec43aca..099f2e4f3 100644
--- a/src/libs/installer/packagemanagergui.h
+++ b/src/libs/installer/packagemanagergui.h
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Installer Framework.
@@ -108,6 +108,7 @@ public Q_SLOTS:
void showFinishedPage();
void setModified(bool value);
void setMaxSize();
+ void updatePageListWidget();
protected Q_SLOTS:
void wizardPageInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page);
@@ -136,6 +137,7 @@ private:
class Private;
Private *const d;
PackageManagerCore *m_core;
+ QListWidget *m_pageListWidget;
};
@@ -157,6 +159,12 @@ public:
void setColoredTitle(const QString &title);
void setColoredSubTitle(const QString &subTitle);
+ void setPageListTitle(const QString &title);
+ QString pageListTitle() const;
+
+ void setShowOnPageList(bool show);
+ bool showOnPageList() const;
+
virtual bool isComplete() const;
void setComplete(bool complete);
@@ -173,6 +181,7 @@ public:
signals:
void entered();
void left();
+ void showOnPageListChanged();
protected:
PackageManagerCore *packageManagerCore() const;
@@ -193,6 +202,8 @@ protected:
private:
bool m_complete;
QString m_titleColor;
+ QString m_pageListTitle;
+ bool m_showOnPageList;
bool m_needsSettingsButton;
PackageManagerCore *m_core;
@@ -401,6 +412,9 @@ protected:
void entering();
void leaving();
+private Q_SLOTS:
+ void updatePageListTitle();
+
private:
QLabel *m_msgLabel;
QTextBrowser* m_taskDetailsBrowser;
@@ -437,6 +451,7 @@ private Q_SLOTS:
void uninstallationFinished();
void toggleDetailsWereChanged();
+ void updatePageListTitle();
private:
PerformInstallationForm *m_performInstallationForm;