|
1 | 1 | /* |
2 | | - * SPDX-FileCopyrightText: 2017 - 2023 UnionTech Software Technology Co., Ltd. |
| 2 | + * SPDX-FileCopyrightText: 2017 - 2026 UnionTech Software Technology Co., Ltd. |
3 | 3 | * SPDX-License-Identifier: LGPL-3.0-or-later |
4 | 4 | */ |
5 | 5 | #include "qdeepintheme.h" |
|
18 | 18 |
|
19 | 19 | #include <private/qicon_p.h> |
20 | 20 | #include <private/qiconloader_p.h> |
21 | | -#define private public |
22 | 21 | #include <private/qhighdpiscaling_p.h> |
23 | | -#undef private |
24 | 22 | #include <private/qwindow_p.h> |
25 | 23 | #include <private/qguiapplication_p.h> |
26 | 24 | #include <private/qfactoryloader_p.h> |
27 | 25 | #include <qpa/qwindowsysteminterface_p.h> |
28 | 26 | #include <qpa/qplatformscreen.h> |
29 | 27 | #include <qpa/qplatformcursor.h> |
| 28 | +#include "dprivateaccessor_p.h" |
30 | 29 |
|
31 | 30 | #undef signals |
32 | 31 | #include <X11/Xlib.h> |
33 | 32 |
|
34 | 33 | DGUI_USE_NAMESPACE |
35 | 34 |
|
| 35 | +#if QT_VERSION < QT_VERSION_CHECK(5,14,0) |
| 36 | +using QHighDpiScaling_m_logicalDpi_type = QPair<qreal, qreal>; |
| 37 | +D_DECLARE_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_logicalDpi_tag, QHighDpiScaling, m_logicalDpi, QHighDpiScaling_m_logicalDpi_type); |
| 38 | +#elif QT_VERSION < QT_VERSION_CHECK(6,0,0) |
| 39 | +D_DECLARE_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_usePixelDensity_tag, QHighDpiScaling, m_usePixelDensity, bool); |
| 40 | +#else |
| 41 | +D_DECLARE_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_usePlatformPluginDpi_tag, QHighDpiScaling, m_usePlatformPluginDpi, bool); |
| 42 | +#endif |
| 43 | +D_DECLARE_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_factor_tag, QHighDpiScaling, m_factor, qreal); |
| 44 | +D_DECLARE_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_screenFactorSet_tag, QHighDpiScaling, m_screenFactorSet, bool); |
| 45 | + |
36 | 46 | #ifdef XDG_ICON_VERSION_MAR |
37 | 47 | #include <XdgIcon> |
38 | 48 | extern void updateXdgIconSystemTheme(); |
@@ -275,7 +285,7 @@ static bool updateScaleFactor(qreal value) |
275 | 285 | value = 1.0; |
276 | 286 | } |
277 | 287 |
|
278 | | - if (qFuzzyCompare(QHighDpiScaling::m_factor, value)) { |
| 288 | + if (qFuzzyCompare(D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_factor_tag{}), value)) { |
279 | 289 | return false; |
280 | 290 | } |
281 | 291 |
|
@@ -386,20 +396,20 @@ static bool updateScaleLogcailDpi(const QPair<qreal, qreal> &dpi) |
386 | 396 | bool ok = dpi.first >= 0 && dpi.second >= 0; |
387 | 397 | #if QT_VERSION < QT_VERSION_CHECK(5,14,0) |
388 | 398 | if (dpi.first > 0) { |
389 | | - QHighDpiScaling::m_logicalDpi.first = dpi.first; |
| 399 | + D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_logicalDpi_tag{}).first = dpi.first; |
390 | 400 | } else if (qIsNull(dpi.first)) { |
391 | | - QHighDpiScaling::m_logicalDpi.first = qGuiApp->primaryScreen()->handle()->logicalDpi().first; |
| 401 | + D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_logicalDpi_tag{}).first = qGuiApp->primaryScreen()->handle()->logicalDpi().first; |
392 | 402 | } |
393 | 403 |
|
394 | 404 | if (dpi.second > 0) { |
395 | | - QHighDpiScaling::m_logicalDpi.second = dpi.second; |
| 405 | + D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_logicalDpi_tag{}).second = dpi.second; |
396 | 406 | } else if (qIsNull(dpi.second)) { |
397 | | - QHighDpiScaling::m_logicalDpi.second = qGuiApp->primaryScreen()->handle()->logicalDpi().second; |
| 407 | + D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_logicalDpi_tag{}).second = qGuiApp->primaryScreen()->handle()->logicalDpi().second; |
398 | 408 | } |
399 | 409 | #elif QT_VERSION < QT_VERSION_CHECK(6,0,0) |
400 | | - QHighDpiScaling::m_usePixelDensity = false; // Do not use dpi from platform plugin |
| 410 | + D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_usePixelDensity_tag{}) = false; // Do not use dpi from platform plugin |
401 | 411 | #else |
402 | | - QHighDpiScaling::m_usePlatformPluginDpi = false; // Do not use dpi from platform plugin |
| 412 | + D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_usePlatformPluginDpi_tag{}) = false; // Do not use dpi from platform plugin |
403 | 413 | #endif |
404 | 414 | return ok; |
405 | 415 | } |
@@ -753,7 +763,7 @@ static void compelledUpdateScaleLogcailDpi() { |
753 | 763 | } |
754 | 764 |
|
755 | 765 | static void onScreenAdded(QScreen *s) { |
756 | | - if (QHighDpiScaling::m_screenFactorSet) { |
| 766 | + if (D_PRIVATE_STATIC_MEMBER(QHighDpiScaling_m_screenFactorSet_tag{})) { |
757 | 767 | auto setting = QDeepinTheme::getSettings(); |
758 | 768 | auto value = setting->screenScaleFactors(); |
759 | 769 |
|
|
0 commit comments