diff options
author | kh1 <karsten.heimrich@digia.com> | 2013-11-27 15:03:39 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@digia.com> | 2013-11-28 08:39:54 +0100 |
commit | 7d0c8ced9189b0ba614974b71ff3ead0f4f67a88 (patch) | |
tree | 8281611a13afb80d3ea8c3dcff2d5fffe0cac291 /src | |
parent | f3085056a88681fbc54ff3ba232ee1f7a4540023 (diff) |
Allow a page to force showing the settings button.
Change-Id: I433933c7f0a398d2d7cd082db61e41507510c2ab
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 1 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 5 | ||||
-rw-r--r-- | src/sdk/installerbasecommons.cpp | 1 | ||||
-rw-r--r-- | src/sdk/tabcontroller.cpp | 6 |
4 files changed, 10 insertions, 3 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index e1e24c6e2..5a940c525 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -623,6 +623,7 @@ void PackageManagerGui::dependsOnLocalInstallerBinary() PackageManagerPage::PackageManagerPage(PackageManagerCore *core) : m_fresh(true) , m_complete(true) + , m_needsSettingsButton(false) , m_core(core) , validatorComponent(0) { diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 913bfb2a6..304f5f2a1 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -162,6 +162,10 @@ public: void setValidatePageComponent(QInstaller::Component *component); bool validatePage(); + + bool settingsButtonRequested() const { return m_needsSettingsButton; } + void setSettingsButtonRequested(bool request) { m_needsSettingsButton = request; } + signals: void entered(); void left(); @@ -185,6 +189,7 @@ protected: private: bool m_fresh; bool m_complete; + bool m_needsSettingsButton; PackageManagerCore *m_core; QInstaller::Component *validatorComponent; diff --git a/src/sdk/installerbasecommons.cpp b/src/sdk/installerbasecommons.cpp index 58a811fac..9f91805cb 100644 --- a/src/sdk/installerbasecommons.cpp +++ b/src/sdk/installerbasecommons.cpp @@ -340,6 +340,7 @@ void IntroductionPageImpl::entering() showMaintenanceTools(); setMaintenanceToolsEnabled(true); } + setSettingsButtonRequested((!core->isOfflineOnly()) && (!core->isUninstaller())); } void IntroductionPageImpl::leaving() diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp index 8d4492ac1..d0e322251 100644 --- a/src/sdk/tabcontroller.cpp +++ b/src/sdk/tabcontroller.cpp @@ -196,9 +196,9 @@ void TabController::onSettingsButtonClicked() void TabController::onCurrentIdChanged(int newId) { - if (d->m_gui && d->m_core) { - d->m_gui->showSettingsButton((newId == PackageManagerCore::Introduction) & - (!d->m_core->isOfflineOnly()) & (!d->m_core->isUninstaller())); + if (d->m_gui) { + if (PackageManagerPage *page = d->m_gui->page(newId)) + d->m_gui->showSettingsButton(page->settingsButtonRequested()); } } |