VirtualBox

Changeset 65253 in vbox for trunk


Ignore:
Timestamp:
Jan 12, 2017 10:20:08 AM (8 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:6899: Accessibility support (step 162): Very basic accessibility interface for QIStatusBar.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStatusBar.cpp

    r65252 r65253  
    1919# include <precomp.h>
    2020#else
     21/* Qt includes: */
     22# include <QAccessibleWidget>
    2123/* GUI includes: */
    2224# include "QIStatusBar.h"
     
    2426
    2527
     28/** QAccessibleWidget extension used as an accessibility interface for QIStatusBar. */
     29class QIAccessibilityInterfaceForQIStatusBar : public QAccessibleWidget
     30{
     31public:
     32
     33    /** Returns an accessibility interface for passed @a strClassname and @a pObject. */
     34    static QAccessibleInterface *pFactory(const QString &strClassname, QObject *pObject)
     35    {
     36        /* Creating QIStatusBar accessibility interface: */
     37        if (pObject && strClassname == QLatin1String("QIStatusBar"))
     38            return new QIAccessibilityInterfaceForQIStatusBar(qobject_cast<QWidget*>(pObject));
     39
     40        /* Null by default: */
     41        return 0;
     42    }
     43
     44    /** Constructs an accessibility interface passing @a pWidget to the base-class. */
     45    QIAccessibilityInterfaceForQIStatusBar(QWidget *pWidget)
     46        : QAccessibleWidget(pWidget, QAccessible::ToolBar)
     47    {
     48        // We are not interested in status-bar text as it's a mean of
     49        // accessibility in case when accessibility is disabled.
     50        // Since accessibility is enabled in our case, we wish
     51        // to pass control token to our sub-elements.
     52        // So we are using QAccessible::ToolBar.
     53    }
     54};
     55
     56
    2657QIStatusBar::QIStatusBar(QWidget *pParent)
    2758    : QStatusBar(pParent)
    2859{
     60    /* Install QIStatusBar accessibility interface factory: */
     61    QAccessible::installFactory(QIAccessibilityInterfaceForQIStatusBar::pFactory);
     62
    2963    /* Make sure we remember the last one status message: */
    3064    connect(this, SIGNAL(messageChanged(const QString &)),
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette