diff options
author | Jarek Kobus <[email protected]> | 2024-12-16 10:06:00 +0100 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2024-12-19 07:34:15 +0000 |
commit | 7402613ca7cd0a65b986b54d94f89ec2a60e9fb4 (patch) | |
tree | 6b8dbba57c1ddc5e129e5c31be4389d827dbf3b0 /src/plugins/qmljstools | |
parent | e7aabf876218834af8b3003462913177806ddb19 (diff) |
ICodeStylePreferences: Reuse TypedCodeStylePreferences
Make CppCodeStylePreferences and QmlJsCodeStylePreferences
typedefs to TypedCodeStylePreferences.
Change-Id: I8d0ae7d07c1286d74fcdb68041faec5c6e76db40
Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src/plugins/qmljstools')
13 files changed, 19 insertions, 136 deletions
diff --git a/src/plugins/qmljstools/CMakeLists.txt b/src/plugins/qmljstools/CMakeLists.txt index 5f1342abbbc..34a11b53247 100644 --- a/src/plugins/qmljstools/CMakeLists.txt +++ b/src/plugins/qmljstools/CMakeLists.txt @@ -5,7 +5,6 @@ add_qtc_plugin(QmlJSTools SOURCES qmljsbundleprovider.cpp qmljsbundleprovider.h qmljscodestylepreferencesfactory.cpp qmljscodestylepreferencesfactory.h - qmljscodestylepreferences.cpp qmljscodestylepreferences.h qmljscodestylepreferenceswidget.cpp qmljscodestylepreferenceswidget.h qmljscodestylesettings.cpp qmljscodestylesettings.h qmljscodestylesettingswidget.cpp qmljscodestylesettingswidget.h diff --git a/src/plugins/qmljstools/qmljscodestylepreferences.cpp b/src/plugins/qmljstools/qmljscodestylepreferences.cpp deleted file mode 100644 index c8ecf425fb6..00000000000 --- a/src/plugins/qmljstools/qmljscodestylepreferences.cpp +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#include "qmljscodestylepreferences.h" - -using namespace Utils; - -namespace QmlJSTools { - -QmlJSCodeStylePreferences::QmlJSCodeStylePreferences(QObject *parent) : - ICodeStylePreferences(parent) -{ - setSettingsSuffix("CodeStyleSettings"); - setGlobalSettingsCategory(QmlJSCodeStyleSettings::settingsId()); -} - -QVariant QmlJSCodeStylePreferences::value() const -{ - QVariant v; - v.setValue(codeStyleSettings()); - return v; -} - -void QmlJSCodeStylePreferences::setValue(const QVariant &data) -{ - if (!data.canConvert<QmlJSCodeStyleSettings>()) - return; - - setCodeStyleSettings(data.value<QmlJSCodeStyleSettings>()); -} - -QmlJSCodeStyleSettings QmlJSCodeStylePreferences::codeStyleSettings() const -{ - return m_data; -} - -void QmlJSCodeStylePreferences::setCodeStyleSettings(const QmlJSCodeStyleSettings &data) -{ - if (m_data == data) - return; - - m_data = data; - - QVariant v; - v.setValue(data); - emit valueChanged(v); - if (!currentDelegate()) - emit currentValueChanged(v); -} - -QmlJSCodeStyleSettings QmlJSCodeStylePreferences::currentCodeStyleSettings() const -{ - QVariant v = currentValue(); - if (!v.canConvert<QmlJSCodeStyleSettings>()) { - // warning - return {}; - } - return v.value<QmlJSCodeStyleSettings>(); -} - -Store QmlJSCodeStylePreferences::toMap() const -{ - Store map = ICodeStylePreferences::toMap(); - if (!currentDelegate()) { - const Store dataMap = m_data.toMap(); - for (auto it = dataMap.begin(), end = dataMap.end(); it != end; ++it) - map.insert(it.key(), it.value()); - } - return map; -} - -void QmlJSCodeStylePreferences::fromMap(const Store &map) -{ - ICodeStylePreferences::fromMap(map); - if (!currentDelegate()) - m_data.fromMap(map); -} - -} // namespace QmlJSTools diff --git a/src/plugins/qmljstools/qmljscodestylepreferences.h b/src/plugins/qmljstools/qmljscodestylepreferences.h deleted file mode 100644 index 038bff52120..00000000000 --- a/src/plugins/qmljstools/qmljscodestylepreferences.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include "qmljstools_global.h" - -#include "qmljscodestylesettings.h" - -#include <texteditor/icodestylepreferences.h> - -namespace QmlJSTools { - -class QMLJSTOOLS_EXPORT QmlJSCodeStylePreferences : public TextEditor::ICodeStylePreferences -{ - Q_OBJECT -public: - explicit QmlJSCodeStylePreferences(QObject *parent = nullptr); - - QVariant value() const override; - void setValue(const QVariant &) override; - - QmlJSCodeStyleSettings codeStyleSettings() const; - - // tracks parent hierarchy until currentParentSettings is null - QmlJSCodeStyleSettings currentCodeStyleSettings() const; - - Utils::Store toMap() const override; - void fromMap(const Utils::Store &map) override; - - void setCodeStyleSettings(const QmlJSCodeStyleSettings &data); - -private: - QmlJSCodeStyleSettings m_data; -}; - -} // namespace QmlJSTools diff --git a/src/plugins/qmljstools/qmljscodestylepreferencesfactory.cpp b/src/plugins/qmljstools/qmljscodestylepreferencesfactory.cpp index a1eeb7b1ace..96f77fb6702 100644 --- a/src/plugins/qmljstools/qmljscodestylepreferencesfactory.cpp +++ b/src/plugins/qmljstools/qmljscodestylepreferencesfactory.cpp @@ -3,7 +3,7 @@ #include "qmljscodestylepreferencesfactory.h" -#include "qmljscodestylepreferences.h" +#include "qmljscodestylesettings.h" #include "qmljscodestylesettingspage.h" #include "qmljsindenter.h" #include "qmljstoolsconstants.h" @@ -45,7 +45,7 @@ QString QmlJSCodeStylePreferencesFactory::displayName() TextEditor::ICodeStylePreferences *QmlJSCodeStylePreferencesFactory::createCodeStyle() const { - return new QmlJSCodeStylePreferences(); + return new QmlJSCodeStylePreferences; } TextEditor::CodeStyleEditorWidget *QmlJSCodeStylePreferencesFactory::createEditor( @@ -54,7 +54,7 @@ TextEditor::CodeStyleEditorWidget *QmlJSCodeStylePreferencesFactory::createEdito QWidget *parent) const { Q_UNUSED(project) - auto qmlJSPreferences = qobject_cast<QmlJSCodeStylePreferences *>(preferences); + auto qmlJSPreferences = dynamic_cast<QmlJSCodeStylePreferences *>(preferences); if (!qmlJSPreferences) return nullptr; auto widget = new Internal::QmlJSCodeStylePreferencesWidget(this, parent); diff --git a/src/plugins/qmljstools/qmljscodestylepreferenceswidget.cpp b/src/plugins/qmljstools/qmljscodestylepreferenceswidget.cpp index 65a6a1de15b..c341757b657 100644 --- a/src/plugins/qmljstools/qmljscodestylepreferenceswidget.cpp +++ b/src/plugins/qmljstools/qmljscodestylepreferenceswidget.cpp @@ -3,7 +3,6 @@ #include "qmljscodestylepreferenceswidget.h" -#include "qmljscodestylepreferences.h" #include "qmljscodestylesettings.h" #include "qmljscodestylesettingswidget.h" @@ -62,7 +61,7 @@ void QmlJSCodeStylePreferencesWidget::slotSettingsChanged(const QmlJSCodeStyleSe if (!m_preferences) return; - QmlJSCodeStylePreferences *current = qobject_cast<QmlJSCodeStylePreferences*>(m_preferences->currentPreferences()); + QmlJSCodeStylePreferences *current = dynamic_cast<QmlJSCodeStylePreferences*>(m_preferences->currentPreferences()); if (!current) return; diff --git a/src/plugins/qmljstools/qmljscodestylepreferenceswidget.h b/src/plugins/qmljstools/qmljscodestylepreferenceswidget.h index 4770877a40b..a8a2f770dd4 100644 --- a/src/plugins/qmljstools/qmljscodestylepreferenceswidget.h +++ b/src/plugins/qmljstools/qmljscodestylepreferenceswidget.h @@ -5,16 +5,12 @@ #include "qmljstools_global.h" -#include <QWidget> +#include "qmljscodestylesettings.h" -namespace TextEditor { -class ICodeStylePreferences; -} +#include <QWidget> namespace QmlJSTools { -class QmlJSCodeStyleSettings; class QmlJSCodeStyleSettingsWidget; -class QmlJSCodeStylePreferences; class QMLJSTOOLS_EXPORT QmlJSCodeStylePreferencesWidget : public QWidget { diff --git a/src/plugins/qmljstools/qmljscodestylesettings.cpp b/src/plugins/qmljstools/qmljscodestylesettings.cpp index 11fedd5a10a..dacf9fb92e1 100644 --- a/src/plugins/qmljstools/qmljscodestylesettings.cpp +++ b/src/plugins/qmljstools/qmljscodestylesettings.cpp @@ -3,7 +3,7 @@ #include "qmljscodestylesettings.h" -#include "qmljscodestylepreferences.h" +#include "qmljscodestylesettings.h" #include "qmljstoolsconstants.h" #include "qmljstoolssettings.h" diff --git a/src/plugins/qmljstools/qmljscodestylesettings.h b/src/plugins/qmljstools/qmljscodestylesettings.h index 5f71f16e550..fe0483324b9 100644 --- a/src/plugins/qmljstools/qmljscodestylesettings.h +++ b/src/plugins/qmljstools/qmljscodestylesettings.h @@ -5,6 +5,8 @@ #include "qmljstools_global.h" +#include <texteditor/icodestylepreferences.h> + #include <utils/store.h> namespace TextEditor { class TabSettings; } @@ -31,6 +33,8 @@ public: static Utils::Id settingsId(); }; -} // namespace CppEditor +using QmlJSCodeStylePreferences = TextEditor::TypedCodeStylePreferences<QmlJSCodeStyleSettings>; + +} // namespace QmlJSTools Q_DECLARE_METATYPE(QmlJSTools::QmlJSCodeStyleSettings) diff --git a/src/plugins/qmljstools/qmljscodestylesettingspage.cpp b/src/plugins/qmljstools/qmljscodestylesettingspage.cpp index 8f1bcc7c45b..e436f6c4c91 100644 --- a/src/plugins/qmljstools/qmljscodestylesettingspage.cpp +++ b/src/plugins/qmljstools/qmljscodestylesettingspage.cpp @@ -3,8 +3,8 @@ #include "qmljscodestylesettingspage.h" -#include "qmljscodestylepreferences.h" #include "qmljscodestylepreferenceswidget.h" +#include "qmljscodestylesettings.h" #include "qmljsqtstylecodeformatter.h" #include "qmljstoolsconstants.h" #include "qmljstoolssettings.h" diff --git a/src/plugins/qmljstools/qmljscodestylesettingspage.h b/src/plugins/qmljstools/qmljscodestylesettingspage.h index 853d482b95e..5defa7e89bb 100644 --- a/src/plugins/qmljstools/qmljscodestylesettingspage.h +++ b/src/plugins/qmljstools/qmljscodestylesettingspage.h @@ -3,6 +3,8 @@ #pragma once +#include "qmljscodestylesettings.h" + #include <coreplugin/dialogs/ioptionspage.h> #include <texteditor/icodestylepreferencesfactory.h> @@ -13,7 +15,6 @@ namespace TextEditor { } namespace QmlJSTools { -class QmlJSCodeStylePreferences; class QmlJSCodeStylePreferencesWidget; class QmlJSCodeStyleSettings; diff --git a/src/plugins/qmljstools/qmljstools.qbs b/src/plugins/qmljstools/qmljstools.qbs index b866329d513..40459125f4f 100644 --- a/src/plugins/qmljstools/qmljstools.qbs +++ b/src/plugins/qmljstools/qmljstools.qbs @@ -19,8 +19,6 @@ QtcPlugin { files: [ "qmljsbundleprovider.cpp", "qmljsbundleprovider.h", - "qmljscodestylepreferences.cpp", - "qmljscodestylepreferences.h", "qmljscodestylepreferencesfactory.cpp", "qmljscodestylepreferencesfactory.h", "qmljscodestylepreferenceswidget.cpp", diff --git a/src/plugins/qmljstools/qmljstoolssettings.cpp b/src/plugins/qmljstools/qmljstoolssettings.cpp index 6ba30acb424..ff8667e8913 100644 --- a/src/plugins/qmljstools/qmljstoolssettings.cpp +++ b/src/plugins/qmljstools/qmljstoolssettings.cpp @@ -1,7 +1,8 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#include "qmljscodestylepreferences.h" +#include "qmljscodestylesettings.h" + #include "qmljscodestylepreferencesfactory.h" #include "qmljstoolsconstants.h" #include "qmljstoolssettings.h" diff --git a/src/plugins/qmljstools/qmljstoolssettings.h b/src/plugins/qmljstools/qmljstoolssettings.h index 419117a0d48..c60c3c8a5f9 100644 --- a/src/plugins/qmljstools/qmljstoolssettings.h +++ b/src/plugins/qmljstools/qmljstoolssettings.h @@ -5,10 +5,11 @@ #include "qmljstools_global.h" +#include "qmljscodestylesettings.h" + #include <QObject> namespace QmlJSTools { -class QmlJSCodeStylePreferences; /** * This class provides a central place for cpp tools settings. |