summaryrefslogtreecommitdiff
path: root/client/widgets/combobox.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/widgets/combobox.cc')
-rw-r--r--client/widgets/combobox.cc26
1 files changed, 22 insertions, 4 deletions
diff --git a/client/widgets/combobox.cc b/client/widgets/combobox.cc
index bf25475..f81d989 100644
--- a/client/widgets/combobox.cc
+++ b/client/widgets/combobox.cc
@@ -30,6 +30,7 @@
#include <QRegExpValidator>
#include <QRegExp>
#include <QLineEdit>
+#include <QCoreApplication>
#include "common.h"
@@ -170,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);
@@ -230,3 +236,15 @@ bool ComboBox::eventFilter(QObject *obj, QEvent *event)
return QObject::eventFilter(obj, event);
}
+
+void ComboBox::wheelEvent(QWheelEvent *e)
+{
+ QCoreApplication::sendEvent(nativeParentWidget(), e);
+}
+
+void ComboBox::changeEvent(QEvent *event)
+{
+ if(event->type() == QEvent::EnabledChange) {
+ changed();
+ }
+}