diff --git a/src/plugins/qmldesigner/qmldesignerconstants.h b/src/plugins/qmldesigner/qmldesignerconstants.h index 6c2817d68849b69222dd382c5c9dc51c66e915a2..90cb1070be17f9e62e08047af35a0626cdb34f0f 100644 --- a/src/plugins/qmldesigner/qmldesignerconstants.h +++ b/src/plugins/qmldesigner/qmldesignerconstants.h @@ -57,7 +57,7 @@ const char * const QML_DESIGNER_SETTINGS_GROUP = "Designer"; const char * const QML_OPENDESIGNMODE_SETTINGS_KEY = "OpenDesignMode"; const char * const QML_ITEMSPACING_KEY = "ItemSpacing"; const char * const QML_SNAPMARGIN_KEY = "SnapMargin"; -enum { QML_OPENDESIGNMODE_DEFAULT = 0 }; +enum { QML_OPENDESIGNMODE_DEFAULT = 0 }; // 0 for text mode, 1 for design mode namespace Internal { enum { debug = 0 }; diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp index c8ab833df24c7f494db8a33c9ded3a5525681cad..adc8d772bef2e6a8bbff9df7c8f9c76fd6025e94 100644 --- a/src/plugins/qmldesigner/settingspage.cpp +++ b/src/plugins/qmldesigner/settingspage.cpp @@ -38,8 +38,6 @@ using namespace QmlDesigner; using namespace QmlDesigner::Internal; -enum EditModeCombo { EditModeDesign, EditModeEdit }; - SettingsPageWidget::SettingsPageWidget(QWidget *parent) : QWidget(parent) { @@ -49,7 +47,6 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) : DesignerSettings SettingsPageWidget::settings() const { DesignerSettings ds; - ds.openDesignMode = m_ui.editorModeComboBox->currentIndex() == EditModeDesign; ds.itemSpacing = m_ui.spinItemSpacing->value(); ds.snapMargin = m_ui.spinSnapMargin->value(); return ds; @@ -57,7 +54,6 @@ DesignerSettings SettingsPageWidget::settings() const void SettingsPageWidget::setSettings(const DesignerSettings &s) { - m_ui.editorModeComboBox->setCurrentIndex(s.openDesignMode ? EditModeDesign : EditModeEdit); m_ui.spinItemSpacing->setValue(s.itemSpacing); m_ui.spinSnapMargin->setValue(s.snapMargin); } diff --git a/src/plugins/qmldesigner/settingspage.ui b/src/plugins/qmldesigner/settingspage.ui index dfa54673f32705e0bc99f7b7b0077942159668fb..fdd972cb3a451356026586d2d3f99408cf20cdc4 100644 --- a/src/plugins/qmldesigner/settingspage.ui +++ b/src/plugins/qmldesigner/settingspage.ui @@ -15,49 +15,6 @@ </property> <layout class="QGridLayout" name="gridLayout_2"> <item row="2" column="0"> - <widget class="QGroupBox" name="groupBox_2"> - <property name="title"> - <string>Files</string> - </property> - <layout class="QGridLayout" name="gridLayout_3"> - <item row="0" column="0"> - <widget class="QLabel" name="editorModeLabel"> - <property name="text"> - <string>Open file in:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QComboBox" name="editorModeComboBox"> - <item> - <property name="text"> - <string>Design mode</string> - </property> - </item> - <item> - <property name="text"> - <string>Edit mode</string> - </property> - </item> - </widget> - </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_3"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </item> - <item row="3" column="0"> <widget class="QGroupBox" name="groupBox_3"> <property name="title"> <string>Snapping</string> @@ -141,7 +98,7 @@ </layout> </widget> </item> - <item row="4" column="0"> + <item row="3" column="0"> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 9afd59c903b937a9c7339ffc1295a9ccfbf6162d..2114e03dc03f5a3487a1413b750f69dadafaf463 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -595,16 +595,22 @@ static bool openInDesignMode() } if (!bauhausPresent) return false; - // Query the bauhaus setting if it wants to be opened in Design mode. - const QString settingsKey = QLatin1String(QmlDesigner::Constants::QML_SETTINGS_GROUP) - + QLatin1Char('/') + QLatin1String(QmlDesigner::Constants::QML_DESIGNER_SETTINGS_GROUP) - + QLatin1Char('/') + QLatin1String(QmlDesigner::Constants::QML_OPENDESIGNMODE_SETTINGS_KEY); - const QVariant openDesignMode = Core::ICore::instance()->settings()->value(settingsKey); - return openDesignMode.isValid() ? openDesignMode.toBool() : bool(QmlDesigner::Constants::QML_OPENDESIGNMODE_DEFAULT); + + return bool(QmlDesigner::Constants::QML_OPENDESIGNMODE_DEFAULT); } QString QmlJSEditorEditable::preferredMode() const { + Core::ModeManager *modeManager = Core::ModeManager::instance(); + if (modeManager->currentMode()->id() == Core::Constants::MODE_DESIGN + || modeManager->currentMode()->id() == Core::Constants::MODE_EDIT) + { + return modeManager->currentMode()->id(); + } + + // if we are in other mode than edit or design, use the hard-coded default. + // because the editor opening decision is modal, it would be confusing to + // have the user also access to this failsafe setting. if (editor()->mimeType() == QLatin1String(QmlJSEditor::Constants::QML_MIMETYPE) && openInDesignMode()) return QLatin1String(Core::Constants::MODE_DESIGN);