From 28d2134d461075384cc67a910beb6d76044c95ee Mon Sep 17 00:00:00 2001 From: Aleksei German Date: Wed, 30 Oct 2019 12:16:25 +0100 Subject: [PATCH] QmlDesigner Ignore design mode switch Added combo box in settings that allows user to turn off automatic switch to design mode for .ui.qml. Change-Id: I83007494c0e7861e1dd2987393815b1321880c5c Reviewed-by: Leena Miettinen Reviewed-by: Tim Jenssen --- src/plugins/qmldesigner/designersettings.cpp | 1 + src/plugins/qmldesigner/designersettings.h | 1 + src/plugins/qmldesigner/qmldesignerplugin.cpp | 4 +++- src/plugins/qmldesigner/settingspage.cpp | 6 +++++- src/plugins/qmldesigner/settingspage.ui | 15 +++++++++++---- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp index 5870927d529..f1afe3cf664 100644 --- a/src/plugins/qmldesigner/designersettings.cpp +++ b/src/plugins/qmldesigner/designersettings.cpp @@ -77,6 +77,7 @@ void DesignerSettings::fromSettings(QSettings *settings) restoreValue(settings, DesignerSettingsKey::STANDALONE_MODE, false); restoreValue(settings, DesignerSettingsKey::ENABLE_TIMELINEVIEW, false); restoreValue(settings, DesignerSettingsKey::SIMPLE_COLOR_PALETTE_CONTENT, QStringList()); + restoreValue(settings, DesignerSettingsKey::ALWAYS_DESIGN_MODE, true); settings->endGroup(); settings->endGroup(); diff --git a/src/plugins/qmldesigner/designersettings.h b/src/plugins/qmldesigner/designersettings.h index 410abc267e2..ec4dc1f7e58 100644 --- a/src/plugins/qmldesigner/designersettings.h +++ b/src/plugins/qmldesigner/designersettings.h @@ -66,6 +66,7 @@ const char IGNORE_DEVICE_PIXEL_RATIO[] = "IgnoreDevicePixelRaio"; /* The setting const char STANDALONE_MODE[] = "StandAloneMode"; const char ENABLE_TIMELINEVIEW[] = "EnableTimelineView"; const char SIMPLE_COLOR_PALETTE_CONTENT[] = "SimpleColorPaletteContent"; +const char ALWAYS_DESIGN_MODE[] = "AlwaysDesignMode"; } class DesignerSettings : public QHash diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index 1f14969dfca..928c19b02c0 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -96,7 +96,9 @@ QtQuickDesignerFactory::QtQuickDesignerFactory() addMimeType(QmlJSTools::Constants::QMLUI_MIMETYPE); setDocumentCreator([this]() { auto document = new QmlJSEditor::QmlJSEditorDocument(id()); - document->setIsDesignModePreferred(true); + document->setIsDesignModePreferred( + QmlDesigner::DesignerSettings::getValue( + QmlDesigner::DesignerSettingsKey::ALWAYS_DESIGN_MODE).toBool()); return document; }); } diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp index a7d6bc2bb09..6cfc1ebf457 100644 --- a/src/plugins/qmldesigner/settingspage.cpp +++ b/src/plugins/qmldesigner/settingspage.cpp @@ -161,6 +161,8 @@ DesignerSettings SettingsPageWidget::settings() const m_ui.showWarnExceptionsCheckBox->isChecked()); settings.insert(DesignerSettingsKey::ENABLE_TIMELINEVIEW, m_ui.featureTimelineEditorCheckBox->isChecked()); + settings.insert(DesignerSettingsKey::ALWAYS_DESIGN_MODE, + m_ui.designerAlwaysDesignModeCheckBox->isChecked()); return settings; } @@ -226,13 +228,15 @@ void SettingsPageWidget::setSettings(const DesignerSettings &settings) m_ui.controls2StyleComboBox->setCurrentText(m_ui.styleLineEdit->text()); + m_ui.designerAlwaysDesignModeCheckBox->setChecked(settings.value( + DesignerSettingsKey::ALWAYS_DESIGN_MODE).toBool()); m_ui.featureTimelineEditorCheckBox->setChecked(settings.value( DesignerSettingsKey::ENABLE_TIMELINEVIEW).toBool()); if (settings.value(DesignerSettingsKey::STANDALONE_MODE).toBool()) { m_ui.emulationGroupBox->hide(); m_ui.debugGroupBox->hide(); - m_ui.featuresGroupBox->hide(); + m_ui.featureTimelineEditorCheckBox->hide(); } } diff --git a/src/plugins/qmldesigner/settingspage.ui b/src/plugins/qmldesigner/settingspage.ui index 7da62b300aa..dabe3df7348 100644 --- a/src/plugins/qmldesigner/settingspage.ui +++ b/src/plugins/qmldesigner/settingspage.ui @@ -6,8 +6,8 @@ 0 0 - 685 - 555 + 960 + 840 @@ -415,14 +415,21 @@ Features - - + + Enable Timeline editor + + + + Always open ui.qml files in Design mode + + +