#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "utilities/StdOutRedirector.h" #include "json/cJSON.h" namespace Ui { class MainWindow; } class GUIMessageDialog; class QTabWidget; class QGestureEvent; class QSwipeGesture; class QPanGesture; class QDockWidget; class InitializeWidget; class ShutdownWidget; class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget* aParent = nullptr); ~MainWindow() override; void centerWidgetHide(); void centerWidgetShow(); void requestScreenSaver(); //void grabGestures(const QList& aGestures); public slots: void requestLogin(); void triggerError(const QString&); void triggerInfo(const QPair&); protected: void changeEvent(QEvent* aEvent) override; // bool event(QEvent* aEvent) override; void keyPressEvent(QKeyEvent *event) override; private: void initializeTabWidget(); void initializeLayout(); // bool gestureEvent(QGestureEvent* aGestureEvent); // void swipeTriggered(QSwipeGesture* aSwipeGesture); // void panTriggered(QPanGesture* aPanGesture); void loadStyleSheet(const QString& aSheetName); void showShutdownWidget(); void processShutdownDmsFailed(); void checkEmptyScanValidity(); void enableAllTabWidget(); void handleEmptyScanDataCorrupted(); private: Ui::MainWindow* mUI; QDockWidget* mDebugConsoleWidget; QTabWidget* mTabWidget; InitializeWidget* mInitializWidget; ShutdownWidget* mShutdownWidget; QWidget* mScanPage; QWidget* mTopbarWidget; bool mTabInited; void switchToScanTab(QObject* sender, QObject* data); void reloadLanguage() ; void resetRoleLayout(); }; #endif // MAINWINDOW_H