forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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")) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user