aboutsummaryrefslogtreecommitdiff
path: root/src/qt/qvalidatedlineedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/qvalidatedlineedit.cpp')
-rw-r--r--src/qt/qvalidatedlineedit.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/qt/qvalidatedlineedit.cpp b/src/qt/qvalidatedlineedit.cpp
new file mode 100644
index 0000000000..4b5acd8b07
--- /dev/null
+++ b/src/qt/qvalidatedlineedit.cpp
@@ -0,0 +1,37 @@
+#include "qvalidatedlineedit.h"
+
+QValidatedLineEdit::QValidatedLineEdit(QWidget *parent) :
+ QLineEdit(parent), valid(true)
+{
+ connect(this, SIGNAL(textChanged(QString)), this, SLOT(markValid()));
+}
+
+void QValidatedLineEdit::setValid(bool valid)
+{
+ if(valid == this->valid)
+ {
+ return;
+ }
+
+ if(valid)
+ {
+ setStyleSheet("");
+ }
+ else
+ {
+ setStyleSheet("background:#FF8080");
+ }
+ this->valid = valid;
+}
+
+void QValidatedLineEdit::focusInEvent(QFocusEvent *evt)
+{
+ // Clear invalid flag on focus
+ setValid(true);
+ QLineEdit::focusInEvent(evt);
+}
+
+void QValidatedLineEdit::markValid()
+{
+ setValid(true);
+}