QmlJsEditor: Use a SelectionAspect for the open mode choice

Change-Id: Ieac7371bfa71dfc5387e442d717eb53a4fae6fb8
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
This commit is contained in:
hjk
2024-07-10 15:18:12 +02:00
parent 32547b47a7
commit 386e3c3c12
2 changed files with 8 additions and 13 deletions

View File

@@ -223,6 +223,12 @@ QmlJsEditingSettings::QmlJsEditingSettings()
foldAuxData.setLabelText(Tr::tr("Auto-fold auxiliary data")); foldAuxData.setLabelText(Tr::tr("Auto-fold auxiliary data"));
uiQmlOpenMode.setSettingsKey(group, UIQML_OPEN_MODE); uiQmlOpenMode.setSettingsKey(group, UIQML_OPEN_MODE);
uiQmlOpenMode.setUseDataAsSavedValue();
uiQmlOpenMode.setDisplayStyle(SelectionAspect::DisplayStyle::ComboBox);
uiQmlOpenMode.setLabelText(Tr::tr("Open .ui.qml files with:"));
uiQmlOpenMode.addOption({Tr::tr("Always Ask")});
uiQmlOpenMode.addOption({Tr::tr("Qt Design Studio"), {}, Core::Constants::MODE_DESIGN});
uiQmlOpenMode.addOption({Tr::tr("Qt Creator"), {}, Core::Constants::MODE_EDIT});
useLatestQmlls.setSettingsKey(group, USE_LATEST_QMLLS); useLatestQmlls.setSettingsKey(group, USE_LATEST_QMLLS);
useLatestQmlls.setEnabler(&useQmlls); useLatestQmlls.setEnabler(&useQmlls);
@@ -344,15 +350,6 @@ public:
{ {
QmlJsEditingSettings &s = settings(); QmlJsEditingSettings &s = settings();
uiQmlOpenComboBox = new QComboBox;
uiQmlOpenComboBox->addItem(Tr::tr("Always Ask"), "");
uiQmlOpenComboBox->addItem(Tr::tr("Qt Design Studio"), Core::Constants::MODE_DESIGN);
uiQmlOpenComboBox->addItem(Tr::tr("Qt Creator"), Core::Constants::MODE_EDIT);
const int comboIndex = qMax(0, uiQmlOpenComboBox->findData(s.uiQmlOpenMode()));
uiQmlOpenComboBox->setCurrentIndex(comboIndex);
uiQmlOpenComboBox->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
uiQmlOpenComboBox->setSizeAdjustPolicy(QComboBox::QComboBox::AdjustToContents);
analyzerMessageModel.setHeader({Tr::tr("Enabled"), analyzerMessageModel.setHeader({Tr::tr("Enabled"),
Tr::tr("Disabled for non Qt Quick UI"), Tr::tr("Disabled for non Qt Quick UI"),
Tr::tr("Message")}); Tr::tr("Message")});
@@ -398,7 +395,7 @@ public:
title(Tr::tr("Features")), title(Tr::tr("Features")),
Column { Column {
s.foldAuxData, s.foldAuxData,
Form { Tr::tr("Open .ui.qml files with:"), uiQmlOpenComboBox }, Row { s.uiQmlOpenMode, st }
}, },
}, },
Group{ Group{
@@ -432,7 +429,6 @@ public:
{ {
QmlJsEditingSettings &s = settings(); QmlJsEditingSettings &s = settings();
s.apply(); s.apply();
s.uiQmlOpenMode.setValue(uiQmlOpenComboBox->currentData().toString());
QList<int> disabled; QList<int> disabled;
QList<int> disabledForNonQuickUi; QList<int> disabledForNonQuickUi;
@@ -481,7 +477,6 @@ private:
menu.exec(analyzerMessagesView->mapToGlobal(position)); menu.exec(analyzerMessagesView->mapToGlobal(position));
} }
QComboBox *uiQmlOpenComboBox;
QTreeView *analyzerMessagesView; QTreeView *analyzerMessagesView;
Utils::TreeModel<AnalyzerMessageItem> analyzerMessageModel; Utils::TreeModel<AnalyzerMessageItem> analyzerMessageModel;
}; };

View File

@@ -34,7 +34,7 @@ public:
Utils::BoolAspect ignoreMinimumQmllsVersion{this}; Utils::BoolAspect ignoreMinimumQmllsVersion{this};
Utils::BoolAspect disableBuiltinCodemodel{this}; Utils::BoolAspect disableBuiltinCodemodel{this};
Utils::BoolAspect generateQmllsIniFiles{this}; Utils::BoolAspect generateQmllsIniFiles{this};
Utils::StringAspect uiQmlOpenMode{this}; Utils::SelectionAspect uiQmlOpenMode{this};
Utils::StringAspect formatCommand{this}; Utils::StringAspect formatCommand{this};
Utils::StringAspect formatCommandOptions{this}; Utils::StringAspect formatCommandOptions{this};
Utils::IntegersAspect disabledMessages{this}; Utils::IntegersAspect disabledMessages{this};