summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2013-11-27 15:03:39 +0100
committerTim Jenssen <tim.jenssen@digia.com>2013-11-28 08:39:54 +0100
commit7d0c8ced9189b0ba614974b71ff3ead0f4f67a88 (patch)
tree8281611a13afb80d3ea8c3dcff2d5fffe0cac291 /src
parentf3085056a88681fbc54ff3ba232ee1f7a4540023 (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.cpp1
-rw-r--r--src/libs/installer/packagemanagergui.h5
-rw-r--r--src/sdk/installerbasecommons.cpp1
-rw-r--r--src/sdk/tabcontroller.cpp6
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());
}
}