summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/configdlg.cpp23
-rw-r--r--inputmethods/multikey/multikey.pro2
2 files changed, 23 insertions, 2 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp
index c5ebe3c..f6507b4 100644
--- a/inputmethods/multikey/configdlg.cpp
+++ b/inputmethods/multikey/configdlg.cpp
@@ -244,97 +244,118 @@ void ConfigDlg::repeatTog() {
244 244
245 Config config ("multikey"); 245 Config config ("multikey");
246 config.setGroup ("general"); 246 config.setGroup ("general");
247 config.writeEntry ("useRepeat", repeat_button->isChecked()); // default closed 247 config.writeEntry ("useRepeat", repeat_button->isChecked()); // default closed
248 248
249 emit repeatToggled(repeat_button->isChecked()); 249 emit repeatToggled(repeat_button->isChecked());
250} 250}
251 251
252// ConfigDlg::setMap {{{1 252// ConfigDlg::setMap {{{1
253 253
254/* 254/*
255 * the index is kinda screwy, because in the config file, index 0 is just the 255 * the index is kinda screwy, because in the config file, index 0 is just the
256 * first element in the QStringList, but here it's the "Current Language" 256 * first element in the QStringList, but here it's the "Current Language"
257 * listItem. therefor you have to minus one to the index before you access it. 257 * listItem. therefor you have to minus one to the index before you access it.
258 * 258 *
259 */ 259 */
260 260
261void ConfigDlg::setMap(int index) { 261void ConfigDlg::setMap(int index) {
262 262
263 if (index == 0) { 263 if (index == 0) {
264 264
265 remove_button->setDisabled(true); 265 remove_button->setDisabled(true);
266 emit setMapToDefault(); 266 emit setMapToDefault();
267 } 267 }
268 else if ((uint)index <= default_maps.count()) { 268 else if ((uint)index <= default_maps.count()) {
269 269
270 remove_button->setDisabled(true); 270 remove_button->setDisabled(true);
271 emit setMapToFile(QPEApplication::qpeDir() + "/share/multikey/" + default_maps[index - 1]); 271 emit setMapToFile(QPEApplication::qpeDir() + "/share/multikey/" + default_maps[index - 1]);
272 272
273 } else { 273 } else {
274 274
275 remove_button->setEnabled(true); 275 remove_button->setEnabled(true);
276 emit setMapToFile(custom_maps[index - default_maps.count() - 1]); 276 emit setMapToFile(custom_maps[index - default_maps.count() - 1]);
277 } 277 }
278} 278}
279 279
280// ConfigDlg::addMap() {{{1 280// ConfigDlg::addMap() {{{1
281void ConfigDlg::addMap() { 281void ConfigDlg::addMap() {
282 282
283 QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath()); 283 QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath());
284 284
285 if (map.isNull()) return; 285 if (map.isNull()) return;
286 286
287 Config config ("multikey"); 287 Config config ("multikey");
288 config.setGroup("keymaps"); 288 config.setGroup("keymaps");
289 QStringList maps = config.readListEntry("maps", QChar('|')); 289 QStringList maps = config.readListEntry("maps", QChar('|'));
290 maps.append(map); 290 maps.append(map);
291 custom_maps.append(map); 291 custom_maps.append(map);
292 keymaps->insertItem(map); 292
293 QFile map_file (map);
294 if (map_file.open(IO_ReadOnly)) {
295
296 QString line; bool found = 0;
297
298 map_file.readLine(line, 1024);
299 while (!map_file.atEnd()) {
300
301 if (line.find(QRegExp("^title\\s*=\\s*")) != -1) {
302
303 keymaps->insertItem(line.right(line.length() - line.find(QChar('=')) - 1).stripWhiteSpace());
304 found = 1;
305 break;
306 }
307 map_file.readLine(line, 1024);
308 }
309 if (!found) keymaps->insertItem(map);
310
311 map_file.close();
312 }
313
293 keymaps->setSelected(keymaps->count() - 1, true); 314 keymaps->setSelected(keymaps->count() - 1, true);
294 315
295 316
296 config.writeEntry("maps", maps, QChar('|')); 317 config.writeEntry("maps", maps, QChar('|'));
297 config.writeEntry("current", map); 318 config.writeEntry("current", map);
298 319
299} 320}
300 321
301// ConfigDlg::removeMap() {{{1 322// ConfigDlg::removeMap() {{{1
302void ConfigDlg::removeMap() { 323void ConfigDlg::removeMap() {
303 324
304 // move selection up one 325 // move selection up one
305 keymaps->setSelected(keymaps->currentItem() - 1, true); 326 keymaps->setSelected(keymaps->currentItem() - 1, true);
306 // delete the next selected item cus you just moved it up 327 // delete the next selected item cus you just moved it up
307 keymaps->removeItem(keymaps->currentItem() + 1); 328 keymaps->removeItem(keymaps->currentItem() + 1);
308 329
309 custom_maps.remove(custom_maps.at(keymaps->currentItem() - default_maps.count())); 330 custom_maps.remove(custom_maps.at(keymaps->currentItem() - default_maps.count()));
310 331
311 // write the changes 332 // write the changes
312 Config config ("multikey"); 333 Config config ("multikey");
313 config.setGroup("keymaps"); 334 config.setGroup("keymaps");
314 config.writeEntry("maps", custom_maps, QChar('|')); 335 config.writeEntry("maps", custom_maps, QChar('|'));
315} 336}
316 337
317/* ConfigDlg::slots for the color buttons {{{1 338/* ConfigDlg::slots for the color buttons {{{1
318 * 339 *
319 * these four slots are almost the same, except for the names. i was thinking 340 * these four slots are almost the same, except for the names. i was thinking
320 * of making a map with pointers to the buttons and names of the configEntry 341 * of making a map with pointers to the buttons and names of the configEntry
321 * so it could be one slot, but then there would be no way of telling which 342 * so it could be one slot, but then there would be no way of telling which
322 * of the buttons was clicked if they all connect to the same slot. 343 * of the buttons was clicked if they all connect to the same slot.
323 * 344 *
324 */ 345 */
325 346
326void ConfigDlg::keyColorClicked() { 347void ConfigDlg::keyColorClicked() {
327 348
328 Config config ("multikey"); 349 Config config ("multikey");
329 config.setGroup ("colors"); 350 config.setGroup ("colors");
330 351
331 QStringList color = config.readListEntry("keycolor", QChar(',')); 352 QStringList color = config.readListEntry("keycolor", QChar(','));
332 353
333 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 354 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
334 355
335 color[0].setNum(newcolor.red()); 356 color[0].setNum(newcolor.red());
336 color[1].setNum(newcolor.green()); 357 color[1].setNum(newcolor.green());
337 color[2].setNum(newcolor.blue()); 358 color[2].setNum(newcolor.blue());
338 359
339 config.writeEntry("keycolor", color, QChar(',')); 360 config.writeEntry("keycolor", color, QChar(','));
340 config.write(); 361 config.write();
diff --git a/inputmethods/multikey/multikey.pro b/inputmethods/multikey/multikey.pro
index 9d76a3d..1171602 100644
--- a/inputmethods/multikey/multikey.pro
+++ b/inputmethods/multikey/multikey.pro
@@ -1,31 +1,31 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt warn_on release
3 HEADERS= keyboard.h \ 3 HEADERS= keyboard.h \
4 configdlg.h \ 4 configdlg.h \
5 ../pickboard/pickboardcfg.h \ 5 ../pickboard/pickboardcfg.h \
6 ../pickboard/pickboardpicks.h \ 6 ../pickboard/pickboardpicks.h \
7 keyboardimpl.h 7 keyboardimpl.h
8 SOURCES= keyboard.cpp \ 8 SOURCES= keyboard.cpp \
9 configdlg.cpp \ 9 configdlg.cpp \
10 ../pickboard/pickboardcfg.cpp \ 10 ../pickboard/pickboardcfg.cpp \
11 ../pickboard/pickboardpicks.cpp \ 11 ../pickboard/pickboardpicks.cpp \
12 keyboardimpl.cpp 12 keyboardimpl.cpp
13 TARGET = qmultikey 13 TARGET = qmultikey
14 DESTDIR = ../../plugins/inputmethods 14 DESTDIR = $(OPIEDIR)/plugins/inputmethods
15INCLUDEPATH += $(OPIEDIR)/include 15INCLUDEPATH += $(OPIEDIR)/include
16DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 16DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
17LIBS += -lqpe 17LIBS += -lqpe
18 VERSION = 1.0.0 18 VERSION = 1.0.0
19 19
20TRANSLATIONS = ../../i18n/pt_BR/libqmultikey.ts 20TRANSLATIONS = ../../i18n/pt_BR/libqmultikey.ts
21TRANSLATIONS += ../../i18n/de/libqmultikey.ts 21TRANSLATIONS += ../../i18n/de/libqmultikey.ts
22TRANSLATIONS += ../../i18n/en/libqmultikey.ts 22TRANSLATIONS += ../../i18n/en/libqmultikey.ts
23TRANSLATIONS += ../../i18n/hu/libqmultikey.ts 23TRANSLATIONS += ../../i18n/hu/libqmultikey.ts
24TRANSLATIONS += ../../i18n/sl/libqmultikey.ts 24TRANSLATIONS += ../../i18n/sl/libqmultikey.ts
25TRANSLATIONS += ../../i18n/ja/libqmultikey.ts 25TRANSLATIONS += ../../i18n/ja/libqmultikey.ts
26TRANSLATIONS += ../../i18n/ko/libqmultikey.ts 26TRANSLATIONS += ../../i18n/ko/libqmultikey.ts
27TRANSLATIONS += ../../i18n/pl/libqmultikey.ts 27TRANSLATIONS += ../../i18n/pl/libqmultikey.ts
28TRANSLATIONS += ../../i18n/no/libqmultikey.ts 28TRANSLATIONS += ../../i18n/no/libqmultikey.ts
29TRANSLATIONS += ../../i18n/zh_CN/libqmultikey.ts 29TRANSLATIONS += ../../i18n/zh_CN/libqmultikey.ts
30TRANSLATIONS += ../../i18n/zh_TW/libqmultikey.ts 30TRANSLATIONS += ../../i18n/zh_TW/libqmultikey.ts
31TRANSLATIONS += ../../i18n/fr/libqmultikey.ts 31TRANSLATIONS += ../../i18n/fr/libqmultikey.ts