summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qstylehints.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qstylehints.cpp')
-rw-r--r--src/gui/kernel/qstylehints.cpp37
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);