summaryrefslogtreecommitdiff
path: root/inputmethods/multikey
authorhash <hash>2002-08-14 05:39:42 (UTC)
committer hash <hash>2002-08-14 05:39:42 (UTC)
commit13a1334cca686bf512c4a8f94a648ba969b38d22 (patch) (side-by-side diff)
tree13e46c6b4157b0348f38d952ddc70f6e0fda619b /inputmethods/multikey
parent29ffa9119abaf753b165c5c241b22938eeaef301 (diff)
downloadopie-13a1334cca686bf512c4a8f94a648ba969b38d22.zip
opie-13a1334cca686bf512c4a8f94a648ba969b38d22.tar.gz
opie-13a1334cca686bf512c4a8f94a648ba969b38d22.tar.bz2
added config dialog. only open/closing pickboard works
Diffstat (limited to 'inputmethods/multikey') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/keyboard.cpp67
-rw-r--r--inputmethods/multikey/keyboard.h4
-rw-r--r--inputmethods/multikey/multikey.pro2
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
@@ -19,8 +19,10 @@
**********************************************************************/
#include "keyboard.h"
+#include "configdlg.h"
#include <qpe/global.h>
+#include <qpe/qcopenvelope_qws.h>
#include <qwindowsystem_qws.h>
#include <qpainter.h>
@@ -41,13 +43,19 @@
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
Config qpeConfig( "qpe" );
qpeConfig.setGroup( "Appearance" );
QString familyStr = qpeConfig.readEntry( "FontFamily", "fixed" );
+ Config multiConfig ("multikey");
+ multiConfig.setGroup ("pickboard");
+ usePicks = multiConfig.readBoolEntry ("open", "0"); // default closed
+
setFont( QFont( familyStr, 8 ) );
picks = new KeyboardPicks( this );
@@ -262,27 +270,19 @@ 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);
need_repaint = TRUE;
@@ -462,6 +462,33 @@ void Keyboard::resetState()
picks->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
*
* TODO
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
@@ -21,6 +21,7 @@
#include <qmap.h>
#include "../pickboard/pickboardcfg.h"
#include "../pickboard/pickboardpicks.h"
+#include "configdlg.h"
class QTimer;
@@ -106,6 +107,7 @@ signals:
private slots:
void repeat();
+ void togglePickboard(bool on_off);
private:
int getKey( int &w, int j = -1 );
@@ -143,6 +145,8 @@ private:
ushort constoe(const ushort c);
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
@@ -1,10 +1,12 @@
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 \
keyboardimpl.cpp