From: sungmin ha Date: Wed, 30 Jul 2014 05:22:49 +0000 (+0900) Subject: contextmenu: added close menu operation X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=342b2fc64b1fb7d5c40a00cacf353ef7b04096e3;p=sdk%2Femulator%2Fqemu.git contextmenu: added close menu operation organized extern codes disable mainwindow's label Change-Id: I3a568798549ddb8cd972dd18109504c9e2d148c5 Signed-off-by: sungmin ha --- diff --git a/tizen/src/display/qt5.c b/tizen/src/display/qt5.c index 43d3c30aab..ea4b9d5265 100644 --- a/tizen/src/display/qt5.c +++ b/tizen/src/display/qt5.c @@ -49,7 +49,7 @@ static void qt5_update(DisplayChangeListener *dcl, return; } - qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf)); +// qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf)); } static void qt5_switch(DisplayChangeListener *dcl, diff --git a/tizen/src/ui/displaywidget.cpp b/tizen/src/ui/displaywidget.cpp index 953dd52897..c569e0730a 100644 --- a/tizen/src/ui/displaywidget.cpp +++ b/tizen/src/ui/displaywidget.cpp @@ -3,11 +3,6 @@ #include "displaywidget.h" #include "mainwindow.h" -extern "C" { -void do_mouse_event(int button_type, int event_type, - int origin_x, int origin_y, int x, int y, int z); -} - uint32_t qt5_window_width = 0; uint32_t qt5_window_height = 0; int qt5_window_angle = 0; diff --git a/tizen/src/ui/mainwindow.cpp b/tizen/src/ui/mainwindow.cpp index b447e3549e..f0f1c1001b 100644 --- a/tizen/src/ui/mainwindow.cpp +++ b/tizen/src/ui/mainwindow.cpp @@ -5,10 +5,6 @@ #include "skinlayout.h" #include "skincontrollerview.h" -#ifdef CONFIG_MARU -extern "C" void shutdown_qemu_gracefully(void); -#endif - QOpenGLContext *qt5GLContext = NULL; QSurfaceFormat qt5GLFormat; @@ -232,10 +228,8 @@ void MainWindow::closeEvent(QCloseEvent *event) QMessageBox::Yes | QMessageBox::Default, QMessageBox::No); if (r == QMessageBox::Yes) { -#ifdef CONFIG_MARU /* force close */ shutdown_qemu_gracefully(); -#endif } else { event->ignore(); } diff --git a/tizen/src/ui/mainwindow.h b/tizen/src/ui/mainwindow.h index 83f04963a9..ffc10916b9 100644 --- a/tizen/src/ui/mainwindow.h +++ b/tizen/src/ui/mainwindow.h @@ -10,6 +10,10 @@ #include "uiinformation.h" #include "skincontrollerview.h" +extern "C" { +#include "skin/maruskin_operation.h" +} + QT_BEGIN_NAMESPACE class QLabel; QT_END_NAMESPACE diff --git a/tizen/src/ui/menu/contextmenu.cpp b/tizen/src/ui/menu/contextmenu.cpp index 690dfe21dc..502826eb23 100644 --- a/tizen/src/ui/menu/contextmenu.cpp +++ b/tizen/src/ui/menu/contextmenu.cpp @@ -5,9 +5,6 @@ #include "detailedinfodialog.h" #include "aboutdialog.h" -extern "C" void shutdown_qemu_gracefully(void); -extern "C" void request_close(void); - ContextMenu::ContextMenu(QWidget *parent) : QMenu(parent) { @@ -131,6 +128,7 @@ ContextMenu::ContextMenu(QWidget *parent) : addSeparator(); /* Close menu */ + longPressTimer = new QTimer(this); action = addAction("&Close"); action->setIcon(QIcon(QPixmap(":/icons/close.png"))); connect(action, SIGNAL(triggered()), this, SLOT(slotClose())); @@ -233,10 +231,20 @@ void ContextMenu::slotForceClose() */ } +void ContextMenu::slotPwkeyRelease() +{ + do_hw_key_event(KEY_RELEASED, HARD_KEY_POWER); +} + void ContextMenu::slotClose() { qDebug("close"); - request_close(); + do_hw_key_event(KEY_PRESSED, HARD_KEY_POWER); + + this->longPressTimer->setInterval(CLOSE_POWER_KEY_INTERVAL); + this->longPressTimer->setSingleShot(true); + connect(longPressTimer, SIGNAL(timeout()), this, SLOT(slotPwkeyRelease())); + this->longPressTimer->start(); } ContextMenu::~ContextMenu() diff --git a/tizen/src/ui/menu/contextmenu.h b/tizen/src/ui/menu/contextmenu.h index ebcd85d8d3..5c3fe96ebe 100644 --- a/tizen/src/ui/menu/contextmenu.h +++ b/tizen/src/ui/menu/contextmenu.h @@ -2,6 +2,14 @@ #define CONTEXTMENU_H #include +#include + +extern "C" { +#include "skin/maruskin_operation.h" +#include "emul_state.h" +} + +#define CLOSE_POWER_KEY_INTERVAL 1200 /* milli-seconds */ class ContextMenu : public QMenu { @@ -22,8 +30,9 @@ public slots: void slotAbout(); void slotForceClose(); void slotClose(); + void slotPwkeyRelease(); private: + QTimer *longPressTimer; }; - #endif // CONTEXTMENU_H diff --git a/tizen/src/ui/skinkeyitem.cpp b/tizen/src/ui/skinkeyitem.cpp index 49d51cc507..bd45c61892 100644 --- a/tizen/src/ui/skinkeyitem.cpp +++ b/tizen/src/ui/skinkeyitem.cpp @@ -1,7 +1,5 @@ #include "skinkeyitem.h" -extern "C" void do_hw_key_event(int event_type, int keycode); - SkinKeyItem::SkinKeyItem(QImage pressedImg, HardwareKey *key, QGraphicsItem *parent) : QGraphicsRectItem(key->region, parent) { diff --git a/tizen/src/ui/skinkeyitem.h b/tizen/src/ui/skinkeyitem.h index 49d19535f0..25c734ab94 100644 --- a/tizen/src/ui/skinkeyitem.h +++ b/tizen/src/ui/skinkeyitem.h @@ -6,11 +6,10 @@ #include "hardwarekey.h" -/* keep it consistent with emulator-skin definition */ -enum { - KEY_PRESSED = 1, - KEY_RELEASED = 2, -}; +extern "C" { +#include "skin/maruskin_operation.h" +#include "emul_state.h" +} class SkinKeyItem : public QGraphicsRectItem {