diff options
author | Eike Ziller <eike.ziller@nokia.com> | 2011-11-23 16:56:50 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-12-16 08:48:31 +0100 |
commit | 8cc3844038ebf225f723b8f4c3dc1aa44c6e1bc8 (patch) | |
tree | aa1eb98007c311c42bc5ab572a62d379147d6913 | |
parent | 6210b0578e204eac5b9b02e6aba3e8cce2b642e8 (diff) | |
download | qt-creator-8cc3844038ebf225f723b8f4c3dc1aa44c6e1bc8.tar.gz |
Allow build to specify different settings path.
Task-number: QTCREATORBUG-5509
Change-Id: I4541049a1861e83f55106effc536fd50eb233d97
Reviewed-by: Alexander Lenhardt <alexander.lenhardt@nokia.com>
Reviewed-by: Niels Weber <niels.2.weber@nokia.com>
Reviewed-by: Daniel Molkentin <daniel.molkentin@nokia.com>
-rw-r--r-- | src/app/app_version.h.in | 7 | ||||
-rw-r--r-- | src/app/main.cpp | 11 | ||||
-rw-r--r-- | src/plugins/coreplugin/mainwindow.cpp | 3 | ||||
-rw-r--r-- | src/plugins/projectexplorer/toolchainmanager.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp | 3 | ||||
-rw-r--r-- | src/plugins/qtsupport/qtversionmanager.cpp | 4 |
6 files changed, 22 insertions, 10 deletions
diff --git a/src/app/app_version.h.in b/src/app/app_version.h.in index 222c97ec85..04d9575a52 100644 --- a/src/app/app_version.h.in +++ b/src/app/app_version.h.in @@ -62,6 +62,13 @@ const char * const IDE_REVISION_STR = STRINGIFY(IDE_REVISION); const char * const IDE_REVISION_STR = \"\"; #endif +// changes the path where the settings are saved to +#ifdef IDE_SETTINGSVARIANT +const char * const IDE_SETTINGSVARIANT_STR = STRINGIFY(IDE_SETTINGSVARIANT); +#else +const char * const IDE_SETTINGSVARIANT_STR = \"Nokia\"; +#endif + #undef IDE_VERSION #undef IDE_VERSION_STR #undef STRINGIFY diff --git a/src/app/main.cpp b/src/app/main.cpp index 8920bb9599..5dfe3a748a 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -181,7 +181,9 @@ static inline QStringList getPluginPaths() // $XDG_DATA_HOME or ~/.local/share/Nokia/qtcreator on Linux // ~/Library/Application Support/Nokia/Qt Creator on Mac pluginPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation); - pluginPath += QLatin1String("/Nokia/"); + pluginPath += QLatin1Char('/') + + QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR) + + QLatin1Char('/'); #if !defined(Q_OS_MAC) pluginPath += QLatin1String("qtcreator"); #else @@ -250,11 +252,14 @@ int main(int argc, char **argv) // Must be done before any QSettings class is created QSettings::setPath(QSettings::IniFormat, QSettings::SystemScope, QCoreApplication::applicationDirPath() + QLatin1String(SHARE_PATH)); + QSettings::setDefaultFormat(QSettings::IniFormat); // plugin manager takes control of this settings object QSettings *settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, - QLatin1String("Nokia"), QLatin1String("QtCreator")); + QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR), + QLatin1String("QtCreator")); QSettings *globalSettings = new QSettings(QSettings::IniFormat, QSettings::SystemScope, - QLatin1String("Nokia"), QLatin1String("QtCreator")); + QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR), + QLatin1String("QtCreator")); ExtensionSystem::PluginManager pluginManager; pluginManager.setFileExtension(QLatin1String("pluginspec")); pluginManager.setGlobalSettings(globalSettings); diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index d8cc85d2e0..527e75c0ef 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -179,8 +179,7 @@ MainWindow::MainWindow() : #endif QCoreApplication::setApplicationName(QLatin1String("QtCreator")); QCoreApplication::setApplicationVersion(QLatin1String(Core::Constants::IDE_VERSION_LONG)); - QCoreApplication::setOrganizationName(QLatin1String("Nokia")); - QSettings::setDefaultFormat(QSettings::IniFormat); + QCoreApplication::setOrganizationName(QLatin1String(Constants::IDE_SETTINGSVARIANT_STR)); QString baseName = QApplication::style()->objectName(); #ifdef Q_WS_X11 if (baseName == QLatin1String("windows")) { diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp index 9f616eac52..3cf9b1f684 100644 --- a/src/plugins/projectexplorer/toolchainmanager.cpp +++ b/src/plugins/projectexplorer/toolchainmanager.cpp @@ -111,8 +111,8 @@ ToolChainManager::ToolChainManager(QObject *parent) : void ToolChainManager::restoreToolChains() { // Restore SDK settings first - restoreToolChains(Core::ICore::instance()->resourcePath() - + QLatin1String("/Nokia") + QLatin1String(TOOLCHAIN_FILENAME), true); + QFileInfo systemSettingsFile(Core::ICore::instance()->settings(QSettings::SystemScope)->fileName()); + restoreToolChains(systemSettingsFile.absolutePath() + QLatin1String(TOOLCHAIN_FILENAME), true); // Then auto detect ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp index c8b898ef5d..ae501342ea 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp @@ -143,7 +143,8 @@ void S60CreatePackageStep::ctor_package() this, SLOT(handleWarnAboutPatching()), Qt::QueuedConnection); m_passphrases = new QSettings(QSettings::IniFormat, QSettings::UserScope, - QLatin1String("Nokia"), QLatin1String("QtCreatorKeys"), this); + QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR), + QLatin1String("QtCreatorKeys"), this); } S60CreatePackageStep::~S60CreatePackageStep() diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index a578718e68..def45c3f36 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -206,8 +206,8 @@ void QtVersionManager::updateFromInstaller() ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); QList<QtVersionFactory *> factories = pm->getObjects<QtVersionFactory>(); Utils::PersistentSettingsReader reader; - if (!reader.load(Core::ICore::instance()->resourcePath() - + QLatin1String("/Nokia") + QLatin1String(QTVERSION_FILENAME))) + if (!reader.load(QFileInfo(pm->globalSettings()->fileName()).absolutePath() + + QLatin1String(QTVERSION_FILENAME))) return; QVariantMap data = reader.restoreValues(); |