Files
GUI/src/windows/MainWindow.h

77 lines
1.7 KiB
C
Raw Normal View History

2022-06-08 17:06:38 +08:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include "utilities/StdOutRedirector.h"
#include "json/cJSON.h"
namespace Ui
{
class MainWindow;
}
class GUIMessageDialog;
class QTabWidget;
class QGestureEvent;
class QSwipeGesture;
class QPanGesture;
class QDockWidget;
2023-08-31 14:26:54 +08:00
class InitializeWidget;
2023-09-11 16:29:30 +08:00
class ShutdownWidget;
2022-06-08 17:06:38 +08:00
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget* aParent = nullptr);
2022-07-13 10:51:27 +08:00
~MainWindow() override;
2022-06-08 17:06:38 +08:00
void centerWidgetHide();
void centerWidgetShow();
2022-08-18 17:09:16 +08:00
void requestScreenSaver();
2022-06-08 17:06:38 +08:00
void grabGestures(const QList<Qt::GestureType>& aGestures);
public slots:
2023-08-31 14:26:54 +08:00
void requestLogin();
2022-06-08 17:06:38 +08:00
void triggerError(const QString&);
void triggerInfo(const QPair<QString,unsigned int>&);
2022-06-08 17:06:38 +08:00
protected:
2022-07-13 10:29:09 +08:00
void changeEvent(QEvent* aEvent) override;
2022-06-08 17:06:38 +08:00
bool event(QEvent* aEvent) override;
2022-07-12 16:13:09 +08:00
void keyPressEvent(QKeyEvent *event) override;
2022-06-08 17:06:38 +08:00
private:
void initializeTabWidget();
void initializeLayout();
bool gestureEvent(QGestureEvent* aGestureEvent);
void swipeTriggered(QSwipeGesture* aSwipeGesture);
void panTriggered(QPanGesture* aPanGesture);
void loadStyleSheet(const QString& aSheetName);
2023-09-11 16:29:30 +08:00
void showShutdownWidget();
void processShutdownDmsFailed();
2024-05-09 16:33:57 +08:00
void checkEmptyScanValidity();
void enableAllTabWidget();
2022-06-08 17:06:38 +08:00
private:
Ui::MainWindow* mUI;
QDockWidget* mDebugConsoleWidget;
QTabWidget* mTabWidget;
2023-08-31 14:26:54 +08:00
InitializeWidget* mInitializWidget;
2023-09-11 16:29:30 +08:00
ShutdownWidget* mShutdownWidget;
bool mTabInited;
2022-07-13 11:34:26 +08:00
2023-09-15 11:42:40 +08:00
void switchToScanTab(QObject* sender, QObject* data);
2022-07-13 11:34:26 +08:00
void reloadLanguage() ;
void resetRoleLayout();
2022-06-08 17:06:38 +08:00
};
#endif // MAINWINDOW_H