diff options
author | deva <deva> | 2010-02-26 10:30:18 +0000 |
---|---|---|
committer | deva <deva> | 2010-02-26 10:30:18 +0000 |
commit | 18069e35a2d1e8a13511c32dd965aac5002dae5f (patch) | |
tree | 8441293ad40d0c45d852bd8b1f14fbd6f5e484b4 | |
parent | 3b6ec8ab7a007f65eb75ed377f4e4984257e5ba8 (diff) |
Make disabled widgets drawn as valid always (non-red).
-rw-r--r-- | client/widgets/lineedit.cc | 26 | ||||
-rw-r--r-- | client/widgets/lineedit.h | 3 | ||||
-rw-r--r-- | client/widgets/radiobuttons.cc | 7 | ||||
-rw-r--r-- | client/widgets/radiobuttons.h | 3 |
4 files changed, 32 insertions, 7 deletions
diff --git a/client/widgets/lineedit.cc b/client/widgets/lineedit.cc index 7c2558b..e7ec9ce 100644 --- a/client/widgets/lineedit.cc +++ b/client/widgets/lineedit.cc @@ -56,17 +56,22 @@ void LineEdit::changed() { QPalette palette; - if(regexpValidator()) { - if(luaValidator()) { - // valid string - palette.setBrush(QPalette::Base, QBrush(QColor(255, 255, 255))); + if(isEnabled()) { + if(regexpValidator()) { + if(luaValidator()) { + // valid string + palette.setBrush(QPalette::Base, QBrush(QColor(255, 255, 255))); + } else { + // invalid string + palette.setBrush(QPalette::Base, QBrush(QColor(200, 230, 200))); + } } else { // invalid string - palette.setBrush(QPalette::Base, QBrush(QColor(200, 230, 200))); + palette.setBrush(QPalette::Base, QBrush(QColor(230, 200, 200))); } } else { - // invalid string - palette.setBrush(QPalette::Base, QBrush(QColor(230, 200, 200))); + // valid string + palette.setBrush(QPalette::Base, QBrush(QColor(255, 255, 255))); } setPalette(palette); @@ -143,3 +148,10 @@ bool LineEdit::eventFilter(QObject *, QEvent *event) } return false; } + +void LineEdit::changeEvent(QEvent *event) +{ + if(event->type() == QEvent::EnabledChange) { + changed(); + } +} diff --git a/client/widgets/lineedit.h b/client/widgets/lineedit.h index c8ba808..556e52c 100644 --- a/client/widgets/lineedit.h +++ b/client/widgets/lineedit.h @@ -61,6 +61,9 @@ public slots: signals: void wasChanged(); +protected: + void changeEvent(QEvent *event); + private: bool eventFilter(QObject *, QEvent *event); }; diff --git a/client/widgets/radiobuttons.cc b/client/widgets/radiobuttons.cc index d11c3e5..9c5f8ad 100644 --- a/client/widgets/radiobuttons.cc +++ b/client/widgets/radiobuttons.cc @@ -183,3 +183,10 @@ bool RadioButtons::isDisabled() { return isEnabled() == false; } + +void RadioButtons::changeEvent(QEvent *event) +{ + if(event->type() == QEvent::EnabledChange) { + setBGColor(!isEnabled()); + } +} diff --git a/client/widgets/radiobuttons.h b/client/widgets/radiobuttons.h index a32147b..9b165c9 100644 --- a/client/widgets/radiobuttons.h +++ b/client/widgets/radiobuttons.h @@ -63,6 +63,9 @@ public slots: signals: void wasChanged(); +protected: + void changeEvent(QEvent *event); + private: QVector < RadioButton* > radiobutton_list; |