From 5688c84fcfbf9f73df614e369558333f216f5697 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 16 Nov 2022 15:07:36 +0100 Subject: [PATCH] Python: Initialize settings in the pimpl Change-Id: I172136851c3002bf785d9b8f378c0cccc408e0e2 Reviewed-by: David Schulz --- src/plugins/python/pythonplugin.cpp | 4 ++-- src/plugins/python/pythonsettings.cpp | 10 +++------- src/plugins/python/pythonsettings.h | 5 +---- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/plugins/python/pythonplugin.cpp b/src/plugins/python/pythonplugin.cpp index cb06a304b7f..e6be479c332 100644 --- a/src/plugins/python/pythonplugin.cpp +++ b/src/plugins/python/pythonplugin.cpp @@ -39,6 +39,8 @@ public: {ProjectExplorer::Constants::NORMAL_RUN_MODE}, {runConfigFactory.runConfigurationId()} }; + + PythonSettings settings; }; PythonPlugin::PythonPlugin() @@ -66,8 +68,6 @@ bool PythonPlugin::initialize(const QStringList &arguments, QString *errorMessag ProjectManager::registerProjectType(PythonMimeType); - PythonSettings::init(); - return true; } diff --git a/src/plugins/python/pythonsettings.cpp b/src/plugins/python/pythonsettings.cpp index 313e7db70de..1391a2cc06f 100644 --- a/src/plugins/python/pythonsettings.cpp +++ b/src/plugins/python/pythonsettings.cpp @@ -688,8 +688,10 @@ static QString idForPythonFromPath(const QList &pythons) static PythonSettings *settingsInstance = nullptr; PythonSettings::PythonSettings() - : QObject(PythonPlugin::instance()) { + QTC_ASSERT(!settingsInstance, return); + settingsInstance = this; + setObjectName("PythonSettings"); ExtensionSystem::PluginManager::addObject(this); @@ -714,12 +716,6 @@ PythonSettings::~PythonSettings() settingsInstance = nullptr; } -void PythonSettings::init() -{ - QTC_ASSERT(!settingsInstance, return ); - settingsInstance = new PythonSettings(); -} - void PythonSettings::setInterpreter(const QList &interpreters, const QString &defaultId) { if (defaultId == settingsInstance->m_defaultInterpreterId diff --git a/src/plugins/python/pythonsettings.h b/src/plugins/python/pythonsettings.h index b5b988bcf83..0565e725adc 100644 --- a/src/plugins/python/pythonsettings.h +++ b/src/plugins/python/pythonsettings.h @@ -14,10 +14,9 @@ class PythonSettings : public QObject Q_OBJECT public: + PythonSettings(); ~PythonSettings(); - static void init(); - using Interpreter = ProjectExplorer::Interpreter; static QList interpreters(); @@ -47,8 +46,6 @@ public slots: void listDetectedPython(const QString &detectionSource, QString *logMessage); private: - PythonSettings(); - void initFromSettings(QSettings *settings); void writeToSettings(QSettings *settings);