author | hash <hash> | 2002-08-19 05:35:38 (UTC) |
---|---|---|
committer | hash <hash> | 2002-08-19 05:35:38 (UTC) |
commit | 64a00421be85d223072e087d4d3c9ecdad464095 (patch) (side-by-side diff) | |
tree | 66cf285aa1a8d17126c5b59125c7d91fc2c08c45 /inputmethods/multikey/keyboard.cpp | |
parent | d92fbca743e676182a8f33ae4c28044031143fb0 (diff) | |
download | opie-64a00421be85d223072e087d4d3c9ecdad464095.zip opie-64a00421be85d223072e087d4d3c9ecdad464095.tar.gz opie-64a00421be85d223072e087d4d3c9ecdad464095.tar.bz2 |
now reads maps in default dir, and also lets you add/remove your own maps
Diffstat (limited to 'inputmethods/multikey/keyboard.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index c53ae6c..ac3d9be 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp @@ -290,8 +290,8 @@ void Keyboard::mousePressEvent(QMouseEvent *e) this, SLOT(togglePickboard(bool))); connect(configdlg, SIGNAL(setMapToDefault()), this, SLOT(setMapToDefault())); - connect(configdlg, SIGNAL(setMapToFile(int)), - this, SLOT(setMapToFile(int))); + connect(configdlg, SIGNAL(setMapToFile(QString)), + this, SLOT(setMapToFile(QString))); configdlg->showMaximized(); configdlg->show(); configdlg->raise(); @@ -519,7 +519,7 @@ void Keyboard::setMapToDefault() { /* save change to multikey config file */ config = new Config("multikey"); config->setGroup ("keymaps"); - config->writeEntry ("current", -1); // default closed + config->writeEntry ("current", key_map); // default closed delete config; delete keys; @@ -529,23 +529,20 @@ void Keyboard::setMapToDefault() { repaint(FALSE); } -void Keyboard::setMapToFile(int index) { +void Keyboard::setMapToFile(QString map) { /* save change to multikey config file */ Config *config = new Config("multikey"); config->setGroup ("keymaps"); - config->writeEntry ("current", index); // default closed + config->writeEntry ("current", map); // default closed - - /* now you have to retrieve the map */ - QStringList maps = config->readListEntry("maps", QChar('|')); delete config; delete keys; - if (index < 0 || (int)maps.count() <= index) - keys = new Keys(); + if (QFile(map).exists()) + keys = new Keys(map); else - keys = new Keys(maps[index]); + keys = new Keys(); repaint(FALSE); @@ -859,30 +856,22 @@ Keys::Keys() { Config *config = new Config ("multikey"); config->setGroup( "keymaps" ); - QStringList maps = config->readListEntry ("maps", QChar('|')); - - int index = config->readNumEntry( "current", -1 ); + QString map = config->readEntry( "current" ); delete config; - QString key_map; - - if (index < 0 || (int)maps.count() <= index) { + if (map.isNull() || !(QFile(map).exists())) { Config *config = new Config("locale"); config->setGroup( "Language" ); QString l = config->readEntry( "Language" , "en" ); delete config; - key_map = QPEApplication::qpeDir() + "/share/multikey/" + map = QPEApplication::qpeDir() + "/share/multikey/" + l + ".keymap"; - } else { - - key_map = maps[index]; } - - setKeysFromFile(key_map); + setKeysFromFile(map); } Keys::Keys(const char * filename) { |