Files
RRJClient/mainwindow.cpp
2025-01-20 10:58:40 +03:00

133 lines
3.1 KiB
C++

#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
Initialize();
}
void MainWindow::Initialize()
{
ui->settingsWidget->hide();
client = new TCPClient;
dataParser = new DataParser;
updateController = new UpdateController(dataParser);
recognizeSystem = new RecognizeSystem;
screenChecker = new ScreenChecker;
externalExecuter = new ExternalExecuter;
connect(recognizeSystem,&RecognizeSystem::UpdateBytesAvailable,this,&MainWindow::UpdateProgress);
connect(recognizeSystem, &RecognizeSystem::LoadComplete,this,&MainWindow::LoadComplete);
connect(recognizeSystem,&RecognizeSystem::onNeedUpdate,this,&MainWindow::SetNeedUpdate);
connect(recognizeSystem, &RecognizeSystem::onSendDebugLog,this,&MainWindow::DebugLog);
connect(client,&TCPClient::onSendDebugLog,this,&MainWindow::DebugLog);
client->Initialize(updateController,recognizeSystem,externalExecuter);
recognizeSystem->Initialize(updateController);
screenChecker->Check();
ui->disblayCount->setText(screenChecker->getScreenCount());
ui->updateButton->setEnabled(false);
ui->startButton->setEnabled(false);
maxBytesAvailable = 0;
ui->loadingProgressBar->setValue(0);
client->SetConnect(dataParser->GetServerSettings());
}
void MainWindow::UpdateProgress(qint64 size,quint64 sended)
{
ui->loadingProgressBar->setMaximum(size);
ui->loadingProgressBar->setMinimum(0);
ui->loadingProgressBar->setValue(sended);
}
void MainWindow::LoadComplete()
{
ui->loadingProgressBar->setValue(100);
ui->updateButton->setEnabled(false);
externalExecuter->FindApp();
ui->startButton->setEnabled(true);
}
void MainWindow::SetNeedUpdate(bool flag)
{
ui->updateButton->setEnabled(flag);
ui->startButton->setEnabled(!flag);
}
void MainWindow::on_loginButton_clicked()
{
QString username = ui->loginInputField->text();
QString password = ui->passwordInputField->text();
qDebug() << "Try login: " << username;
qDebug() << "Try pass: " << password;
}
void MainWindow::on_updateButton_clicked()
{
client->onMessageEntered("update");
ui->loadingProgressBar->setValue(0);
}
void MainWindow::on_startButton_clicked()
{
externalExecuter->CallApp();
}
void MainWindow::on_saveServerButton_clicked()
{
ui->settingsWidget->hide();
ui->loginWidget->show();
QString server = ui->serverInputField->text();
QString port = ui->portInputField->text();
dataParser->CreateServerSettings(server,port);
client->SetConnect(dataParser->GetServerSettings());
}
void MainWindow::on_settingsButton_clicked()
{
ui->settingsWidget->show();
ui->loginWidget->hide();
ServerSettings *currentSettings = dataParser->GetServerSettings();
ui->serverInputField->setText(currentSettings->Address);
ui->portInputField->setText(currentSettings->Port);
}
void MainWindow::DebugLog(QString message)
{
ui->debugText->append(message);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_checkUpdate_clicked()
{
client->onMessageEntered("check");
}