From: hyunjin816.lee Date: Mon, 4 Aug 2014 06:41:06 +0000 (+0900) Subject: ui: modify Popup menu for non-blocking X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=be331a492d8fee0427df4808ee2afd994a7d7cfc;p=sdk%2Femulator%2Fqemu.git ui: modify Popup menu for non-blocking it has also adjusted vminfo and about dialog Change-Id: Ibc2914c05eff944f62eac41dd0a7f991edfc1d08 Signed-off-by: hyunjin816.lee --- diff --git a/tizen/src/ui/mainwindow.cpp b/tizen/src/ui/mainwindow.cpp index 433c064d38..c992cdd64a 100644 --- a/tizen/src/ui/mainwindow.cpp +++ b/tizen/src/ui/mainwindow.cpp @@ -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 { diff --git a/tizen/src/ui/menu/contextmenu.cpp b/tizen/src/ui/menu/contextmenu.cpp index 502826eb23..e14a92fd6d 100644 --- a/tizen/src/ui/menu/contextmenu.cpp +++ b/tizen/src/ui/menu/contextmenu.cpp @@ -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() diff --git a/tizen/src/ui/menu/contextmenu.h b/tizen/src/ui/menu/contextmenu.h index 5c3fe96ebe..3beb59246e 100644 --- a/tizen/src/ui/menu/contextmenu.h +++ b/tizen/src/ui/menu/contextmenu.h @@ -3,6 +3,8 @@ #include #include +#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