-rw-r--r-- | inputmethods/multikey/configdlg.cpp | 56 | ||||
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 3 |
2 files changed, 46 insertions, 13 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp index 10bc611..c5ebe3c 100644 --- a/inputmethods/multikey/configdlg.cpp +++ b/inputmethods/multikey/configdlg.cpp @@ -7,10 +7,8 @@ * * */ -#include <iostream.h> - #include <qpe/qpeapplication.h> #include <qpe/config.h> #include <qwidget.h> @@ -59,11 +57,30 @@ ConfigDlg::ConfigDlg () : QTabWidget () QDir map_dir(QPEApplication::qpeDir() + "/share/multikey", "*.keymap"); default_maps = map_dir.entryList(); // so i can access it in other places - for (uint i = 0; i <map_dir.count(); i++) { + for (uint i = 0; i < map_dir.count(); i++) { + + QFile map (map_dir.absPath() + "/" + map_dir[i]); + if (map.open(IO_ReadOnly)) { + + QString line; bool found = 0; + + map.readLine(line, 1024); + while (!map.atEnd()) { - keymaps->insertItem(map_dir.absPath() + "/" + map_dir[i]); + if (line.find(QRegExp("^title\\s*=\\s*")) != -1) { + + keymaps->insertItem(line.right(line.length() - line.find(QChar('=')) - 1).stripWhiteSpace()); + found = 1; + break; + } + map.readLine(line, 1024); + } + if (!found) keymaps->insertItem(map_dir.absPath() + "/" + map_dir[i]); + + map.close(); + } if (map_dir.absPath() + "/" + map_dir[i] == current_map) { keymaps->setSelected(i + 1, true); } @@ -84,9 +101,28 @@ ConfigDlg::ConfigDlg () : QTabWidget () } else { - keymaps->insertItem(custom_maps[i]); + QFile map (custom_maps[i]); + if (map.open(IO_ReadOnly)) { + + QString line; bool found = 0; + + map.readLine(line, 1024); + while (!map.atEnd()) { + + if (line.find(QRegExp("^title\\s*=\\s*")) != -1) { + + keymaps->insertItem(line.right(line.length() - line.find(QChar('=')) - 1).stripWhiteSpace()); + found = 1; + break; + } + map.readLine(line, 1024); + } + if (!found) keymaps->insertItem(custom_maps[i]); + + map.close(); + } if (custom_maps[i] == current_map) { keymaps->setSelected(map_dir.count() + i + 1, true); } @@ -231,14 +267,14 @@ void ConfigDlg::setMap(int index) { } else if ((uint)index <= default_maps.count()) { remove_button->setDisabled(true); - emit setMapToFile(keymaps->text(index)); + emit setMapToFile(QPEApplication::qpeDir() + "/share/multikey/" + default_maps[index - 1]); } else { remove_button->setEnabled(true); - emit setMapToFile(keymaps->text(index)); + emit setMapToFile(custom_maps[index - default_maps.count() - 1]); } } // ConfigDlg::addMap() {{{1 @@ -251,8 +287,9 @@ void ConfigDlg::addMap() { Config config ("multikey"); config.setGroup("keymaps"); QStringList maps = config.readListEntry("maps", QChar('|')); maps.append(map); + custom_maps.append(map); keymaps->insertItem(map); keymaps->setSelected(keymaps->count() - 1, true); @@ -263,17 +300,14 @@ void ConfigDlg::addMap() { // ConfigDlg::removeMap() {{{1 void ConfigDlg::removeMap() { - cout << "removing : " << custom_maps[keymaps->currentItem() - default_maps.count() - 1] << "\n"; - cout << "currentItem : " << keymaps->currentItem() << "\n"; - // move selection up one keymaps->setSelected(keymaps->currentItem() - 1, true); // delete the next selected item cus you just moved it up keymaps->removeItem(keymaps->currentItem() + 1); - custom_maps.remove(custom_maps[keymaps->currentItem() - default_maps.count()]); + custom_maps.remove(custom_maps.at(keymaps->currentItem() - default_maps.count())); // write the changes Config config ("multikey"); config.setGroup("keymaps"); diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index 3f6f73b..c3ee8f3 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp @@ -33,9 +33,8 @@ #include <ctype.h> #include <qfile.h> #include <qtextstream.h> #include <qstringlist.h> -#include <iostream.h> #include <sys/utsname.h> @@ -601,9 +600,9 @@ void Keyboard::togglePickboard(bool on_off) void Keyboard::toggleRepeat(bool on) { useRepeat = on; - cout << "setting useRepeat to: " << useRepeat << "\n"; + //cout << "setting useRepeat to: " << useRepeat << "\n"; } /* Keyboard::setMapTo ... {{{1 */ void Keyboard::setMapToDefault() { |