#include "entrywidget.h" #include "ui_entrywidget.h" #include #include 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; }