From 18c16c12fe68e1fafae093539405cbf3e3499b39 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Wed, 5 Apr 2023 09:52:23 +0200 Subject: [PATCH] hiding QGuiApplicationPrivate --- src/common/QskPlatform.cpp | 5 +++++ src/common/QskPlatform.h | 5 ++++- src/controls/QskEvent.cpp | 11 +++-------- src/controls/QskQuick.cpp | 6 +++--- src/controls/QskSkin.cpp | 9 +++------ src/inputpanel/QskInputContext.cpp | 8 +++----- 6 files changed, 21 insertions(+), 23 deletions(-) diff --git a/src/common/QskPlatform.cpp b/src/common/QskPlatform.cpp index c42bbaf3..018ef40a 100644 --- a/src/common/QskPlatform.cpp +++ b/src/common/QskPlatform.cpp @@ -23,6 +23,11 @@ const QPlatformIntegration* qskPlatformIntegration() return QGuiApplicationPrivate::platformIntegration(); } +const QPlatformTheme* qskPlatformTheme() +{ + return QGuiApplicationPrivate::platformTheme(); +} + bool qskMaybeDesktopPlatform() { #if QT_CONFIG(cursor) diff --git a/src/common/QskPlatform.h b/src/common/QskPlatform.h index d2301e3b..26be24a0 100644 --- a/src/common/QskPlatform.h +++ b/src/common/QskPlatform.h @@ -10,14 +10,17 @@ class QScreen; class QPlatformIntegration; +class QPlatformTheme; class QRect; QSK_EXPORT qreal qskGlobalScaleFactor(); QSK_EXPORT bool qskMaybeDesktopPlatform(); -QSK_EXPORT const QPlatformIntegration* qskPlatformIntegration(); QSK_EXPORT QRect qskPlatformScreenGeometry( const QScreen* ); +QSK_EXPORT const QPlatformIntegration* qskPlatformIntegration(); +QSK_EXPORT const QPlatformTheme* qskPlatformTheme(); + /* One dp is a virtual pixel unit that's roughly equal to one pixel on a medium-density screen ( 160 dpi ). diff --git a/src/controls/QskEvent.cpp b/src/controls/QskEvent.cpp index a3152e92..b0063dba 100644 --- a/src/controls/QskEvent.cpp +++ b/src/controls/QskEvent.cpp @@ -9,11 +9,7 @@ #include #if QT_VERSION >= QT_VERSION_CHECK( 6, 4, 0 ) - - QSK_QT_PRIVATE_BEGIN - #include - QSK_QT_PRIVATE_END - + #include "QskPlatform.h" #include #endif @@ -127,7 +123,7 @@ bool qskIsStandardKeyInput( const QKeyEvent* event, QKeySequence::StandardKey ke constexpr auto mask = ~( Qt::KeypadModifier | Qt::GroupSwitchModifier ); // We should route this call through the skin. TODO - const auto theme = QGuiApplicationPrivate::platformTheme(); + const auto theme = qskPlatformTheme(); const auto bindings = theme->keyBindings( ( event->modifiers() | event->key() ) & mask ); return bindings.contains( QKeySequence(searchkey) ); @@ -138,8 +134,7 @@ bool qskIsButtonPressKey( const QKeyEvent* event ) { #if QT_VERSION >= QT_VERSION_CHECK( 6, 4, 0 ) - const auto hint = QGuiApplicationPrivate::platformTheme()->themeHint( - QPlatformTheme::ButtonPressKeys ); + const auto hint = qskPlatformTheme()->themeHint( QPlatformTheme::ButtonPressKeys ); const auto keys = hint.value< QList< Qt::Key > >(); return keys.contains( static_cast< Qt::Key >( event->key() ) ); diff --git a/src/controls/QskQuick.cpp b/src/controls/QskQuick.cpp index d08f5fbc..fceff5e9 100644 --- a/src/controls/QskQuick.cpp +++ b/src/controls/QskQuick.cpp @@ -7,10 +7,10 @@ #include "QskControl.h" #include "QskFunctions.h" #include "QskLayoutElement.h" +#include "QskPlatform.h" #include QSK_QT_PRIVATE_BEGIN -#include #include QSK_QT_PRIVATE_END @@ -277,7 +277,7 @@ void qskUpdateInputMethod( const QQuickItem* item, Qt::InputMethodQueries querie when using it. So let's go with QGuiApplicationPrivate. */ - auto inputContext = QGuiApplicationPrivate::platformIntegration()->inputContext(); + auto inputContext = qskPlatformIntegration()->inputContext(); if ( inputContext == nullptr ) { context = nullptr; @@ -317,7 +317,7 @@ void qskInputMethodSetVisible( const QQuickItem* item, bool on ) static QPlatformInputContext* context = nullptr; static int methodId = -1; - auto inputContext = QGuiApplicationPrivate::platformIntegration()->inputContext(); + auto inputContext = qskPlatformIntegration()->inputContext(); if ( inputContext == nullptr ) { context = nullptr; diff --git a/src/controls/QskSkin.cpp b/src/controls/QskSkin.cpp index a350f83c..4203604d 100644 --- a/src/controls/QskSkin.cpp +++ b/src/controls/QskSkin.cpp @@ -16,10 +16,7 @@ #include "QskMargins.h" -QSK_QT_PRIVATE_BEGIN -#include -QSK_QT_PRIVATE_END - +#include #include #include @@ -344,7 +341,7 @@ bool QskSkin::hasGraphicProvider() const QString QskSkin::dialogButtonText( int action ) const { - const auto theme = QGuiApplicationPrivate::platformTheme(); + const auto theme = qskPlatformTheme(); auto text = theme->standardButtonText( action ); text = QPlatformTheme::removeMnemonics( text ); @@ -357,7 +354,7 @@ const int* QskSkin::dialogButtonLayout( Qt::Orientation orientation ) const // auto policy = QPlatformDialogHelper::UnknownLayout; auto policy = QPlatformDialogHelper::WinLayout; - if ( const auto theme = QGuiApplicationPrivate::platformTheme() ) + if ( const auto theme = qskPlatformTheme() ) { const QVariant v = theme->themeHint( QPlatformTheme::DialogButtonBoxLayout ); policy = static_cast< QPlatformDialogHelper::ButtonLayout >( v.toInt() ); diff --git a/src/inputpanel/QskInputContext.cpp b/src/inputpanel/QskInputContext.cpp index 2edb0e48..299199d6 100644 --- a/src/inputpanel/QskInputContext.cpp +++ b/src/inputpanel/QskInputContext.cpp @@ -13,14 +13,12 @@ #include "QskQuick.h" #include "QskTextPredictor.h" #include "QskWindow.h" +#include "QskPlatform.h" #include #include #include - -QSK_QT_PRIVATE_BEGIN -#include -QSK_QT_PRIVATE_END +#include #include #include @@ -183,7 +181,7 @@ static QPointer< QskInputContext > qskInputContext; static void qskSendToPlatformContext( QEvent::Type type ) { - const auto integration = QGuiApplicationPrivate::platformIntegration(); + const auto integration = qskPlatformIntegration(); if ( const auto inputContext = integration->inputContext() ) {