VirtualBox

Changeset 83063 in vbox


Ignore:
Timestamp:
Feb 12, 2020 7:10:32 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9653: VirtualBox Manager: Chooser pane: Make nodes aware of model they belongs to.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp

    r83050 r83063  
    366366    if (invisibleRoot())
    367367    {
     368        /* Link root to this model: */
     369        m_pInvisibleRootNode->setModel(this);
     370
    368371        /* Create global node: */
    369372        new UIChooserNodeGlobal(m_pInvisibleRootNode,
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserNode.cpp

    r82968 r83063  
    2222#include "UIChooserNodeMachine.h"
    2323
     24/* Other VBox includes: */
     25#include "iprt/cpp/utils.h"
     26
    2427
    2528UIChooserNode::UIChooserNode(UIChooserNode *pParent /* = 0 */, bool fFavorite /* = false */)
     
    2730    , m_pParent(pParent)
    2831    , m_fFavorite(fFavorite)
     32    , m_pModel(0)
    2933    , m_fDisabled(false)
    3034{
     
    5256}
    5357
     58UIChooserNode *UIChooserNode::rootNode() const
     59{
     60    return isRoot() ? unconst(this) : parentNode()->rootNode();
     61}
     62
     63UIChooserAbstractModel *UIChooserNode::model() const
     64{
     65    return m_pModel ? m_pModel : rootNode()->model();
     66}
     67
    5468int UIChooserNode::position()
    5569{
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserNode.h

    r83040 r83063  
    3333
    3434/* Forward declaration: */
     35class UIChooserAbstractModel;
    3536class UIChooserNodeGroup;
    3637class UIChooserNodeGlobal;
     
    6768    /** Returns whether node is of root kind. */
    6869    bool isRoot() const { return !m_pParent; }
     70    /** Returns root node reference. */
     71    UIChooserNode *rootNode() const;
    6972
    7073    /** Returns whether the node is favorite. */
     
    7275    /** Defines whether the node is @a fFavorite. */
    7376    void setFavorite(bool fFavorite) { m_fFavorite = fFavorite; }
     77
     78    /** Defines the @a pModel reference. */
     79    void setModel(UIChooserAbstractModel *pModel) { m_pModel = pModel; }
     80    /** Returns the model reference. */
     81    UIChooserAbstractModel *model() const;
    7482
    7583    /** Returns node name. */
     
    130138    bool            m_fFavorite;
    131139
     140    /** Holds the model reference. */
     141    UIChooserAbstractModel *m_pModel;
     142
    132143    /** Holds the linked item reference. */
    133144    QPointer<UIChooserItem>  m_pItem;
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