author | treke <treke> | 2003-07-19 16:38:27 (UTC) |
---|---|---|
committer | treke <treke> | 2003-07-19 16:38:27 (UTC) |
commit | 67b69b7aede83ccb0d933dec9bd959f01eb6ea06 (patch) (unidiff) | |
tree | 6e404164453172adc58d088f72c58e6f38e4b4c3 /inputmethods/multikey | |
parent | cf3921fe77f87e94ff821df65bb80b02487a9f9b (diff) | |
download | opie-67b69b7aede83ccb0d933dec9bd959f01eb6ea06.zip opie-67b69b7aede83ccb0d933dec9bd959f01eb6ea06.tar.gz opie-67b69b7aede83ccb0d933dec9bd959f01eb6ea06.tar.bz2 |
* Adds a keyboard layout with a configure button to multikey when it is
unable to load the selected layout. Fixes (#920)
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index bded447..2ce6dd3 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp | |||
@@ -30,24 +30,36 @@ | |||
30 | #include <qtimer.h> | 30 | #include <qtimer.h> |
31 | #include <qpe/qpeapplication.h> | 31 | #include <qpe/qpeapplication.h> |
32 | #include <qpe/config.h> | 32 | #include <qpe/config.h> |
33 | #include <ctype.h> | 33 | #include <ctype.h> |
34 | #include <qfile.h> | 34 | #include <qfile.h> |
35 | #include <qtextstream.h> | 35 | #include <qtextstream.h> |
36 | #include <qstringlist.h> | 36 | #include <qstringlist.h> |
37 | 37 | ||
38 | #include <sys/utsname.h> | 38 | #include <sys/utsname.h> |
39 | 39 | ||
40 | using namespace MultiKey; | 40 | using namespace MultiKey; |
41 | 41 | ||
42 | static const char * const kb_config_xpm[] = { | ||
43 | "13 7 2 1", | ||
44 | " c None", | ||
45 | ". c #000000", | ||
46 | " ", | ||
47 | " . ", | ||
48 | " ... ", | ||
49 | " ..... ", | ||
50 | " . ", | ||
51 | " . ", | ||
52 | " "}; | ||
53 | |||
42 | /* Keyboard::Keyboard {{{1 */ | 54 | /* Keyboard::Keyboard {{{1 */ |
43 | Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : | 55 | Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : |
44 | QFrame(parent, _name, f), shift(0), lock(0), ctrl(0), alt(0), | 56 | QFrame(parent, _name, f), shift(0), lock(0), ctrl(0), alt(0), |
45 | meta(0), circumflex(0), diaeresis(0), baccent(0), accent(0), | 57 | meta(0), circumflex(0), diaeresis(0), baccent(0), accent(0), |
46 | useLargeKeys(TRUE), usePicks(0), useRepeat(0), | 58 | useLargeKeys(TRUE), usePicks(0), useRepeat(0), |
47 | pressedKeyRow(-1), pressedKeyCol(-1), | 59 | pressedKeyRow(-1), pressedKeyCol(-1), |
48 | unicode(-1), qkeycode(0), modifiers(0), schar(0), mchar(0), echar(0), | 60 | unicode(-1), qkeycode(0), modifiers(0), schar(0), mchar(0), echar(0), |
49 | configdlg(0) | 61 | configdlg(0) |
50 | 62 | ||
51 | { | 63 | { |
52 | 64 | ||
53 | // get the default font | 65 | // get the default font |
@@ -1513,29 +1525,35 @@ void Keys::setKeysFromFile(const char * filename) { | |||
1513 | // comments | 1525 | // comments |
1514 | else if (buf.contains(QRegExp("^\\s*#"))) { | 1526 | else if (buf.contains(QRegExp("^\\s*#"))) { |
1515 | 1527 | ||
1516 | buf = t.readLine(); | 1528 | buf = t.readLine(); |
1517 | 1529 | ||
1518 | } else { // blank line, or garbage | 1530 | } else { // blank line, or garbage |
1519 | 1531 | ||
1520 | buf = t.readLine(); | 1532 | buf = t.readLine(); |
1521 | 1533 | ||
1522 | } | 1534 | } |
1523 | 1535 | ||
1524 | } | 1536 | } |
1537 | |||
1525 | f.close(); | 1538 | f.close(); |
1539 | } else { | ||
1540 | // We couldnt find the selected keymap, give them a configure button | ||
1541 | QImage * btn = new QImage((const char ** )kb_config_xpm); | ||
1542 | setKey(1, 0x1030, 0, 2, btn); | ||
1526 | } | 1543 | } |
1527 | 1544 | ||
1528 | } | 1545 | } |
1529 | 1546 | ||
1547 | |||
1530 | // Keys::setKey {{{2 | 1548 | // Keys::setKey {{{2 |
1531 | void Keys::setKey(const int row, const int qcode, const ushort unicode, | 1549 | void Keys::setKey(const int row, const int qcode, const ushort unicode, |
1532 | const int width, QImage *pix) { | 1550 | const int width, QImage *pix) { |
1533 | 1551 | ||
1534 | Key * key; | 1552 | Key * key; |
1535 | key = new Key; | 1553 | key = new Key; |
1536 | key->qcode = qcode; | 1554 | key->qcode = qcode; |
1537 | key->unicode = unicode; | 1555 | key->unicode = unicode; |
1538 | key->width = width; | 1556 | key->width = width; |
1539 | 1557 | ||
1540 | // share key->pressed between same keys | 1558 | // share key->pressed between same keys |
1541 | bool found = 0; | 1559 | bool found = 0; |