diff options
-rw-r--r-- | doc/installerfw.qdoc | 5 | ||||
-rw-r--r-- | examples/dependencies/config/config.xml | 1 | ||||
-rw-r--r-- | src/libs/installer/componentmodel.cpp | 4 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 2 | ||||
-rw-r--r-- | src/libs/installer/resources/install.png | bin | 0 -> 268 bytes | |||
-rw-r--r-- | src/libs/installer/resources/installer.qrc | 4 | ||||
-rw-r--r-- | src/libs/installer/resources/keepinstalled.png | bin | 0 -> 239 bytes | |||
-rw-r--r-- | src/libs/installer/resources/keepuninstalled.png | bin | 0 -> 203 bytes | |||
-rw-r--r-- | src/libs/installer/resources/uninstall.png | bin | 0 -> 240 bytes | |||
-rw-r--r-- | src/libs/installer/settings.cpp | 10 | ||||
-rw-r--r-- | src/libs/installer/settings.h | 1 | ||||
-rw-r--r-- | tests/auto/installer/settings/tst_settings.cpp | 1 |
12 files changed, 26 insertions, 2 deletions
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc index 187686a9c..79c4d7962 100644 --- a/doc/installerfw.qdoc +++ b/doc/installerfw.qdoc @@ -307,6 +307,11 @@ \li Set to \c true if you want to create a local repository inside the installation directory. This option has no effect on online installers. The repository will be automatically added to the list of default repositories. + \row + \li InstallActionColumnVisible + \li Set to \c true if you want to add an extra column into component tree showing install actions. + This extra column indicates whether a component is going to be installed or uninstalled, + or just stay installed or uninstalled. \endtable diff --git a/examples/dependencies/config/config.xml b/examples/dependencies/config/config.xml index 72a127f19..d7a0723dd 100644 --- a/examples/dependencies/config/config.xml +++ b/examples/dependencies/config/config.xml @@ -7,4 +7,5 @@ <StartMenuDir>Qt IFW Examples</StartMenuDir> <TargetDir>@HomeDir@/IfwExamples/dependencies</TargetDir> <CreateLocalRepository>true</CreateLocalRepository> + <InstallActionColumnVisible>true</InstallActionColumnVisible> </Installer> diff --git a/src/libs/installer/componentmodel.cpp b/src/libs/installer/componentmodel.cpp index 0c249e8e6..682bc02c5 100644 --- a/src/libs/installer/componentmodel.cpp +++ b/src/libs/installer/componentmodel.cpp @@ -83,6 +83,10 @@ class IconCache { public: IconCache() { + m_icons.insert(ComponentModelHelper::Install, QIcon(QLatin1String(":/install.png"))); + m_icons.insert(ComponentModelHelper::Uninstall, QIcon(QLatin1String(":/uninstall.png"))); + m_icons.insert(ComponentModelHelper::KeepInstalled, QIcon(QLatin1String(":/keepinstalled.png"))); + m_icons.insert(ComponentModelHelper::KeepUninstalled, QIcon(QLatin1String(":/keepuninstalled.png"))); } QIcon icon(ComponentModelHelper::InstallAction action) const { diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 4e4190fd5..5f7dc1295 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -1853,7 +1853,7 @@ public: m_treeView->setModel(m_currentModel); m_treeView->setExpanded(m_currentModel->index(0, 0), true); - const bool installActionColumnVisible = false; + const bool installActionColumnVisible = m_core->settings().installActionColumnVisible(); if (!installActionColumnVisible) m_treeView->hideColumn(ComponentModelHelper::ActionColumn); diff --git a/src/libs/installer/resources/install.png b/src/libs/installer/resources/install.png Binary files differnew file mode 100644 index 000000000..8e3309c9f --- /dev/null +++ b/src/libs/installer/resources/install.png diff --git a/src/libs/installer/resources/installer.qrc b/src/libs/installer/resources/installer.qrc index 77bf00f65..48a7c65bd 100644 --- a/src/libs/installer/resources/installer.qrc +++ b/src/libs/installer/resources/installer.qrc @@ -3,5 +3,9 @@ <file>installer.png</file> <file>installer.ico</file> <file>installer.icns</file> + <file>install.png</file> + <file>uninstall.png</file> + <file>keepinstalled.png</file> + <file>keepuninstalled.png</file> </qresource> </RCC> diff --git a/src/libs/installer/resources/keepinstalled.png b/src/libs/installer/resources/keepinstalled.png Binary files differnew file mode 100644 index 000000000..7f8489e28 --- /dev/null +++ b/src/libs/installer/resources/keepinstalled.png diff --git a/src/libs/installer/resources/keepuninstalled.png b/src/libs/installer/resources/keepuninstalled.png Binary files differnew file mode 100644 index 000000000..2753092cc --- /dev/null +++ b/src/libs/installer/resources/keepuninstalled.png diff --git a/src/libs/installer/resources/uninstall.png b/src/libs/installer/resources/uninstall.png Binary files differnew file mode 100644 index 000000000..5646770da --- /dev/null +++ b/src/libs/installer/resources/uninstall.png diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index bb6f9f1fb..bf13a22d8 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -62,6 +62,7 @@ static const QLatin1String scRemoteRepositories("RemoteRepositories"); static const QLatin1String scDependsOnLocalInstallerBinary("DependsOnLocalInstallerBinary"); static const QLatin1String scTranslations("Translations"); static const QLatin1String scCreateLocalRepository("CreateLocalRepository"); +static const QLatin1String scInstallActionColumnVisible("InstallActionColumnVisible"); static const QLatin1String scFtpProxy("FtpProxy"); static const QLatin1String scHttpProxy("HttpProxy"); @@ -257,7 +258,7 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix, << scWizardDefaultWidth << scWizardDefaultHeight << scRepositorySettingsPageVisible << scTargetConfigurationFile << scRemoteRepositories << scTranslations << QLatin1String(scControlScript) - << scCreateLocalRepository; + << scCreateLocalRepository << scInstallActionColumnVisible; Settings s; s.d->m_data.insert(scPrefix, prefix); @@ -324,6 +325,8 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix, s.d->m_data.insert(scRepositorySettingsPageVisible, true); if (!s.d->m_data.contains(scCreateLocalRepository)) s.d->m_data.insert(scCreateLocalRepository, false); + if (!s.d->m_data.contains(scInstallActionColumnVisible)) + s.d->m_data.insert(scInstallActionColumnVisible, false); return s; } @@ -478,6 +481,11 @@ bool Settings::createLocalRepository() const return d->m_data.value(scCreateLocalRepository).toBool(); } +bool Settings::installActionColumnVisible() const +{ + return d->m_data.value(scInstallActionColumnVisible, false).toBool(); +} + bool Settings::allowSpaceInPath() const { return d->m_data.value(scAllowSpaceInPath, true).toBool(); diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h index 7a2bb1f59..96c2ba450 100644 --- a/src/libs/installer/settings.h +++ b/src/libs/installer/settings.h @@ -112,6 +112,7 @@ public: QString configurationFileName() const; bool createLocalRepository() const; + bool installActionColumnVisible() const; bool dependsOnLocalInstallerBinary() const; bool hasReplacementRepos() const; diff --git a/tests/auto/installer/settings/tst_settings.cpp b/tests/auto/installer/settings/tst_settings.cpp index 6deea6093..ef1ef5e3b 100644 --- a/tests/auto/installer/settings/tst_settings.cpp +++ b/tests/auto/installer/settings/tst_settings.cpp @@ -73,6 +73,7 @@ void tst_Settings::loadTutorialConfig() QCOMPARE(settings.allowSpaceInPath(), true); QCOMPARE(settings.allowNonAsciiCharacters(), false); QCOMPARE(settings.createLocalRepository(), false); + QCOMPARE(settings.installActionColumnVisible(), false); QCOMPARE(settings.hasReplacementRepos(), false); QCOMPARE(settings.repositories(), QSet<Repository>()); |