From 68b2f6cb4f05d427e037760b6124531211de2095 Mon Sep 17 00:00:00 2001 From: Kirillpt Date: Tue, 1 Dec 2020 01:30:33 +0300 Subject: Improve Register page (#346) * add username error label, add word wrapping for error labels * make lint * last commits * remove font, and remove some lambdas * add QRegularExpression for regex * improve review things * add isModified() for checkFields() * add check isModified() for all fields in checkFields * Update src/RegisterPage.cpp Co-authored-by: DeepBlueV7.X * remove emit call for showError Co-authored-by: DeepBlueV7.X --- src/ui/TextField.cpp | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'src/ui/TextField.cpp') diff --git a/src/ui/TextField.cpp b/src/ui/TextField.cpp index 941d00a3..055fe73b 100644 --- a/src/ui/TextField.cpp +++ b/src/ui/TextField.cpp @@ -6,6 +6,7 @@ #include #include #include +#include TextField::TextField(QWidget *parent) : QLineEdit(parent) @@ -70,18 +71,24 @@ TextField::hasLabel() const return show_label_; } -bool -TextField::isValid() const -{ - return is_valid_; -} - void TextField::setValid(bool valid) { is_valid_ = valid; } +bool +TextField::isValid() const +{ + QString s = text(); + int pos = 0; + if (regexp_.pattern().isEmpty()) { + return is_valid_; + } + QRegularExpressionValidator v(QRegularExpression(regexp_), 0); + return v.validate(s, pos) == QValidator::Acceptable; +} + void TextField::setLabelFontSize(qreal size) { @@ -156,6 +163,12 @@ TextField::setUnderlineColor(const QColor &color) update(); } +void +TextField::setRegexp(const QRegularExpression ®exp) +{ + regexp_ = regexp; +} + QColor TextField::underlineColor() const { -- cgit 1.5.1