menu: added event filter for mouse right button 39/26339/1
authorGiWoong Kim <giwoong.kim@samsung.com>
Wed, 20 Aug 2014 08:42:37 +0000 (17:42 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Thu, 21 Aug 2014 02:21:55 +0000 (11:21 +0900)
Change-Id: I80d5631007af1b813f2ca06c5a258ced39bfcf4f
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/display/qt5_supplement.cpp
tizen/src/ui/menu/contextmenu.cpp
tizen/src/ui/menu/contextmenu.h
tizen/src/ui/menu/detailedinfodialog.cpp
tizen/src/ui/resource/resource.qrc
vl.c

index 12e9ad41880e46d104601d552fda01c29cb214c2..d63d631203fc2972a133707b29aea29b23350876 100644 (file)
@@ -79,6 +79,7 @@ void qt5_skin_init(void)
     if (uiInfo->skinPath.endsWith(QDir::separator()) == false) {
         uiInfo->skinPath += QDir::separator();
     }
+
     QSettings skinInfo(uiInfo->skinPath + "info.ini", QSettings::IniFormat);
     QString skinName = skinInfo.value("skin.name").toString();
     if (skinName.isEmpty() == true) {
index ecba0a3d9d10616fedf71c9e09672b1632d4d5b1..3541254b07434652fe9083ee70ef4b356c95b079 100644 (file)
 ContextMenu::ContextMenu(QWidget *parent) :
     QMenu(parent)
 {
+    infoDialog = NULL;
+    aboutDialog = NULL;
+
+    createItems();
+
+    installEventFilter(this);
+}
+
+void ContextMenu::createItems() {
     MainWindow *win = (MainWindow *)this->parent();
 
     /* Detailed Info menu */
-    infoDialog = new DetailedInfoDialog(win);
     QAction *action = addAction(win->uiInfo->vmName + " : "
-                                + QString::number(win->uiInfo->basePort));
+        + QString::number(win->uiInfo->basePort));
     action->setIcon(QIcon(QPixmap(":/icons/detailed_info.png")));
     connect(action, SIGNAL(triggered()), this, SLOT(slotDetailedInfo()));
 
@@ -188,14 +196,33 @@ ContextMenu::ContextMenu(QWidget *parent) :
     connect(action, SIGNAL(triggered()), this, SLOT(slotClose()));
 }
 
+bool ContextMenu::eventFilter(QObject *obj, QEvent *event)
+{
+    ContextMenu *menu = dynamic_cast<ContextMenu *>(obj);
+
+    if (menu != NULL &&
+        (event->type() == QEvent::MouseButtonPress ||
+            event->type() == QEvent::MouseButtonRelease)) {
+        QMouseEvent *mouseEvent = dynamic_cast<QMouseEvent*>(event);
+
+        if (mouseEvent != NULL && mouseEvent->button() == Qt::RightButton) {
+            mouseEvent->ignore(); /* filtering */
+            return true;
+        }
+    }
+
+    return QObject::eventFilter(obj, event);
+}
+
 void ContextMenu::slotDetailedInfo()
 {
     qDebug("VM info");
 
-    /* for modaless dialog */
-    if (infoDialog != NULL) {
-        infoDialog->show();
+    if (infoDialog == NULL) {
+        infoDialog = new DetailedInfoDialog((QWidget *)this->parent());
     }
+
+    infoDialog->show();
 }
 
 void ContextMenu::slotTopMost(bool check)
@@ -364,9 +391,11 @@ void ContextMenu::slotAbout()
 {
     qDebug("about");
 
-    if (aboutDialog != NULL) {
-        aboutDialog->show();
+    if (aboutDialog == NULL) {
+        aboutDialog = new AboutDialog((QWidget *)this->parent());
     }
+
+    aboutDialog->show();
 }
 
 void ContextMenu::slotForceClose()
index c416762e0d65e96e5c9eca795021cc4f7cb018c9..d801ac5b9128af9fc3ff56151ca31485fa7127d9 100644 (file)
@@ -72,6 +72,10 @@ public slots:
     void slotClose();
     void slotPwkeyRelease();
 
+protected:
+    void createItems();
+    bool eventFilter(QObject *obj, QEvent *event);
+
 private:
     QTimer *longPressTimer;
     DetailedInfoDialog *infoDialog;
index 0c13bfe1fc6e9f1fc08f1943b70ed9eb527fef17..9321a97602e30768163632d4d10fa9672c3a7910 100644 (file)
@@ -37,7 +37,7 @@ extern char tizen_target_img_path[]; //TODO: not legacy
 DetailedInfoDialog::DetailedInfoDialog(QWidget *parent) :
     QDialog(parent)
 {
-    MainWindow *win = ((MainWindow *)this->parent());
+    MainWindow *win = ((MainWindow *)parent);
 
     setWindowTitle("Detailed Info");
 
index 4ec3b7d3bea72541aa2b6e7c6ab66255d43effef..4ca194b80b2801a863729159fa7d8b5365984108 100644 (file)
@@ -1,24 +1,4 @@
 <RCC>
-    <qresource prefix="/skins">
-        <file>wearable-320x320-1btn/default_0.png</file>
-        <file>wearable-320x320-1btn/default_0_p.png</file>
-        <file>wearable-320x320-1btn/default_180.png</file>
-        <file>wearable-320x320-1btn/default_180_p.png</file>
-        <file>wearable-320x320-1btn/default_L90.png</file>
-        <file>wearable-320x320-1btn/default_L90_p.png</file>
-        <file>wearable-320x320-1btn/default_R90.png</file>
-        <file>wearable-320x320-1btn/default_R90_p.png</file>
-        <file>wearable-320x320-1btn/layout.qml</file>
-        <file>mobile-720x1280-3btn/default_0.png</file>
-        <file>mobile-720x1280-3btn/default_0_p.png</file>
-        <file>mobile-720x1280-3btn/default_180.png</file>
-        <file>mobile-720x1280-3btn/default_180_p.png</file>
-        <file>mobile-720x1280-3btn/default_L90.png</file>
-        <file>mobile-720x1280-3btn/default_L90_p.png</file>
-        <file>mobile-720x1280-3btn/default_R90.png</file>
-        <file>mobile-720x1280-3btn/default_R90_p.png</file>
-        <file>mobile-720x1280-3btn/layout.qml</file>
-    </qresource>
     <qresource prefix="/">
         <file>about.png</file>
         <file>icons/emulator_icon.ico</file>
diff --git a/vl.c b/vl.c
index c855b2be1fc8a889d1dc9087c0c548719f9536ee..724bd77aca4ccd032fcaa9809d1f86a0b95c8db2 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -4076,7 +4076,9 @@ int main(int argc, char **argv, char **envp)
         exit(1);
     }
 
+#ifdef CONFIG_MARU
     maru_display_early_init(display_type);
+#endif
 
     current_machine = MACHINE(object_new(object_class_get_name(
                           OBJECT_CLASS(machine_class))));