ui: modify Popup menu for non-blocking 40/25340/3
authorhyunjin816.lee <hyunjin816.lee@samsung.com>
Mon, 4 Aug 2014 06:41:06 +0000 (15:41 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Mon, 4 Aug 2014 13:32:49 +0000 (22:32 +0900)
it has also adjusted vminfo and about dialog

Change-Id: Ibc2914c05eff944f62eac41dd0a7f991edfc1d08
Signed-off-by: hyunjin816.lee <hyunjin816.lee@samsung.com>
tizen/src/ui/mainwindow.cpp
tizen/src/ui/menu/contextmenu.cpp
tizen/src/ui/menu/contextmenu.h

index 433c064d38b12df7b531efdae7d5fa798f72ae11..c992cdd64a0e29c4645d77424437ceae4900657a 100644 (file)
@@ -118,7 +118,6 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) :
     context->create(wrapperContext);
 
     /* popup menu */
-    // TODO: thread
     popupMenu = new ContextMenu(this);
 
     setContextMenuPolicy(Qt::CustomContextMenu);
@@ -155,7 +154,8 @@ void MainWindow::makeCurrent(bool value)
 
 void MainWindow::showContextMenu(const QPoint& pos)
 {
-    QAction* selectedItem = popupMenu->exec(mapToGlobal(pos));
+    QAction* selectedItem = 0;
+    popupMenu->popup(mapToGlobal(pos), selectedItem);
     if (selectedItem) {
         //qDebug("%s", selectedItem->text().toLocal8Bit().data());
     } else {
index 502826eb23aad948ed48fa8174287ed7e7644473..e14a92fd6def000018bfc01dab6a330a7da9d9b0 100644 (file)
@@ -2,8 +2,6 @@
 
 #include "contextmenu.h"
 #include "mainwindow.h"
-#include "detailedinfodialog.h"
-#include "aboutdialog.h"
 
 ContextMenu::ContextMenu(QWidget *parent) :
     QMenu(parent)
@@ -11,6 +9,7 @@ ContextMenu::ContextMenu(QWidget *parent) :
     MainWindow *win = (MainWindow *)this->parent();
 
     /* Detailed Info menu */
+    infoDialog = new DetailedInfoDialog(win);
     QAction *action = addAction(win->uiInfo->vmName + " : "
                                 + QString::number(win->uiInfo->basePort));
     action->setIcon(QIcon(QPixmap(":/icons/detailed_info.png")));
@@ -106,6 +105,7 @@ ContextMenu::ContextMenu(QWidget *parent) :
     advancedMenu->addSeparator();
 
     /* Advanced > About menu */
+    aboutDialog = new AboutDialog(win);
     action = advancedMenu->addAction("About");
     action->setIcon(QIcon(QPixmap(":/icons/about.png")));
     connect(action, SIGNAL(triggered()), this, SLOT(slotAbout()));
@@ -138,8 +138,10 @@ void ContextMenu::slotDetailedInfo()
 {
     qDebug("VM info");
 
-    DetailedInfoDialog dialog((QWidget *)this->parent());
-    dialog.exec();
+    /* for modaless dialog */
+    if (infoDialog != NULL) {
+        infoDialog->show();
+    }
 }
 
 void ContextMenu::slotTopMost(bool check)
@@ -189,8 +191,9 @@ void ContextMenu::slotAbout()
 {
     qDebug("about");
 
-    AboutDialog dialog((QWidget *)this->parent());
-    dialog.exec();
+    if (aboutDialog != NULL) {
+        aboutDialog->show();
+    }
 }
 
 void ContextMenu::slotForceClose()
index 5c3fe96ebe62a342124957cca18c077adbf2baf0..3beb59246eac08c8843ab404a3d69a6d6ac2959e 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <QMenu>
 #include <QTimer>
+#include "detailedinfodialog.h"
+#include "aboutdialog.h"
 
 extern "C" {
 #include "skin/maruskin_operation.h"
@@ -34,5 +36,7 @@ public slots:
 
 private:
     QTimer *longPressTimer;
+    DetailedInfoDialog *infoDialog;
+    AboutDialog *aboutDialog;
 };
 #endif // CONTEXTMENU_H