-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 @@ -21,4 +21,6 @@ #include "keyboard.h" +#include "configdlg.h" #include <qpe/global.h> +#include <qpe/qcopenvelope_qws.h> @@ -43,3 +45,5 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : 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) + { @@ -50,2 +54,6 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : + Config multiConfig ("multikey"); + multiConfig.setGroup ("pickboard"); + usePicks = multiConfig.readBoolEntry ("open", "0"); // default closed + setFont( QFont( familyStr, 8 ) ); @@ -264,23 +272,15 @@ void Keyboard::mousePressEvent(QMouseEvent *e) - 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) { @@ -464,2 +464,29 @@ 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 @@ -23,2 +23,3 @@ #include "../pickboard/pickboardpicks.h" +#include "configdlg.h" @@ -108,2 +109,3 @@ private slots: void repeat(); + void togglePickboard(bool on_off); @@ -145,2 +147,4 @@ 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 @@ -3,2 +3,3 @@ CONFIG += qt warn_on release HEADERS = keyboard.h \ + configdlg.h \ ../pickboard/pickboardcfg.h \ @@ -7,2 +8,3 @@ HEADERS = keyboard.h \ SOURCES = keyboard.cpp \ + configdlg.cpp \ ../pickboard/pickboardcfg.cpp \ |