src/hbinput/inputwidgets/hbinputmethodselectionlist.cpp
changeset 34 ed14f46c0e55
parent 7 923ff622b8b9
--- a/src/hbinput/inputwidgets/hbinputmethodselectionlist.cpp	Mon Oct 04 17:49:30 2010 +0300
+++ b/src/hbinput/inputwidgets/hbinputmethodselectionlist.cpp	Mon Oct 18 18:23:13 2010 +0300
@@ -34,12 +34,17 @@
 #include <hbinputmethod.h>
 #include <hbinputsettingproxy.h>
 #include <hbinputregioncollector_p.h>
-
-#include "hbdialog_p.h"
+#include "hbinputpopupbase_p.h"
+/*!
+@stable
+@hbinput
+\class HbInputMethodSelectionList
+\brief Selection list popup for picking input methods.
+*/
 
 /// @cond
 
-class HbInputMethodSelectionListPrivate : public HbDialogPrivate
+class HbInputMethodSelectionListPrivate : public HbInputPopupBasePrivate
 {
     Q_DECLARE_PUBLIC(HbInputMethodSelectionList)
 
@@ -68,8 +73,9 @@
     mList->setItemRecycling(false);
 
     HbInputSettingProxy *proxy = HbInputSettingProxy::instance();
-    HbInputMethodDescriptor descriptor = proxy->preferredInputMethod();
-    QByteArray customData = proxy->preferredInputMethodCustomData(q->mainWindow()->orientation());
+    Qt::Orientation orientation = q->mainWindow()->orientation();
+    HbInputMethodDescriptor descriptor = proxy->preferredInputMethod(orientation);
+    QByteArray customData = proxy->preferredInputMethodCustomData(orientation);
 
     QList<HbInputMethodDescriptor> methodList = HbInputMethod::listCustomInputMethods(q->mainWindow()->orientation(), proxy->globalInputLanguage());
     methodList.insert(0, HbInputMethod::defaultInputMethod(q->mainWindow()->orientation()));
@@ -134,16 +140,15 @@
 Constructs input method selection list
 */
 HbInputMethodSelectionList::HbInputMethodSelectionList(QGraphicsWidget* parent)
- : HbDialog(*new HbInputMethodSelectionListPrivate(), parent)
+ : HbInputPopupBase(*new HbInputMethodSelectionListPrivate(), parent)
 {
     Q_D(HbInputMethodSelectionList);
     HbInputRegionCollector::instance()->attach(this);
 
-    HbStyle style;
     qreal listWidth(300);
-    style.parameter(QString("expr(var(hb-param-screen-short-edge)-(2*var(hb-param-margin-gene-screen)))"), listWidth);
+    style()->parameter(QString("expr(var(hb-param-screen-short-edge)-(2*var(hb-param-margin-gene-screen)))"), listWidth);
     qreal margin(5);
-    style.parameter(QString("hb-param-margin-gene-popup"), margin);
+    style()->parameter(QString("hb-param-margin-gene-popup"), margin);
 
     QGraphicsLinearLayout *layout = new QGraphicsLinearLayout();
     layout->setContentsMargins(margin, margin, margin, margin);
@@ -155,10 +160,6 @@
     setPreferredWidth(listWidth);
     setModal(true);
 
-    // Make sure input method selection list never steals focus.
-    setFlag(QGraphicsItem::ItemIsPanel, true);
-    setActive(false);
-
     d->createSelectionList();
 
     layout->addItem(d->mList);