Diffstat (limited to 'inputmethods/multikey/configdlg.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | inputmethods/multikey/configdlg.cpp | 16 |
1 files changed, 11 insertions, 5 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 | |||
@@ -74,25 +74,25 @@ ConfigDlg::ConfigDlg () : QDialog () | |||
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 | ||
@@ -135,32 +135,34 @@ ConfigDlg::ConfigDlg () : QDialog () | |||
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 | ||
@@ -296,33 +298,35 @@ void ConfigDlg::accept() | |||
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 | ||
@@ -359,25 +363,27 @@ void ConfigDlg::moveSelectedDown() | |||
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"); |