VirtualBox

Changeset 64750 in vbox


Ignore:
Timestamp:
Nov 24, 2016 5:29:09 PM (8 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:6899: Accessibility support (step 142): Own implementation for appliance editor QITreeView, required for accessibility support.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r64519 r64750  
    556556        src/settings/machine/UIMachineSettingsStorage.cpp \
    557557        src/settings/machine/UIMachineSettingsUSB.cpp \
     558        src/widgets/UIApplianceEditorWidget.cpp \
    558559        src/widgets/UIHotKeyEditor.cpp \
    559560        src/widgets/UIMiniToolBar.cpp \
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp

    r64749 r64750  
    4444
    4545#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
     46
     47/* Forward declarations: */
     48class UIApplianceView;
    4649
    4750
     
    211214    /** Holds whether item was modified. */
    212215    bool                           m_fModified;
     216};
     217
     218
     219/** QITreeView subclass used as Storage-view. */
     220class UIApplianceView : public QITreeView
     221{
     222    Q_OBJECT;
     223
     224public:
     225
     226    /** Constructs storage-view passing @a pParent to the base-class. */
     227    UIApplianceView(QWidget *pParent = 0) : QITreeView(pParent) {}
     228
     229protected:
     230
     231    /** Returns the number of children. */
     232    virtual int childCount() const /* override */;
     233    /** Returns the child item with @a iIndex. */
     234    virtual QITreeViewItem *childItem(int iIndex) const /* override */;
    213235};
    214236
     
    12961318
    12971319/*********************************************************************************************************************************
     1320*   Class UIApplianceView implementation.                                                                                        *
     1321*********************************************************************************************************************************/
     1322
     1323int UIApplianceView::childCount() const
     1324{
     1325    UIApplianceSortProxyModel *pSortProxyModel = qobject_cast<UIApplianceSortProxyModel*>(model());
     1326    AssertPtrReturn(pSortProxyModel, 0);
     1327    UIApplianceModel *pModel = qobject_cast<UIApplianceModel*>(pSortProxyModel->sourceModel());
     1328    AssertPtrReturn(pModel, 0);
     1329    return pModel->rowCount(pModel->root());
     1330}
     1331
     1332QITreeViewItem *UIApplianceView::childItem(int iIndex) const
     1333{
     1334    UIApplianceSortProxyModel *pSortProxyModel = qobject_cast<UIApplianceSortProxyModel*>(model());
     1335    AssertPtrReturn(pSortProxyModel, 0);
     1336    UIApplianceModel *pModel = qobject_cast<UIApplianceModel*>(pSortProxyModel->sourceModel());
     1337    AssertPtrReturn(pModel, 0);
     1338    return (UIApplianceModelItem*)pModel->index(iIndex, 0, pModel->root()).internalPointer();
     1339}
     1340
     1341
     1342/*********************************************************************************************************************************
    12981343*   Class UIApplianceEditorWidget implementation.                                                                                *
    12991344*********************************************************************************************************************************/
     
    13291374
    13301375                /* Create tree-view: */
    1331                 m_pTreeViewSettings = new QITreeView;
     1376                m_pTreeViewSettings = new UIApplianceView;
    13321377                {
    13331378                    /* Configure tree-view: */
     
    14361481}
    14371482
     1483#include "UIApplianceEditorWidget.moc"
     1484
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