Diffstat (limited to 'inputmethods/multikey/keyboard.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 33 |
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 | |||
@@ -35,2 +35,4 @@ | |||
35 | #include <qtextstream.h> | 35 | #include <qtextstream.h> |
36 | #include <qstringlist.h> | ||
37 | #include <iostream.h> | ||
36 | 38 | ||
@@ -290,4 +292,4 @@ void Keyboard::mousePressEvent(QMouseEvent *e) | |||
290 | this, SLOT(setMapToDefault())); | 292 | this, SLOT(setMapToDefault())); |
291 | connect(configdlg, SIGNAL(setMapToFile(QString)), | 293 | connect(configdlg, SIGNAL(setMapToFile(int)), |
292 | this, SLOT(setMapToFile(QString))); | 294 | this, SLOT(setMapToFile(int))); |
293 | configdlg->showMaximized(); | 295 | configdlg->showMaximized(); |
@@ -519,3 +521,3 @@ void Keyboard::setMapToDefault() { | |||
519 | config->setGroup ("keymaps"); | 521 | config->setGroup ("keymaps"); |
520 | config->writeEntry ("current", key_map); // default closed | 522 | config->writeEntry ("current", -1); // default closed |
521 | delete config; | 523 | delete config; |
@@ -529,3 +531,3 @@ void Keyboard::setMapToDefault() { | |||
529 | 531 | ||
530 | void Keyboard::setMapToFile(QString file) { | 532 | void Keyboard::setMapToFile(int index) { |
531 | 533 | ||
@@ -534,3 +536,7 @@ void Keyboard::setMapToFile(QString file) { | |||
534 | config->setGroup ("keymaps"); | 536 | config->setGroup ("keymaps"); |
535 | config->writeEntry ("current", file); // default closed | 537 | config->writeEntry ("current", index); // default closed |
538 | |||
539 | |||
540 | /* now you have to retrieve the map */ | ||
541 | QStringList maps = config->readListEntry("maps", QChar('|')); | ||
536 | delete config; | 542 | delete config; |
@@ -538,3 +544,7 @@ void Keyboard::setMapToFile(QString file) { | |||
538 | delete keys; | 544 | delete keys; |
539 | keys = new Keys(file); | 545 | if (index < 0 || (int)maps.count() <= index) |
546 | keys = new Keys(); | ||
547 | else | ||
548 | keys = new Keys(maps[index]); | ||
549 | |||
540 | repaint(FALSE); | 550 | repaint(FALSE); |
@@ -851,6 +861,10 @@ Keys::Keys() { | |||
851 | config->setGroup( "keymaps" ); | 861 | config->setGroup( "keymaps" ); |
852 | QString key_map = config->readEntry( "current" ); | 862 | QStringList maps = config->readListEntry ("maps", QChar('|')); |
863 | |||
864 | int index = config->readNumEntry( "current", -1 ); | ||
853 | delete config; | 865 | delete config; |
854 | 866 | ||
855 | if (key_map.isNull()) { | 867 | QString key_map; |
868 | |||
869 | if (index < 0 || (int)maps.count() <= index) { | ||
856 | 870 | ||
@@ -864,2 +878,5 @@ Keys::Keys() { | |||
864 | 878 | ||
879 | } else { | ||
880 | |||
881 | key_map = maps[index]; | ||
865 | } | 882 | } |