#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include #include #include #include #include #include "Datas.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 MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); void callUpdateList(); void bindNotifyWidget(UpdateNotifyWidget *widget); void checkUpdate(); ~MainWindow(); void bindConnection(); signals: void sigInitializeClient(RecognizeSystem *recognizeSystem, ExternalExecuter *externalExecuter, SendSystem *sendSystem, QThread *thread); void sigUpdateFilesOnServer(QList *fileSendList); void sigSetConnect(ServerSettings* serverSettings,QThread *thread); void sigCalculateHash(); void sigSendCommand(QString message); void sigSendAutorization(); bool sigGetConnected(); private slots: void on_loginButton_clicked(); void on_updateButton_clicked(); void on_startButton_clicked(); void on_saveServerButton_clicked(); void on_settingsButton_clicked(); void on_connectButton_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_loadToServerButton_clicked(); void on_undoChangesButton_clicked(); void on_startWithCurrentChangesButton_clicked(); void on_exitButton_clicked(); void on_offlineStartButton_clicked(); private: Ui::MainWindow *ui; MyWinHeader *header; UpdateNotifyWidget *updateWidget; 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 *updateList; int fileCountForUpdate; int filesLoaded; bool isRecovery; void painting(); void initialize(); void updateProgress(); void loadComplete(); void setNeedUpdate(bool flag,quint64 size,quint64 fileCount); void lostConnection(); void serverBlocked(); void checkLoginResult(ServerAuthorization * serverAuth); void checkAppAvailable(); void checkLanguage(QString language); void autoStart(); void loadStaticData(); void bindClient(); void createObjects(); void showUpdateInfo(); void startLoadingAnim(); void stopLoadingMovie(); void showCompleteDialogBox(); void showConnectionEmpty(); protected: virtual void keyPressEvent(QKeyEvent *event); }; #endif // MAINWINDOW_H