summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp199
1 files changed, 101 insertions, 98 deletions
diff --git a/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp b/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp
index 6f24ea0..f4005bb 100644
--- a/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp
+++ b/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp
@@ -1,132 +1,135 @@
#include <qdir.h>
+#include <qregexp.h>
#include <qpe/qpeapplication.h>
#include <qpe/qcopenvelope_qws.h>
#include <unistd.h>
#include "cfgdlg.h"
CfgDlg::CfgDlg(QWidget* parent, CfgFile* cf, QApplication* app, bool mod):
QDialog(parent, "CfgDlg", mod), cfile(cf), application(app) {
- setCaption(tr("keyz configurator"));
-
- QGridLayout* gl = new QGridLayout(this, 7, 5, 5, 5);
-
- QLabel* flabel = new QLabel("Available Keymaps", this);
- files = new QListBox(this);
- QPushButton* addButton = new QPushButton(">>", this); //add->setText("Add");
- connect(addButton, SIGNAL(clicked()), this, SLOT(add()));
- QLabel* klabel = new QLabel("Selected Keymaps", this);
- keymaps = new QListBox(this);
- connect(keymaps, SIGNAL(highlighted(const QString&)), this, SLOT(keymapHighlighted(const QString&)));
- QPushButton* delButton = new QPushButton("<<", this); //del->setText("Delete");
- connect(delButton, SIGNAL(clicked()), this, SLOT(del()));
- QPushButton* slabelButton = new QPushButton("Set Label", this); //apply->setText("Apply");
- connect(slabelButton, SIGNAL(clicked()), this, SLOT(setLabel()));
- QLabel* l = new QLabel("Label", this);
- label = new QLineEdit(this);
- QLabel* adlabel = new QLabel("Auto Repeat Delay (ms)", this);
- QLabel* aplabel = new QLabel("Auto Repeat Period (ms)", this);
- ad = new QSpinBox(50, 5000, 5, this);
- ap = new QSpinBox(0, 5000, 5, this);
-
-// QLabel* adms = new QLabel("ms", this);
-// QLabel* apms = new QLabel("ms", this);
-
-// QCheckBox* enable = new QCheckBox("Enable", t);
-
- gl->setColStretch(0, 1);
- gl->setColStretch(1, 1);
- gl->setColStretch(3, 1);
- gl->setColStretch(4, 1);
- gl->setRowStretch(3, 1);
- gl->addMultiCellWidget(flabel, 0, 0, 0, 1);
- gl->addMultiCellWidget(klabel, 0, 0, 3, 4);
- gl->addMultiCellWidget(files, 1, 3, 0, 1);
- gl->addMultiCellWidget(keymaps, 1, 3, 3, 4);
- gl->addWidget(addButton, 1, 2);
- gl->addWidget(delButton, 2, 2);
-
- gl->addWidget(l, 4, 0);
- gl->addWidget(label, 4, 1);
- gl->addMultiCellWidget(slabelButton, 4, 4, 3, 4);
-
- gl->addMultiCellWidget(adlabel, 5, 5, 0, 2);
- gl->addMultiCellWidget(ad, 5, 5, 3, 4);
-// gl->addWidget(adms, 5, 3);
-
- gl->addMultiCellWidget(aplabel, 6, 6, 0, 2);
- gl->addMultiCellWidget(ap, 6, 6, 3, 4);
-
-// gl->addWidget(apms, 6, 3);
-
- QList<CfgEntry>& e = cfile->getEntries();
-
- for(uint i = 0; i < e.count(); i++) {
- CfgEntry* entry = e.at(i);
- keymaps->insertItem(entry->getFile());
- m.insert(entry->getFile(), entry->getLabel());
- }
-
- QDir dir(QPEApplication::qpeDir()+"share/zkb", "*.xml");
- QStringList flist = dir.entryList();
- QStringList::Iterator sit;
- for(sit = flist.begin(); sit != flist.end(); ++sit) {
- if (*sit != "common.xml" && *sit != "zkb.xml" && m.find(*sit) == m.end()) {
- files->insertItem(*sit);
- }
- }
-
- ad->setValue(cfile->getAutorepeatDelay());
- ap->setValue(cfile->getAutorepeatPeriod());
-
-// gl->addMultiCellWidget(enable, 7, 7, 0, 4);
+ setCaption(tr("keyz configurator"));
+
+ static QRegExp r("^common.*\\.xml$");
+ static QRegExp r2("^zkb\\.xml$");
+ QGridLayout* gl = new QGridLayout(this, 7, 5, 5, 5);
+
+ QLabel* flabel = new QLabel("Available Keymaps", this);
+ files = new QListBox(this);
+ QPushButton* addButton = new QPushButton(">>", this); //add->setText("Add");
+ connect(addButton, SIGNAL(clicked()), this, SLOT(add()));
+ QLabel* klabel = new QLabel("Selected Keymaps", this);
+ keymaps = new QListBox(this);
+ connect(keymaps, SIGNAL(highlighted(const QString&)), this, SLOT(keymapHighlighted(const QString&)));
+ QPushButton* delButton = new QPushButton("<<", this); //del->setText("Delete");
+ connect(delButton, SIGNAL(clicked()), this, SLOT(del()));
+ QPushButton* slabelButton = new QPushButton("Set Label", this); //apply->setText("Apply");
+ connect(slabelButton, SIGNAL(clicked()), this, SLOT(setLabel()));
+ QLabel* l = new QLabel("Label", this);
+ label = new QLineEdit(this);
+ QLabel* adlabel = new QLabel("Auto Repeat Delay (ms)", this);
+ QLabel* aplabel = new QLabel("Auto Repeat Period (ms)", this);
+ ad = new QSpinBox(50, 5000, 5, this);
+ ap = new QSpinBox(0, 5000, 5, this);
+
+// QLabel* adms = new QLabel("ms", this);
+// QLabel* apms = new QLabel("ms", this);
+
+// QCheckBox* enable = new QCheckBox("Enable", t);
+
+ gl->setColStretch(0, 1);
+ gl->setColStretch(1, 1);
+ gl->setColStretch(3, 1);
+ gl->setColStretch(4, 1);
+ gl->setRowStretch(3, 1);
+ gl->addMultiCellWidget(flabel, 0, 0, 0, 1);
+ gl->addMultiCellWidget(klabel, 0, 0, 3, 4);
+ gl->addMultiCellWidget(files, 1, 3, 0, 1);
+ gl->addMultiCellWidget(keymaps, 1, 3, 3, 4);
+ gl->addWidget(addButton, 1, 2);
+ gl->addWidget(delButton, 2, 2);
+
+ gl->addWidget(l, 4, 0);
+ gl->addWidget(label, 4, 1);
+ gl->addMultiCellWidget(slabelButton, 4, 4, 3, 4);
+
+ gl->addMultiCellWidget(adlabel, 5, 5, 0, 2);
+ gl->addMultiCellWidget(ad, 5, 5, 3, 4);
+// gl->addWidget(adms, 5, 3);
+
+ gl->addMultiCellWidget(aplabel, 6, 6, 0, 2);
+ gl->addMultiCellWidget(ap, 6, 6, 3, 4);
+
+// gl->addWidget(apms, 6, 3);
+
+ QList<CfgEntry>& e = cfile->getEntries();
+
+ for(uint i = 0; i < e.count(); i++) {
+ CfgEntry* entry = e.at(i);
+ keymaps->insertItem(entry->getFile());
+ m.insert(entry->getFile(), entry->getLabel());
+ }
+
+ QDir dir(QPEApplication::qpeDir()+"share/zkb", "*.xml");
+ QStringList flist = dir.entryList();
+ QStringList::Iterator sit;
+ for(sit = flist.begin(); sit != flist.end(); ++sit) {
+ if (r.match(*sit)==-1 && r2.match(*sit)==-1&& m.find(*sit) == m.end()) {
+ files->insertItem(*sit);
+ }
+ }
+
+ ad->setValue(cfile->getAutorepeatDelay());
+ ap->setValue(cfile->getAutorepeatPeriod());
+
+// gl->addMultiCellWidget(enable, 7, 7, 0, 4);
}
CfgDlg::~CfgDlg() {
}
void CfgDlg::add() {
- if (!files->currentText().isEmpty()) {
- QString t = files->currentText();
- files->removeItem(files->currentItem());
- keymaps->insertItem(t);
- cfile->replaceEntry(t, "");
- m.replace(t, "");
- }
+ if (!files->currentText().isEmpty()) {
+ QString t = files->currentText();
+ files->removeItem(files->currentItem());
+ keymaps->insertItem(t);
+ cfile->replaceEntry(t, "");
+ m.replace(t, "");
+ }
}
void CfgDlg::del() {
- if (!keymaps->currentText().isEmpty()) {
- QString t = keymaps->currentText();
- keymaps->removeItem(keymaps->currentItem());
- cfile->deleteEntry(t);
- files->insertItem(t);
- m.remove(files->currentText());
- }
+ if (!keymaps->currentText().isEmpty()) {
+ QString t = keymaps->currentText();
+ keymaps->removeItem(keymaps->currentItem());
+ cfile->deleteEntry(t);
+ files->insertItem(t);
+ m.remove(files->currentText());
+ }
}
void CfgDlg::setLabel() {
- if (!keymaps->currentText().isEmpty()) {
- cfile->replaceEntry(keymaps->currentText(),
- label->text());
- m.replace(keymaps->currentText(), label->text());
- }
+ if (!keymaps->currentText().isEmpty()) {
+ cfile->replaceEntry(keymaps->currentText(),
+ label->text());
+ m.replace(keymaps->currentText(), label->text());
+ }
}
void CfgDlg::keymapHighlighted(const QString&text) {
- label->setText(*m.find(text));
+ label->setText(*m.find(text));
}
void CfgDlg::accept() {
- cfile->setAutorepeatDelay(ad->value());
- cfile->setAutorepeatPeriod(ap->value());
+ cfile->setAutorepeatDelay(ad->value());
+ cfile->setAutorepeatPeriod(ap->value());
- CfgParser p;
+ CfgParser p;
p.save(Global::applicationFileName("zkb", "zkb.xml" ), *cfile);
- QCopEnvelope("QPE/zkb", "reload()");
+ QCopEnvelope("QPE/zkb", "reload()");
- QDialog::accept();
+ QDialog::accept();
}