From 82a1bfe29b9b88b4c63f0f9c2123fc769ec0b772 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@digia.com> Date: Fri, 15 Feb 2013 13:29:52 +0100 Subject: [PATCH] Qbs: Add static method to retrieve preferences from QbsManager Change-Id: Ib18c4a8cf904a998c2a76ae6a7ed10d4d968b396 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> --- src/plugins/qbsprojectmanager/qbsproject.cpp | 6 +++--- src/plugins/qbsprojectmanager/qbsprojectmanager.cpp | 13 ++++++++++++- src/plugins/qbsprojectmanager/qbsprojectmanager.h | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 184ed1421fd..7a5ffa285cd 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -388,9 +388,9 @@ void QbsProject::parse(const QVariantMap &config, const QString &dir) params.buildRoot = m_qbsBuildRoot; params.projectFilePath = m_fileName; params.ignoreDifferentProjectFilePath = false; - const qbs::Preferences prefs(m_manager->settings()); - params.searchPaths = prefs.searchPaths(QLatin1String(QBS_BUILD_DIR)); - params.pluginPaths = prefs.pluginPaths(QLatin1String(QBS_BUILD_DIR)); + qbs::Preferences *prefs = QbsManager::preferences(); + params.searchPaths = prefs->searchPaths(QLatin1String(QBS_BUILD_DIR)); + params.pluginPaths = prefs->pluginPaths(QLatin1String(QBS_BUILD_DIR)); m_qbsSetupProjectJob = qbs::Project::setupProject(params, m_manager->settings(), m_manager->logSink(), 0); diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp index 4420637955a..354fb8ba2c7 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp @@ -74,11 +74,17 @@ const QChar sep = QChar(QLatin1Char('.')); namespace QbsProjectManager { -qbs::Settings *QbsManager::m_settings = new qbs::Settings(QLatin1String("QtProject"), QLatin1String("qbs")); +qbs::Settings *QbsManager::m_settings = 0; +qbs::Preferences *QbsManager::m_preferences = 0; QbsManager::QbsManager(Internal::QbsProjectManagerPlugin *plugin) : m_plugin(plugin) { + if (!m_settings) + m_settings = new qbs::Settings(QLatin1String("QtProject"), QLatin1String("qbs")); + if (!m_preferences) + m_preferences = new qbs::Preferences(m_settings); + setObjectName(QLatin1String("QbsProjectManager")); connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitsChanged()), this, SLOT(pushKitsToQbs())); @@ -148,6 +154,11 @@ qbs::Settings *QbsManager::settings() return m_settings; } +qbs::Preferences *QbsManager::preferences() +{ + return m_preferences; +} + void QbsManager::addProfile(const QString &name, const QVariantMap &data) { const QString base = QLatin1String(PROFILES_PREFIX) + name; diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.h b/src/plugins/qbsprojectmanager/qbsprojectmanager.h index 705271775d7..56a561a3767 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.h @@ -69,6 +69,7 @@ public: QStringList profileNames() const; static qbs::Settings *settings(); + static qbs::Preferences *preferences(); Internal::QbsLogSink *logSink() { return m_logSink; } private slots: @@ -83,6 +84,7 @@ private: Internal::QbsProjectManagerPlugin *m_plugin; Internal::QbsLogSink *m_logSink; static qbs::Settings *m_settings; + static qbs::Preferences *m_preferences; }; } // namespace QbsProjectManager -- GitLab