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>
This commit is contained in:
Eike Ziller
2011-11-23 16:56:50 +01:00
parent 6210b0578e
commit 8cc3844038
6 changed files with 22 additions and 10 deletions

View File

@@ -62,6 +62,13 @@ const char * const IDE_REVISION_STR = STRINGIFY(IDE_REVISION);
const char * const IDE_REVISION_STR = \"\"; const char * const IDE_REVISION_STR = \"\";
#endif #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
#undef IDE_VERSION_STR #undef IDE_VERSION_STR
#undef STRINGIFY #undef STRINGIFY

View File

@@ -181,7 +181,9 @@ static inline QStringList getPluginPaths()
// $XDG_DATA_HOME or ~/.local/share/Nokia/qtcreator on Linux // $XDG_DATA_HOME or ~/.local/share/Nokia/qtcreator on Linux
// ~/Library/Application Support/Nokia/Qt Creator on Mac // ~/Library/Application Support/Nokia/Qt Creator on Mac
pluginPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation); pluginPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
pluginPath += QLatin1String("/Nokia/"); pluginPath += QLatin1Char('/')
+ QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR)
+ QLatin1Char('/');
#if !defined(Q_OS_MAC) #if !defined(Q_OS_MAC)
pluginPath += QLatin1String("qtcreator"); pluginPath += QLatin1String("qtcreator");
#else #else
@@ -250,11 +252,14 @@ int main(int argc, char **argv)
// Must be done before any QSettings class is created // Must be done before any QSettings class is created
QSettings::setPath(QSettings::IniFormat, QSettings::SystemScope, QSettings::setPath(QSettings::IniFormat, QSettings::SystemScope,
QCoreApplication::applicationDirPath() + QLatin1String(SHARE_PATH)); QCoreApplication::applicationDirPath() + QLatin1String(SHARE_PATH));
QSettings::setDefaultFormat(QSettings::IniFormat);
// plugin manager takes control of this settings object // plugin manager takes control of this settings object
QSettings *settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, 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, QSettings *globalSettings = new QSettings(QSettings::IniFormat, QSettings::SystemScope,
QLatin1String("Nokia"), QLatin1String("QtCreator")); QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR),
QLatin1String("QtCreator"));
ExtensionSystem::PluginManager pluginManager; ExtensionSystem::PluginManager pluginManager;
pluginManager.setFileExtension(QLatin1String("pluginspec")); pluginManager.setFileExtension(QLatin1String("pluginspec"));
pluginManager.setGlobalSettings(globalSettings); pluginManager.setGlobalSettings(globalSettings);

View File

@@ -179,8 +179,7 @@ MainWindow::MainWindow() :
#endif #endif
QCoreApplication::setApplicationName(QLatin1String("QtCreator")); QCoreApplication::setApplicationName(QLatin1String("QtCreator"));
QCoreApplication::setApplicationVersion(QLatin1String(Core::Constants::IDE_VERSION_LONG)); QCoreApplication::setApplicationVersion(QLatin1String(Core::Constants::IDE_VERSION_LONG));
QCoreApplication::setOrganizationName(QLatin1String("Nokia")); QCoreApplication::setOrganizationName(QLatin1String(Constants::IDE_SETTINGSVARIANT_STR));
QSettings::setDefaultFormat(QSettings::IniFormat);
QString baseName = QApplication::style()->objectName(); QString baseName = QApplication::style()->objectName();
#ifdef Q_WS_X11 #ifdef Q_WS_X11
if (baseName == QLatin1String("windows")) { if (baseName == QLatin1String("windows")) {

View File

@@ -111,8 +111,8 @@ ToolChainManager::ToolChainManager(QObject *parent) :
void ToolChainManager::restoreToolChains() void ToolChainManager::restoreToolChains()
{ {
// Restore SDK settings first // Restore SDK settings first
restoreToolChains(Core::ICore::instance()->resourcePath() QFileInfo systemSettingsFile(Core::ICore::instance()->settings(QSettings::SystemScope)->fileName());
+ QLatin1String("/Nokia") + QLatin1String(TOOLCHAIN_FILENAME), true); restoreToolChains(systemSettingsFile.absolutePath() + QLatin1String(TOOLCHAIN_FILENAME), true);
// Then auto detect // Then auto detect
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();

View File

@@ -143,7 +143,8 @@ void S60CreatePackageStep::ctor_package()
this, SLOT(handleWarnAboutPatching()), Qt::QueuedConnection); this, SLOT(handleWarnAboutPatching()), Qt::QueuedConnection);
m_passphrases = new QSettings(QSettings::IniFormat, QSettings::UserScope, m_passphrases = new QSettings(QSettings::IniFormat, QSettings::UserScope,
QLatin1String("Nokia"), QLatin1String("QtCreatorKeys"), this); QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR),
QLatin1String("QtCreatorKeys"), this);
} }
S60CreatePackageStep::~S60CreatePackageStep() S60CreatePackageStep::~S60CreatePackageStep()

View File

@@ -206,8 +206,8 @@ void QtVersionManager::updateFromInstaller()
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
QList<QtVersionFactory *> factories = pm->getObjects<QtVersionFactory>(); QList<QtVersionFactory *> factories = pm->getObjects<QtVersionFactory>();
Utils::PersistentSettingsReader reader; Utils::PersistentSettingsReader reader;
if (!reader.load(Core::ICore::instance()->resourcePath() if (!reader.load(QFileInfo(pm->globalSettings()->fileName()).absolutePath()
+ QLatin1String("/Nokia") + QLatin1String(QTVERSION_FILENAME))) + QLatin1String(QTVERSION_FILENAME)))
return; return;
QVariantMap data = reader.restoreValues(); QVariantMap data = reader.restoreValues();