7#if QT_DEPRECATED_SINCE(6
, 9
)
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
64QQuickLabsPlatformColorDialog::QQuickLabsPlatformColorDialog(QObject *parent)
65 : QQuickLabsPlatformDialog(QPlatformTheme::ColorDialog, parent),
66 m_options(QColorDialogOptions::create())
71
72
73
74
75
76
77
78
79
80
81
82
83QColor QQuickLabsPlatformColorDialog::color()
const
88void QQuickLabsPlatformColorDialog::setColor(
const QColor &color)
94 setCurrentColor(color);
99
100
101
102
103
104
105
106
107
108
109QColor QQuickLabsPlatformColorDialog::currentColor()
const
111 if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle()))
112 return colorDialog->currentColor();
113 return m_currentColor;
116void QQuickLabsPlatformColorDialog::setCurrentColor(
const QColor &color)
118 if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle()))
119 colorDialog->setCurrentColor(color);
120 m_currentColor = color;
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138QColorDialogOptions::ColorDialogOptions QQuickLabsPlatformColorDialog::options()
const
140 return m_options->options();
143void QQuickLabsPlatformColorDialog::setOptions(QColorDialogOptions::ColorDialogOptions options)
145 if (options == m_options->options())
148 m_options->setOptions(options);
149 emit optionsChanged();
152bool QQuickLabsPlatformColorDialog::useNativeDialog()
const
154 return QQuickLabsPlatformDialog::useNativeDialog()
155 && !m_options->testOption(QColorDialogOptions::DontUseNativeDialog);
158void QQuickLabsPlatformColorDialog::onCreate(QPlatformDialogHelper *dialog)
160 if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(dialog)) {
161 connect(colorDialog, &QPlatformColorDialogHelper::currentColorChanged,
this, &QQuickLabsPlatformColorDialog::currentColorChanged);
162 colorDialog->setOptions(m_options);
163 colorDialog->setCurrentColor(m_currentColor);
167void QQuickLabsPlatformColorDialog::onShow(QPlatformDialogHelper *dialog)
169 m_options->setWindowTitle(title());
170 if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(dialog))
171 colorDialog->setOptions(m_options);
174void QQuickLabsPlatformColorDialog::accept()
176 setColor(currentColor());
177 QQuickLabsPlatformDialog::accept();
182#include "moc_qquicklabsplatformcolordialog_p.cpp"