summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/configdlg.cpp56
-rw-r--r--inputmethods/multikey/keyboard.cpp3
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
@@ -5,14 +5,12 @@
* add meta key support for german, etc
*
*
*
*/
-#include <iostream.h>
-
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
#include <qwidget.h>
#include <qdialog.h>
#include <qtabwidget.h>
@@ -57,15 +55,34 @@ ConfigDlg::ConfigDlg () : QTabWidget ()
keymaps->insertItem(cur);
keymaps->setSelected(0, true);
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);
}
}
@@ -82,13 +99,32 @@ ConfigDlg::ConfigDlg () : QTabWidget ()
// remove it from the list too
config.writeEntry("maps", custom_maps.join("|"));
} 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);
}
}
}
@@ -229,18 +265,18 @@ void ConfigDlg::setMap(int index) {
remove_button->setDisabled(true);
emit setMapToDefault();
}
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
void ConfigDlg::addMap() {
@@ -249,33 +285,31 @@ void ConfigDlg::addMap() {
if (map.isNull()) return;
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);
config.writeEntry("maps", maps, QChar('|'));
config.writeEntry("current", map);
}
// 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");
config.writeEntry("maps", custom_maps, QChar('|'));
}
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
@@ -31,13 +31,12 @@
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
#include <ctype.h>
#include <qfile.h>
#include <qtextstream.h>
#include <qstringlist.h>
-#include <iostream.h>
#include <sys/utsname.h>
/* Keyboard::Keyboard {{{1 */
Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) :
@@ -599,13 +598,13 @@ void Keyboard::togglePickboard(bool on_off)
QCopChannel::send ("QPE/TaskBar", "showInputMethod()");
}
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() {