src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp
changeset 21 4633027730f5
parent 7 923ff622b8b9
child 23 e6ad4ef83b23
--- a/src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp	Tue Jul 06 14:36:53 2010 +0300
+++ b/src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp	Wed Aug 18 10:05:37 2010 +0300
@@ -34,6 +34,8 @@
 #include <hbcolorscheme.h>
 #include <hbinpututils.h>
 #include <hbinputbutton.h>
+#include <hbmainwindow.h>
+
 #include "../touchinput/virtualqwerty.h"
 
 #include "hbinputpredictionhandler_p.h"
@@ -555,7 +557,7 @@
     mEngine->setWord(string);
     bool used = false;	 
     mEngine->updateCandidates(mBestGuessLocation, used);
-    if(showAutocompletionPart) {
+    if(showAutocompletionPart && mShowTail) {
         mShowTail = true;
     } else {
         mShowTail =  false;
@@ -619,7 +621,7 @@
         break;
         case HbInputModeActionSetKeypad: {
             if (d->mEngine) {
-                d->mEngine->setKeyboard(d->mInputMethod->inputState().keyboard());
+                d->mEngine->setKeyboard(d->mInputMethod->currentKeyboardType());
             } else {
                 ret = false;;
             }
@@ -651,6 +653,9 @@
         case HbInputModeActionCloseSpellQuery:
             closeSpellQueryDialog();
             break;
+        case HbInputModeActionRestorePreviousState:
+            showExactWordPopupIfNeeded();
+            break;
         default:
             ret = HbInputModeHandler::actionHandler(action);
             break;
@@ -802,6 +807,10 @@
         string = (*(d->mCandidates))[d->mBestGuessLocation].left(d->mEngine->inputLength());
     }
     d->reset();
+    
+    QObject::connect(d->mSpellQueryDialog->mainWindow(), SIGNAL(orientationChanged(Qt::Orientation)),
+                    this, SLOT(closeSpellQueryDialog()));
+    
     d->mSpellQueryDialog->launch(string);
 
 }
@@ -832,7 +841,7 @@
     if(abstractEdit) {
         abstractEdit->setCursorPosition(abstractEdit->cursorPosition());
     }
-    d->mInputMethod->setFocusObject(newFocusObject);
+	HbInputMethod::activeInputMethod()->setFocusObject(newFocusObject);
 
     if (closeReason == HbInputSpellQuery::HbOkPressed) {
         d->commit(string,true);