diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2020-05-08 16:38:15 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2020-06-11 12:19:06 +0300 |
commit | f6565bdc455d7b3a10941c29d780b58fc1305ef2 (patch) | |
tree | a9b11b7ba52e29ad845533303c85b4f69113ed92 /src/libs/installer/packagemanagergui.h | |
parent | fc973b4c0b1b4e30ff69564565fd30e5ac18524a (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.h | 17 |
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; |