diff options
Diffstat (limited to 'src/kitemviews/accessibility/kitemlistcontaineraccessible.h')
| -rw-r--r-- | src/kitemviews/accessibility/kitemlistcontaineraccessible.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/kitemviews/accessibility/kitemlistcontaineraccessible.h b/src/kitemviews/accessibility/kitemlistcontaineraccessible.h new file mode 100644 index 000000000..5a7147a36 --- /dev/null +++ b/src/kitemviews/accessibility/kitemlistcontaineraccessible.h @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2012 Amandeep Singh <[email protected]> + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef KITEMLISTCONTAINERACCESSIBLE_H +#define KITEMLISTCONTAINERACCESSIBLE_H + +#include "dolphin_export.h" + +#include <QAccessibleWidget> + +class KItemListContainer; +class KItemListViewAccessible; + +/** + * The accessible interface for KItemListContainer. + * + * Truthfully, there is absolutely no reason for screen reader users to interact with this interface. + * It is only there to bridge the gap between custom accessible interfaces and the automatically by Qt and QWidgets provided accessible interfaces. + * Really, the main issue is that KItemListContainer itself is the last proper QWidget in the hierarchy while the actual main view is completely custom using + * QGraphicsView instead, so focus usually officially goes to KItemListContainer which messes with the custom accessibility hierarchy. + */ +class DOLPHIN_EXPORT KItemListContainerAccessible : public QAccessibleWidget +{ +public: + explicit KItemListContainerAccessible(KItemListContainer *container); + ~KItemListContainerAccessible() override; + + QString text(QAccessible::Text t) const override; + + QAccessibleInterface *child(int index) const override; + QAccessibleInterface *focusChild() const override; + int childCount() const override; + int indexOfChild(const QAccessibleInterface *child) const override; + + QAccessible::State state() const override; + void doAction(const QString &actionName) override; + + /** @returns the object() of this interface cast to its actual class. */ + const KItemListContainer *container() const; +}; + +#endif // KITEMLISTCONTAINERACCESSIBLE_H |
