TextEditor: Push back explicit use of core settings

It's meant to be handled via aspects in the long term.

Change-Id: I2a2792f7bb5e75ede18e2328bb31729c212e30e6
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
hjk
2023-07-17 13:54:37 +02:00
parent 74ff10001a
commit f10d0bad01
16 changed files with 74 additions and 96 deletions

View File

@@ -11,8 +11,13 @@
#include "cpppointerdeclarationformatter.h"
#include "cpptoolssettings.h"
#include <coreplugin/icore.h>
#include <cppeditor/cppeditorconstants.h>
#include <cplusplus/Overview.h>
#include <cplusplus/pp.h>
#include <extensionsystem/pluginmanager.h>
#include <texteditor/codestyleeditor.h>
#include <texteditor/displaysettings.h>
#include <texteditor/fontsettings.h>
@@ -23,14 +28,10 @@
#include <texteditor/tabsettingswidget.h>
#include <texteditor/textdocument.h>
#include <texteditor/texteditorsettings.h>
#include <utils/layoutbuilder.h>
#include <utils/qtcassert.h>
#include <cplusplus/Overview.h>
#include <cplusplus/pp.h>
#include <extensionsystem/pluginmanager.h>
#include <QCheckBox>
#include <QTabWidget>
#include <QTextBlock>
@@ -588,20 +589,18 @@ public:
void apply() final
{
QSettings *s = Core::ICore::settings();
CppCodeStylePreferences *originalCppCodeStylePreferences = CppToolsSettings::instance()->cppCodeStyle();
if (originalCppCodeStylePreferences->codeStyleSettings() != m_pageCppCodeStylePreferences->codeStyleSettings()) {
originalCppCodeStylePreferences->setCodeStyleSettings(m_pageCppCodeStylePreferences->codeStyleSettings());
originalCppCodeStylePreferences->toSettings(QLatin1String(CppEditor::Constants::CPP_SETTINGS_ID), s);
originalCppCodeStylePreferences->toSettings(QLatin1String(CppEditor::Constants::CPP_SETTINGS_ID));
}
if (originalCppCodeStylePreferences->tabSettings() != m_pageCppCodeStylePreferences->tabSettings()) {
originalCppCodeStylePreferences->setTabSettings(m_pageCppCodeStylePreferences->tabSettings());
originalCppCodeStylePreferences->toSettings(QLatin1String(CppEditor::Constants::CPP_SETTINGS_ID), s);
originalCppCodeStylePreferences->toSettings(QLatin1String(CppEditor::Constants::CPP_SETTINGS_ID));
}
if (originalCppCodeStylePreferences->currentDelegate() != m_pageCppCodeStylePreferences->currentDelegate()) {
originalCppCodeStylePreferences->setCurrentDelegate(m_pageCppCodeStylePreferences->currentDelegate());
originalCppCodeStylePreferences->toSettings(QLatin1String(CppEditor::Constants::CPP_SETTINGS_ID), s);
originalCppCodeStylePreferences->toSettings(QLatin1String(CppEditor::Constants::CPP_SETTINGS_ID));
}
m_codeStyleEditor->apply();

View File

@@ -130,9 +130,8 @@ CppToolsSettings::CppToolsSettings()
pool->loadCustomCodeStyles();
QSettings *s = ICore::settings();
// load global settings (after built-in settings are added to the pool)
d->m_globalCodeStyle->fromSettings(QLatin1String(Constants::CPP_SETTINGS_ID), s);
d->m_globalCodeStyle->fromSettings(QLatin1String(Constants::CPP_SETTINGS_ID));
// mimetypes to be handled
TextEditorSettings::registerMimeTypeForLanguageId(Constants::C_SOURCE_MIMETYPE, Constants::CPP_SETTINGS_ID);

View File

@@ -67,8 +67,7 @@ static void createGlobalCodeStyle()
pool->loadCustomCodeStyles();
// load global settings (after built-in settings are added to the pool)
QSettings *s = Core::ICore::settings();
m_globalCodeStyle->fromSettings(QLatin1String(Nim::Constants::C_NIMLANGUAGE_ID), s);
m_globalCodeStyle->fromSettings(QLatin1String(Nim::Constants::C_NIMLANGUAGE_ID));
TextEditorSettings::registerMimeTypeForLanguageId(Nim::Constants::C_NIM_MIMETYPE,
Nim::Constants::C_NIMLANGUAGE_ID);
@@ -107,17 +106,12 @@ public:
auto layout = new QVBoxLayout(this);
layout->addWidget(editor);
QTC_ASSERT(m_globalCodeStyle, return);
QSettings *s = Core::ICore::settings();
m_globalCodeStyle->toSettings(QLatin1String(Nim::Constants::C_NIMLANGUAGE_ID), s);
}
void apply() final
{
QTC_ASSERT(m_globalCodeStyle, return);
QSettings *s = Core::ICore::settings();
m_globalCodeStyle->toSettings(QLatin1String(Nim::Constants::C_NIMLANGUAGE_ID), s);
m_globalCodeStyle->toSettings(QLatin1String(Nim::Constants::C_NIMLANGUAGE_ID));
}
private:

