diff options
Diffstat (limited to 'src/gui/kernel/qstylehints.cpp')
-rw-r--r-- | src/gui/kernel/qstylehints.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/gui/kernel/qstylehints.cpp b/src/gui/kernel/qstylehints.cpp index 174aa10be23..677567865f1 100644 --- a/src/gui/kernel/qstylehints.cpp +++ b/src/gui/kernel/qstylehints.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +#include "qaccessibilityhints_p.h" #include <qstylehints.h> #include "qstylehints_p.h" #include <qpa/qplatformintegration.h> @@ -179,6 +180,22 @@ void QStyleHints::setColorScheme(Qt::ColorScheme scheme) /*! + \property QStyleHints::accessibility + \brief The application's accessibility hints. + + The accessibility hints encapsulates platform dependent accessibility settings + such as whether the user wishes the application to be in high contrast or not. + + \sa QAccessibilityHints + \since 6.10 +*/ +const QAccessibilityHints *QStyleHints::accessibility() const +{ + Q_D(const QStyleHints); + return d->accessibilityHints(); +} + +/*! Sets the \a mousePressAndHoldInterval. \internal \sa mousePressAndHoldInterval() @@ -705,6 +722,26 @@ void QStyleHintsPrivate::updateColorScheme(Qt::ColorScheme colorScheme) emit q->colorSchemeChanged(colorScheme); } +/*! + \internal + + Helper function that updates the style hints when the theme changes +*/ +void QStyleHintsPrivate::update(const QPlatformTheme *theme) +{ + Q_ASSERT(theme); + updateColorScheme(theme->colorScheme()); + QAccessibilityHintsPrivate::get(accessibilityHints())->updateContrastPreference(theme->contrastPreference()); +} + +QAccessibilityHints *QStyleHintsPrivate::accessibilityHints() const +{ + Q_Q(const QStyleHints); + if (!m_accessibilityHints) + const_cast<QStyleHintsPrivate *>(this)->m_accessibilityHints = new QAccessibilityHints(const_cast<QStyleHints*>(q)); + return m_accessibilityHints; +} + QStyleHintsPrivate *QStyleHintsPrivate::get(QStyleHints *q) { Q_ASSERT(q); |