summaryrefslogtreecommitdiff
path: root/inputmethods/multikey/keyboard.cpp
authorhash <hash>2002-08-19 05:35:38 (UTC)
committer hash <hash>2002-08-19 05:35:38 (UTC)
commit64a00421be85d223072e087d4d3c9ecdad464095 (patch) (side-by-side diff)
tree66cf285aa1a8d17126c5b59125c7d91fc2c08c45 /inputmethods/multikey/keyboard.cpp
parentd92fbca743e676182a8f33ae4c28044031143fb0 (diff)
downloadopie-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) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/keyboard.cpp37
1 files changed, 13 insertions, 24 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) {