VirtualBox

Changeset 77346 in vbox


Ignore:
Timestamp:
Feb 18, 2019 1:07:09 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
128883
Message:

FE/Qt: bugref:9373: VirtualBox Manager: Chooser pane: Integrate Favorite children layout, unused for now.

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

Legend:

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

    r77224 r77346  
    193193*********************************************************************************************************************************/
    194194
    195 UIChooserItem::UIChooserItem(UIChooserItem *pParent, bool fTemporary,
     195UIChooserItem::UIChooserItem(UIChooserItem *pParent, bool fFavorite, bool fTemporary,
    196196                             int iDefaultValue /* = 100 */, int iHoveredValue /* = 90 */)
    197197    : QIWithRetranslateUI4<QIGraphicsWidget>(pParent)
    198198    , m_pParent(pParent)
     199    , m_fFavorite(fFavorite)
    199200    , m_fTemporary(fTemporary)
    200201    , m_fRoot(!pParent)
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.h

    r77228 r77346  
    103103
    104104    /** Constructs item passing @a pParent to the base-class.
     105      * @param  fFavorite      Brings whether this item created directly in favorite container.
    105106      * @param  fTemporary     Brings whether this item created for temporary needs.
    106107      * @param  iDefaultValue  Brings default value for hovering animation.
    107108      * @param  iHoveredValue  Brings hovered value for hovering animation. */
    108     UIChooserItem(UIChooserItem *pParent, bool fTemporary,
     109    UIChooserItem(UIChooserItem *pParent, bool fFavorite, bool fTemporary,
    109110                  int iDefaultValue = 100, int iHoveredValue = 90);
    110111
     
    113114        /** Returns parent  reference. */
    114115        UIChooserItem *parentItem() const {  return m_pParent; }
     116        /** Returns whether item is favorite. */
     117        bool isFavorite() const { return m_fFavorite; }
    115118        /** Returns whether item is temporary. */
    116119        bool isTemporary() const { return m_fTemporary; }
     
    165168    /** @name Children stuff.
    166169      * @{ */
    167         /** Adds child @a pItem to certain @a iPosition. */
    168         virtual void addItem(UIChooserItem *pItem, int iPosition) = 0;
     170        /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */
     171        virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) = 0;
    169172        /** Removes child @a pItem. */
    170173        virtual void removeItem(UIChooserItem *pItem) = 0;
     
    329332        /** Holds the item's parent item. */
    330333        UIChooserItem *m_pParent;
     334        /** Holds whether item is favorite. */
     335        bool           m_fFavorite;
    331336        /** Holds whether item is temporary. */
    332337        bool           m_fTemporary;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp

    r77061 r77346  
    3636UIChooserItemGlobal::UIChooserItemGlobal(UIChooserItem *pParent,
    3737                                         int iPosition /* = -1 */)
    38     : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)
     38    : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100)
    3939    , m_iPosition(iPosition)
    4040    , m_iDefaultLightnessMin(0)
     
    5454                                         UIChooserItemGlobal *pCopyFrom,
    5555                                         int iPosition /* = -1 */)
    56     : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)
     56    : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100)
    5757    , m_iPosition(iPosition)
    5858    , m_iDefaultLightnessMin(0)
     
    196196}
    197197
    198 void UIChooserItemGlobal::addItem(UIChooserItem *, int)
     198void UIChooserItemGlobal::addItem(UIChooserItem *, bool, int)
    199199{
    200200    AssertMsgFailed(("Global graphics item do NOT support children!"));
     
    390390    /* Add item to the parent: */
    391391    AssertPtrReturnVoid(parentItem());
    392     parentItem()->addItem(this, m_iPosition);
     392    parentItem()->addItem(this, false, m_iPosition);
    393393
    394394    /* Configure connections: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.h

    r77042 r77346  
    106106    /** @name Children stuff.
    107107      * @{ */
    108         /** Adds child @a pItem to certain @a iPosition. */
    109         virtual void addItem(UIChooserItem *pItem, int iPosition) /* override */;
     108        /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */
     109        virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) /* override */;
    110110        /** Removes child @a pItem. */
    111111        virtual void removeItem(UIChooserItem *pItem) /* override */;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp

    r77269 r77346  
    4545
    4646UIChooserItemGroup::UIChooserItemGroup(QGraphicsScene *pScene)
    47     : UIChooserItem(0, false /* temporary? */)
     47    : UIChooserItem(0, false /* favorite? */, false /* temporary? */)
    4848    , m_fMainRoot(true)
    4949    , m_fClosed(false)
     
    5454    , m_pExitButton(0)
    5555    , m_pNameEditorWidget(0)
     56    , m_pContainerFavorite(0)
     57    , m_pLayoutFavorite(0)
    5658    , m_pScrollArea(0)
    5759    , m_pContainer(0)
     
    7981                                       UIChooserItemGroup *pCopyFrom,
    8082                                       bool fMainRoot)
    81     : UIChooserItem(0, true /* temporary? */)
     83    : UIChooserItem(0, false /* favorite? */, true /* temporary? */)
    8284    , m_fMainRoot(fMainRoot)
    8385    , m_fClosed(pCopyFrom->isClosed())
     
    8991    , m_pExitButton(0)
    9092    , m_pNameEditorWidget(0)
     93    , m_pContainerFavorite(0)
     94    , m_pLayoutFavorite(0)
    9195    , m_pScrollArea(0)
    9296    , m_pContainer(0)
     
    119123                                       bool fOpened /* = false */,
    120124                                       int iPosition /* = -1 */)
    121     : UIChooserItem(pParent, pParent->isTemporary())
     125    : UIChooserItem(pParent, pParent->isFavorite(), pParent->isTemporary())
    122126    , m_fMainRoot(false)
    123127    , m_fClosed(!fOpened)
     
    129133    , m_pExitButton(0)
    130134    , m_pNameEditorWidget(0)
     135    , m_pContainerFavorite(0)
     136    , m_pLayoutFavorite(0)
    131137    , m_pScrollArea(0)
    132138    , m_pContainer(0)
     
    141147    /* Add item to the parent: */
    142148    AssertMsg(parentItem(), ("Incorrect parent passed!"));
    143     parentItem()->addItem(this, iPosition);
     149    parentItem()->addItem(this, false, iPosition);
    144150    connect(this, &UIChooserItemGroup::sigToggleStarted,
    145151            model(), &UIChooserModel::sigToggleStarted);
     
    167173                                       UIChooserItemGroup *pCopyFrom,
    168174                                       int iPosition /* = -1 */)
    169     : UIChooserItem(pParent, pParent->isTemporary())
     175    : UIChooserItem(pParent, pParent->isFavorite(), pParent->isTemporary())
    170176    , m_fMainRoot(false)
    171177    , m_fClosed(pCopyFrom->isClosed())
     
    177183    , m_pExitButton(0)
    178184    , m_pNameEditorWidget(0)
     185    , m_pContainerFavorite(0)
     186    , m_pLayoutFavorite(0)
    179187    , m_pScrollArea(0)
    180188    , m_pContainer(0)
     
    189197    /* Add item to the parent: */
    190198    AssertMsg(parentItem(), ("Incorrect parent passed!"));
    191     parentItem()->addItem(this, iPosition);
     199    parentItem()->addItem(this, false, iPosition);
    192200    connect(this, &UIChooserItemGroup::sigToggleStarted,
    193201            model(), &UIChooserModel::sigToggleStarted);
     
    521529}
    522530
    523 void UIChooserItemGroup::addItem(UIChooserItem *pItem, int iPosition)
     531void UIChooserItemGroup::addItem(UIChooserItem *pItem, bool fFavorite, int iPosition)
    524532{
    525533    /* Check item type: */
     
    546554            if (iPosition < 0 || iPosition >= m_globalItems.size())
    547555            {
    548                 m_pLayoutGlobal->addItem(pItem);
     556                if (fFavorite)
     557                    m_pLayoutFavorite->addItem(pItem);
     558                else
     559                    m_pLayoutGlobal->addItem(pItem);
    549560                m_globalItems.append(pItem);
    550561            }
    551562            else
    552563            {
    553                 m_pLayoutGlobal->insertItem(iPosition, pItem);
     564                if (fFavorite)
     565                    m_pLayoutFavorite->insertItem(iPosition, pItem);
     566                else
     567                    m_pLayoutGlobal->insertItem(iPosition, pItem);
    554568                m_globalItems.insert(iPosition, pItem);
    555569            }
     
    845859        QSize viewSize = pView->size();
    846860        viewSize.setHeight(viewSize.height() - iPreviousVerticalIndent);
    847         m_pScrollArea->resize(viewSize);
     861        /* Adjust favorite children container: */
     862        m_pContainerFavorite->resize(viewSize.width(), m_pContainerFavorite->minimumSizeHint().height());
     863        m_pContainerFavorite->setPos(0, iPreviousVerticalIndent);
     864        iPreviousVerticalIndent += m_pContainerFavorite->minimumSizeHint().height();
     865        /* Adjust other children scroll-area: */
     866        m_pScrollArea->resize(viewSize.width(), viewSize.height() - m_pContainerFavorite->minimumSizeHint().height());
    848867        m_pScrollArea->setPos(0, iPreviousVerticalIndent);
    849868    }
     
    889908        QSize itemSize = size().toSize();
    890909        itemSize.setHeight(itemSize.height() - iPreviousVerticalIndent);
    891         m_pScrollArea->resize(itemSize);
     910        /* Adjust favorite children container: */
     911        m_pContainerFavorite->resize(itemSize.width(), m_pContainerFavorite->minimumSizeHint().height());
     912        m_pContainerFavorite->setPos(0, iPreviousVerticalIndent);
     913        iPreviousVerticalIndent += m_pContainerFavorite->minimumSizeHint().height();
     914        /* Adjust other children scroll-area: */
     915        m_pScrollArea->resize(itemSize.width(), itemSize.height() - m_pContainerFavorite->minimumSizeHint().height());
    892916        m_pScrollArea->setPos(0, iPreviousVerticalIndent);
    893917    }
     
    895919    /* No body for closed group: */
    896920    if (isClosed())
     921    {
     922        m_pContainerFavorite->hide();
    897923        m_pScrollArea->hide();
     924    }
    898925    /* Body for opened group: */
    899926    else
    900927    {
     928        m_pContainerFavorite->show();
    901929        m_pScrollArea->show();
    902930        foreach (UIChooserItem *pItem, items())
     
    12881316    m_exitButtonSize = m_pExitButton ? m_pExitButton->minimumSizeHint().toSize() : QSize(0, 0);
    12891317
     1318    /* Prepare favorite children container: */
     1319    m_pContainerFavorite = new QIGraphicsWidget(this);
     1320    if (m_pContainerFavorite)
     1321    {
     1322        /* Make it always above other children scroll-area: */
     1323        m_pContainerFavorite->setZValue(1);
     1324
     1325        /* Prepare favorite children layout: */
     1326        m_pLayoutFavorite = new QGraphicsLinearLayout(Qt::Vertical, m_pContainerFavorite);
     1327        if (m_pLayoutFavorite)
     1328        {
     1329            m_pLayoutFavorite->setContentsMargins(0, 0, 0, 0);
     1330            m_pLayoutFavorite->setSpacing(0);
     1331        }
     1332    }
     1333
    12901334    /* Prepare scroll-area: */
    12911335    m_pScrollArea = new UIGraphicsScrollArea(Qt::Vertical, this);
     
    14821526        {
    14831527            /* We have to take maximum children width into account: */
    1484             iProposedWidth = m_pContainer->minimumSizeHint().width();
     1528            iProposedWidth = qMax(m_pContainerFavorite->minimumSizeHint().width(),
     1529                                  m_pContainer->minimumSizeHint().width());
    14851530        }
    14861531    }
     
    14991544        {
    15001545            /* We have to take maximum children width into account: */
    1501             iProposedWidth = m_pContainer->minimumSizeHint().width();
     1546            iProposedWidth = qMax(m_pContainerFavorite->minimumSizeHint().width(),
     1547                                  m_pContainer->minimumSizeHint().width());
    15021548        }
    15031549
     
    15221568        {
    15231569            /* We have to take maximum children height into account: */
    1524             iProposedHeight = m_pContainer->minimumSizeHint().height();
     1570            iProposedHeight += m_pContainerFavorite->minimumSizeHint().height();
     1571            iProposedHeight += m_pContainer->minimumSizeHint().height();
    15251572        }
    15261573    }
     
    15401587        {
    15411588            /* We have to take maximum children height into account: */
     1589            iProposedHeight += m_pContainerFavorite->minimumSizeHint().height();
    15421590            iProposedHeight += m_pContainer->minimumSizeHint().height();
    15431591        }
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.h

    r77228 r77346  
    152152    /** @name Children stuff.
    153153      * @{ */
    154         /** Adds child @a pItem to certain @a iPosition. */
    155         virtual void addItem(UIChooserItem *pItem, int iPosition) /* override */;
     154        /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */
     155        virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) /* override */;
    156156        /** Removes child @a pItem. */
    157157        virtual void removeItem(UIChooserItem *pItem) /* override */;
     
    362362    /** @name Children stuff.
    363363      * @{ */
     364        /** Holds the favorite children container instance. */
     365        QIGraphicsWidget      *m_pContainerFavorite;
     366        /** Holds the favorite children layout instance. */
     367        QGraphicsLinearLayout *m_pLayoutFavorite;
     368
    364369        /** Holds the children scroll-area instance. */
    365370        UIGraphicsScrollArea  *m_pScrollArea;
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp

    r77061 r77346  
    4545                                           const CMachine &machine,
    4646                                           int iPosition /* = -1 */)
    47     : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)
     47    : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100)
    4848    , UIVirtualMachineItem(machine)
    4949    , m_iPosition(iPosition)
     
    6666                                           UIChooserItemMachine *pCopyFrom,
    6767                                           int iPosition /* = -1 */)
    68     : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)
     68    : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100)
    6969    , UIVirtualMachineItem(pCopyFrom->machine())
    7070    , m_iPosition(iPosition)
     
    255255}
    256256
    257 void UIChooserItemMachine::addItem(UIChooserItem*, int)
     257void UIChooserItemMachine::addItem(UIChooserItem*, bool, int)
    258258{
    259259    AssertMsgFailed(("Machine graphics item do NOT support children!"));
     
    591591    /* Add item to the parent: */
    592592    AssertPtrReturnVoid(parentItem());
    593     parentItem()->addItem(this, m_iPosition);
     593    parentItem()->addItem(this, false, m_iPosition);
    594594
    595595    /* Configure connections: */
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.h

    r77041 r77346  
    120120    /** @name Children stuff.
    121121      * @{ */
    122         /** Adds child @a pItem to certain @a iPosition. */
    123         virtual void addItem(UIChooserItem *pItem, int iPosition) /* override */;
     122        /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */
     123        virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) /* override */;
    124124        /** Removes child @a pItem. */
    125125        virtual void removeItem(UIChooserItem *pItem) /* override */;
Note: See TracChangeset for help on using the changeset viewer.

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