diff --git a/CMakeLists.txt b/CMakeLists.txt index 1fd460b..0ab8a63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,7 +195,6 @@ set(SRC_FILES src/Community.cc src/Deserializable.cc src/InviteeItem.cc - src/InputValidator.cc src/LoginPage.cc src/MainWindow.cc src/MatrixClient.cc diff --git a/include/InputValidator.h b/include/InputValidator.h deleted file mode 100644 index da1c121..0000000 --- a/include/InputValidator.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include - -class InputValidator -{ -public: - // Validators for the different types of input. - static QRegExpValidator Id; - static QRegExpValidator Localpart; - static QRegExpValidator Password; - static QRegExpValidator Domain; -}; diff --git a/src/ChatPage.cc b/src/ChatPage.cc index 2ef4cf4..0cb2365 100644 --- a/src/ChatPage.cc +++ b/src/ChatPage.cc @@ -149,7 +149,7 @@ ChatPage::ChatPage(QSharedPointer client, connect(top_bar_, &TopRoomBar::inviteUsers, this, [this](QStringList users) { for (int ii = 0; ii < users.size(); ++ii) { - QTimer::singleShot(ii * 1000, this, [this, &ii, &users]() { + QTimer::singleShot(ii * 1000, this, [this, ii, users]() { client_->inviteUser(current_room_, users.at(ii)); }); } diff --git a/src/InputValidator.cc b/src/InputValidator.cc deleted file mode 100644 index 5fd9278..0000000 --- a/src/InputValidator.cc +++ /dev/null @@ -1,29 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "InputValidator.h" - -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 a6cdb13..3be9d1a 100644 --- a/src/LoginPage.cc +++ b/src/LoginPage.cc @@ -17,9 +17,10 @@ #include +#include + #include "Config.h" #include "FlatButton.h" -#include "InputValidator.h" #include "LoadingIndicator.h" #include "LoginPage.h" #include "MatrixClient.h" @@ -27,6 +28,8 @@ #include "RaisedButton.h" #include "TextField.h" +using namespace mtx::identifiers; + LoginPage::LoginPage(QSharedPointer client, QWidget *parent) : QWidget(parent) , inferredServerAddress_() @@ -157,10 +160,16 @@ LoginPage::loginError(QString error) bool LoginPage::isMatrixIdValid() { - int pos = 0; auto matrix_id = matrixid_input_->text(); - return InputValidator::Id.validate(matrix_id, pos) == QValidator::Acceptable; + try { + parse(matrix_id.toStdString()); + return true; + } catch (const std::exception &e) { + return false; + } + + return false; } void diff --git a/src/RegisterPage.cc b/src/RegisterPage.cc index 9165680..044d2fc 100644 --- a/src/RegisterPage.cc +++ b/src/RegisterPage.cc @@ -19,7 +19,6 @@ #include "Config.h" #include "FlatButton.h" -#include "InputValidator.h" #include "MatrixClient.h" #include "RaisedButton.h" #include "RegisterPage.h" @@ -128,10 +127,6 @@ RegisterPage::RegisterPage(QSharedPointer client, QWidget *parent) this, SLOT(registerError(const QString &))); - username_input_->setValidator(&InputValidator::Localpart); - password_input_->setValidator(&InputValidator::Password); - server_input_->setValidator(&InputValidator::Domain); - setLayout(top_layout_); }