author | hash <hash> | 2002-08-15 19:29:19 (UTC) |
---|---|---|
committer | hash <hash> | 2002-08-15 19:29:19 (UTC) |
commit | d9cc9bedf72e921f8f7d8edeb189db127c5651e3 (patch) (side-by-side diff) | |
tree | e43631d8b74db204d9c60c34b0782aa37df185c2 | |
parent | f568b83e0ef16a0e3b46d41b2cfaa5fdda9d1d45 (diff) | |
download | opie-d9cc9bedf72e921f8f7d8edeb189db127c5651e3.zip opie-d9cc9bedf72e921f8f7d8edeb189db127c5651e3.tar.gz opie-d9cc9bedf72e921f8f7d8edeb189db127c5651e3.tar.bz2 |
changed the keymap selector widget style
-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,99 +1,105 @@ /* * 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> #include <qwidget.h> #include <qdialog.h> #include <qtabwidget.h> #include <qvbox.h> #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") ); /* * 'general config' tab */ 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 if (pick_open) { pick_button->setChecked(true); } // by connecting it after checking it, the signal isn't emmited connect (pick_button, SIGNAL(clicked()), this, SLOT(pickTog())); /* * '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); button->setFlat((bool)1); label = new QLabel(tr("Text Color"), color_box); button = new QPushButton(color_box); button->setFlat((bool)1); label = new QLabel("", color_box); // a spacer so the above buttons dont expand @@ -105,19 +111,33 @@ void ConfigDlg::pickTog() { Config config ("multikey"); config.setGroup ("pickboard"); config.writeEntry ("open", pick_button->isChecked()); // default closed emit pickboardToggled(pick_button->isChecked()); } 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,31 +1,36 @@ #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 { Q_OBJECT public: ConfigDlg (); signals: void pickboardToggled(bool on_off); 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 @@ -24,25 +24,24 @@ #include <qpe/global.h> #include <qpe/qcopenvelope_qws.h> #include <qwindowsystem_qws.h> #include <qpainter.h> #include <qfontmetrics.h> #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 /* Keyboard::Keyboard {{{1 */ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : QFrame(parent, _name, f), shift(0), lock(0), ctrl(0), alt(0), useLargeKeys(TRUE), usePicks(0), pressedKeyRow(-1), pressedKeyCol(-1), unicode(-1), qkeycode(0), modifiers(0), schar(0), mchar(0), echar(0), configdlg(0) @@ -68,24 +67,32 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : QObject::connect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); } else picks->hide(); 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 ); keyHeight = (height()-(usePicks ? ph : 0))/5; int nk; // number of keys? if ( useLargeKeys ) { nk = 15; } else { @@ -950,25 +957,24 @@ void Keys::setKeysFromFile(const char * filename) { QTextStream tmp (buf, IO_ReadOnly); QString name, equals, value; tmp >> name >> equals >> value; if (name == "lang") { lang = value; } - cout << name << " = " << value << "\n"; buf = t.readLine(); } // comments else if (buf.contains(QRegExp("^\\s*#"))) { buf = t.readLine(); } else { // blank line, or garbage 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 @@ -83,24 +83,25 @@ private: }; QList<Key> keys[6]; QMap<ushort,ushort> shiftMap; }; 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*); void paintEvent(QPaintEvent* e); //void timerEvent(QTimerEvent* e); void drawKeyboard( QPainter &p, int row = -1, int col = -1); QSize sizeHint() const; |