View File

@@ -144,20 +144,18 @@ public:
void apply() final
{
QSettings *s = Core::ICore::settings();
QmlJSCodeStylePreferences *originalPreferences = QmlJSToolsSettings::globalCodeStyle();
if (originalPreferences->codeStyleSettings() != m_preferences.codeStyleSettings()) {
originalPreferences->setCodeStyleSettings(m_preferences.codeStyleSettings());
originalPreferences->toSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID), s);
originalPreferences->toSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID));
}
if (originalPreferences->tabSettings() != m_preferences.tabSettings()) {
originalPreferences->setTabSettings(m_preferences.tabSettings());
originalPreferences->toSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID), s);
originalPreferences->toSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID));
}
if (originalPreferences->currentDelegate() != m_preferences.currentDelegate()) {
originalPreferences->setCurrentDelegate(m_preferences.currentDelegate());
originalPreferences->toSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID), s);
originalPreferences->toSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID));
}
}

View File

@@ -68,8 +68,7 @@ QmlJSToolsSettings::QmlJSToolsSettings()
pool->loadCustomCodeStyles();
// load global settings (after built-in settings are added to the pool)
QSettings *s = Core::ICore::settings();
m_globalCodeStyle->fromSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID), s);
m_globalCodeStyle->fromSettings(QLatin1String(QmlJSTools::Constants::QML_JS_SETTINGS_ID));
// mimetypes to be handled
TextEditorSettings::registerMimeTypeForLanguageId(Constants::QML_MIMETYPE, Constants::QML_JS_SETTINGS_ID);

View File

@@ -3,9 +3,10 @@
#include "behaviorsettings.h"
#include <coreplugin/icore.h>
#include <utils/settingsutils.h>
#include <QSettings>
#include <QString>
static const char mouseHidingKey[] = "MouseHiding";
@@ -30,15 +31,15 @@ BehaviorSettings::BehaviorSettings() :
{
}
void BehaviorSettings::toSettings(const QString &category, QSettings *s) const
void BehaviorSettings::toSettings(const QString &category) const
{
Utils::toSettings(QLatin1String(groupPostfix), category, s, this);
Utils::toSettings(QLatin1String(groupPostfix), category, Core::ICore::settings(), this);
}
void BehaviorSettings::fromSettings(const QString &category, QSettings *s)
void BehaviorSettings::fromSettings(const QString &category)
{
*this = BehaviorSettings();
Utils::fromSettings(QLatin1String(groupPostfix), category, s, this);
Utils::fromSettings(QLatin1String(groupPostfix), category, Core::ICore::settings(), this);
}
QVariantMap BehaviorSettings::toMap() const

View File

