diff options
-rw-r--r-- | client/widgets/combobox.cc | 20 | ||||
-rw-r--r-- | client/widgets/combobox.h | 1 | ||||
-rw-r--r-- | client/widgets/radiobuttons.cc | 2 |
3 files changed, 18 insertions, 5 deletions
diff --git a/client/widgets/combobox.cc b/client/widgets/combobox.cc index 59f7604..f81d989 100644 --- a/client/widgets/combobox.cc +++ b/client/widgets/combobox.cc @@ -171,12 +171,17 @@ void ComboBox::changed() QPalette palette; - if(isValid() && luaValidator()) { + if(isEnabled()) { + if(isValid() && luaValidator()) { + // valid string + palette.setBrush(QPalette::Base, QBrush(QColor(255, 255, 255))); + } else { + // invalid string + palette.setBrush(QPalette::Base, QBrush(QColor(230, 200, 200))); + } + } else { // valid string palette.setBrush(QPalette::Base, QBrush(QColor(255, 255, 255))); - } else { - // invalid string - palette.setBrush(QPalette::Base, QBrush(QColor(230, 200, 200))); } if(lineEdit()) lineEdit()->setPalette(palette); @@ -236,3 +241,10 @@ void ComboBox::wheelEvent(QWheelEvent *e) { QCoreApplication::sendEvent(nativeParentWidget(), e); } + +void ComboBox::changeEvent(QEvent *event) +{ + if(event->type() == QEvent::EnabledChange) { + changed(); + } +} diff --git a/client/widgets/combobox.h b/client/widgets/combobox.h index 3cdebfe..8059e81 100644 --- a/client/widgets/combobox.h +++ b/client/widgets/combobox.h @@ -71,6 +71,7 @@ signals: protected: bool eventFilter(QObject *obj, QEvent *event); void wheelEvent(QWheelEvent *); + void changeEvent(QEvent *event); private: QRegExp rx; diff --git a/client/widgets/radiobuttons.cc b/client/widgets/radiobuttons.cc index 9c5f8ad..e4555ff 100644 --- a/client/widgets/radiobuttons.cc +++ b/client/widgets/radiobuttons.cc @@ -187,6 +187,6 @@ bool RadioButtons::isDisabled() void RadioButtons::changeEvent(QEvent *event) { if(event->type() == QEvent::EnabledChange) { - setBGColor(!isEnabled()); + setBGColor(isValid() || !isEnabled()); } } |