-rw-r--r-- | inputmethods/multikey/configdlg.cpp | 60 | ||||
-rw-r--r-- | inputmethods/multikey/configdlg.h | 9 | ||||
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 10 | ||||
-rw-r--r-- | inputmethods/multikey/keyboard.h | 1 |
4 files changed, 56 insertions, 24 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp index f23bf1c..7bea589 100644 --- a/inputmethods/multikey/configdlg.cpp +++ b/inputmethods/multikey/configdlg.cpp @@ -1,13 +1,10 @@ /* * TODO - * make a font selection thing + * make a font selection thing (size too) * - * FIXME - * if you open the config dialog and close it from the little (x) button on the title bar, - * you have to hit the button on the keyboard twice for it to open the next time * * */ #include <qpe/qpeapplication.h> #include <qpe/config.h> @@ -19,13 +16,13 @@ #include <qgrid.h> #include <qgroupbox.h> #include <qlabel.h> #include <qcheckbox.h> #include <qsizepolicy.h> #include <qpushbutton.h> -#include <qcombobox.h> +#include <qlistbox.h> #include "configdlg.h" #include "keyboard.h" ConfigDlg::ConfigDlg () : QTabWidget () { setCaption( tr("Multikey Configuration") ); @@ -35,32 +32,40 @@ ConfigDlg::ConfigDlg () : QTabWidget () */ QVBox *gen_box = new QVBox (this); gen_box->setMargin(3); addTab(gen_box, tr("General Settings")); - QGroupBox *map_group = new QGroupBox (2, Qt::Horizontal, tr("Keymap File"), gen_box); + QGroupBox *map_group = new QGroupBox (2, Qt::Vertical, tr("Keymap File"), gen_box); - map_combo = new QComboBox ((bool)0, map_group); - map_combo->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); + keymaps = new QListBox (map_group); + keymaps->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); + //keymaps->setMaximumHeight(150); QString cur(tr("Current Language")); - map_combo->insertItem(cur); - connect(map_combo, SIGNAL(activated(int)), SLOT(setMap(int))); + keymaps->insertItem(cur); + connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int))); - QString ko(tr(QPEApplication::qpeDir() + "/share/multikey/ko.keymap")); - map_combo->insertItem(ko); + QString ko(QPEApplication::qpeDir() + "/share/multikey/ko.keymap"); + keymaps->insertItem(ko); - QString en(tr(QPEApplication::qpeDir() + "/share/multikey/en.keymap")); - map_combo->insertItem(en); + QString en(QPEApplication::qpeDir() + "/share/multikey/en.keymap"); + keymaps->insertItem(en); - QString de(tr(QPEApplication::qpeDir() + "/share/multikey/de.keymap")); - map_combo->insertItem(de); + QString de(QPEApplication::qpeDir() + "/share/multikey/de.keymap"); + keymaps->insertItem(de); - QPushButton *button = new QPushButton(tr("Browse..."), map_group); - button->setFlat((bool)1); + 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->setFlat((bool)1); + + remove_button = new QPushButton(tr("Remove"), add_remove_grid); + remove_button->setFlat((bool)1); pick_button = new QCheckBox(tr("Pickboard"), gen_box); Config config ("multikey"); config.setGroup ("pickboard"); bool pick_open = config.readBoolEntry ("open", "0"); // default closed @@ -76,18 +81,19 @@ ConfigDlg::ConfigDlg () : QTabWidget () * 'color' tab */ QGrid *color_box = new QGrid(2, this); color_box->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); color_box->setMargin(3); + color_box->setSpacing(3); addTab(color_box, tr("Colors")); QLabel *label; label = new QLabel(tr("Key Color"), color_box); - button = new QPushButton(color_box); + QPushButton *button = new QPushButton(color_box); button->setFlat((bool)1); label = new QLabel(tr("Key Pressed Color"), color_box); button = new QPushButton(color_box); button->setFlat((bool)1); label = new QLabel(tr("Line Color"), color_box); button = new QPushButton(color_box); @@ -111,13 +117,27 @@ void ConfigDlg::pickTog() { } void ConfigDlg::setMap(int index) { if (index == 0) { + if (remove_button->isEnabled()) + remove_button->setDisabled(true); + emit setMapToDefault(); } else { - emit setMapToFile(map_combo->text(index)); + if (!remove_button->isEnabled()) + remove_button->setEnabled(true); + + emit setMapToFile(keymaps->text(index)); } } + +void ConfigDlg::addMap() { + +} + +void ConfigDlg::removeMap(int index) { + +} diff --git a/inputmethods/multikey/configdlg.h b/inputmethods/multikey/configdlg.h index 54127a0..1a64764 100644 --- a/inputmethods/multikey/configdlg.h +++ b/inputmethods/multikey/configdlg.h @@ -1,10 +1,11 @@ #include <qpe/qpeapplication.h> #include <qtabwidget.h> #include <qcheckbox.h> -#include <qcombobox.h> +#include <qlistbox.h> +#include <qpushbutton.h> #ifndef CONFIGDLG_H #define CONFIGDLG_H class ConfigDlg : public QTabWidget { @@ -18,14 +19,18 @@ signals: void setMapToDefault(); void setMapToFile(QString file); private slots: void pickTog(); void setMap(int index); + void addMap(); + void removeMap(int index); private: QCheckBox *pick_button; - QComboBox *map_combo; + QListBox *keymaps; + QPushButton *add_button; + QPushButton *remove_button; }; #endif diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index 2a80f1e..b71f929 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp @@ -30,13 +30,12 @@ #include <qtimer.h> #include <qpe/qpeapplication.h> #include <qpe/config.h> #include <ctype.h> #include <qfile.h> #include <qtextstream.h> -#include <iostream.h> #include <sys/utsname.h> #define USE_SMALL_BACKSPACE @@ -74,12 +73,20 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : keys = new Keys(); repeatTimer = new QTimer( this ); connect( repeatTimer, SIGNAL(timeout()), this, SLOT(repeat()) ); } +Keyboard::~Keyboard() { + + if ( configdlg ) { + delete (ConfigDlg *) configdlg; + configdlg = 0; + } + +} /* Keyboard::resizeEvent {{{1 */ void Keyboard::resizeEvent(QResizeEvent*) { int ph = picks->sizeHint().height(); picks->setGeometry( 0, 0, width(), ph ); @@ -956,13 +963,12 @@ void Keys::setKeysFromFile(const char * filename) { if (name == "lang") { lang = value; } - cout << name << " = " << value << "\n"; buf = t.readLine(); } // comments else if (buf.contains(QRegExp("^\\s*#"))) { buf = t.readLine(); diff --git a/inputmethods/multikey/keyboard.h b/inputmethods/multikey/keyboard.h index c2efe10..8ca50ea 100644 --- a/inputmethods/multikey/keyboard.h +++ b/inputmethods/multikey/keyboard.h @@ -89,12 +89,13 @@ private: class Keyboard : public QFrame { Q_OBJECT public: Keyboard( QWidget* parent=0, const char* name=0, WFlags f=0 ); + ~Keyboard(); void resetState(); void mousePressEvent(QMouseEvent*); void mouseReleaseEvent(QMouseEvent*); void resizeEvent(QResizeEvent*); |