src/hbcore/core/hbapplication.cpp
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
child 30 80e4d18b72f5
--- a/src/hbcore/core/hbapplication.cpp	Thu Sep 02 20:44:51 2010 +0300
+++ b/src/hbcore/core/hbapplication.cpp	Fri Sep 17 08:32:10 2010 +0300
@@ -28,6 +28,7 @@
 #include "hbsplashscreen.h"
 #include "hbsplashscreen_generic_p.h"
 #include "hbactivitymanager.h"
+#include "hbinputcontextproxy_p.h"
 
 #if defined(Q_OS_SYMBIAN)
 #include <qwindowsstyle.h>
@@ -205,6 +206,15 @@
     QGestureRecognizer::registerRecognizer(new HbPanGestureRecognizer);
     QGestureRecognizer::registerRecognizer(new HbSwipeGestureRecognizer);
 #endif
+
+    // Installs empty input context proxy. It sits there
+    // and monitors if someone wants to focus an editor
+    // before the main window delayed construction is over.
+    // If such a condition is detected, it sets a flag so
+    // that HbInputMethod::initializeFramework knows
+    // to resend the requestSoftwareInputPanel event once
+    // the actual construction is over.
+    qApp->setInputContext(new HbInputContextProxy(0));
 }
 
 /*!
@@ -331,7 +341,7 @@
             HbApplication::setLayoutDirection(Qt::RightToLeft);
             break;
         default:
-            qWarning("HbApplication::s60EventFilter: Unknown layout direction received");
+            hbWarning("HbApplication::s60EventFilter: Unknown layout direction received");
             break;
         }
     }
@@ -340,7 +350,7 @@
         TUint8 *dataptr = aEvent->EventData();
         QStringList names = HbDeviceProfile::profileNames();
         if (*dataptr > names.count() - 1) {
-            qWarning("HbApplication::s60EventFilter: Unknown device profile received");
+            hbWarning("HbApplication::s60EventFilter: Unknown device profile received");
         } else {
             HbDeviceProfile profile(names.value(*dataptr));
             HbDeviceProfileManager::select(profile);