diff --git a/src/InputValidator.cc b/src/InputValidator.cc
index 6ef8f6e5..2f24b3d9 100644
--- a/src/InputValidator.cc
+++ b/src/InputValidator.cc
@@ -17,14 +17,12 @@
#include "InputValidator.h"
-InputValidator::InputValidator(QObject *parent)
- : matrix_id_("@[A-Za-z0-9._%+-]+:[A-Za-z0-9.-]{1,126}\\.[A-Za-z]{1,63}")
- , matrix_localpart_("[A-za-z0-9._%+-]{3,}")
- , matrix_password_(".{8,}")
- , server_domain_("(?!\\-)(?:[a-zA-Z\\d\\-]{0,62}[a-zA-Z\\d]\\.){1,126}(?!\\d+)[a-zA-Z\\d]{1,63}")
-{
- id_ = new QRegExpValidator(matrix_id_, parent);
- localpart_ = new QRegExpValidator(matrix_localpart_, parent);
- password_ = new QRegExpValidator(matrix_password_, parent);
- domain_ = new QRegExpValidator(server_domain_, parent);
-}
+const QRegExp MXID_REGEX("@[A-Za-z0-9._%+-]+:[A-Za-z0-9.-]{1,126}\\.[A-Za-z]{1,63}");
+const QRegExp LOCALPART_REGEX("[A-za-z0-9._%+-]{3,}");
+const QRegExp PASSWORD_REGEX(".{8,}");
+const QRegExp DOMAIN_REGEX("(?!\\-)(?:[a-zA-Z\\d\\-]{0,62}[a-zA-Z\\d]\\.){1,126}(?!\\d+)[a-zA-Z\\d]{1,63}");
+
+QRegExpValidator InputValidator::Id(MXID_REGEX);
+QRegExpValidator InputValidator::Localpart(LOCALPART_REGEX);
+QRegExpValidator InputValidator::Password(PASSWORD_REGEX);
+QRegExpValidator InputValidator::Domain(DOMAIN_REGEX);
diff --git a/src/LoginPage.cc b/src/LoginPage.cc
index 09cfb82c..4c63820c 100644
--- a/src/LoginPage.cc
+++ b/src/LoginPage.cc
@@ -17,6 +17,7 @@
#include <QDebug>
+#include "InputValidator.h"
#include "LoginPage.h"
LoginPage::LoginPage(QSharedPointer<MatrixClient> client, QWidget *parent)
@@ -25,8 +26,6 @@ LoginPage::LoginPage(QSharedPointer<MatrixClient> client, QWidget *parent)
, login_settings_{nullptr}
, client_{client}
{
- matrix_id_validator_ = new InputValidator(this);
-
top_layout_ = new QVBoxLayout();
top_bar_layout_ = new QHBoxLayout();
@@ -133,7 +132,7 @@ LoginPage::LoginPage(QSharedPointer<MatrixClient> client, QWidget *parent)
connect(client_.data(), SIGNAL(loginError(QString)), this, SLOT(loginError(QString)));
connect(advanced_settings_button_, SIGNAL(clicked()), this, SLOT(showSettingsModal()));
- matrixid_input_->setValidator(matrix_id_validator_->id_);
+ matrixid_input_->setValidator(&InputValidator::Id);
}
void LoginPage::loginError(QString error)
diff --git a/src/RegisterPage.cc b/src/RegisterPage.cc
index b7a12f4a..f4c35f2e 100644
--- a/src/RegisterPage.cc
+++ b/src/RegisterPage.cc
@@ -18,11 +18,11 @@
#include <QDebug>
#include <QToolTip>
+#include "InputValidator.h"
#include "RegisterPage.h"
RegisterPage::RegisterPage(QSharedPointer<MatrixClient> client, QWidget *parent)
: QWidget(parent)
- , validator_(new InputValidator(parent))
, client_(client)
{
top_layout_ = new QVBoxLayout();
@@ -132,9 +132,9 @@ RegisterPage::RegisterPage(QSharedPointer<MatrixClient> client, QWidget *parent)
connect(server_input_, SIGNAL(returnPressed()), register_button_, SLOT(click()));
connect(client_.data(), SIGNAL(registerError(const QString &)), this, SLOT(registerError(const QString &)));
- username_input_->setValidator(validator_->localpart_);
- password_input_->setValidator(validator_->password_);
- server_input_->setValidator(validator_->domain_);
+ username_input_->setValidator(&InputValidator::Localpart);
+ password_input_->setValidator(&InputValidator::Password);
+ server_input_->setValidator(&InputValidator::Domain);
setLayout(top_layout_);
}
|