From 09c337dcab9c9bf3a6c3c06115feac51259ffaa5 Mon Sep 17 00:00:00 2001
From: Lasse Holmstedt <lasse.holmstedt@nokia.com>
Date: Mon, 8 Mar 2010 14:54:24 +0100
Subject: [PATCH] Fixed focus issues with F4 edit/design switch

Reviewed-by: kkoehne
---
 src/plugins/qmldesigner/qmldesignerplugin.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp
index e119248ccfc..91d02d7cae9 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.cpp
+++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp
@@ -119,8 +119,6 @@ bool BauhausPlugin::initialize(const QStringList & /*arguments*/, QString *error
     Core::Command *command = am->registerAction(switchAction, QmlDesigner::Constants::SWITCH_TEXT_DESIGN, switchContext);
     command->setDefaultKeySequence(QKeySequence(Qt::Key_F4));
 
-    connect(switchAction, SIGNAL(triggered()), this, SLOT(switchTextDesign()));
-
     m_designerCore = new QmlDesigner::IntegrationCore;
     m_pluginInstance = this;
 
@@ -134,6 +132,7 @@ bool BauhausPlugin::initialize(const QStringList & /*arguments*/, QString *error
     m_designerCore->pluginManager()->setPluginPaths(QStringList() << pluginPath);
 
     createDesignModeWidget();
+    connect(switchAction, SIGNAL(triggered()), this, SLOT(switchTextDesign()));
 
     addAutoReleasedObject(new SettingsPage);
 
@@ -319,8 +318,10 @@ void BauhausPlugin::switchTextDesign()
 
 
     if (modeManager->currentMode()->id() == Core::Constants::MODE_EDIT) {
-        if (editor->id() == QmlJSEditor::Constants::C_QMLJSEDITOR_ID)
+        if (editor->id() == QmlJSEditor::Constants::C_QMLJSEDITOR_ID) {
             modeManager->activateMode(Core::Constants::MODE_DESIGN);
+            m_mainWidget->setFocus();
+        }
     } else if (modeManager->currentMode()->id() == Core::Constants::MODE_DESIGN) {
         modeManager->activateMode(Core::Constants::MODE_EDIT);
     }
-- 
GitLab