feat: change UI for send to server

This commit is contained in:
semenov
2024-10-01 16:25:54 +03:00
parent dfe08fc2db
commit 11e71f46a7
34 changed files with 5562 additions and 917 deletions

View File

@@ -24,13 +24,17 @@ void MainWindow::initialize()
ui->notificationLabel->hide();
ui->loadingProgressBar->hide();
ui->updateButton->hide();
ui->connectButton->hide();
ui->offlineWidget->hide();
ui->offlineStartButton->show();
ui->offlineStartButton->setEnabled(false);
ui->offlineStartButton->setGeometry(570,552,220,35);
ui->startButton->hide();
ui->startButton->setEnabled(false);
ui->debugText->hide();
ui->displayGroupWidget->hide();
ui->displayGroupWidget->show();
ui->autostartCheckBox->hide();
ui->updateButton->setEnabled(false);
ui->startButton->setEnabled(false);
ui->loginWidget->hide();
ui->updateWidget->hide();
createObjects();
@@ -87,18 +91,16 @@ void MainWindow::bindConnection()
connect(recognizeSystem,&RecognizeSystem::sigUpdateBytesAvailable,this,&MainWindow::updateProgress,Qt::QueuedConnection);
connect(recognizeSystem,&RecognizeSystem::sigLoadComplete,this,&MainWindow::loadComplete);
connect(recognizeSystem,&RecognizeSystem::sigNeedUpdate,this,&MainWindow::setNeedUpdate);
connect(recognizeSystem,&RecognizeSystem::sigSendDebugLog,this,&MainWindow::debugLog);
connect(recognizeSystem,&RecognizeSystem::sigSocketDisabled,this,&MainWindow::lostConnection);
connect(recognizeSystem,&RecognizeSystem::sigSaveLoginData,this,&MainWindow::checkLoginResult);
connect(recognizeSystem,&RecognizeSystem::sigSocketWaitForReadyRead,client,&TCPClient::waitRead,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigServerBlocked,this,&MainWindow::serverBlocked);
connect(hashComparer,&HashComparer::sigCallCheck,this,&MainWindow::checkUpdate);
connect(hashComparer,&HashComparer::sigHaveDelta,this,&MainWindow::showUpdateInfo);
connect(sendSystem,&SendSystem::sigGetXmlAnswer,dataParser,&DataParser::slotGetXmlAnswer);
connect(client,&TCPClient::sigSendDebugLog,this,&MainWindow::debugLog,Qt::AutoConnection);
connect(this,&MainWindow::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
connect(this,&MainWindow::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
connect(this,&MainWindow::sigSendCommand,client,&TCPClient::slotSendCommand,Qt::AutoConnection);
@@ -124,8 +126,12 @@ void MainWindow::loadComplete()
ui->updateButton->setEnabled(false);
ui->startButton->setEnabled(true);
autoStart();
ui->inlineTextDebug->setText(tr("Обновление завершено..."));
ui->inlineTextDebug->setText(tr("Обновление завершено"));
ui->loadingProgressBar->setValue(100);
ui->startButton->show();
ui->offlineStartButton->setEnabled(true);
ui->autostartCheckBox->hide();
ui->offlineStartButton->show();
}
void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
@@ -139,6 +145,8 @@ void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
QString result = tr("Доступно обновление: ") + Tools::convertFileSize(size);
result += tr("Количество файлов: ") + QString::number(fileCount);
ui->inlineTextDebug->setText(result);
ui->updateButton->show();
ui->autostartCheckBox->show();
}
else
{
@@ -147,6 +155,8 @@ void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
ui->loadingProgressBar->setMaximum(100);
ui->loadingProgressBar->setValue(100);
autoStart();
ui->startButton->show();
ui->offlineStartButton->show();
}
ui->updateButton->setEnabled(flag);
@@ -181,13 +191,10 @@ void MainWindow::checkLoginResult(ServerAuthorization *serverAuth)
checkUpdate();
}
ui->updateButton->show();
ui->displayGroupWidget->show();
ui->autostartCheckBox->show();
dataParser->createAuthData(serverAuth);
ui->loginWidget->hide();
ui->LanguageWidget->hide();
ui->settingsButton->hide();
}
else {
@@ -208,6 +215,7 @@ void MainWindow::checkAppAvailable()
{
bool isAvailable = externalExecuter->findApp();
ui->startButton->setEnabled(isAvailable);
ui->offlineStartButton->setEnabled(isAvailable);
}
void MainWindow::checkLanguage(QString language)
@@ -253,13 +261,20 @@ void MainWindow::slotConnectionState(bool flag)
{
palette.setColor(ui->notificationLabel->foregroundRole(),Qt::green);
ui->notificationLabel->setText(tr("Соединение установлено"));
ui->connectButton->hide();
ui->loginWidget->show();
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(570,552,220,35);
}
else
{
palette.setColor(ui->notificationLabel->foregroundRole(),Qt::red);
ui->notificationLabel->setText(tr("Соединение отсутсвует"));
ui->connectButton->show();
ui->offlineWidget->show();
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(300,340,220,35);
ui->settingsButton->show();
ui->loginWidget->hide();
}
ui->notificationLabel->setPalette(palette);
@@ -270,10 +285,8 @@ void MainWindow::slotServerDisconnect()
{
ui->loadingProgressBar->hide();
ui->updateButton->hide();
ui->displayGroupWidget->hide();
ui->autostartCheckBox->hide();
ui->loginWidget->show();
ui->inlineTextDebug->setText("");
ui->updateButton->setEnabled(false);
slotConnectionState(false);
@@ -290,14 +303,6 @@ void MainWindow::slotDisableNotify()
timer->stop();
}
void MainWindow::debugLog(QString message)
{
ui->debugText->append(message);
}
void MainWindow::callUpdateList()
{
updateController->calculateStreamingHash();
@@ -325,6 +330,10 @@ void MainWindow::on_loginButton_clicked()
ui->notificationLabel->setText(tr("Соединение отсутсвует"));
ui->notificationLabel->setPalette(palette);
ui->notificationLabel->show();
ui->offlineWidget->show();
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(300,340,220,35);
return;
}
@@ -338,6 +347,9 @@ void MainWindow::on_loginButton_clicked()
dataParser->createAuthMessage(autorization);
emit sigSendAutorization();
ui->offlineStartButton->setGeometry(570,510,220,35);
ui->offlineStartButton->show();
}
void MainWindow::on_updateButton_clicked()
@@ -357,9 +369,14 @@ void MainWindow::on_saveServerButton_clicked()
{
ui->settingsWidget->hide();
ui->loginWidget->show();
if(client->getIsConnected()) return;
if(client->getIsConnected())
{
ui->loginWidget->show();
ui->offlineStartButton->show();
return;
}
QString server = ui->serverInputField->text();
QString port = ui->portInputField->text();
@@ -372,6 +389,8 @@ void MainWindow::on_settingsButton_clicked()
{
ui->settingsWidget->show();
ui->loginWidget->hide();
ui->offlineWidget->hide();
ui->offlineStartButton->hide();
}
void MainWindow::on_connectButton_clicked()
@@ -395,6 +414,22 @@ void MainWindow::checkUpdate()
ui->inlineTextDebug->setText(tr("Проверка обновлений..."));
}
void MainWindow::showUpdateInfo()
{
QString text = tr("Есть изменения в локальных файлах <A HREF=\"LINK\">(ссылка)</A> ");
QString list = tr("Возможные действия:\n"
" 1. Загрузить изменения на сервер\n"
" 2. Отменить изменения с загрузкой версии с сервера \n"
" 3. Запустить с текущими изменениями");
ui->updateListGuideLabel->setText(text);
ui->updateActionListLabel->setText(list);
ui->updateWidget->show();
ui->offlineStartButton->setGeometry(570,552,220,35);
}
void MainWindow::keyPressEvent(QKeyEvent *event)
{
@@ -406,11 +441,30 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
}
}
void MainWindow::on_updateListGuideLabel_linkActivated(const QString &link)
{
updateWidget->show();
}
void MainWindow::painting()
{
QFontDatabase::addApplicationFont(":/Fonts/Kanit Cyrillic.ttf");
QFontDatabase::addApplicationFont(":/Fonts/HelveticaNeue-Medium.ttf");
QFontDatabase::addApplicationFont(":/resource/Fonts/Kanit Cyrillic.ttf");
QFontDatabase::addApplicationFont(":/resource/Fonts/HelveticaNeue-Medium.ttf");
QPixmap settingIcon(":resource/Icons/settingWhite.png");
QPainter painter;
QColor color(45,84,130);
painter.begin(&settingIcon);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(settingIcon.rect(),color);
painter.end();
QIcon icon;
icon.addPixmap(settingIcon,QIcon::Normal,QIcon::Off);
ui->settingsButton->setIcon(icon);
}
MainWindow::~MainWindow()
@@ -424,3 +478,4 @@ MainWindow::~MainWindow()
delete ui;
}