]>
cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/accessibility/kitemlistcontaineraccessible.cpp
2 * SPDX-FileCopyrightText: 2012 Amandeep Singh <aman.dedman@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #include "kitemlistcontaineraccessible.h"
9 #include "kitemlistcontaineraccessible.h"
10 #include "kitemlistviewaccessible.h"
11 #include "kitemviews/kitemlistcontainer.h"
12 #include "kitemviews/kitemlistcontroller.h"
13 #include "kitemviews/kitemlistselectionmanager.h"
14 #include "kitemviews/kitemlistview.h"
15 #include "kitemviews/kitemmodelbase.h"
17 #include <KLocalizedString>
19 KItemListContainerAccessible::KItemListContainerAccessible(KItemListContainer
*container
)
20 : QAccessibleWidget(container
)
24 KItemListContainerAccessible::~KItemListContainerAccessible()
28 QString
KItemListContainerAccessible::text(QAccessible::Text t
) const
31 return QString(); // This class should never have focus. Instead KItemListViewAccessible should be focused and read out.
34 int KItemListContainerAccessible::childCount() const
39 int KItemListContainerAccessible::indexOfChild(const QAccessibleInterface
*child
) const
41 if (child
== KItemListContainerAccessible::child(0)) {
47 QAccessibleInterface
*KItemListContainerAccessible::child(int index
) const
50 Q_CHECK_PTR(static_cast<KItemListViewAccessible
*>(QAccessible::queryAccessibleInterface(container()->controller()->view())));
51 return QAccessible::queryAccessibleInterface(container()->controller()->view());
53 qWarning("Calling KItemListContainerAccessible::child(index) with index != 0 is always pointless.");
57 QAccessibleInterface
*KItemListContainerAccessible::focusChild() const
62 QAccessible::State
KItemListContainerAccessible::state() const
64 auto state
= QAccessibleWidget::state();
65 state
.focusable
= false;
66 state
.focused
= false;
70 void KItemListContainerAccessible::doAction(const QString
&actionName
)
72 auto view
= static_cast<KItemListViewAccessible
*>(child(0));
73 Q_CHECK_PTR(view
); // A container should always have a view. Otherwise it has no reason to exist.
74 if (actionName
== setFocusAction() && view
) {
75 view
->doAction(actionName
);
78 QAccessibleWidget::doAction(actionName
);
81 const KItemListContainer
*KItemListContainerAccessible::container() const
83 Q_CHECK_PTR(qobject_cast
<KItemListContainer
*>(object()));
84 return static_cast<KItemListContainer
*>(object());