forked from qt-creator/qt-creator
QmlDesigner: Auxiliary data auto-fold
- Made TextEditorWidget::restoreState() virtual - Added function to fold qml Auxiliary Data - Extended settings page to fit the new option Task: QDS-1667 Change-Id: Id1256fcc72a67ac822888d5fd2e23d6076349573 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -37,6 +37,7 @@ const char AUTO_FORMAT_ON_SAVE[] = "QmlJSEditor.AutoFormatOnSave";
|
||||
const char AUTO_FORMAT_ONLY_CURRENT_PROJECT[] = "QmlJSEditor.AutoFormatOnlyCurrentProject";
|
||||
const char QML_CONTEXTPANE_KEY[] = "QmlJSEditor.ContextPaneEnabled";
|
||||
const char QML_CONTEXTPANEPIN_KEY[] = "QmlJSEditor.ContextPanePinned";
|
||||
const char FOLD_AUX_DATA[] = "QmlJSEditor.FoldAuxData";
|
||||
|
||||
using namespace QmlJSEditor;
|
||||
using namespace QmlJSEditor::Internal;
|
||||
@@ -45,7 +46,8 @@ QmlJsEditingSettings::QmlJsEditingSettings()
|
||||
: m_enableContextPane(false),
|
||||
m_pinContextPane(false),
|
||||
m_autoFormatOnSave(false),
|
||||
m_autoFormatOnlyCurrentProject(false)
|
||||
m_autoFormatOnlyCurrentProject(false),
|
||||
m_foldAuxData(false)
|
||||
{}
|
||||
|
||||
void QmlJsEditingSettings::set()
|
||||
@@ -62,6 +64,7 @@ void QmlJsEditingSettings::fromSettings(QSettings *settings)
|
||||
m_autoFormatOnSave = settings->value(AUTO_FORMAT_ON_SAVE, QVariant(false)).toBool();
|
||||
m_autoFormatOnlyCurrentProject
|
||||
= settings->value(AUTO_FORMAT_ONLY_CURRENT_PROJECT, QVariant(false)).toBool();
|
||||
m_foldAuxData = settings->value(FOLD_AUX_DATA, QVariant(true)).toBool();
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
@@ -72,6 +75,7 @@ void QmlJsEditingSettings::toSettings(QSettings *settings) const
|
||||
settings->setValue(QML_CONTEXTPANEPIN_KEY, m_pinContextPane);
|
||||
settings->setValue(AUTO_FORMAT_ON_SAVE, m_autoFormatOnSave);
|
||||
settings->setValue(AUTO_FORMAT_ONLY_CURRENT_PROJECT, m_autoFormatOnlyCurrentProject);
|
||||
settings->setValue(FOLD_AUX_DATA, m_foldAuxData);
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
@@ -80,7 +84,8 @@ bool QmlJsEditingSettings::equals(const QmlJsEditingSettings &other) const
|
||||
return m_enableContextPane == other.m_enableContextPane
|
||||
&& m_pinContextPane == other.m_pinContextPane
|
||||
&& m_autoFormatOnSave == other.m_autoFormatOnSave
|
||||
&& m_autoFormatOnlyCurrentProject == other.m_autoFormatOnlyCurrentProject;
|
||||
&& m_autoFormatOnlyCurrentProject == other.m_autoFormatOnlyCurrentProject
|
||||
&& m_foldAuxData == other.m_foldAuxData;
|
||||
}
|
||||
|
||||
bool QmlJsEditingSettings::enableContextPane() const
|
||||
@@ -123,6 +128,16 @@ void QmlJsEditingSettings::setAutoFormatOnlyCurrentProject(const bool autoFormat
|
||||
m_autoFormatOnlyCurrentProject = autoFormatOnlyCurrentProject;
|
||||
}
|
||||
|
||||
bool QmlJsEditingSettings::foldAuxData() const
|
||||
{
|
||||
return m_foldAuxData;
|
||||
}
|
||||
|
||||
void QmlJsEditingSettings::setFoldAuxData(const bool foldAuxData)
|
||||
{
|
||||
m_foldAuxData = foldAuxData;
|
||||
}
|
||||
|
||||
class QmlJsEditingSettingsPageWidget final : public Core::IOptionsPageWidget
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(QmlDesigner::Internal::QmlJsEditingSettingsPage)
|
||||
@@ -137,6 +152,7 @@ public:
|
||||
m_ui.textEditHelperCheckBoxPin->setChecked(s.pinContextPane());
|
||||
m_ui.autoFormatOnSave->setChecked(s.autoFormatOnSave());
|
||||
m_ui.autoFormatOnlyCurrentProject->setChecked(s.autoFormatOnlyCurrentProject());
|
||||
m_ui.foldAuxDataCheckBox->setChecked(s.foldAuxData());
|
||||
}
|
||||
|
||||
void apply() final
|
||||
@@ -146,6 +162,7 @@ public:
|
||||
s.setPinContextPane(m_ui.textEditHelperCheckBoxPin->isChecked());
|
||||
s.setAutoFormatOnSave(m_ui.autoFormatOnSave->isChecked());
|
||||
s.setAutoFormatOnlyCurrentProject(m_ui.autoFormatOnlyCurrentProject->isChecked());
|
||||
s.setFoldAuxData(m_ui.foldAuxDataCheckBox->isChecked());
|
||||
s.set();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user