dde-control-center
Deepin Control Center
载入中...
搜索中...
未找到
dccapp.h
1// SPDX-FileCopyrightText: 2024 - 2027 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4#ifndef DCCAPP_H
5#define DCCAPP_H
6#include "dccobject.h"
7
8#include <QObject>
9
10QT_BEGIN_NAMESPACE
11class QWindow;
12class QAbstractItemModel;
13class QSortFilterProxyModel;
14QT_END_NAMESPACE
15
16namespace dccV25 {
17class DccApp : public QObject
18{
19 Q_OBJECT
20public:
21 enum UosEdition {
22 UosEditionUnknown,
23 UosProfessional,
24 UosHome,
25 UosCommunity,
26 UosMilitary,
27 UosEnterprise,
28 UosEnterpriseC,
29 UosEuler,
30 UosMilitaryS, // for Server
31 UosDeviceEdition,
32 UosEducation,
33
34 UosEditionCount // must at last
35 };
36 Q_ENUM(UosEdition)
37
38 enum AnimationMode {
39 AnimationPush,
40 AnimationPop
41 };
42 Q_ENUM(AnimationMode)
43
44 static DccApp *instance();
45
46 Q_PROPERTY(int width READ width)
47 Q_PROPERTY(int height READ height)
48 Q_PROPERTY(DccObject * root READ root NOTIFY rootChanged)
49 Q_PROPERTY(DccObject * activeObject READ activeObject NOTIFY activeObjectChanged)
50 Q_PROPERTY(AnimationMode animationMode READ animationMode WRITE setAnimationMode NOTIFY animationModeChanged)
51
52 virtual int width() const;
53 virtual int height() const;
54 virtual DccObject *root() const;
55 virtual DccObject *activeObject() const;
56 virtual AnimationMode animationMode() const {
57 return m_animationMode;
58 }
59 virtual void setAnimationMode(AnimationMode mode);
60
61public Q_SLOTS:
62 virtual DccObject *object(const QString &name);
63 virtual void addObject(DccObject *obj);
64 virtual void removeObject(DccObject *obj);
65 virtual void removeObject(const QString &name);
66 virtual void showPage(const QString &url);
67 virtual void showPage(DccObject *obj, const QString &cmd);
68 virtual QWindow *mainWindow() const;
69 virtual QAbstractItemModel *navModel() const;
70 virtual QSortFilterProxyModel *searchModel() const;
71
72Q_SIGNALS:
73 void rootChanged(DccObject *root);
74 void activeObjectChanged(DccObject *activeObject);
75 void activeItemChanged(QQuickItem *item);
76 void animationModeChanged(AnimationMode mode);
77
78protected:
79 explicit DccApp(QObject *parent = nullptr);
80 ~DccApp() override;
81private:
82 AnimationMode m_animationMode;
83};
84} // namespace dccV25
85
86#endif // DCCAPP_H
Definition dccapp.h:18
Definition dccobject.h:14