-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 () tb1->setToggleButton(FALSE); connect(tb1, SIGNAL(clicked()), this, SLOT(moveSelectedUp())); QToolButton *tb2 = new QToolButton(vbox1, tr("Move Down")); tb2->setUsesBigPixmap( qApp->desktop()->size().width() > 330 ); tb2->setPixmap(Opie::Core::OResource::loadPixmap("down", Opie::Core::OResource::SmallIcon)); tb2->setAutoRaise(TRUE); tb2->setFocusPolicy(QWidget::NoFocus); tb2->setToggleButton(FALSE); connect(tb2, SIGNAL(clicked()), this, SLOT(moveSelectedDown())); QString cur(tr("Current Language")); 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 + default_maps = map_dir.entryList(); // so the object can access keymaps in other places custom_maps = config.readListEntry("maps", QChar('|')); sw_maps = ConfigDlg::loadSw(); QStringList sw_copy(sw_maps); for (uint i = 0; i < sw_copy.count(); i++) { QString keymap_map; if (sw_copy[i][0] != '/') { /* share/multikey */ keymap_map = map_dir.absPath() + "/" + sw_copy[i]; } else { if (map_dir.exists(QFileInfo(sw_copy[i]).fileName(), false) || !QFile::exists(sw_copy[i])) { custom_maps.remove(sw_copy[i]); @@ -131,40 +131,42 @@ ConfigDlg::ConfigDlg () : QDialog () map.close(); } if (keymap_map == current_map) { keymaps->setSelected(i + 1, true); } } // have to "+1" because the "current language" listItem... remember? connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int))); QGrid *add_remove_grid = new QGrid(2, map_group); add_remove_grid->setMargin(3); add_remove_grid->setSpacing(3); - add_button = new QPushButton(tr("Add"), add_remove_grid); + add_button = new QPushButton(tr("Add keymap..."), add_remove_grid); add_button->setFlat(TRUE); connect(add_button, SIGNAL(clicked()), SLOT(addMap())); - remove_button = new QPushButton(tr("Remove"), add_remove_grid); + remove_button = new QPushButton(tr("Remove keymap"), add_remove_grid); remove_button->setFlat(TRUE); - if (keymaps->currentItem() == 0 || default_maps.find(QFileInfo(current_map).fileName()) != default_maps.end()) - remove_button->setDisabled(true); + if (keymaps->currentItem() == 0 || default_maps.find(QFileInfo(current_map).fileName()) != default_maps.end()) { + remove_button->setDisabled(true); + remove_button->hide(); + } connect(remove_button, SIGNAL(clicked()), SLOT(removeMap())); gen_lay->addWidget(map_group); // make a box that will contain the buttons on the bottom QGrid *other_grid = new QGrid(2, gen_box); pick_button = new QCheckBox(tr("Pickboard"), other_grid); config.setGroup ("general"); bool pick_open = config.readBoolEntry ("usePickboard", FALSE); // default closed if (pick_open) { pick_button->setChecked(true); } repeat_button = new QCheckBox(tr("Key Repeat"), other_grid); @@ -292,41 +294,43 @@ void ConfigDlg::accept() { /* Writing all stuffs to config */ Config *config = new Config("multikey"); config->setGroup("general"); config->writeEntry("usePickboard", pick_button->isChecked()); // default closed config->writeEntry("useRepeat", repeat_button->isChecked()); // default closed config->setGroup("keymaps"); config->writeEntry("sw", sw_maps, QChar('|')); config->writeEntry("maps", custom_maps, QChar('|')); delete config; int index = keymaps->currentItem(); if (index == 0) { remove_button->setDisabled(true); + remove_button->hide(); emit setMapToDefault(); } else if (default_maps.find(sw_maps[index-1]) != default_maps.end()) { remove_button->setDisabled(true); + remove_button->hide(); emit setMapToFile(QPEApplication::qpeDir() + "share/multikey/" + sw_maps[index - 1]); } else { - + remove_button->show(); remove_button->setEnabled(true); emit setMapToFile(sw_maps[index - 1]); } emit pickboardToggled(pick_button->isChecked()); emit repeatToggled(repeat_button->isChecked()); emit reloadSw(); QDialog::accept(); emit configDlgClosed(); } void ConfigDlg::moveSelectedUp() { int i = keymaps->currentItem(); /* Ignore Current Language */ @@ -355,33 +359,35 @@ void ConfigDlg::moveSelectedDown() keymaps->removeItem(i); keymaps->insertItem(item, i+1); keymaps->setCurrentItem(i+1); } } void ConfigDlg::closeEvent(QCloseEvent *) { // tell the parent it was closed, so delete me emit configDlgClosed(); } void ConfigDlg::setMap(int index) { if (index == 0 || default_maps.find(sw_maps[index-1]) != default_maps.end()) { remove_button->setDisabled(true); + remove_button->hide(); } else { + remove_button->show(); remove_button->setEnabled(true); } } // ConfigDlg::addMap() {{{1 void ConfigDlg::addMap() { QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath()); if (map.isNull()) return; Config config ("multikey"); config.setGroup("keymaps"); QStringList maps = config.readListEntry("maps", QChar('|')); maps.append(map); 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: // all those required slots for the color push buttons void keyColorClicked(); void keyColorPressedClicked(); void keyColorLinesClicked(); void textColorClicked(); private: QCheckBox *pick_button; QCheckBox *repeat_button; QListBox *keymaps; QPushButton *add_button; QPushButton *remove_button; QStringList default_maps; // the maps in your share/multikey/ dir QStringList custom_maps; // maps you added with the 'add' button - QStringList sw_maps; // maps, which used in keyboard switch rotation ring + QStringList sw_maps; // maps used in keyboard switch rotation ring /* color buttons */ QPushButton *keycolor_button; QPushButton *keycolor_pressed_button; QPushButton *keycolor_lines_button; QPushButton *textcolor_button; }; #endif |