-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 67 | ||||
-rw-r--r-- | inputmethods/multikey/keyboard.h | 4 | ||||
-rw-r--r-- | inputmethods/multikey/multikey.pro | 2 |
3 files changed, 53 insertions, 20 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index 8f4d562..a19f07a 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp @@ -20,6 +20,8 @@ #include "keyboard.h" +#include "configdlg.h" #include <qpe/global.h> +#include <qpe/qcopenvelope_qws.h> #include <qwindowsystem_qws.h> @@ -42,5 +44,7 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : QFrame(parent, _name, f), shift(0), lock(0), ctrl(0), alt(0), useLargeKeys(TRUE), usePicks(0), pressedKeyRow(-1), pressedKeyCol(-1), - unicode(-1), qkeycode(0), modifiers(0), LANG("ko"), schar(0), mchar(0), echar(0) + unicode(-1), qkeycode(0), modifiers(0), LANG("ko"), schar(0), mchar(0), echar(0), + configdlg(0) + { // get the default font @@ -49,4 +53,8 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : QString familyStr = qpeConfig.readEntry( "FontFamily", "fixed" ); + Config multiConfig ("multikey"); + multiConfig.setGroup ("pickboard"); + usePicks = multiConfig.readBoolEntry ("open", "0"); // default closed + setFont( QFont( familyStr, 8 ) ); @@ -263,25 +271,17 @@ void Keyboard::mousePressEvent(QMouseEvent *e) if (qkeycode == Qt::Key_F1) { // toggle the pickboard - usePicks = !usePicks; - if (usePicks) { - picks->show(); - move(x(), y() - picks->height()); - adjustSize(); - QObject::connect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), - this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); - } else { - - picks->hide(); - picks->resetState(); - move(x(), y() + picks->height()); - adjustSize(); - QObject::disconnect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), - this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); - + if ( configdlg ) { + delete (ConfigDlg *) configdlg; + configdlg = 0; + } + else { + configdlg = new ConfigDlg (); + connect(configdlg, SIGNAL(pickboardToggled(bool)), + this, SLOT(togglePickboard(bool))); + configdlg->showMaximized(); + configdlg->show(); + configdlg->raise(); } - keys.setPressed(row, col, usePicks); - need_repaint = TRUE; - qkeycode = 0; // don't need to emit Key_F1 } else if (qkeycode == Qt::Key_Control) { ctrl = keys.pressedPtr(row, col); @@ -463,4 +463,31 @@ void Keyboard::resetState() } +/* Keyboard::togglePickboard {{{1 */ +void Keyboard::togglePickboard(bool on_off) +{ + usePicks = on_off; + if (usePicks) { + picks->show(); + //move(x(), y() - picks->height()); // not required anymore because QCopChannel::send + //adjustSize(); + QObject::connect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), + this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); + } else { + + picks->hide(); + picks->resetState(); + //move(x(), y() + picks->height()); + //adjustSize(); + QObject::disconnect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), + this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); + + } + /* + * this closes && opens the input method + */ + QCopChannel::send ("QPE/TaskBar", "hideInputMethod()"); + QCopChannel::send ("QPE/TaskBar", "showInputMethod()"); +} + /* korean input functions {{{1 * diff --git a/inputmethods/multikey/keyboard.h b/inputmethods/multikey/keyboard.h index b524195..e61b76c 100644 --- a/inputmethods/multikey/keyboard.h +++ b/inputmethods/multikey/keyboard.h @@ -22,4 +22,5 @@ #include "../pickboard/pickboardcfg.h" #include "../pickboard/pickboardpicks.h" +#include "configdlg.h" class QTimer; @@ -107,4 +108,5 @@ signals: private slots: void repeat(); + void togglePickboard(bool on_off); private: @@ -144,4 +146,6 @@ private: QTimer *repeatTimer; + + ConfigDlg *configdlg; }; diff --git a/inputmethods/multikey/multikey.pro b/inputmethods/multikey/multikey.pro index 2e92e06..9d76a3d 100644 --- a/inputmethods/multikey/multikey.pro +++ b/inputmethods/multikey/multikey.pro @@ -2,8 +2,10 @@ TEMPLATE = lib CONFIG += qt warn_on release HEADERS = keyboard.h \ + configdlg.h \ ../pickboard/pickboardcfg.h \ ../pickboard/pickboardpicks.h \ keyboardimpl.h SOURCES = keyboard.cpp \ + configdlg.cpp \ ../pickboard/pickboardcfg.cpp \ ../pickboard/pickboardpicks.cpp \ |