#ifndef RECOUI_H #define RECOUI_H #include #include #include "recoUiUnauthorized.h" #include "recoUiRecognize.h" #include "recoUiScreensaver.h" #include "recoUiPassword.h" #include "UiTools.h" #include "BackstageInterfaceForUi.h" #include "recoUiRecognizeTypeBase.h" #include "recoUiHealthCode.h" #include "recoUiRecognizeScene.h" #include "recoUiCallDial.h" #include "recoUiCallConsole.h" class statusbarUi : public MyWidgetWithMainStyleColor { Q_OBJECT public: explicit statusbarUi(QWidget *parent = nullptr); ~statusbarUi(); void updatePlatformConnectionStatus(const int); void updateIpLabel(QString& ipStr); signals: public slots: private: QLabel* m_label_ip; QLabel* m_label_platform; //QLabel* m_label_wifi; //QLabel* m_label_4g; QLabel* m_label_time; TimerUpdate* _timerUpdate; }; typedef enum { RECO_UI_PAGE_RECOGNIZE, RECO_UI_PAGE_SCREENSAVER, RECO_UI_PAGE_PASSWORD, RECO_UI_PAGE_HEALTHCODE, RECO_UI_PAGE_SCENERESULT, RECO_UI_PAGE_CALL_DIAL, RECO_UI_PAGE_CALL_CONSOLE, RECO_UI_PAGE_DRAW, RECO_UI_PAGE_MAX, RECO_UI_PAGE_WORK_MODE }RECO_UI_PAGE_E; class recoUi : public WidgetWithBackstageInterface { Q_OBJECT public: explicit recoUi(QWidget *parent = nullptr); ~recoUi(); void setBackstageUiinterface(BackstageInterfaceForUi* interface); //statusbarUi* getStatusInstance(); void update_IpBar(); void updateVideoWind(); bool isScenePassing(); void setDndMode(bool enabled, const std::chrono::system_clock::time_point &time); signals: void signalShowSettingPage(); void signalNoSuccessPage(int); void signalSuccessPage(int nPage, const QString& name); // void signalDrawScanner(const int nPage, RWFaceInfo* pInfo, int sum); void signalChangeRecoUiMode(); //底下的页面开关二维码模式信号 void signalUpdateRecoUiIpDisplay(const bool); //增加识别界面ip显示开关,更新信号 public slots: void slotShowSettingPage(); void slotShowRecoUiPage(int); void slotUpdatePlatformConnectionStatus(int); void slotShowPasswordPage(const QString& name); void slotShowRecognizePage(); void slotRecoUiswitchToType(int type); void slotSaveRecoUiPwdBtnStatus(bool status); void slotSaveRecoUiNightModeStatus(int type); void slotUpdateAdScreen(); void slotShowHealthMsg(int type, float temp, const QString& msg, bool pass, const unsigned char* jpgDate, int jpgLen, const QString& tripCity, const QString& failReason, int bgColor, int displayTime); void slotTimer(); void slotShowSceneResult(int result, const QString& resultText, const QString& businessInfo, int displayTime); void slotUpdatePersonNumAccessed(int personAccess, int personAll); void slotNoSuccessPage(int); void slotSetSceneUiPersonCountType(int type); void slotUpdateSceneUiPersonCount(int count); void slotShowCallDialPage(); void slotShowCallConsolePage(const QString&); void slotSetCallConsoleStatus(int status, const QString& text); void slotShowCallBtn(bool callButton, bool videoButton); private: QStackedWidget* m_stack_recoPage; // statusbarUi* m_statusbar; recoUiRecognize* m_recoPage = nullptr; recoUiRecognizeTypeColor* m_recoPageColor = nullptr; recoUiRecognizeTypeAd* m_recoPageAd = nullptr; //recoUiRecognizeScene* m_recoPageScene = nullptr; recoUiScreensaver* m_ssPage; recoUiPassword* m_pwdPage; recoUiHealthCode* m_healthMsgPage; recoUiSceneResult* m_sceneResult; recoUiCallDial* m_callDialPage = nullptr; recoUiCallConsole* m_callConsolePage = nullptr; bool m_showPwdBtn = false; bool m_isNightMode = false; bool m_showCallBtn = false; bool m_isPlatformConnected = false; QTimer* m_timer = nullptr; void connectRecoPage(const QObject* recoPage); void disconnectRecoPage(const QObject* recoPage); }; #endif // RECOUI_H