context->create(wrapperContext);
/* popup menu */
- // TODO: thread
popupMenu = new ContextMenu(this);
setContextMenuPolicy(Qt::CustomContextMenu);
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 {
#include "contextmenu.h"
#include "mainwindow.h"
-#include "detailedinfodialog.h"
-#include "aboutdialog.h"
ContextMenu::ContextMenu(QWidget *parent) :
QMenu(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")));
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()));
{
qDebug("VM info");
- DetailedInfoDialog dialog((QWidget *)this->parent());
- dialog.exec();
+ /* for modaless dialog */
+ if (infoDialog != NULL) {
+ infoDialog->show();
+ }
}
void ContextMenu::slotTopMost(bool check)
{
qDebug("about");
- AboutDialog dialog((QWidget *)this->parent());
- dialog.exec();
+ if (aboutDialog != NULL) {
+ aboutDialog->show();
+ }
}
void ContextMenu::slotForceClose()
#include <QMenu>
#include <QTimer>
+#include "detailedinfodialog.h"
+#include "aboutdialog.h"
extern "C" {
#include "skin/maruskin_operation.h"
private:
QTimer *longPressTimer;
+ DetailedInfoDialog *infoDialog;
+ AboutDialog *aboutDialog;
};
#endif // CONTEXTMENU_H