mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
120 lines
2.5 KiB
C++
120 lines
2.5 KiB
C++
#include "entrywidget.h"
|
||
#include "ui_entrywidget.h"
|
||
|
||
#include <bits/functional_hash.h>
|
||
|
||
#include <QCryptographicHash>
|
||
|
||
EntryWidget::EntryWidget(QWidget *parent) :
|
||
QWidget(parent),
|
||
ui(new Ui::EntryWidget),
|
||
isAppAvailable(false)
|
||
{
|
||
ui->setupUi(this);
|
||
}
|
||
|
||
void EntryWidget::initialize()
|
||
{
|
||
ui->offlineWidget->hide();
|
||
ui->loginWidget->hide();
|
||
ui->settingsWidget->hide();
|
||
}
|
||
|
||
void EntryWidget::disconnectState()
|
||
{
|
||
show();
|
||
setAppAvailable(emit sigAppAvalable());
|
||
ui->offlineWidget->show();
|
||
ui->loginWidget->hide();
|
||
}
|
||
|
||
void EntryWidget::settingsState()
|
||
{
|
||
ui->loginWidget->hide();
|
||
ui->offlineWidget->hide();
|
||
}
|
||
|
||
ClientAutorization* EntryWidget::getAuthData()
|
||
{
|
||
ClientAutorization *data = new ClientAutorization;
|
||
QString username = ui->loginInputField->text();
|
||
QString password = ui->passwordInputField->text();
|
||
data->Login = username;
|
||
|
||
QByteArray md5Hash = QCryptographicHash::hash(password.toUtf8(), QCryptographicHash::Md5).toHex();
|
||
data->Password = QString(md5Hash);
|
||
|
||
return data;
|
||
}
|
||
|
||
void EntryWidget::showLoginWidget(bool flag)
|
||
{
|
||
if(flag)
|
||
{
|
||
ui->loginWidget->show();
|
||
ui->offlineWidget->hide();
|
||
}
|
||
else ui->loginWidget->hide();
|
||
}
|
||
|
||
void EntryWidget::on_loginButton_clicked()
|
||
{
|
||
emit sigTryLogin();
|
||
}
|
||
|
||
void EntryWidget::on_saveServerButton_clicked()
|
||
{
|
||
emit sigSaveServerSettings();
|
||
}
|
||
|
||
void EntryWidget::fillSettings(Settings *settings)
|
||
{
|
||
ui->serverInputField->setText(settings->Address);
|
||
ui->portInputField->setText(settings->Port);
|
||
}
|
||
|
||
void EntryWidget::isActive(bool flag)
|
||
{
|
||
if (flag) ui->settingsWidget->show();
|
||
else ui->settingsWidget->hide();
|
||
}
|
||
|
||
bool EntryWidget::getLoginWidgetIsHidden()
|
||
{
|
||
return ui->loginWidget->isHidden();
|
||
}
|
||
|
||
void EntryWidget::setAppAvailable(bool flag)
|
||
{
|
||
isAppAvailable = flag;
|
||
|
||
if (flag)
|
||
{
|
||
QString text = tr("Связь с сервером не установлена! Проверьте настройки или запустите в автономном режиме");
|
||
ui->offlineNotifyLabel->setText(text);
|
||
}
|
||
else
|
||
{
|
||
QString text = tr("Связь с сервером не установлена! Проверьте настройки подключения и загрузите клиент с сервера");
|
||
ui->offlineNotifyLabel->setText(text);
|
||
}
|
||
}
|
||
|
||
QString EntryWidget::getAddress(){
|
||
return ui->serverInputField->text();
|
||
}
|
||
|
||
QString EntryWidget::getPort(){
|
||
return ui->portInputField->text();
|
||
}
|
||
|
||
|
||
EntryWidget::~EntryWidget()
|
||
{
|
||
delete ui;
|
||
}
|
||
|
||
|
||
|
||
|