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 = \"\";
|
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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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")) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user