diff -r 923ff622b8b9 -r 4633027730f5 src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp --- 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 #include #include +#include + #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);