#ifndef SYSMAINWINDOWV2_H #define SYSMAINWINDOWV2_H #include #include "topquicktoolbarv2.h" class TopQuickButtonV2; class TopQuickToolBarV2; class QWidgetAction; class QToolButton; class TopMessageController; class QPropertyAnimation; class SysMainWindowV2 : public TopClassAbs { Q_OBJECT public: explicit SysMainWindowV2(const QString &iModuleNameStr = QString(""), const QVariantMap iUrlPars = QVariantMap(), QWidget *iParent = 0); ~SysMainWindowV2(); signals: public slots: // 打开模块 void openModule(const QString &iUrl, const QVariant &iConfigVar = QVariant()); // 加载标题栏数据 void refreshToolBarFormDb(); void loadToolBarItems(const QVariantList &iDataVarLst = QVariantList()); void openModuleUpgrade(); void showAboutDialog(); void showPasswordModificationDialog(bool iPwdStrengthCheck = true); private slots: void onQuickButtonClicked(); void onQuickButtonCloseTrigged(); void onQuickButtonFixTrigged(bool iFixedBol); void onStackedWidgetRemoved(int iIndex); void onStackedCurrentChanged(int iIndex); void onDesktopButtonClicked(); void onUserChanged(); void excuteResize(); void openUrlByAction(); void changeToolButtonStyle(Qt::ToolButtonStyle iBtnStyle, QSize iBtnSize, QSize iIconSize); void saveToolBarUserCfg(); void toolBarSizeChanged(QSize iSize); void onNotification(const QString &iKeyStr, const QVariant &iDataVar, const QString &iUuid); protected: void closeEvent(QCloseEvent *iEvent); private: void connectQuickButton(TopQuickButtonV2 *iButton); QVariantList addFlagForDbData(const QVariantList &iSysModuleDataVarLst, const QString& iDbCfgStr); QSize sizeStr2QSize(const QString &iSizeStr); QList openedModule(); QVariantMap getDataFromModule(TopClassAbs *module); QVariantMap getDataFromDb(const QString &iModuleNameStr); void openDefaultOpenedModules(); private: TopQuickToolBarV2 *mMainToolBar; QStackedWidget *mStackedWidget; QMap mQuickButtonMap; QToolButton *mMenuButton; QToolButton *mDesktopButton; QLabel *mUserLabel; QWidget *mToolFrame; QVariantList mToolBarDataVarLst; TopClassAbs *mDesktopClass; QLabel *mMessageLabel = nullptr; QPropertyAnimation *mMessageAnimation = nullptr; TopMessageController *mMessageController = nullptr; }; #endif // SYSMAINWINDOWV2_H