-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 @@ -149,10 +149,12 @@ ConfigDlg::ConfigDlg () : QTabWidget () 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()) { @@ -162,3 +164,4 @@ 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())); @@ -166,10 +169,23 @@ ConfigDlg::ConfigDlg () : QTabWidget () 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())); + @@ -198,2 +214,4 @@ void ConfigDlg::repeatTog() { +// ConfigDlg::setMap {{{1 + /* @@ -205,3 +223,2 @@ void ConfigDlg::repeatTog() { -// ConfigDlg::setMap {{{1 void ConfigDlg::setMap(int index) { @@ -261,4 +278,12 @@ 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() { @@ -278,3 +303,60 @@ void ConfigDlg::keyColorButtonClicked() { - 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 @@ -31,3 +31,6 @@ private slots: // all those required slots for the color push buttons - void keyColorButtonClicked(); + void keyColorClicked(); + void keyColorPressedClicked(); + void keyColorLinesClicked(); + void textColorClicked(); @@ -45,3 +48,6 @@ private: /* color buttons */ - QPushButton *key_color_button; + QPushButton *keycolor_button; + QPushButton *keycolor_pressed_button; + QPushButton *keycolor_lines_button; + QPushButton *textcolor_button; |