diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExpressionTextField.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExpressionTextField.qml index 3bcced8bc65..0bbb1cbc48d 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExpressionTextField.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExpressionTextField.qml @@ -133,6 +133,8 @@ Controls.TextField { event.accepted = true if (textField.completionActive) { listView.model = null + } else { + textField.rejected() } } diff --git a/src/plugins/qmldesigner/shortcutmanager.cpp b/src/plugins/qmldesigner/shortcutmanager.cpp index d06f32c1181..417eeb34806 100644 --- a/src/plugins/qmldesigner/shortcutmanager.cpp +++ b/src/plugins/qmldesigner/shortcutmanager.cpp @@ -218,6 +218,11 @@ void ShortCutManager::registerActions(const Core::Context &qmlDesignerMainContex command->setAttribute(Core::Command::CA_Hide); viewsMenu->addAction(command); + /* Registering disabled action for Escape, because Qt Quick does not support shortcut overrides. */ + command = Core::ActionManager::registerAction(&m_escapeAction, Core::Constants::S_RETURNTOEDITOR, qmlDesignerMainContext); + command->setDefaultKeySequence(QKeySequence(Qt::Key_Escape)); + m_escapeAction.setEnabled(false); + Core::ActionManager::registerAction(&m_hideSidebarsAction, Core::Constants::TOGGLE_SIDEBAR, qmlDesignerMainContext); } diff --git a/src/plugins/qmldesigner/shortcutmanager.h b/src/plugins/qmldesigner/shortcutmanager.h index 226babb9875..310b08d69c7 100644 --- a/src/plugins/qmldesigner/shortcutmanager.h +++ b/src/plugins/qmldesigner/shortcutmanager.h @@ -91,6 +91,7 @@ private: QAction m_toggleLeftSidebarAction; QAction m_toggleRightSidebarAction; QAction m_goIntoComponentAction; + QAction m_escapeAction; }; } // namespace QmlDesigner