DtkDeclarative
DTK Declarative module
载入中...
搜索中...
未找到
dquickdciiconimage_p_p.h
1// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DQUICKDCIICONIMAGE_P_P_H
6#define DQUICKDCIICONIMAGE_P_P_H
7
8#include "dquickiconimage_p.h"
9#include "dqmlglobalobject_p.h"
10#include "dquickdciiconimage_p.h"
11#include "dquickiconimage_p_p.h"
12
13#include <dobject_p.h>
14#include <DDciIconPalette>
15#include <DDciIconPlayer>
16#include <QTimer>
17
18DQUICK_BEGIN_NAMESPACE
19class DQuickDciIconImageItemPrivate;
21{
22 Q_DECLARE_PUBLIC(DQuickIconImage)
23
24public:
26 void maybeUpdateUrl();
27 void play(int mode);
28 QUrlQuery getUrlQuery();
29
30 void updatePlayer();
31 void updatePlayerIconSize();
32private:
33 DQuickDciIconImagePrivate *parentPriv;
34 DDciIconPlayer *player = nullptr;
35 QString iconPathCache;
36};
37
38class DQuickDciIconImagePrivate : public DCORE_NAMESPACE::DObjectPrivate
39{
40 Q_DECLARE_PUBLIC(DQuickDciIconImage)
41
42public:
44 void layout();
45 void scheduleLayout();
46 void updateImageSourceUrl();
47 void play(DQMLGlobalObject::ControlState mode);
48
49 DDciIconPalette palette;
50 DQuickIconImage *imageItem;
51 QTimer *layoutTimer = nullptr;
52 DQMLGlobalObject::ControlState mode = DQMLGlobalObject::NormalState;
53 DGuiApplicationHelper::ColorType theme = DGuiApplicationHelper::ColorType::LightType;
54 bool fallbackToQIcon = true;
55};
56
57DQUICK_END_NAMESPACE
58#endif // DQUICKDCIICONIMAGE_P_P_H
Definition dquickdciiconimage_p_p.h:21
Definition dquickdciiconimage_p_p.h:39
Definition dquickdciiconimage_p.h:23
Definition dquickiconimage_p_p.h:20
Definition dquickiconimage_p.h:23