summary refs log tree commit diff
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-05-14 16:36:30 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-05-14 16:36:30 +0300
commitb3bb0531de9033bbb5940ac9418d6b158bf08a39 (patch)
treea0751d24269c483f63be9520f813c4eda9a67c4b
parentUse QSharedPointer to manage TimelineViews and RoomInfoListItems (diff)
downloadnheko-b3bb0531de9033bbb5940ac9418d6b158bf08a39.tar.xz
Make InputValidator class members static
-rw-r--r--include/InputValidator.h29
-rw-r--r--include/LoginPage.h3
-rw-r--r--include/RegisterPage.h3
-rw-r--r--src/InputValidator.cc20
-rw-r--r--src/LoginPage.cc5
-rw-r--r--src/RegisterPage.cc8
6 files changed, 22 insertions, 46 deletions
diff --git a/include/InputValidator.h b/include/InputValidator.h
index feeaf70a..347ded9b 100644
--- a/include/InputValidator.h
+++ b/include/InputValidator.h
@@ -15,8 +15,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef MATRIXIDVALIDATOR_H
-#define MATRIXIDVALIDATOR_H
+#ifndef MATRIX_INPUT_VALIDATOR_H
+#define MATRIX_INPUT_VALIDATOR_H
 
 #include <QRegExp>
 #include <QRegExpValidator>
@@ -24,26 +24,11 @@
 class InputValidator
 {
 public:
-	InputValidator(QObject *parent = 0);
-
 	// Validators for the different types of input.
-	QRegExpValidator *id_;
-	QRegExpValidator *localpart_;
-	QRegExpValidator *password_;
-	QRegExpValidator *domain_;
-
-private:
-	// Regular expression used to validate the whole matrix id.
-	const QRegExp matrix_id_;
-
-	// Regular expressino to validate the matrix localpart.
-	const QRegExp matrix_localpart_;
-
-	// Regular expression to validate a password for a matrix account.
-	const QRegExp matrix_password_;
-
-	// Regular expression to validate a domain name.
-	const QRegExp server_domain_;
+	static QRegExpValidator Id;
+	static QRegExpValidator Localpart;
+	static QRegExpValidator Password;
+	static QRegExpValidator Domain;
 };
 
-#endif  // MATRIXIDVALIDATOR_H
+#endif  // MATRIX_INPUT_VALIDATOR_H
diff --git a/include/LoginPage.h b/include/LoginPage.h
index 8a44ef7a..ccd40072 100644
--- a/include/LoginPage.h
+++ b/include/LoginPage.h
@@ -25,7 +25,6 @@
 #include <QWidget>
 
 #include "FlatButton.h"
-#include "InputValidator.h"
 #include "LoginSettings.h"
 #include "MatrixClient.h"
 #include "OverlayModal.h"
@@ -84,8 +83,6 @@ private:
 	LoginSettings *login_settings_;
 	QString custom_domain_;
 
-	InputValidator *matrix_id_validator_;
-
 	// Matrix client API provider.
 	QSharedPointer<MatrixClient> client_;
 };
diff --git a/include/RegisterPage.h b/include/RegisterPage.h
index 578ff902..9ac550bf 100644
--- a/include/RegisterPage.h
+++ b/include/RegisterPage.h
@@ -26,7 +26,6 @@
 
 #include "Avatar.h"
 #include "FlatButton.h"
-#include "InputValidator.h"
 #include "MatrixClient.h"
 #include "RaisedButton.h"
 #include "TextField.h"
@@ -71,8 +70,6 @@ private:
 	TextField *password_confirmation_;
 	TextField *server_input_;
 
-	InputValidator *validator_;
-
 	// Matrix client API provider.
 	QSharedPointer<MatrixClient> client_;
 };
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_);
 }