You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
771 B
45 lines
771 B
#include "qvalidatedlineedit.h" |
|
|
|
#include "guiconstants.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(STYLE_INVALID); |
|
} |
|
this->valid = valid; |
|
} |
|
|
|
void QValidatedLineEdit::focusInEvent(QFocusEvent *evt) |
|
{ |
|
// Clear invalid flag on focus |
|
setValid(true); |
|
QLineEdit::focusInEvent(evt); |
|
} |
|
|
|
void QValidatedLineEdit::markValid() |
|
{ |
|
setValid(true); |
|
} |
|
|
|
void QValidatedLineEdit::clear() |
|
{ |
|
setValid(true); |
|
QLineEdit::clear(); |
|
}
|
|
|