-rw-r--r-- | inputmethods/multikey/configdlg.cpp | 114 | ||||
-rw-r--r-- | inputmethods/multikey/configdlg.h | 10 |
2 files changed, 106 insertions, 18 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp index 566b2b9..89b713e 100644 --- a/inputmethods/multikey/configdlg.cpp +++ b/inputmethods/multikey/configdlg.cpp @@ -148,12 +148,14 @@ ConfigDlg::ConfigDlg () : QTabWidget () QLabel *label; QStringList color; + config.setGroup("colors"); label = new QLabel(tr("Key Color"), color_box); - key_color_button = new QPushButton(color_box); - connect(key_color_button, SIGNAL(clicked()), SLOT(keyColorButtonClicked())); - key_color_button->setFlat((bool)1); - - config.setGroup("colors"); + keycolor_button = new QPushButton(color_box); + connect(keycolor_button, SIGNAL(clicked()), SLOT(keyColorClicked())); + keycolor_button->setFlat((bool)1); color = config.readListEntry("keycolor", QChar(',')); + /* + * hopefully not required + if (color.isEmpty()) { color = QStringList::split(",", "240,240,240"); @@ -161,16 +163,30 @@ ConfigDlg::ConfigDlg () : QTabWidget () } - key_color_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + */ + keycolor_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); label = new QLabel(tr("Key Pressed Color"), color_box); - QPushButton *button = new QPushButton(color_box); - button->setFlat((bool)1); + keycolor_pressed_button = new QPushButton(color_box); + connect(keycolor_pressed_button, SIGNAL(clicked()), SLOT(keyColorPressedClicked())); + keycolor_pressed_button->setFlat((bool)1); + color = config.readListEntry("keycolor_pressed", QChar(',')); + keycolor_pressed_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + label = new QLabel(tr("Line Color"), color_box); - button = new QPushButton(color_box); - button->setFlat((bool)1); + keycolor_lines_button = new QPushButton(color_box); + connect(keycolor_lines_button, SIGNAL(clicked()), SLOT(keyColorLinesClicked())); + keycolor_lines_button->setFlat((bool)1); + color = config.readListEntry("keycolor_lines", QChar(',')); + keycolor_lines_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + + label = new QLabel(tr("Text Color"), color_box); - button = new QPushButton(color_box); - button->setFlat((bool)1); + textcolor_button = new QPushButton(color_box); + connect(textcolor_button, SIGNAL(clicked()), SLOT(textColorClicked())); + textcolor_button->setFlat((bool)1); + color = config.readListEntry("textcolor", QChar(',')); + textcolor_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + label = new QLabel("", color_box); // a spacer so the above buttons dont expand @@ -197,4 +213,6 @@ void ConfigDlg::repeatTog() { } +// ConfigDlg::setMap {{{1 + /* * the index is kinda screwy, because in the config file, index 0 is just the @@ -204,5 +222,4 @@ void ConfigDlg::repeatTog() { */ -// ConfigDlg::setMap {{{1 void ConfigDlg::setMap(int index) { @@ -260,6 +277,14 @@ void ConfigDlg::removeMap() { } -// ConfigDlg::color {{{1 -void ConfigDlg::keyColorButtonClicked() { +/* ConfigDlg::slots for the color buttons {{{1 + * + * these four slots are almost the same, except for the names. i was thinking + * of making a map with pointers to the buttons and names of the configEntry + * so it could be one slot, but then there would be no way of telling which + * of the buttons was clicked if they all connect to the same slot. + * + */ + +void ConfigDlg::keyColorClicked() { Config config ("multikey"); @@ -277,5 +302,62 @@ void ConfigDlg::keyColorButtonClicked() { config.write(); - key_color_button->setBackgroundColor(newcolor); + keycolor_button->setBackgroundColor(newcolor); + emit reloadKeyboard(); +} +void ConfigDlg::keyColorPressedClicked() { + + Config config ("multikey"); + config.setGroup ("colors"); + + QStringList color = config.readListEntry("keycolor_pressed", QChar(',')); + + QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + + color[0].setNum(newcolor.red()); + color[1].setNum(newcolor.green()); + color[2].setNum(newcolor.blue()); + + config.writeEntry("keycolor_pressed", color, QChar(',')); + config.write(); + + keycolor_pressed_button->setBackgroundColor(newcolor); + emit reloadKeyboard(); +} +void ConfigDlg::keyColorLinesClicked() { + + Config config ("multikey"); + config.setGroup ("colors"); + + QStringList color = config.readListEntry("keycolor_lines", QChar(',')); + + QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + + color[0].setNum(newcolor.red()); + color[1].setNum(newcolor.green()); + color[2].setNum(newcolor.blue()); + + config.writeEntry("keycolor_lines", color, QChar(',')); + config.write(); + + keycolor_lines_button->setBackgroundColor(newcolor); + emit reloadKeyboard(); +} +void ConfigDlg::textColorClicked() { + + Config config ("multikey"); + config.setGroup ("colors"); + + QStringList color = config.readListEntry("textcolor", QChar(',')); + + QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); + + color[0].setNum(newcolor.red()); + color[1].setNum(newcolor.green()); + color[2].setNum(newcolor.blue()); + + config.writeEntry("textcolor", color, QChar(',')); + config.write(); + + textcolor_button->setBackgroundColor(newcolor); emit reloadKeyboard(); } diff --git a/inputmethods/multikey/configdlg.h b/inputmethods/multikey/configdlg.h index a000e60..5d6403f 100644 --- a/inputmethods/multikey/configdlg.h +++ b/inputmethods/multikey/configdlg.h @@ -30,5 +30,8 @@ private slots: // all those required slots for the color push buttons - void keyColorButtonClicked(); + void keyColorClicked(); + void keyColorPressedClicked(); + void keyColorLinesClicked(); + void textColorClicked(); private: @@ -44,5 +47,8 @@ private: /* color buttons */ - QPushButton *key_color_button; + QPushButton *keycolor_button; + QPushButton *keycolor_pressed_button; + QPushButton *keycolor_lines_button; + QPushButton *textcolor_button; }; |