Skip to content
Snippets Groups Projects
Commit b3bb0531 authored by Konstantinos Sideris's avatar Konstantinos Sideris
Browse files

Make InputValidator class members static

parent 7502f167
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -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_;
};
......
......@@ -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_;
};
......
......@@ -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);
......@@ -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)
......
......@@ -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_);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment