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 <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Aleksei German
2019-10-30 12:16:25 +01:00
parent 4d390bfce9
commit 28d2134d46
5 changed files with 21 additions and 6 deletions

View File

@@ -77,6 +77,7 @@ void DesignerSettings::fromSettings(QSettings *settings)
restoreValue(settings, DesignerSettingsKey::STANDALONE_MODE, false); restoreValue(settings, DesignerSettingsKey::STANDALONE_MODE, false);
restoreValue(settings, DesignerSettingsKey::ENABLE_TIMELINEVIEW, false); restoreValue(settings, DesignerSettingsKey::ENABLE_TIMELINEVIEW, false);
restoreValue(settings, DesignerSettingsKey::SIMPLE_COLOR_PALETTE_CONTENT, QStringList()); restoreValue(settings, DesignerSettingsKey::SIMPLE_COLOR_PALETTE_CONTENT, QStringList());
restoreValue(settings, DesignerSettingsKey::ALWAYS_DESIGN_MODE, true);
settings->endGroup(); settings->endGroup();
settings->endGroup(); settings->endGroup();

View File

@@ -66,6 +66,7 @@ const char IGNORE_DEVICE_PIXEL_RATIO[] = "IgnoreDevicePixelRaio"; /* The setting
const char STANDALONE_MODE[] = "StandAloneMode"; const char STANDALONE_MODE[] = "StandAloneMode";
const char ENABLE_TIMELINEVIEW[] = "EnableTimelineView"; const char ENABLE_TIMELINEVIEW[] = "EnableTimelineView";
const char SIMPLE_COLOR_PALETTE_CONTENT[] = "SimpleColorPaletteContent"; const char SIMPLE_COLOR_PALETTE_CONTENT[] = "SimpleColorPaletteContent";
const char ALWAYS_DESIGN_MODE[] = "AlwaysDesignMode";
} }
class DesignerSettings : public QHash<QByteArray, QVariant> class DesignerSettings : public QHash<QByteArray, QVariant>

View File

@@ -96,7 +96,9 @@ QtQuickDesignerFactory::QtQuickDesignerFactory()
addMimeType(QmlJSTools::Constants::QMLUI_MIMETYPE); addMimeType(QmlJSTools::Constants::QMLUI_MIMETYPE);
setDocumentCreator([this]() { setDocumentCreator([this]() {
auto document = new QmlJSEditor::QmlJSEditorDocument(id()); auto document = new QmlJSEditor::QmlJSEditorDocument(id());
document->setIsDesignModePreferred(true); document->setIsDesignModePreferred(
QmlDesigner::DesignerSettings::getValue(
QmlDesigner::DesignerSettingsKey::ALWAYS_DESIGN_MODE).toBool());
return document; return document;
}); });
} }

View File

@@ -161,6 +161,8 @@ DesignerSettings SettingsPageWidget::settings() const
m_ui.showWarnExceptionsCheckBox->isChecked()); m_ui.showWarnExceptionsCheckBox->isChecked());
settings.insert(DesignerSettingsKey::ENABLE_TIMELINEVIEW, settings.insert(DesignerSettingsKey::ENABLE_TIMELINEVIEW,
m_ui.featureTimelineEditorCheckBox->isChecked()); m_ui.featureTimelineEditorCheckBox->isChecked());
settings.insert(DesignerSettingsKey::ALWAYS_DESIGN_MODE,
m_ui.designerAlwaysDesignModeCheckBox->isChecked());
return settings; return settings;
} }
@@ -226,13 +228,15 @@ void SettingsPageWidget::setSettings(const DesignerSettings &settings)
m_ui.controls2StyleComboBox->setCurrentText(m_ui.styleLineEdit->text()); 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( m_ui.featureTimelineEditorCheckBox->setChecked(settings.value(
DesignerSettingsKey::ENABLE_TIMELINEVIEW).toBool()); DesignerSettingsKey::ENABLE_TIMELINEVIEW).toBool());
if (settings.value(DesignerSettingsKey::STANDALONE_MODE).toBool()) { if (settings.value(DesignerSettingsKey::STANDALONE_MODE).toBool()) {
m_ui.emulationGroupBox->hide(); m_ui.emulationGroupBox->hide();
m_ui.debugGroupBox->hide(); m_ui.debugGroupBox->hide();
m_ui.featuresGroupBox->hide(); m_ui.featureTimelineEditorCheckBox->hide();
} }
} }

View File

@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>685</width> <width>960</width>
<height>555</height> <height>840</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -415,14 +415,21 @@
<property name="title"> <property name="title">
<string>Features</string> <string>Features</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QGridLayout" name="gridLayout_6">
<item> <item row="0" column="1">
<widget class="QCheckBox" name="featureTimelineEditorCheckBox"> <widget class="QCheckBox" name="featureTimelineEditorCheckBox">
<property name="text"> <property name="text">
<string>Enable Timeline editor</string> <string>Enable Timeline editor</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0">
<widget class="QCheckBox" name="designerAlwaysDesignModeCheckBox">
<property name="text">
<string>Always open ui.qml files in Design mode</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>