aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates/accessible/qaccessiblequickcontrol.cpp
blob: d079c530530bd504f0a0b2d5b191740fbc51e1da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright (C) 2025 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
// Qt-Security score:significant reason:default

#include "qaccessiblequickcontrol_p.h"
#include "qquickcontrol_p.h"

QT_BEGIN_NAMESPACE

QAccessibleQuickControl::QAccessibleQuickControl(QQuickControl *control)
    : QAccessibleQuickItem(control)
{
}

void *QAccessibleQuickControl::interface_cast(QAccessible::InterfaceType t)
{
    if (t == QAccessible::AttributesInterface)
        return static_cast<QAccessibleAttributesInterface *>(this);

    return QAccessibleQuickItem::interface_cast(t);
}

QList<QAccessible::Attribute> QAccessibleQuickControl::attributeKeys() const
{
    return { QAccessible::Attribute::Locale };
}

QVariant QAccessibleQuickControl::attributeValue(QAccessible::Attribute key) const
{
    if (key == QAccessible::Attribute::Locale)
        return QVariant::fromValue(control()->locale());

    return QVariant();
}

QQuickControl *QAccessibleQuickControl::control() const
{
    return static_cast<QQuickControl *>(object());
}

QT_END_NAMESPACE