mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
* add buttonsView common(complete) * add buttonsView instructor(notWorking) * BUGFIX sendSystem meth update files * BUGFIX updateController meth checkNeedUpdate
131 lines
3.5 KiB
C++
131 lines
3.5 KiB
C++
#ifndef MAINWINDOW_H
|
|
#define MAINWINDOW_H
|
|
|
|
#include <QMainWindow>
|
|
#include <QDebug>
|
|
#include <QThread>
|
|
#include <QTranslator>
|
|
#include <Core/dataparser.h>
|
|
#include <Core/tcpclient.h>
|
|
#include <Core/screenchecker.h>
|
|
#include <Core/UpdateController.h>
|
|
#include <Core/sendsystem.h>
|
|
#include <Core/hashcomparer.h>
|
|
#include "Datas.h"
|
|
#include "commonbuttongroupwidget.h"
|
|
#include "instructorbuttongroupwidget.h"
|
|
#include "mywinheader.h"
|
|
#include "updatenotifywidget.h"
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
namespace Ui { class MainWindow; }
|
|
QT_END_NAMESPACE
|
|
|
|
class TCPClient;
|
|
class UpdateController;
|
|
class RecognizeSystem;
|
|
class ExternalExecuter;
|
|
class UpdateNotifyWidget;
|
|
class HashComparer;
|
|
class CommonButtonGroupWidget;
|
|
class InstructorButtonGroupWidget;
|
|
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MainWindow(QWidget *parent = nullptr);
|
|
void callUpdateList();
|
|
void bindWidgets(UpdateNotifyWidget *widget,CommonButtonGroupWidget *commonButtonGroup,
|
|
InstructorButtonGroupWidget *instructorButtonGroup);
|
|
void checkUpdate();
|
|
~MainWindow();
|
|
|
|
void bindConnection();
|
|
|
|
signals:
|
|
void sigInitializeClient(RecognizeSystem *recognizeSystem,
|
|
ExternalExecuter *externalExecuter,
|
|
SendSystem *sendSystem,
|
|
QThread *thread);
|
|
void sigSendCommand(QString command);
|
|
void sigUpdateFilesOnServer(QList<FileData> *fileSendList);
|
|
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
|
|
void sigCalculateHash();
|
|
void sigSendAutorization();
|
|
bool sigGetConnected();
|
|
|
|
|
|
public slots:
|
|
void updateProgress();
|
|
void loadComplete();
|
|
void lostConnection();
|
|
void serverBlocked();
|
|
void checkLoginResult(ServerAuthorization * serverAuth);
|
|
void setNeedUpdate(bool flag,quint64 size,quint64 fileCount);
|
|
|
|
|
|
private slots:
|
|
void on_loginButton_clicked();
|
|
void on_saveServerButton_clicked();
|
|
void on_settingsButton_clicked();
|
|
void on_languageComboBox_activated(const QString &arg1);
|
|
void slotDisableNotify();
|
|
void slotConnectionState(bool flag);
|
|
void slotServerDisconnect();
|
|
void on_updateListGuideLabel_linkActivated(const QString &link);
|
|
void on_exitButton_clicked();
|
|
void on_offlineStartButton_clicked();
|
|
|
|
|
|
private:
|
|
Ui::MainWindow *ui;
|
|
MyWinHeader *header;
|
|
UpdateNotifyWidget *updateWidget;
|
|
CommonButtonGroupWidget *commonButtonGroupWidget;
|
|
InstructorButtonGroupWidget *instructorButtonGroupWidget;
|
|
QTranslator translator;
|
|
TCPClient *client;
|
|
DataParser *dataParser;
|
|
UpdateController *updateController;
|
|
RecognizeSystem *recognizeSystem;
|
|
ScreenChecker *screenChecker;
|
|
ExternalExecuter *externalExecuter;
|
|
SendSystem *sendSystem;
|
|
HashComparer *hashComparer;
|
|
QThread *connectionThread;
|
|
QThread *animationThread;
|
|
QTimer *timer;
|
|
QMovie *movie;
|
|
QLabel *movieLabel;
|
|
QList<FileData> *updateList;
|
|
|
|
int fileCountForUpdate;
|
|
int filesLoaded;
|
|
bool isRecovery;
|
|
|
|
void painting();
|
|
void checkAppAvailable();
|
|
void checkLanguage(QString language);
|
|
void autoStart();
|
|
void loadStaticData();
|
|
void bindClient();
|
|
void createObjects();
|
|
void showUpdateInfo();
|
|
void startLoadingAnim();
|
|
void stopLoadingMovie();
|
|
void showCompleteDialogBox();
|
|
void showConnectionEmpty();
|
|
|
|
public:
|
|
void initialize();
|
|
void loadToServer();
|
|
void undoCurrentChanges();
|
|
void startUnityClient();
|
|
|
|
protected:
|
|
virtual void keyPressEvent(QKeyEvent *event);
|
|
};
|
|
#endif // MAINWINDOW_H
|