fix login data

This commit is contained in:
Andrei Yankovich 2019-08-05 16:48:34 +03:00
parent 700eaf9529
commit bf2ae4b4eb
2 changed files with 32 additions and 0 deletions

View File

@ -5,12 +5,27 @@
#include <back-end/settings.h>
void MainMenuModel::handleClientStatusChanged(bool) {
auto status = OnlineStatus::ClientIsOffline;
if (_client->isOnline()) {
status = OnlineStatus::AuthorizationRequired;
}
setOnlineStatus(status);
}
MainMenuModel::MainMenuModel(QObject *ptr): QObject (ptr) {
_userViewModel = new UserView (this);
_conf = Settings::instans();
auto adderss = _conf->value(SERVER_ADDRESS, SERVER_ADDRESS_DEFAULT).toString();
auto port = _conf->value(SERVER_ADDRESS_PORT, SERVER_ADDRESS_DEFAULT_PORT).toInt();
_client = new ClientProtocol::Client(adderss, static_cast<unsigned short>(port), this);
connect(_client, &ClientProtocol::Client::loginChanged,
this , &MainMenuModel::handleClientStatusChanged);
connect(_client, &ClientProtocol::Client::onlineChanged,
this , &MainMenuModel::handleClientStatusChanged);
}
QObject *MainMenuModel::userViewModel() const {
@ -28,3 +43,16 @@ void MainMenuModel::setOnlineStatus(int onlineStatus) {
_onlineStatus = static_cast<OnlineStatus>(onlineStatus);
emit onlineStatusChanged();
}
void MainMenuModel::login(const QString &email, const QString &pass) {
if (!_client->login(email, pass.toUtf8())) {
setOnlineStatus(OnlineStatus::AuthorizationFail);
}
}
void MainMenuModel::registerNewUser(const QString &email, const QString &name,
const QString &pass) {
if (!_client->login(email, pass.toUtf8())) {
setOnlineStatus(OnlineStatus::AuthorizationFail);
}
}

View File

@ -31,6 +31,8 @@ private:
OnlineStatus _onlineStatus = ClientIsOffline;
QSettings *_conf = nullptr;
private slots:
void handleClientStatusChanged(bool);
public:
MainMenuModel(QObject *ptr = nullptr);
@ -40,6 +42,8 @@ public:
public slots:
void setOnlineStatus(int onlineStatus);
void login(const QString& email, const QString& pass);
void registerNewUser(const QString& email, const QString& name, const QString& pass);
signals:
void userViewModelChanged(QObject* userViewModel);