Merge branch 'master' into cmake

This commit is contained in:
Uwe Rathmann 2023-04-05 10:04:19 +02:00
commit 445f6c767a
13 changed files with 39 additions and 42 deletions

View File

@ -7,11 +7,11 @@
#include <qdebug.h>
#include <qset.h>
#include <qobject.h>
#include <qcoreapplication.h>
QSK_QT_PRIVATE_BEGIN
#include <private/qhooks_p.h>
#include <private/qobject_p.h>
#include <private/qquickitem_p.h>
QSK_QT_PRIVATE_END
#define QSK_OBJECT_INFO 0
@ -20,10 +20,19 @@ QSK_QT_PRIVATE_END
#include <qset.h>
#endif
#if QT_VERSION < QT_VERSION_CHECK( 6, 4, 0 )
QSK_QT_PRIVATE_BEGIN
#include <private/qquickitem_p.h>
QSK_QT_PRIVATE_END
#endif
static inline bool qskIsItem( const QObject* object )
{
QObjectPrivate* o_p = QObjectPrivate::get( const_cast< QObject* >( object ) );
#if QT_VERSION >= QT_VERSION_CHECK( 6, 4, 0 )
return object->isQuickItemType();
#else
/*
The addObject hook is called from the constructor of QObject,
where we don't have the derived class constructed yet.
@ -31,7 +40,9 @@ static inline bool qskIsItem( const QObject* object )
RTTI being enabled. TODO ...
*/
auto o_p = QObjectPrivate::get( const_cast< QObject* >( object ) );
return dynamic_cast< QQuickItemPrivate* >( o_p ) != nullptr;
#endif
}
namespace

View File

@ -23,6 +23,11 @@ const QPlatformIntegration* qskPlatformIntegration()
return QGuiApplicationPrivate::platformIntegration();
}
const QPlatformTheme* qskPlatformTheme()
{
return QGuiApplicationPrivate::platformTheme();
}
bool qskMaybeDesktopPlatform()
{
#if QT_CONFIG(cursor)

View File

@ -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 ).

View File

@ -9,11 +9,7 @@
#include <qevent.h>
#if QT_VERSION >= QT_VERSION_CHECK( 6, 4, 0 )
QSK_QT_PRIVATE_BEGIN
#include <private/qguiapplication_p.h>
QSK_QT_PRIVATE_END
#include "QskPlatform.h"
#include <qpa/qplatformtheme.h>
#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() ) );

View File

@ -7,10 +7,10 @@
#include "QskControl.h"
#include "QskFunctions.h"
#include "QskLayoutElement.h"
#include "QskPlatform.h"
#include <qquickitem.h>
QSK_QT_PRIVATE_BEGIN
#include <private/qguiapplication_p.h>
#include <private/qquickitem_p.h>
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;

View File

@ -26,7 +26,9 @@ QSK_QT_PRIVATE_BEGIN
#endif
#endif
#if defined( QT_DEBUG )
#include <private/qquickpositioners_p.h>
#endif
QSK_QT_PRIVATE_END

View File

@ -11,10 +11,8 @@
#include "QskSGNode.h"
QSK_QT_PRIVATE_BEGIN
#include <private/qquickclipnode_p.h>
#include <private/qquickitem_p.h>
#include <private/qquickitemchangelistener_p.h>
#include <private/qquickwindow_p.h>
QSK_QT_PRIVATE_END
static inline bool qskNeedsScrollBars(

View File

@ -16,10 +16,7 @@
#include "QskMargins.h"
QSK_QT_PRIVATE_BEGIN
#include <private/qguiapplication_p.h>
QSK_QT_PRIVATE_END
#include <qguiapplication.h>
#include <qpa/qplatformdialoghelper.h>
#include <qpa/qplatformtheme.h>
@ -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() );

View File

@ -32,13 +32,9 @@
#include <qquickwindow.h>
#include <qsgsimplerectnode.h>
QSK_QT_PRIVATE_BEGIN
#include <private/qquickitem_p.h>
QSK_QT_PRIVATE_END
static inline QRectF qskSceneAlignedRect( const QQuickItem* item, const QRectF& rect )
{
const auto transform = QQuickItemPrivate::get( item )->itemToWindowTransform();
const auto transform = item->itemTransform( nullptr, nullptr );
if ( transform.type() > QTransform::TxTranslate )
return rect;

View File

@ -19,7 +19,6 @@
QSK_QT_PRIVATE_BEGIN
#include <private/qpainter_p.h>
#include <private/qpaintengineex_p.h>
QSK_QT_PRIVATE_END
static inline qreal qskDevicePixelRatio()

View File

@ -13,14 +13,12 @@
#include "QskQuick.h"
#include "QskTextPredictor.h"
#include "QskWindow.h"
#include "QskPlatform.h"
#include <qguiapplication.h>
#include <qmap.h>
#include <qpointer.h>
QSK_QT_PRIVATE_BEGIN
#include <private/qguiapplication_p.h>
QSK_QT_PRIVATE_END
#include <qthread.h>
#include <qpa/qplatforminputcontext.h>
#include <qpa/qplatformintegration.h>
@ -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() )
{

View File

@ -11,11 +11,6 @@
#include <qsgtexture.h>
QSK_QT_PRIVATE_BEGIN
#include <private/qrhi_p.h>
#include <private/qdrawhelper_p.h>
QSK_QT_PRIVATE_END
#include <cmath>
// RHI shaders are supported by Qt 5.15 and Qt 6.x

View File

@ -12,8 +12,6 @@
#include <qsgnode.h>
QSK_QT_PRIVATE_BEGIN
#include <private/qsgadaptationlayer_p.h>
#include <private/qsgcontext_p.h>
#include <private/qquickitem_p.h>
QSK_QT_PRIVATE_END