mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
feat: change buttonsView
* add buttonsView common(complete) * add buttonsView instructor(notWorking) * BUGFIX sendSystem meth update files * BUGFIX updateController meth checkNeedUpdate
This commit is contained in:
135
mainwindow.cpp
135
mainwindow.cpp
@@ -18,38 +18,43 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
isRecovery = false;
|
||||
setWindowFlag(Qt::FramelessWindowHint);
|
||||
painting();
|
||||
initialize();
|
||||
}
|
||||
|
||||
void MainWindow::bindWidgets(UpdateNotifyWidget *widget,CommonButtonGroupWidget *commonButtonGroup,
|
||||
InstructorButtonGroupWidget *instructorButtonGroup)
|
||||
{
|
||||
updateWidget = widget;
|
||||
this->commonButtonGroupWidget = commonButtonGroup;
|
||||
this->instructorButtonGroupWidget = instructorButtonGroup;
|
||||
}
|
||||
|
||||
void MainWindow::initialize()
|
||||
{
|
||||
ui->loadingProgressBar->setValue(0);
|
||||
createObjects();
|
||||
|
||||
commonButtonGroupWidget->initialize(externalExecuter,sendSystem,client);
|
||||
commonButtonGroupWidget->show();
|
||||
|
||||
instructorButtonGroupWidget->initialize(this);
|
||||
ui->settingsWidget->hide();
|
||||
ui->notificationLabel->hide();
|
||||
ui->loadingProgressBar->hide();
|
||||
ui->updateButton->hide();
|
||||
ui->offlineWidget->hide();
|
||||
ui->offlineStartButton->show();
|
||||
ui->offlineStartButton->setEnabled(false);
|
||||
ui->offlineStartButton->setGeometry(540,552,250,35);
|
||||
ui->startButton->hide();
|
||||
ui->startButton->setEnabled(false);
|
||||
|
||||
ui->displayGroupWidget->show();
|
||||
ui->autostartCheckBox->hide();
|
||||
ui->startButton->setEnabled(false);
|
||||
|
||||
ui->loginWidget->hide();
|
||||
|
||||
ui->updateWidget->hide();
|
||||
ui->updateButtonGroup_2->hide();
|
||||
|
||||
createObjects();
|
||||
|
||||
bindConnection();
|
||||
|
||||
emit sigCalculateHash();
|
||||
emit sigInitializeClient(recognizeSystem,externalExecuter,sendSystem,connectionThread);
|
||||
|
||||
recognizeSystem->initialize(updateController,dataParser,this);
|
||||
recognizeSystem->initialize(updateController,dataParser,this,hashComparer,client);
|
||||
screenChecker->check();
|
||||
|
||||
loadStaticData();
|
||||
@@ -63,6 +68,13 @@ void MainWindow::initialize()
|
||||
|
||||
void MainWindow::createObjects()
|
||||
{
|
||||
updateWidget = new UpdateNotifyWidget;
|
||||
commonButtonGroupWidget = new CommonButtonGroupWidget;
|
||||
instructorButtonGroupWidget = new InstructorButtonGroupWidget;
|
||||
|
||||
ui->changButtonGroup->addWidget(commonButtonGroupWidget);
|
||||
ui->changButtonGroup->addWidget(instructorButtonGroupWidget);
|
||||
|
||||
connectionThread = new QThread;
|
||||
animationThread = new QThread;
|
||||
|
||||
@@ -95,15 +107,6 @@ void MainWindow::bindConnection()
|
||||
{
|
||||
connect(timer,&QTimer::timeout,this,&MainWindow::slotDisableNotify);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigStartCompare,hashComparer,&HashComparer::CompareDeltas);
|
||||
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::sigSocketDisabled,this,&MainWindow::lostConnection);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigSaveLoginData,this,&MainWindow::checkLoginResult); //TODO: прибратся! 2 бинда на 1 сигнал
|
||||
connect(recognizeSystem,&RecognizeSystem::sigSocketWaitForReadyRead,client,&TCPClient::waitRead,Qt::DirectConnection);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigServerBlocked,this,&MainWindow::serverBlocked);
|
||||
|
||||
connect(updateController,&UpdateController::sigUpdateComplete,this,&MainWindow::showCompleteDialogBox);
|
||||
|
||||
connect(hashComparer,&HashComparer::sigCallCheck,this,&MainWindow::checkUpdate);
|
||||
@@ -129,21 +132,17 @@ void MainWindow::updateProgress()
|
||||
{
|
||||
filesLoaded++;
|
||||
float value = 100 / ((float)fileCountForUpdate / filesLoaded);
|
||||
ui->loadingProgressBar->setValue(value);
|
||||
commonButtonGroupWidget->updateProgressBar(value);
|
||||
}
|
||||
|
||||
void MainWindow::loadComplete()
|
||||
{
|
||||
externalExecuter->findApp();
|
||||
ui->updateButton->setEnabled(false);
|
||||
ui->startButton->setEnabled(true);
|
||||
commonButtonGroupWidget->loadCompleteState();
|
||||
autoStart();
|
||||
ui->inlineTextDebug->setText(tr("Обновление завершено"));
|
||||
ui->loadingProgressBar->setValue(100);
|
||||
ui->startButton->show();
|
||||
ui->offlineStartButton->setEnabled(true);
|
||||
ui->autostartCheckBox->hide();
|
||||
ui->loadingProgressBar->hide();
|
||||
ui->offlineStartButton->show();
|
||||
}
|
||||
|
||||
@@ -164,10 +163,7 @@ 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->startButton->show();
|
||||
ui->updateButton->setEnabled(flag);
|
||||
ui->startButton->setEnabled(true);
|
||||
ui->updateButton->show();
|
||||
commonButtonGroupWidget->needUpdateState(flag);
|
||||
ui->autostartCheckBox->show();
|
||||
stopLoadingMovie();
|
||||
}
|
||||
@@ -175,8 +171,7 @@ void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
|
||||
{
|
||||
ui->inlineTextDebug->setText(tr("Установлена последняя версия"));
|
||||
autoStart();
|
||||
ui->loadingProgressBar->hide();
|
||||
ui->startButton->show();
|
||||
commonButtonGroupWidget->lastVerInstalledState();
|
||||
ui->offlineStartButton->setEnabled(true);
|
||||
stopLoadingMovie();
|
||||
}
|
||||
@@ -184,7 +179,7 @@ void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
|
||||
|
||||
void MainWindow::lostConnection()
|
||||
{
|
||||
ui->loadingProgressBar->setValue(0);
|
||||
commonButtonGroupWidget->updateProgressBar(0);
|
||||
slotConnectionState(false);
|
||||
}
|
||||
|
||||
@@ -235,7 +230,7 @@ void MainWindow::checkLoginResult(ServerAuthorization *serverAuth)
|
||||
void MainWindow::checkAppAvailable()
|
||||
{
|
||||
bool isAvailable = externalExecuter->findApp();
|
||||
ui->startButton->setEnabled(isAvailable);
|
||||
commonButtonGroupWidget->startButtonActive(isAvailable);
|
||||
ui->offlineStartButton->setEnabled(isAvailable);
|
||||
}
|
||||
|
||||
@@ -257,7 +252,7 @@ void MainWindow::checkLanguage(QString language)
|
||||
void MainWindow::autoStart()
|
||||
{
|
||||
if(ui->autostartCheckBox->isChecked()){
|
||||
on_startButton_clicked();
|
||||
startUnityClient();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,7 +279,7 @@ void MainWindow::showConnectionEmpty()
|
||||
ui->settingsButton->show();
|
||||
ui->loginWidget->hide();
|
||||
ui->updateWidget->hide();
|
||||
ui->updateButtonGroup_2->hide();
|
||||
instructorButtonGroupWidget->hide();
|
||||
}
|
||||
|
||||
void MainWindow::slotConnectionState(bool flag)
|
||||
@@ -314,13 +309,9 @@ void MainWindow::slotConnectionState(bool flag)
|
||||
|
||||
void MainWindow::slotServerDisconnect()
|
||||
{
|
||||
ui->startButton->hide();
|
||||
ui->loadingProgressBar->hide();
|
||||
ui->updateButton->hide();
|
||||
commonButtonGroupWidget->disconnectState();
|
||||
ui->autostartCheckBox->hide();
|
||||
|
||||
ui->inlineTextDebug->setText("");
|
||||
ui->updateButton->setEnabled(false);
|
||||
slotConnectionState(false);
|
||||
}
|
||||
|
||||
@@ -345,10 +336,6 @@ void MainWindow::callUpdateList()
|
||||
updateWidget->initialize(this);
|
||||
}
|
||||
|
||||
void MainWindow::bindNotifyWidget(UpdateNotifyWidget *widget)
|
||||
{
|
||||
updateWidget = widget;
|
||||
}
|
||||
|
||||
void MainWindow::on_loginButton_clicked()
|
||||
{
|
||||
@@ -370,22 +357,6 @@ void MainWindow::on_loginButton_clicked()
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::on_updateButton_clicked()
|
||||
{
|
||||
emit sigSendCommand("update");
|
||||
|
||||
ui->updateButton->hide();
|
||||
ui->startButton->hide();
|
||||
ui->loadingProgressBar->setValue(0);
|
||||
ui->loadingProgressBar->show();
|
||||
}
|
||||
|
||||
void MainWindow::on_startButton_clicked()
|
||||
{
|
||||
externalExecuter->callApp();
|
||||
sendSystem->sendDisable();
|
||||
}
|
||||
|
||||
void MainWindow::on_saveServerButton_clicked()
|
||||
{
|
||||
startLoadingAnim();
|
||||
@@ -415,11 +386,6 @@ void MainWindow::on_settingsButton_clicked()
|
||||
ui->offlineStartButton->hide();
|
||||
}
|
||||
|
||||
void MainWindow::on_connectButton_clicked()
|
||||
{
|
||||
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||
}
|
||||
|
||||
void MainWindow::on_languageComboBox_activated(const QString &arg1)
|
||||
{
|
||||
qDebug() << arg1;
|
||||
@@ -428,26 +394,24 @@ void MainWindow::on_languageComboBox_activated(const QString &arg1)
|
||||
ui->retranslateUi(this);
|
||||
}
|
||||
|
||||
void MainWindow::on_loadToServerButton_clicked()
|
||||
void MainWindow::loadToServer()
|
||||
{
|
||||
ui->inlineTextDebug->setText(tr("Отправка файлов..."));
|
||||
ui->loadingProgressBar->show();
|
||||
ui->updateButtonGroup_2->hide();
|
||||
commonButtonGroupWidget->showProgressBar(true);
|
||||
instructorButtonGroupWidget->hide();
|
||||
ui->offlineStartButton->setEnabled(false);
|
||||
ui->updateWidget->hide();
|
||||
|
||||
emit sigUpdateFilesOnServer(hashComparer->getFilesForUpdate());
|
||||
}
|
||||
|
||||
void MainWindow::on_undoChangesButton_clicked()
|
||||
void MainWindow::undoCurrentChanges()
|
||||
{
|
||||
isRecovery = true;
|
||||
emit sigSendCommand("check");
|
||||
|
||||
ui->loadingProgressBar->show();
|
||||
commonButtonGroupWidget->showProgressBar(true);
|
||||
ui->offlineStartButton->setEnabled(false);
|
||||
|
||||
ui->updateButtonGroup_2->hide();
|
||||
instructorButtonGroupWidget->hide();
|
||||
ui->updateWidget->hide();
|
||||
|
||||
startLoadingAnim();
|
||||
@@ -459,17 +423,14 @@ void MainWindow::on_undoChangesButton_clicked()
|
||||
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
|
||||
|
||||
startLoadingAnim();
|
||||
ui->updateButton->hide();
|
||||
on_updateButton_clicked();
|
||||
|
||||
emit sigSendCommand("update");
|
||||
commonButtonGroupWidget->startUpdateState();
|
||||
|
||||
isRecovery = false;
|
||||
stopLoadingMovie();
|
||||
}
|
||||
|
||||
void MainWindow::on_startWithCurrentChangesButton_clicked()
|
||||
{
|
||||
on_startButton_clicked();
|
||||
}
|
||||
|
||||
void MainWindow::on_updateListGuideLabel_linkActivated(const QString &)
|
||||
{
|
||||
updateWidget->show();
|
||||
@@ -481,7 +442,7 @@ void MainWindow::on_offlineStartButton_clicked()
|
||||
QString password = "000000";
|
||||
|
||||
dataParser->createAuthDataOffline(username,password);
|
||||
on_startButton_clicked();
|
||||
startUnityClient();
|
||||
}
|
||||
|
||||
void MainWindow::on_exitButton_clicked()
|
||||
@@ -510,7 +471,7 @@ void MainWindow::showUpdateInfo()
|
||||
ui->updateActionListLabel->setText(list);
|
||||
|
||||
ui->updateWidget->show();
|
||||
ui->updateButtonGroup_2->show();
|
||||
instructorButtonGroupWidget->show();
|
||||
ui->offlineStartButton->setGeometry(540,552,250,35);
|
||||
fileCountForUpdate = hashComparer->getFilesForUpdate()->length();
|
||||
|
||||
@@ -530,6 +491,12 @@ void MainWindow::showCompleteDialogBox()
|
||||
checkUpdate();
|
||||
}
|
||||
|
||||
void MainWindow::startUnityClient()
|
||||
{
|
||||
externalExecuter->callApp();
|
||||
sendSystem->sendDisable();
|
||||
}
|
||||
|
||||
void MainWindow::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user