@@ -7,10 +7,6 @@
#include <QVariantMap>
QT_BEGIN_NAMESPACE
class QSettings;
QT_END_NAMESPACE
namespace TextEditor {
/**
@@ -22,8 +18,8 @@ class TEXTEDITOR_EXPORT BehaviorSettings
public:
BehaviorSettings();
void toSettings(const QString &category, QSettings *s) const;
void fromSettings(const QString &category, QSettings *s);
void toSettings(const QString &category) const;
void fromSettings(const QString &category);
QVariantMap toMap() const;
void fromMap(const QVariantMap &map);

View File

@@ -31,7 +31,6 @@
#include <QCoreApplication>
#include <QGridLayout>
#include <QPointer>
#include <QSettings>
#include <QSpacerItem>
namespace TextEditor {
@@ -64,12 +63,11 @@ BehaviorSettingsPagePrivate::BehaviorSettingsPagePrivate()
m_defaultCodeStylePool = new CodeStylePool(nullptr, this); // Any language
m_defaultCodeStylePool->addCodeStyle(m_codeStyle);
QSettings * const s = Core::ICore::settings();
m_codeStyle->fromSettings(m_settingsPrefix, s);
m_typingSettings.fromSettings(m_settingsPrefix, s);
m_storageSettings.fromSettings(m_settingsPrefix, s);
m_behaviorSettings.fromSettings(m_settingsPrefix, s);
m_extraEncodingSettings.fromSettings(m_settingsPrefix, s);
m_codeStyle->fromSettings(m_settingsPrefix);
m_typingSettings.fromSettings(m_settingsPrefix);
m_storageSettings.fromSettings(m_settingsPrefix);
m_behaviorSettings.fromSettings(m_settingsPrefix);
m_extraEncodingSettings.fromSettings(m_settingsPrefix);
}
class BehaviorSettingsWidgetImpl : public Core::IOptionsPageWidget
@@ -153,47 +151,45 @@ void BehaviorSettingsWidgetImpl::apply()
d->m_behaviorWidget->assignedBehaviorSettings(&newBehaviorSettings);
d->m_behaviorWidget->assignedExtraEncodingSettings(&newExtraEncodingSettings);
QSettings *s = Core::ICore::settings();
QTC_ASSERT(s, return);
if (d->m_codeStyle->tabSettings() != d->m_pageCodeStyle->tabSettings()) {
d->m_codeStyle->setTabSettings(d->m_pageCodeStyle->tabSettings());
d->m_codeStyle->toSettings(d->m_settingsPrefix, s);
d->m_codeStyle->toSettings(d->m_settingsPrefix);
}
if (d->m_codeStyle->currentDelegate() != d->m_pageCodeStyle->currentDelegate()) {
d->m_codeStyle->setCurrentDelegate(d->m_pageCodeStyle->currentDelegate());
d->m_codeStyle->toSettings(d->m_settingsPrefix, s);
d->m_codeStyle->toSettings(d->m_settingsPrefix);
}
if (newTypingSettings != d->m_typingSettings) {
d->m_typingSettings = newTypingSettings;
d->m_typingSettings.toSettings(d->m_settingsPrefix, s);
d->m_typingSettings.toSettings(d->m_settingsPrefix);
emit TextEditorSettings::instance()->typingSettingsChanged(newTypingSettings);
}
if (newStorageSettings != d->m_storageSettings) {
d->m_storageSettings = newStorageSettings;
d->m_storageSettings.toSettings(d->m_settingsPrefix, s);
d->m_storageSettings.toSettings(d->m_settingsPrefix);
emit TextEditorSettings::instance()->storageSettingsChanged(newStorageSettings);
}
if (newBehaviorSettings != d->m_behaviorSettings) {
d->m_behaviorSettings = newBehaviorSettings;
d->m_behaviorSettings.toSettings(d->m_settingsPrefix, s);
d->m_behaviorSettings.toSettings(d->m_settingsPrefix);
emit TextEditorSettings::instance()->behaviorSettingsChanged(newBehaviorSettings);
}
if (newExtraEncodingSettings != d->m_extraEncodingSettings) {
d->m_extraEncodingSettings = newExtraEncodingSettings;
d->m_extraEncodingSettings.toSettings(d->m_settingsPrefix, s);
d->m_extraEncodingSettings.toSettings(d->m_settingsPrefix);
emit TextEditorSettings::instance()->extraEncodingSettingsChanged(newExtraEncodingSettings);
}
QSettings *s = Core::ICore::settings();
s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULTTEXTENCODING),
d->m_behaviorWidget->assignedCodecName());
s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULT_LINE_TERMINATOR),

View File

@@ -6,35 +6,34 @@
#include "behaviorsettingswidget.h"
#include "texteditortr.h"
#include <utils/settingsutils.h>
#include <coreplugin/icore.h>
#include <QLatin1String>
#include <QSettings>
#include <utils/settingsutils.h>
// Keep this for compatibility reasons.
static const char kGroupPostfix[] = "EditorManager";
static const char kUtf8BomBehaviorKey[] = "Utf8BomBehavior";
using namespace TextEditor;
namespace TextEditor {
ExtraEncodingSettings::ExtraEncodingSettings() : m_utf8BomSetting(OnlyKeep)
{}
ExtraEncodingSettings::~ExtraEncodingSettings() = default;
void ExtraEncodingSettings::toSettings(const QString &category, QSettings *s) const
void ExtraEncodingSettings::toSettings(const QString &category) const
{
Q_UNUSED(category)
Utils::toSettings(QLatin1String(kGroupPostfix), QString(), s, this);
Utils::toSettings(QLatin1String(kGroupPostfix), QString(), Core::ICore::settings(), this);
}
void ExtraEncodingSettings::fromSettings(const QString &category, QSettings *s)
void ExtraEncodingSettings::fromSettings(const QString &category)
{
Q_UNUSED(category)
*this = ExtraEncodingSettings();
Utils::fromSettings(QLatin1String(kGroupPostfix), QString(), s, this);
Utils::fromSettings(QLatin1String(kGroupPostfix), QString(), Core::ICore::settings(), this);
}
QVariantMap ExtraEncodingSettings::toMap() const
@@ -58,3 +57,5 @@ QStringList ExtraEncodingSettings::lineTerminationModeNames()
{
return {Tr::tr("Unix (LF)"), Tr::tr("Windows (CRLF)")};
}
} // TextEditor

View File

@@ -7,10 +7,6 @@
#include <QVariantMap>
QT_BEGIN_NAMESPACE
class QSettings;
QT_END_NAMESPACE
namespace TextEditor {
class TEXTEDITOR_EXPORT ExtraEncodingSettings
@@ -19,8 +15,8 @@ public:
ExtraEncodingSettings();
~ExtraEncodingSettings();
void toSettings(const QString &category, QSettings *s) const;
void fromSettings(const QString &category, QSettings *s);
void toSettings(const QString &category) const;
void fromSettings(const QString &category);
QVariantMap toMap() const;
void fromMap(const QVariantMap &map);

View File

@@ -4,9 +4,10 @@
#include "icodestylepreferences.h"
#include "codestylepool.h"
#include "tabsettings.h"
#include <utils/settingsutils.h>
#include <QSettings>
#include <coreplugin/icore.h>
#include <utils/settingsutils.h>
using namespace TextEditor;
@@ -211,14 +212,14 @@ void ICodeStylePreferences::setSettingsSuffix(const QString &suffix)
d->m_settingsSuffix = suffix;
}
void ICodeStylePreferences::toSettings(const QString &category, QSettings *s) const
void ICodeStylePreferences::toSettings(const QString &category) const
{
Utils::toSettings(d->m_settingsSuffix, category, s, this);
Utils::toSettings(d->m_settingsSuffix, category, Core::ICore::settings(), this);
}
void ICodeStylePreferences::fromSettings(const QString &category, QSettings *s)
void ICodeStylePreferences::fromSettings(const QString &category)
{
Utils::fromSettings(d->m_settingsSuffix, category, s, this);
Utils::fromSettings(d->m_settingsSuffix, category, Core::ICore::settings(), this);
}
QVariantMap ICodeStylePreferences::toMap() const

View File

@@ -9,7 +9,6 @@
QT_BEGIN_NAMESPACE
class QVariant;
class QSettings;
QT_END_NAMESPACE
namespace TextEditor {
@@ -64,8 +63,8 @@ public:
void setCurrentDelegate(const QByteArray &id);
void setSettingsSuffix(const QString &suffix);
void toSettings(const QString &category, QSettings *s) const;
void fromSettings(const QString &category, QSettings *s);
void toSettings(const QString &category) const;
void fromSettings(const QString &category);
// make below 2 protected?
virtual QVariantMap toMap() const;

View File

@@ -3,11 +3,12 @@
#include "storagesettings.h"
#include <coreplugin/icore.h>
#include <utils/hostosinfo.h>
#include <utils/settingsutils.h>
#include <QRegularExpression>
#include <QSettings>
#include <QString>
namespace TextEditor {
@@ -31,15 +32,15 @@ StorageSettings::StorageSettings()
{
}
void StorageSettings::toSettings(const QString &category, QSettings *s) const
void StorageSettings::toSettings(const QString &category) const
{
Utils::toSettings(QLatin1String(groupPostfix), category, s, this);
Utils::toSettings(QLatin1String(groupPostfix), category, Core::ICore::settings(), this);
}
void StorageSettings::fromSettings(const QString &category, QSettings *s)
void StorageSettings::fromSettings(const QString &category)
{
*this = StorageSettings();
Utils::fromSettings(QLatin1String(groupPostfix), category, s, this);
Utils::fromSettings(QLatin1String(groupPostfix), category, Core::ICore::settings(), this);
}
QVariantMap StorageSettings::toMap() const

View File

@@ -7,10 +7,6 @@
#include <QVariantMap>
QT_BEGIN_NAMESPACE
class QSettings;
QT_END_NAMESPACE
namespace TextEditor {
class TEXTEDITOR_EXPORT StorageSettings
@@ -18,8 +14,8 @@ class TEXTEDITOR_EXPORT StorageSettings
public:
StorageSettings();
void toSettings(const QString &category, QSettings *s) const;
void fromSettings(const QString &category, QSettings *s);
void toSettings(const QString &category) const;
void fromSettings(const QString &category);
QVariantMap toMap() const;
void fromMap(const QVariantMap &map);

View File

@@ -3,7 +3,10 @@
#include "typingsettings.h"
#include <coreplugin/icore.h>
#include <utils/settingsutils.h>
#include <QTextCursor>
#include <QTextDocument>
@@ -24,15 +27,15 @@ TypingSettings::TypingSettings():
{
}
void TypingSettings::toSettings(const QString &category, QSettings *s) const
void TypingSettings::toSettings(const QString &category) const
{
Utils::toSettings(QLatin1String(groupPostfix), category, s, this);
Utils::toSettings(QLatin1String(groupPostfix), category, Core::ICore::settings(), this);
}
void TypingSettings::fromSettings(const QString &category, QSettings *s)
void TypingSettings::fromSettings(const QString &category)
{
*this = TypingSettings(); // Assign defaults
Utils::fromSettings(QLatin1String(groupPostfix), category, s, this);
Utils::fromSettings(QLatin1String(groupPostfix), category, Core::ICore::settings(), this);
}
QVariantMap TypingSettings::toMap() const

View File

@@ -8,7 +8,6 @@
#include <QVariantMap>
QT_BEGIN_NAMESPACE
class QSettings;
class QTextDocument;
class QTextCursor;
QT_END_NAMESPACE
@@ -36,8 +35,8 @@ public:
bool tabShouldIndent(const QTextDocument *document, const QTextCursor &cursor, int *suggestedPosition) const;
void toSettings(const QString &category, QSettings *s) const;
void fromSettings(const QString &category, QSettings *s);
void toSettings(const QString &category) const;
void fromSettings(const QString &category);
QVariantMap toMap() const;
void fromMap(const QVariantMap &map);