1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#ifndef SYSMAINWINDOWV2_H
#define SYSMAINWINDOWV2_H
#include <topcore/topclassabs.h>
#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<TopClassAbs *> openedModule();
QVariantMap getDataFromModule(TopClassAbs *module);
QVariantMap getDataFromDb(const QString &iModuleNameStr);
void openDefaultOpenedModules();
private:
TopQuickToolBarV2 *mMainToolBar;
QStackedWidget *mStackedWidget;
QMap<TopQuickButtonV2*, QWidget*> 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