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.
|
|
|
#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();
|
|
|
|
}
|