-rw-r--r-- | inputmethods/multikey/configdlg.cpp | 18 | ||||
-rw-r--r-- | inputmethods/multikey/configdlg.h | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp index 52c498b..24fdb7f 100644 --- a/inputmethods/multikey/configdlg.cpp +++ b/inputmethods/multikey/configdlg.cpp | |||
@@ -70,33 +70,33 @@ ConfigDlg::ConfigDlg () : QDialog () | |||
70 | tb1->setToggleButton(FALSE); | 70 | tb1->setToggleButton(FALSE); |
71 | connect(tb1, SIGNAL(clicked()), this, SLOT(moveSelectedUp())); | 71 | connect(tb1, SIGNAL(clicked()), this, SLOT(moveSelectedUp())); |
72 | 72 | ||
73 | QToolButton *tb2 = new QToolButton(vbox1, tr("Move Down")); | 73 | QToolButton *tb2 = new QToolButton(vbox1, tr("Move Down")); |
74 | tb2->setUsesBigPixmap( qApp->desktop()->size().width() > 330 ); | 74 | tb2->setUsesBigPixmap( qApp->desktop()->size().width() > 330 ); |
75 | tb2->setPixmap(Opie::Core::OResource::loadPixmap("down", Opie::Core::OResource::SmallIcon)); | 75 | tb2->setPixmap(Opie::Core::OResource::loadPixmap("down", Opie::Core::OResource::SmallIcon)); |
76 | tb2->setAutoRaise(TRUE); | 76 | tb2->setAutoRaise(TRUE); |
77 | tb2->setFocusPolicy(QWidget::NoFocus); | 77 | tb2->setFocusPolicy(QWidget::NoFocus); |
78 | tb2->setToggleButton(FALSE); | 78 | tb2->setToggleButton(FALSE); |
79 | connect(tb2, SIGNAL(clicked()), this, SLOT(moveSelectedDown())); | 79 | connect(tb2, SIGNAL(clicked()), this, SLOT(moveSelectedDown())); |
80 | 80 | ||
81 | QString cur(tr("Current Language")); | 81 | QString cur(tr("Current Language")); |
82 | keymaps->insertItem(cur); | 82 | keymaps->insertItem(cur); |
83 | keymaps->setSelected(0, true); | 83 | keymaps->setSelected(0, true); |
84 | 84 | ||
85 | QDir map_dir(QPEApplication::qpeDir() + "share/multikey", "*.keymap"); | 85 | QDir map_dir(QPEApplication::qpeDir() + "share/multikey", "*.keymap"); |
86 | default_maps = map_dir.entryList(); // so i can access it in other places | 86 | default_maps = map_dir.entryList(); // so the object can access keymaps in other places |
87 | custom_maps = config.readListEntry("maps", QChar('|')); | 87 | custom_maps = config.readListEntry("maps", QChar('|')); |
88 | sw_maps = ConfigDlg::loadSw(); | 88 | sw_maps = ConfigDlg::loadSw(); |
89 | 89 | ||
90 | QStringList sw_copy(sw_maps); | 90 | QStringList sw_copy(sw_maps); |
91 | for (uint i = 0; i < sw_copy.count(); i++) { | 91 | for (uint i = 0; i < sw_copy.count(); i++) { |
92 | 92 | ||
93 | QString keymap_map; | 93 | QString keymap_map; |
94 | if (sw_copy[i][0] != '/') { /* share/multikey */ | 94 | if (sw_copy[i][0] != '/') { /* share/multikey */ |
95 | 95 | ||
96 | keymap_map = map_dir.absPath() + "/" + sw_copy[i]; | 96 | keymap_map = map_dir.absPath() + "/" + sw_copy[i]; |
97 | } else { | 97 | } else { |
98 | 98 | ||
99 | if (map_dir.exists(QFileInfo(sw_copy[i]).fileName(), false) | 99 | if (map_dir.exists(QFileInfo(sw_copy[i]).fileName(), false) |
100 | || !QFile::exists(sw_copy[i])) { | 100 | || !QFile::exists(sw_copy[i])) { |
101 | 101 | ||
102 | custom_maps.remove(sw_copy[i]); | 102 | custom_maps.remove(sw_copy[i]); |
@@ -131,40 +131,42 @@ ConfigDlg::ConfigDlg () : QDialog () | |||
131 | 131 | ||
132 | map.close(); | 132 | map.close(); |
133 | } | 133 | } |
134 | 134 | ||
135 | if (keymap_map == current_map) { | 135 | if (keymap_map == current_map) { |
136 | keymaps->setSelected(i + 1, true); | 136 | keymaps->setSelected(i + 1, true); |
137 | } | 137 | } |
138 | } | 138 | } |
139 | 139 | ||
140 | // have to "+1" because the "current language" listItem... remember? | 140 | // have to "+1" because the "current language" listItem... remember? |
141 | connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int))); | 141 | connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int))); |
142 | 142 | ||
143 | QGrid *add_remove_grid = new QGrid(2, map_group); | 143 | QGrid *add_remove_grid = new QGrid(2, map_group); |
144 | add_remove_grid->setMargin(3); | 144 | add_remove_grid->setMargin(3); |
145 | add_remove_grid->setSpacing(3); | 145 | add_remove_grid->setSpacing(3); |
146 | 146 | ||
147 | add_button = new QPushButton(tr("Add"), add_remove_grid); | 147 | add_button = new QPushButton(tr("Add keymap..."), add_remove_grid); |
148 | add_button->setFlat(TRUE); | 148 | add_button->setFlat(TRUE); |
149 | connect(add_button, SIGNAL(clicked()), SLOT(addMap())); | 149 | connect(add_button, SIGNAL(clicked()), SLOT(addMap())); |
150 | 150 | ||
151 | remove_button = new QPushButton(tr("Remove"), add_remove_grid); | 151 | remove_button = new QPushButton(tr("Remove keymap"), add_remove_grid); |
152 | remove_button->setFlat(TRUE); | 152 | remove_button->setFlat(TRUE); |
153 | if (keymaps->currentItem() == 0 || default_maps.find(QFileInfo(current_map).fileName()) != default_maps.end()) | 153 | if (keymaps->currentItem() == 0 || default_maps.find(QFileInfo(current_map).fileName()) != default_maps.end()) { |
154 | remove_button->setDisabled(true); | 154 | remove_button->setDisabled(true); |
155 | remove_button->hide(); | ||
156 | } | ||
155 | connect(remove_button, SIGNAL(clicked()), SLOT(removeMap())); | 157 | connect(remove_button, SIGNAL(clicked()), SLOT(removeMap())); |
156 | 158 | ||
157 | gen_lay->addWidget(map_group); | 159 | gen_lay->addWidget(map_group); |
158 | 160 | ||
159 | // make a box that will contain the buttons on the bottom | 161 | // make a box that will contain the buttons on the bottom |
160 | QGrid *other_grid = new QGrid(2, gen_box); | 162 | QGrid *other_grid = new QGrid(2, gen_box); |
161 | pick_button = new QCheckBox(tr("Pickboard"), other_grid); | 163 | pick_button = new QCheckBox(tr("Pickboard"), other_grid); |
162 | 164 | ||
163 | config.setGroup ("general"); | 165 | config.setGroup ("general"); |
164 | bool pick_open = config.readBoolEntry ("usePickboard", FALSE); // default closed | 166 | bool pick_open = config.readBoolEntry ("usePickboard", FALSE); // default closed |
165 | if (pick_open) { | 167 | if (pick_open) { |
166 | 168 | ||
167 | pick_button->setChecked(true); | 169 | pick_button->setChecked(true); |
168 | } | 170 | } |
169 | 171 | ||
170 | repeat_button = new QCheckBox(tr("Key Repeat"), other_grid); | 172 | repeat_button = new QCheckBox(tr("Key Repeat"), other_grid); |
@@ -292,41 +294,43 @@ void ConfigDlg::accept() | |||
292 | { | 294 | { |
293 | /* Writing all stuffs to config */ | 295 | /* Writing all stuffs to config */ |
294 | Config *config = new Config("multikey"); | 296 | Config *config = new Config("multikey"); |
295 | config->setGroup("general"); | 297 | config->setGroup("general"); |
296 | config->writeEntry("usePickboard", pick_button->isChecked()); // default closed | 298 | config->writeEntry("usePickboard", pick_button->isChecked()); // default closed |
297 | config->writeEntry("useRepeat", repeat_button->isChecked()); // default closed | 299 | config->writeEntry("useRepeat", repeat_button->isChecked()); // default closed |
298 | 300 | ||
299 | config->setGroup("keymaps"); | 301 | config->setGroup("keymaps"); |
300 | config->writeEntry("sw", sw_maps, QChar('|')); | 302 | config->writeEntry("sw", sw_maps, QChar('|')); |
301 | config->writeEntry("maps", custom_maps, QChar('|')); | 303 | config->writeEntry("maps", custom_maps, QChar('|')); |
302 | delete config; | 304 | delete config; |
303 | 305 | ||
304 | int index = keymaps->currentItem(); | 306 | int index = keymaps->currentItem(); |
305 | if (index == 0) { | 307 | if (index == 0) { |
306 | 308 | ||
307 | remove_button->setDisabled(true); | 309 | remove_button->setDisabled(true); |
310 | remove_button->hide(); | ||
308 | emit setMapToDefault(); | 311 | emit setMapToDefault(); |
309 | } | 312 | } |
310 | else if (default_maps.find(sw_maps[index-1]) != default_maps.end()) { | 313 | else if (default_maps.find(sw_maps[index-1]) != default_maps.end()) { |
311 | 314 | ||
312 | remove_button->setDisabled(true); | 315 | remove_button->setDisabled(true); |
316 | remove_button->hide(); | ||
313 | emit setMapToFile(QPEApplication::qpeDir() + "share/multikey/" + sw_maps[index - 1]); | 317 | emit setMapToFile(QPEApplication::qpeDir() + "share/multikey/" + sw_maps[index - 1]); |
314 | 318 | ||
315 | } else { | 319 | } else { |
316 | 320 | remove_button->show(); | |
317 | remove_button->setEnabled(true); | 321 | remove_button->setEnabled(true); |
318 | emit setMapToFile(sw_maps[index - 1]); | 322 | emit setMapToFile(sw_maps[index - 1]); |
319 | } | 323 | } |
320 | 324 | ||
321 | emit pickboardToggled(pick_button->isChecked()); | 325 | emit pickboardToggled(pick_button->isChecked()); |
322 | emit repeatToggled(repeat_button->isChecked()); | 326 | emit repeatToggled(repeat_button->isChecked()); |
323 | emit reloadSw(); | 327 | emit reloadSw(); |
324 | 328 | ||
325 | QDialog::accept(); | 329 | QDialog::accept(); |
326 | emit configDlgClosed(); | 330 | emit configDlgClosed(); |
327 | } | 331 | } |
328 | 332 | ||
329 | void ConfigDlg::moveSelectedUp() | 333 | void ConfigDlg::moveSelectedUp() |
330 | { | 334 | { |
331 | int i = keymaps->currentItem(); | 335 | int i = keymaps->currentItem(); |
332 | /* Ignore Current Language */ | 336 | /* Ignore Current Language */ |
@@ -355,33 +359,35 @@ void ConfigDlg::moveSelectedDown() | |||
355 | keymaps->removeItem(i); | 359 | keymaps->removeItem(i); |
356 | keymaps->insertItem(item, i+1); | 360 | keymaps->insertItem(item, i+1); |
357 | keymaps->setCurrentItem(i+1); | 361 | keymaps->setCurrentItem(i+1); |
358 | } | 362 | } |
359 | } | 363 | } |
360 | 364 | ||
361 | void ConfigDlg::closeEvent(QCloseEvent *) { | 365 | void ConfigDlg::closeEvent(QCloseEvent *) { |
362 | 366 | ||
363 | // tell the parent it was closed, so delete me | 367 | // tell the parent it was closed, so delete me |
364 | emit configDlgClosed(); | 368 | emit configDlgClosed(); |
365 | } | 369 | } |
366 | 370 | ||
367 | void ConfigDlg::setMap(int index) { | 371 | void ConfigDlg::setMap(int index) { |
368 | 372 | ||
369 | if (index == 0 || default_maps.find(sw_maps[index-1]) != default_maps.end()) { | 373 | if (index == 0 || default_maps.find(sw_maps[index-1]) != default_maps.end()) { |
370 | remove_button->setDisabled(true); | 374 | remove_button->setDisabled(true); |
375 | remove_button->hide(); | ||
371 | } else { | 376 | } else { |
377 | remove_button->show(); | ||
372 | remove_button->setEnabled(true); | 378 | remove_button->setEnabled(true); |
373 | } | 379 | } |
374 | } | 380 | } |
375 | 381 | ||
376 | // ConfigDlg::addMap() {{{1 | 382 | // ConfigDlg::addMap() {{{1 |
377 | void ConfigDlg::addMap() { | 383 | void ConfigDlg::addMap() { |
378 | 384 | ||
379 | QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath()); | 385 | QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath()); |
380 | 386 | ||
381 | if (map.isNull()) return; | 387 | if (map.isNull()) return; |
382 | 388 | ||
383 | Config config ("multikey"); | 389 | Config config ("multikey"); |
384 | config.setGroup("keymaps"); | 390 | config.setGroup("keymaps"); |
385 | QStringList maps = config.readListEntry("maps", QChar('|')); | 391 | QStringList maps = config.readListEntry("maps", QChar('|')); |
386 | maps.append(map); | 392 | maps.append(map); |
387 | custom_maps.append(map); | 393 | custom_maps.append(map); |
diff --git a/inputmethods/multikey/configdlg.h b/inputmethods/multikey/configdlg.h index 8e96e9b..f900a14 100644 --- a/inputmethods/multikey/configdlg.h +++ b/inputmethods/multikey/configdlg.h | |||
@@ -39,27 +39,27 @@ private slots: | |||
39 | 39 | ||
40 | // all those required slots for the color push buttons | 40 | // all those required slots for the color push buttons |
41 | void keyColorClicked(); | 41 | void keyColorClicked(); |
42 | void keyColorPressedClicked(); | 42 | void keyColorPressedClicked(); |
43 | void keyColorLinesClicked(); | 43 | void keyColorLinesClicked(); |
44 | void textColorClicked(); | 44 | void textColorClicked(); |
45 | 45 | ||
46 | private: | 46 | private: |
47 | QCheckBox *pick_button; | 47 | QCheckBox *pick_button; |
48 | QCheckBox *repeat_button; | 48 | QCheckBox *repeat_button; |
49 | QListBox *keymaps; | 49 | QListBox *keymaps; |
50 | QPushButton *add_button; | 50 | QPushButton *add_button; |
51 | QPushButton *remove_button; | 51 | QPushButton *remove_button; |
52 | 52 | ||
53 | QStringList default_maps; // the maps in your share/multikey/ dir | 53 | QStringList default_maps; // the maps in your share/multikey/ dir |
54 | QStringList custom_maps; // maps you added with the 'add' button | 54 | QStringList custom_maps; // maps you added with the 'add' button |
55 | QStringList sw_maps; // maps, which used in keyboard switch rotation ring | 55 | QStringList sw_maps; // maps used in keyboard switch rotation ring |
56 | 56 | ||
57 | /* color buttons */ | 57 | /* color buttons */ |
58 | QPushButton *keycolor_button; | 58 | QPushButton *keycolor_button; |
59 | QPushButton *keycolor_pressed_button; | 59 | QPushButton *keycolor_pressed_button; |
60 | QPushButton *keycolor_lines_button; | 60 | QPushButton *keycolor_lines_button; |
61 | QPushButton *textcolor_button; | 61 | QPushButton *textcolor_button; |
62 | 62 | ||
63 | }; | 63 | }; |
64 | 64 | ||
65 | #endif | 65 | #endif |