src/hbwidgets/widgets/hbcombodropdown_p.cpp
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
--- a/src/hbwidgets/widgets/hbcombodropdown_p.cpp	Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbwidgets/widgets/hbcombodropdown_p.cpp	Mon May 03 12:48:33 2010 +0300
@@ -26,6 +26,12 @@
 #include "hbcombodropdown_p.h"
 #include "hbcombobox_p.h"
 #include <hblistview.h>
+#include <hbwidgetfeedback.h>
+
+#ifdef HB_GESTURE_FW
+#include <hbtapgesture.h>
+#endif
+
 
 HbComboDropDown::HbComboDropDown( HbComboBoxPrivate *comboBoxPrivate, QGraphicsItem *parent )
         :HbWidget( parent ),
@@ -40,10 +46,13 @@
         setFlag( QGraphicsItem::ItemIsPanel, true );
         setActive( false );
     #endif
+        //setFlag(QGraphicsItem::ItemIsPanel);
+        //setPanelModality(PanelModal);
 }
 
 HbComboDropDown::~HbComboDropDown( )
 {
+
 }
 
 void HbComboDropDown::createList( )
@@ -73,6 +82,7 @@
 {
     Q_UNUSED( obj );
     bool accepted = false;
+
     if ( isVisible( ) && !vkbOpened ) {
         switch( event->type( ) )
         {
@@ -88,17 +98,27 @@
         case QEvent::GraphicsSceneMouseRelease:
             {
                 if( !( this->isUnderMouse( ) ) && backgroundPressed ) {
+                    HbWidgetFeedback::triggered(this, Hb::InstantPopupClosed);
                     setVisible( false );
                     backgroundPressed = false;
                     accepted = true;
                 }
             }
             break;
+        case QEvent::Gesture:
+            {
+                if(!this->isUnderMouse()) {
+                    accepted = true;
+                }
+            }
+            break;
         default:
             break;
         }
     }
-        return accepted;
+
+    return accepted;
 }
+
 #include "moc_hbcombodropdown_p.cpp"