diff options
-rw-r--r-- | doc/installerfw.qdoc | 3 | ||||
-rw-r--r-- | src/libs/installer/constants.h | 2 | ||||
-rw-r--r-- | src/libs/installer/settings.cpp | 7 | ||||
-rw-r--r-- | src/libs/installer/settings.h | 2 | ||||
-rw-r--r-- | src/sdk/settingsdialog.cpp | 6 |
5 files changed, 19 insertions, 1 deletions
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc index 00fa04c37..86496aba1 100644 --- a/doc/installerfw.qdoc +++ b/doc/installerfw.qdoc @@ -217,6 +217,9 @@ \o AllowNonAsciiCharacters \o Set to \c true if the installation path can contain non-ASCII characters. + \row + \o RepositorySettingsPageVisible + \o Set to \c false to hide the repository settings page inside the settings dialog. \endtable */ diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index ea512ed76..be11f5156 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -76,7 +76,7 @@ static const QLatin1String scRemoveTargetDir("RemoveTargetDir"); static const QLatin1String scRunProgramDescription("RunProgramDescription"); static const QLatin1String scTargetConfigurationFile("TargetConfigurationFile"); static const QLatin1String scAllowNonAsciiCharacters("AllowNonAsciiCharacters"); - +static const QLatin1String scRepositorySettingsPageVisible("RepositorySettingsPageVisible"); } #endif // CONSTANTS_H diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index e4d51491e..cb84d5438 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -235,6 +235,8 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix) s.d->m_data.insert(scUninstallerIniFile, s.uninstallerName() + QLatin1String(".ini")); if (!s.d->m_data.contains(scDependsOnLocalInstallerBinary)) s.d->m_data.insert(scDependsOnLocalInstallerBinary, false); + if (!s.d->m_data.contains(scRepositorySettingsPageVisible)) + s.d->m_data.insert(scRepositorySettingsPageVisible, true); return s; } @@ -501,6 +503,11 @@ QVariantHash Settings::subTitlesForPage(const QString &pageName) const return variant.value<QVariantHash>(); } +bool Settings::repositorySettingsPageVisible() const +{ + return d->m_data.value(scRepositorySettingsPageVisible, true).toBool(); +} + Settings::ProxyType Settings::proxyType() const { return Settings::ProxyType(d->m_data.value(scProxyType, Settings::NoProxy).toInt()); diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h index ad7ad9e1f..52453e970 100644 --- a/src/libs/installer/settings.h +++ b/src/libs/installer/settings.h @@ -122,6 +122,8 @@ public: QVariantHash titlesForPage(const QString &pageName) const; QVariantHash subTitlesForPage(const QString &pageName) const; + bool repositorySettingsPageVisible() const; + Settings::ProxyType proxyType() const; void setProxyType(Settings::ProxyType type); diff --git a/src/sdk/settingsdialog.cpp b/src/sdk/settingsdialog.cpp index 9f705b41a..0e237165c 100644 --- a/src/sdk/settingsdialog.cpp +++ b/src/sdk/settingsdialog.cpp @@ -361,6 +361,12 @@ SettingsDialog::SettingsDialog(QInstaller::PackageManagerCore *core, QWidget *pa m_ui->m_useTmpRepositories->setChecked(settings.hasReplacementRepos()); m_ui->m_useTmpRepositories->setEnabled(settings.hasReplacementRepos()); m_ui->m_repositoriesView->setCurrentItem(m_rootItems.at(settings.hasReplacementRepos())); + + if (!settings.repositorySettingsPageVisible()) { + // workaround a inconvenience that the page won't hide inside a QTabWidget + m_ui->m_repositories->setParent(this); + m_ui->m_repositories->setVisible(settings.repositorySettingsPageVisible()); + } } void SettingsDialog::accept() |