diff options
Diffstat (limited to 'client/widgets')
| -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());    }  } | 
