From 0ed00edf9b0fa403aa66b3f4a1c487cec56b624b Mon Sep 17 00:00:00 2001 From: GiWoong Kim Date: Mon, 25 Aug 2014 20:33:07 +0900 Subject: [PATCH] menu: add Host Keyboard menu Change-Id: Ib82120e626ca459d73d6b20730eeb0c51626a1c6 Signed-off-by: GiWoong Kim --- tizen/src/skin/maruskin_operation.c | 5 +++ tizen/src/ui/menu/aboutdialog.cpp | 4 +-- tizen/src/ui/menu/contextmenu.cpp | 29 +++++++++++++++--- tizen/src/ui/menu/contextmenu.h | 3 +- tizen/src/ui/menu/detailedinfodialog.cpp | 2 +- tizen/src/ui/resource/icons/host_keyboard.png | Bin 0 -> 3436 bytes tizen/src/ui/resource/resource.qrc | 1 + tizen/src/ui/uistate.h | 1 + 8 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 tizen/src/ui/resource/icons/host_keyboard.png diff --git a/tizen/src/skin/maruskin_operation.c b/tizen/src/skin/maruskin_operation.c index e4bb30a079..4b7c08e6b0 100644 --- a/tizen/src/skin/maruskin_operation.c +++ b/tizen/src/skin/maruskin_operation.c @@ -185,6 +185,11 @@ void do_mouse_event(int button_type, int event_type, } void do_qt_keyboard_key_event(int event_type, int keycode) { + if (is_host_keyboard_attached() == false) { + TRACE("ignore key event because keyboard device was dettached\n"); + return; + } + if (KEY_PRESSED == event_type) { TRACE("key pressed: %d\n", keycode); virtio_keyboard_event(keycode); diff --git a/tizen/src/ui/menu/aboutdialog.cpp b/tizen/src/ui/menu/aboutdialog.cpp index 1b18d6c1f9..87faece1cb 100644 --- a/tizen/src/ui/menu/aboutdialog.cpp +++ b/tizen/src/ui/menu/aboutdialog.cpp @@ -78,8 +78,8 @@ AboutDialog::AboutDialog(QWidget *parent) : QString aboutText = QString(SDK_NAME) + "

" + "Version : " + version + "
" - + "Build Date : " + QString(build_date) + "
" - + "SDK Snapshot Name : " + SnapshotName + "


" + + "Snapshot : " + SnapshotName + "
" + + "Build Date : " + QString(build_date) + "


" + "Visit " + URL_TIZEN_ORG; QLabel *textLabel = new QLabel(this); diff --git a/tizen/src/ui/menu/contextmenu.cpp b/tizen/src/ui/menu/contextmenu.cpp index c901951052..2907617631 100644 --- a/tizen/src/ui/menu/contextmenu.cpp +++ b/tizen/src/ui/menu/contextmenu.cpp @@ -164,10 +164,24 @@ void ContextMenu::createItems() { // TODO: #endif + /* = Host Keyboard menu = */ + QMenu *keyboardMenu = advancedMenu->addMenu( + QIcon(QPixmap(":/icons/host_keyboard.png")), "&Host Keyboard"); + QActionGroup *keyboardGroup = new QActionGroup(this); + + action = keyboardMenu->addAction("On"); + action->setActionGroup(keyboardGroup); + action->setCheckable(true); + connect(action, SIGNAL(toggled(bool)), this, SLOT(slotHostKeyboard(bool))); + + action = keyboardMenu->addAction("Off"); + action->setActionGroup(keyboardGroup); + action->setCheckable(true); + action->setChecked(true); + 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())); @@ -226,12 +240,12 @@ void ContextMenu::slotDetailedInfo() infoDialog->show(); } -void ContextMenu::slotTopMost(bool check) +void ContextMenu::slotTopMost(bool on) { - qDebug("stays on top : %s", check? "true" : "false"); + qDebug("stays on top : %s", on? "on" : "off"); QWidget *win = ((QWidget *)this->parent()); - if (check == true) { + if (on == true) { win->setWindowFlags(win->windowFlags() | Qt::WindowStaysOnTopHint); } else { win->setWindowFlags(win->windowFlags() & ~(Qt::WindowStaysOnTopHint)); @@ -397,6 +411,13 @@ void ContextMenu::slotControlPanel() } } +void ContextMenu::slotHostKeyboard(bool on) +{ + qDebug("host keyboard : %s", on? "on" : "off"); + + do_host_kbd_enable(on); +} + void ContextMenu::slotAbout() { qDebug("about"); diff --git a/tizen/src/ui/menu/contextmenu.h b/tizen/src/ui/menu/contextmenu.h index 1a6cea45f3..6738431012 100644 --- a/tizen/src/ui/menu/contextmenu.h +++ b/tizen/src/ui/menu/contextmenu.h @@ -60,12 +60,13 @@ signals: public slots: void slotDetailedInfo(); - void slotTopMost(bool check); + void slotTopMost(bool on); void slotRotate(int angle); void slotScale(int scale); void slotController(int index); void slotShell(); void slotControlPanel(); + void slotHostKeyboard(bool on); void slotAbout(); void slotForceClose(); void slotForceCloseSelected(QAbstractButton *); diff --git a/tizen/src/ui/menu/detailedinfodialog.cpp b/tizen/src/ui/menu/detailedinfodialog.cpp index 1ab4157962..3a5055032f 100644 --- a/tizen/src/ui/menu/detailedinfodialog.cpp +++ b/tizen/src/ui/menu/detailedinfodialog.cpp @@ -138,7 +138,7 @@ DetailedInfoDialog::DetailedInfoDialog(QWidget *parent) : tableHeight += infoTable->rowHeight(i); } - infoTable->setMinimumWidth(450); + infoTable->setMinimumWidth(500); infoTable->setMinimumHeight(tableHeight + 2/*border*/); upsideLayout->addWidget(infoTable); diff --git a/tizen/src/ui/resource/icons/host_keyboard.png b/tizen/src/ui/resource/icons/host_keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..69a87f3207088fff6818621c88924c9804fffa5f GIT binary patch literal 3436 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 O0000icons/control_panel.png icons/detailed_info.png icons/screen_shot.png + icons/host_keyboard.png diff --git a/tizen/src/ui/uistate.h b/tizen/src/ui/uistate.h index 9bba679ae9..6ed323719b 100644 --- a/tizen/src/ui/uistate.h +++ b/tizen/src/ui/uistate.h @@ -46,6 +46,7 @@ public: int formAngle; int formScale; /* percentage */ + ControllerWidget *activatedCon; }; -- 2.34.1