mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
157 lines
4.5 KiB
C++
157 lines
4.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 <Core/versioncontainer.h>
|
|
#include <Core/notifycontroller.h>
|
|
#include <Data/Datas.h>
|
|
#include <Widgets/commonbuttongroupwidget.h>
|
|
#include <Widgets/entrywidget.h>
|
|
#include <Widgets/instructorbuttongroupwidget.h>
|
|
#include <Widgets/updatenotifywidget.h>
|
|
#include <Widgets/versionselectwidget.h>
|
|
#include <Widgets/waitanimationwidget.h>
|
|
#include <UI/resourcemanager.h>
|
|
#include "mywinheader.h"
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
namespace Ui { class MainWindow; }
|
|
QT_END_NAMESPACE
|
|
|
|
class TCPClient;
|
|
class UpdateController;
|
|
class RecognizeSystem;
|
|
class ExternalExecuter;
|
|
class UpdateNotifyWidget;
|
|
class SettingsWidget;
|
|
class HashComparer;
|
|
class CommonButtonGroupWidget;
|
|
class InstructorButtonGroupWidget;
|
|
class VersionSelectWidget;
|
|
class EntryWidget;
|
|
class ScreenChecker;
|
|
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MainWindow(QWidget *parent = nullptr);
|
|
void callUpdateList();
|
|
void checkUpdate();
|
|
~MainWindow();
|
|
|
|
void initialize();
|
|
void bindConnection();
|
|
void login();
|
|
void saveServerSettingsWithConnect();
|
|
void loadToServer();
|
|
void undoCurrentChanges();
|
|
void startUnityClient();
|
|
void setCurrentVersionName(StreamingVersionData *version);
|
|
void disableUnsaveButton(bool flag);
|
|
void activateLoadingAnimation(bool flag);
|
|
|
|
void showWarning(QString text);
|
|
void setInlineDebug(QString value);
|
|
signals:
|
|
void sigInitializeClient(MainWindow* mainWindow,
|
|
RecognizeSystem *recognizeSystem,
|
|
ExternalExecuter *externalExecuter,
|
|
SendSystem *sendSystem,
|
|
QThread *thread);
|
|
void sigRecognize(UpdateController* updateController,
|
|
DataParser* dataParser,
|
|
MainWindow* mainWindow,
|
|
HashComparer* hashComparer,
|
|
TCPClient *tcpClient);
|
|
|
|
void sigSendCommand(PacketType packetType);
|
|
void sigSendXMLAnswer(QString answer);
|
|
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
|
|
void sigCalculateHash();
|
|
void sigSendAutorization();
|
|
void sigSendCheck();
|
|
bool sigGetConnected();
|
|
void sigSendCheckUpdate();
|
|
|
|
|
|
public slots:
|
|
void showUpdateInfo();
|
|
void showCompleteDialogBox();
|
|
void slotConnectionState(bool flag);
|
|
void slotServerDisconnect();
|
|
void updateProgress();
|
|
void loadComplete();
|
|
void lostConnection();
|
|
void serverBlocked();
|
|
void checkLoginResult(ServerAuthorization * serverAuth);
|
|
void setNeedUpdate(bool flag,quint64 size,quint64 fileCount,quint64 deleteCount);
|
|
void showServerListWidget(QList<StreamingVersionData*> *serverData);
|
|
|
|
|
|
private slots:
|
|
void on_settingsButton_clicked();
|
|
void on_languageComboBox_activated(const QString &arg1);
|
|
void slotDisableNotify();
|
|
void on_exitButton_clicked();
|
|
void on_offlineStartButton_clicked();
|
|
void on_unsafeChangingButton_clicked();
|
|
|
|
private:
|
|
Ui::MainWindow *ui;
|
|
MyWinHeader *header;
|
|
UpdateNotifyWidget *updateWidget;
|
|
CommonButtonGroupWidget *commonButtonGroupWidget;
|
|
EntryWidget *entryWidget;
|
|
VersionSelectWidget *versionSelectWidget;
|
|
WaitAnimationWidget *waitAnimationWidget;
|
|
InstructorButtonGroupWidget *instructorButtonGroup;
|
|
|
|
QTranslator translator;
|
|
TCPClient *client;
|
|
DataParser *dataParser;
|
|
UpdateController *updateController;
|
|
RecognizeSystem *recognizeSystem;
|
|
ScreenChecker *screenChecker;
|
|
ExternalExecuter *externalExecuter;
|
|
SendSystem *sendSystem;
|
|
HashComparer *hashComparer;
|
|
VersionContainer *versionContainer;
|
|
ResourceManager *resourceManager;
|
|
NotifyController *notifyController;
|
|
|
|
QThread *workerThread;
|
|
QThread *animationThread;
|
|
QTimer *timer;
|
|
QList<FileData> *updateList;
|
|
|
|
int fileCountForUpdate;
|
|
int filesLoaded;
|
|
bool isRecovery;
|
|
|
|
void checkAppAvailable();
|
|
void checkLanguage(QString language);
|
|
void autoStart();
|
|
void loadStaticData();
|
|
void bindClient();
|
|
void createObjects();
|
|
void showConnectionEmpty();
|
|
void setTitle();
|
|
void setUpUi();
|
|
|
|
void setServerVersion(StreamingVersionData *version);
|
|
protected:
|
|
virtual void keyPressEvent(QKeyEvent *event);
|
|
};
|
|
#endif // MAINWINDOW_H
|