summaryrefslogtreecommitdiff
path: root/inputmethods/multikey/keyboard.cpp
authorhash <hash>2002-08-18 06:18:18 (UTC)
committer hash <hash>2002-08-18 06:18:18 (UTC)
commit229a66f5a955ec71bd5973ac6961cd694692856a (patch) (side-by-side diff)
treee2fa7e43d90728b972933e3fca77a897aa376287 /inputmethods/multikey/keyboard.cpp
parent5f271187a72b18339310f12a2c753e9b8548c078 (diff)
downloadopie-229a66f5a955ec71bd5973ac6961cd694692856a.zip
opie-229a66f5a955ec71bd5973ac6961cd694692856a.tar.gz
opie-229a66f5a955ec71bd5973ac6961cd694692856a.tar.bz2
paths to maps are now saved in config dialog
Diffstat (limited to 'inputmethods/multikey/keyboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/keyboard.cpp33
1 files changed, 25 insertions, 8 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp
index 671868c..c53ae6c 100644
--- a/inputmethods/multikey/keyboard.cpp
+++ b/inputmethods/multikey/keyboard.cpp
@@ -33,6 +33,8 @@
#include <ctype.h>
#include <qfile.h>
#include <qtextstream.h>
+#include <qstringlist.h>
+#include <iostream.h>
#include <sys/utsname.h>
@@ -288,8 +290,8 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
this, SLOT(togglePickboard(bool)));
connect(configdlg, SIGNAL(setMapToDefault()),
this, SLOT(setMapToDefault()));
- connect(configdlg, SIGNAL(setMapToFile(QString)),
- this, SLOT(setMapToFile(QString)));
+ connect(configdlg, SIGNAL(setMapToFile(int)),
+ this, SLOT(setMapToFile(int)));
configdlg->showMaximized();
configdlg->show();
configdlg->raise();
@@ -517,7 +519,7 @@ void Keyboard::setMapToDefault() {
/* save change to multikey config file */
config = new Config("multikey");
config->setGroup ("keymaps");
- config->writeEntry ("current", key_map); // default closed
+ config->writeEntry ("current", -1); // default closed
delete config;
delete keys;
@@ -527,16 +529,24 @@ void Keyboard::setMapToDefault() {
repaint(FALSE);
}
-void Keyboard::setMapToFile(QString file) {
+void Keyboard::setMapToFile(int index) {
/* save change to multikey config file */
Config *config = new Config("multikey");
config->setGroup ("keymaps");
- config->writeEntry ("current", file); // default closed
+ config->writeEntry ("current", index); // default closed
+
+
+ /* now you have to retrieve the map */
+ QStringList maps = config->readListEntry("maps", QChar('|'));
delete config;
delete keys;
- keys = new Keys(file);
+ if (index < 0 || (int)maps.count() <= index)
+ keys = new Keys();
+ else
+ keys = new Keys(maps[index]);
+
repaint(FALSE);
}
@@ -849,10 +859,14 @@ Keys::Keys() {
Config *config = new Config ("multikey");
config->setGroup( "keymaps" );
- QString key_map = config->readEntry( "current" );
+ QStringList maps = config->readListEntry ("maps", QChar('|'));
+
+ int index = config->readNumEntry( "current", -1 );
delete config;
- if (key_map.isNull()) {
+ QString key_map;
+
+ if (index < 0 || (int)maps.count() <= index) {
Config *config = new Config("locale");
config->setGroup( "Language" );
@@ -862,6 +876,9 @@ Keys::Keys() {
key_map = QPEApplication::qpeDir() + "/share/multikey/"
+ l + ".keymap";
+ } else {
+
+ key_map = maps[index];
}