forked from qt-creator/qt-creator
QmlJsEditor: Change "always open with QDS" setting type to combo box
Task-number: QDS-6807 Change-Id: I7e98781ee423be25a13fac5eee84caae5b11562f Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
#include "qmljseditorconstants.h"
|
#include "qmljseditorconstants.h"
|
||||||
|
|
||||||
#include <qmljstools/qmljstoolsconstants.h>
|
#include <qmljstools/qmljstoolsconstants.h>
|
||||||
|
#include <coreplugin/coreconstants.h>
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
@@ -38,7 +39,7 @@ const char AUTO_FORMAT_ONLY_CURRENT_PROJECT[] = "QmlJSEditor.AutoFormatOnlyCurre
|
|||||||
const char QML_CONTEXTPANE_KEY[] = "QmlJSEditor.ContextPaneEnabled";
|
const char QML_CONTEXTPANE_KEY[] = "QmlJSEditor.ContextPaneEnabled";
|
||||||
const char QML_CONTEXTPANEPIN_KEY[] = "QmlJSEditor.ContextPanePinned";
|
const char QML_CONTEXTPANEPIN_KEY[] = "QmlJSEditor.ContextPanePinned";
|
||||||
const char FOLD_AUX_DATA[] = "QmlJSEditor.FoldAuxData";
|
const char FOLD_AUX_DATA[] = "QmlJSEditor.FoldAuxData";
|
||||||
const char OPEN_UIQML_FILES_IN_QDS[] = "QmlJSEditor.openUiQmlFilesInQDS";
|
const char UIQML_OPEN_MODE[] = "QmlJSEditor.openUiQmlMode";
|
||||||
|
|
||||||
using namespace QmlJSEditor;
|
using namespace QmlJSEditor;
|
||||||
using namespace QmlJSEditor::Internal;
|
using namespace QmlJSEditor::Internal;
|
||||||
@@ -49,7 +50,7 @@ QmlJsEditingSettings::QmlJsEditingSettings()
|
|||||||
m_autoFormatOnSave(false),
|
m_autoFormatOnSave(false),
|
||||||
m_autoFormatOnlyCurrentProject(false),
|
m_autoFormatOnlyCurrentProject(false),
|
||||||
m_foldAuxData(false),
|
m_foldAuxData(false),
|
||||||
m_openUiQmlFilesInQDS(false)
|
m_uiQmlOpenMode("")
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void QmlJsEditingSettings::set()
|
void QmlJsEditingSettings::set()
|
||||||
@@ -67,7 +68,7 @@ void QmlJsEditingSettings::fromSettings(QSettings *settings)
|
|||||||
m_autoFormatOnlyCurrentProject
|
m_autoFormatOnlyCurrentProject
|
||||||
= settings->value(AUTO_FORMAT_ONLY_CURRENT_PROJECT, QVariant(false)).toBool();
|
= settings->value(AUTO_FORMAT_ONLY_CURRENT_PROJECT, QVariant(false)).toBool();
|
||||||
m_foldAuxData = settings->value(FOLD_AUX_DATA, QVariant(true)).toBool();
|
m_foldAuxData = settings->value(FOLD_AUX_DATA, QVariant(true)).toBool();
|
||||||
m_openUiQmlFilesInQDS = settings->value(OPEN_UIQML_FILES_IN_QDS, QVariant(false)).toBool();
|
m_uiQmlOpenMode = settings->value(UIQML_OPEN_MODE, "").toString();
|
||||||
settings->endGroup();
|
settings->endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +80,7 @@ void QmlJsEditingSettings::toSettings(QSettings *settings) const
|
|||||||
settings->setValue(AUTO_FORMAT_ON_SAVE, m_autoFormatOnSave);
|
settings->setValue(AUTO_FORMAT_ON_SAVE, m_autoFormatOnSave);
|
||||||
settings->setValue(AUTO_FORMAT_ONLY_CURRENT_PROJECT, m_autoFormatOnlyCurrentProject);
|
settings->setValue(AUTO_FORMAT_ONLY_CURRENT_PROJECT, m_autoFormatOnlyCurrentProject);
|
||||||
settings->setValue(FOLD_AUX_DATA, m_foldAuxData);
|
settings->setValue(FOLD_AUX_DATA, m_foldAuxData);
|
||||||
settings->setValue(OPEN_UIQML_FILES_IN_QDS, m_openUiQmlFilesInQDS);
|
settings->setValue(UIQML_OPEN_MODE, m_uiQmlOpenMode);
|
||||||
settings->endGroup();
|
settings->endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +91,7 @@ bool QmlJsEditingSettings::equals(const QmlJsEditingSettings &other) const
|
|||||||
&& m_autoFormatOnSave == other.m_autoFormatOnSave
|
&& m_autoFormatOnSave == other.m_autoFormatOnSave
|
||||||
&& m_autoFormatOnlyCurrentProject == other.m_autoFormatOnlyCurrentProject
|
&& m_autoFormatOnlyCurrentProject == other.m_autoFormatOnlyCurrentProject
|
||||||
&& m_foldAuxData == other.m_foldAuxData
|
&& m_foldAuxData == other.m_foldAuxData
|
||||||
&& m_openUiQmlFilesInQDS == other.m_openUiQmlFilesInQDS;
|
&& m_uiQmlOpenMode == other.m_uiQmlOpenMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmlJsEditingSettings::enableContextPane() const
|
bool QmlJsEditingSettings::enableContextPane() const
|
||||||
@@ -143,14 +144,14 @@ void QmlJsEditingSettings::setFoldAuxData(const bool foldAuxData)
|
|||||||
m_foldAuxData = foldAuxData;
|
m_foldAuxData = foldAuxData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QmlJsEditingSettings::setOpenUiQmlFilesInQDS(const bool openUiQmlFilesInQDS)
|
const QString QmlJsEditingSettings::uiQmlOpenMode() const
|
||||||
{
|
{
|
||||||
m_openUiQmlFilesInQDS = openUiQmlFilesInQDS;
|
return m_uiQmlOpenMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmlJsEditingSettings::openUiQmlFilesInQDS() const
|
void QmlJsEditingSettings::setUiQmlOpenMode(const QString &mode)
|
||||||
{
|
{
|
||||||
return m_openUiQmlFilesInQDS;
|
m_uiQmlOpenMode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
class QmlJsEditingSettingsPageWidget final : public Core::IOptionsPageWidget
|
class QmlJsEditingSettingsPageWidget final : public Core::IOptionsPageWidget
|
||||||
@@ -168,7 +169,13 @@ public:
|
|||||||
m_ui.autoFormatOnSave->setChecked(s.autoFormatOnSave());
|
m_ui.autoFormatOnSave->setChecked(s.autoFormatOnSave());
|
||||||
m_ui.autoFormatOnlyCurrentProject->setChecked(s.autoFormatOnlyCurrentProject());
|
m_ui.autoFormatOnlyCurrentProject->setChecked(s.autoFormatOnlyCurrentProject());
|
||||||
m_ui.foldAuxDataCheckBox->setChecked(s.foldAuxData());
|
m_ui.foldAuxDataCheckBox->setChecked(s.foldAuxData());
|
||||||
m_ui.openUiQmlFilesInQDS->setChecked(s.openUiQmlFilesInQDS());
|
m_ui.uiQmlOpenComboBox->addItem(tr("Always ask"), "");
|
||||||
|
m_ui.uiQmlOpenComboBox->addItem(tr("Qt Design Studio"), Core::Constants::MODE_DESIGN);
|
||||||
|
m_ui.uiQmlOpenComboBox->addItem(tr("Qt Creator"), Core::Constants::MODE_EDIT);
|
||||||
|
int comboIndex = m_ui.uiQmlOpenComboBox->findData(s.uiQmlOpenMode());
|
||||||
|
if (comboIndex < 0)
|
||||||
|
comboIndex = 0;
|
||||||
|
m_ui.uiQmlOpenComboBox->setCurrentIndex(comboIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void apply() final
|
void apply() final
|
||||||
@@ -179,7 +186,7 @@ public:
|
|||||||
s.setAutoFormatOnSave(m_ui.autoFormatOnSave->isChecked());
|
s.setAutoFormatOnSave(m_ui.autoFormatOnSave->isChecked());
|
||||||
s.setAutoFormatOnlyCurrentProject(m_ui.autoFormatOnlyCurrentProject->isChecked());
|
s.setAutoFormatOnlyCurrentProject(m_ui.autoFormatOnlyCurrentProject->isChecked());
|
||||||
s.setFoldAuxData(m_ui.foldAuxDataCheckBox->isChecked());
|
s.setFoldAuxData(m_ui.foldAuxDataCheckBox->isChecked());
|
||||||
s.setOpenUiQmlFilesInQDS(m_ui.openUiQmlFilesInQDS->isChecked());
|
s.setUiQmlOpenMode(m_ui.uiQmlOpenComboBox->currentData().toString());
|
||||||
s.set();
|
s.set();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -64,8 +64,8 @@ public:
|
|||||||
bool foldAuxData() const;
|
bool foldAuxData() const;
|
||||||
void setFoldAuxData(const bool foldAuxData);
|
void setFoldAuxData(const bool foldAuxData);
|
||||||
|
|
||||||
bool openUiQmlFilesInQDS() const;
|
const QString uiQmlOpenMode() const;
|
||||||
void setOpenUiQmlFilesInQDS(const bool foldAuxData);
|
void setUiQmlOpenMode(const QString &mode);
|
||||||
|
|
||||||
friend bool operator==(const QmlJsEditingSettings &s1, const QmlJsEditingSettings &s2)
|
friend bool operator==(const QmlJsEditingSettings &s1, const QmlJsEditingSettings &s2)
|
||||||
{ return s1.equals(s2); }
|
{ return s1.equals(s2); }
|
||||||
@@ -78,7 +78,7 @@ private:
|
|||||||
bool m_autoFormatOnSave;
|
bool m_autoFormatOnSave;
|
||||||
bool m_autoFormatOnlyCurrentProject;
|
bool m_autoFormatOnlyCurrentProject;
|
||||||
bool m_foldAuxData;
|
bool m_foldAuxData;
|
||||||
bool m_openUiQmlFilesInQDS;
|
QString m_uiQmlOpenMode;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
@@ -93,12 +93,26 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="openUiQmlFilesInQDS">
|
<layout class="QHBoxLayout" name="uiQmlLayout">
|
||||||
<property name="text">
|
<item alignment="Qt::AlignLeft">
|
||||||
<string>Open .ui.qml files in Qt Design Studio</string>
|
<widget class="QLabel" name="uiQmlOpenLabel">
|
||||||
</property>
|
<property name="text">
|
||||||
</widget>
|
<string>Open .ui.qml files with:</string>
|
||||||
</item>
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item alignment="Qt::AlignLeft">
|
||||||
|
<widget class="QComboBox" name="uiQmlOpenComboBox">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>1</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Reference in New Issue
Block a user