-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 @@ -9,6 +9,4 @@ */ -#include <iostream.h> - #include <qpe/qpeapplication.h> #include <qpe/config.h> @@ -61,7 +59,26 @@ ConfigDlg::ConfigDlg () : QTabWidget () 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) { @@ -86,5 +103,24 @@ 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) { @@ -233,10 +269,10 @@ void ConfigDlg::setMap(int index) { 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]); } } @@ -253,4 +289,5 @@ void ConfigDlg::addMap() { QStringList maps = config.readListEntry("maps", QChar('|')); maps.append(map); + custom_maps.append(map); keymaps->insertItem(map); keymaps->setSelected(keymaps->count() - 1, true); @@ -265,7 +302,4 @@ void ConfigDlg::addMap() { 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); @@ -273,5 +307,5 @@ void ConfigDlg::removeMap() { 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 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 @@ -35,5 +35,4 @@ #include <qtextstream.h> #include <qstringlist.h> -#include <iostream.h> #include <sys/utsname.h> @@ -603,5 +602,5 @@ void Keyboard::toggleRepeat(bool on) { useRepeat = on; - cout << "setting useRepeat to: " << useRepeat << "\n"; + //cout << "setting useRepeat to: " << useRepeat << "\n"; } |