diff options
author | kh1 <karsten.heimrich@digia.com> | 2013-01-31 15:37:13 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@digia.com> | 2013-02-04 12:35:40 +0100 |
commit | aff8a9920257d25d6f2651c909ce277ddbd75c59 (patch) | |
tree | 618dedded0234668f7947c259578a6f44b895742 /src/libs/installer/packagemanagercoredata.cpp | |
parent | 60223eba3ee71ec9347b9ad2259759f892386088 (diff) |
"Normalize" installation path on Windows installer.
Task-number: QTIFW-175
Change-Id: I10ecc5830ff80f00a2aa67a2d9b66d9e37ac8ef0
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/libs/installer/packagemanagercoredata.cpp')
-rw-r--r-- | src/libs/installer/packagemanagercoredata.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/libs/installer/packagemanagercoredata.cpp b/src/libs/installer/packagemanagercoredata.cpp index e6cc6ebdd..9b7424375 100644 --- a/src/libs/installer/packagemanagercoredata.cpp +++ b/src/libs/installer/packagemanagercoredata.cpp @@ -41,6 +41,7 @@ #include "packagemanagercoredata.h" #include "errors.h" +#include "fileutils.h" #include "qsettingswrapper.h" #include <QDir> @@ -132,6 +133,19 @@ bool PackageManagerCoreData::setValue(const QString &key, const QString &normali QVariant PackageManagerCoreData::value(const QString &key, const QVariant &_default) const { + if (key == scTargetDir) { + QString dir = m_variables.value(key); + if (dir.isEmpty()) + dir = m_settings.value(key, _default).toString(); +#ifdef Q_OS_WIN + return QInstaller::normalizePathName(dir); +#else + if (dir.startsWith(QLatin1String("~/"))) + return QDir::home().absoluteFilePath(dir.mid(2)); + return dir; +#endif + } + #ifdef Q_OS_WIN if (!m_variables.contains(key)) { static const QRegExp regex(QLatin1String("\\\\|/")); @@ -141,14 +155,8 @@ QVariant PackageManagerCoreData::value(const QString &key, const QVariant &_defa if (!filename.isEmpty() && !regKey.isEmpty() && registry.contains(regKey)) return registry.value(regKey).toString(); } -#else - if (key == scTargetDir) { - const QString dir = m_variables.value(key, _default.toString()); - if (dir.startsWith(QLatin1String("~/"))) - return QDir::home().absoluteFilePath(dir.mid(2)); - return dir; - } #endif + if (m_variables.contains(key)) return m_variables.value(key); |