VirtualBox

Changeset 43597 in vbox


Ignore:
Timestamp:
Oct 10, 2012 2:37:37 PM (12 years ago)
Author:
vboxsync
Message:

FE/Qt: VM group feature UI: Current-item handling cleanup (part 9).

Location:
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h

    r43577 r43597  
    9494    virtual bool hasItems(UIGChooserItemType type = UIGChooserItemType_Any) const = 0;
    9595    virtual void clearItems(UIGChooserItemType type = UIGChooserItemType_Any) = 0;
     96    virtual UIGChooserItemMachine* firstMachineItem() = 0;
    9697
    9798    /* API: Layout stuff: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp

    r43577 r43597  
    732732}
    733733
     734UIGChooserItemMachine* UIGChooserItemGroup::firstMachineItem()
     735{
     736    /* If this group-item have at least one machine-item: */
     737    if (hasItems(UIGChooserItemType_Machine))
     738        /* Return the first machine-item: */
     739        return items(UIGChooserItemType_Machine).first()->firstMachineItem();
     740    /* If this group-item have at least one group-item: */
     741    else if (hasItems(UIGChooserItemType_Group))
     742        /* Return the first machine-item of the first group-item: */
     743        return items(UIGChooserItemType_Group).first()->firstMachineItem();
     744    /* Found nothing? */
     745    return 0;
     746}
     747
    734748void UIGChooserItemGroup::updateLayout()
    735749{
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h

    r43577 r43597  
    148148    bool hasItems(UIGChooserItemType type = UIGChooserItemType_Any) const;
    149149    void clearItems(UIGChooserItemType type = UIGChooserItemType_Any);
     150    UIGChooserItemMachine* firstMachineItem();
    150151
    151152    /* Helpers: Layout stuff: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp

    r43594 r43597  
    360360}
    361361
     362UIGChooserItemMachine* UIGChooserItemMachine::firstMachineItem()
     363{
     364    return this;
     365}
     366
    362367void UIGChooserItemMachine::updateLayout()
    363368{
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h

    r43594 r43597  
    127127    bool hasItems(UIGChooserItemType type) const;
    128128    void clearItems(UIGChooserItemType type);
     129    UIGChooserItemMachine* firstMachineItem();
    129130
    130131    /* Helpers: Layout stuff: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp

    r43595 r43597  
    204204UIVMItem* UIGChooserModel::currentMachineItem() const
    205205{
    206     /* Return first machine-item: */
    207     return firstMachineItem(currentItems());
     206    /* Return first machine-item of the current-item: */
     207    return currentItem() ? currentItem()->firstMachineItem() : 0;
    208208}
    209209
     
    13571357    /* Return navigation list: */
    13581358    return navigationItems;
    1359 }
    1360 
    1361 UIGChooserItemMachine* UIGChooserModel::firstMachineItem(const QList<UIGChooserItem*> &list) const
    1362 {
    1363     /* Iterate over all the passed items: */
    1364     foreach (UIGChooserItem *pItem, list)
    1365     {
    1366         /* If that is machine-item: */
    1367         if (pItem->type() == UIGChooserItemType_Machine)
    1368         {
    1369             /* Just return it: */
    1370             return pItem->toMachineItem();
    1371         }
    1372         /* If that is group-item: */
    1373         else if (pItem->type() == UIGChooserItemType_Group)
    1374         {
    1375             /* If that group-item have at least one machine-item: */
    1376             if (pItem->hasItems(UIGChooserItemType_Machine))
    1377                 /* Iterate over all the machine-items recursively: */
    1378                 return firstMachineItem(pItem->items(UIGChooserItemType_Machine));
    1379             /* If that group-item have at least one group-item: */
    1380             else if (pItem->hasItems(UIGChooserItemType_Group))
    1381                 /* Iterate over all the group-items recursively: */
    1382                 return firstMachineItem(pItem->items(UIGChooserItemType_Group));
    1383         }
    1384     }
    1385     return 0;
    13861359}
    13871360
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h

    r43595 r43597  
    238238    QList<UIGChooserItem*> createNavigationList(UIGChooserItem *pItem);
    239239
    240     /* Helpers: Current-item stuff: */
    241     UIGChooserItemMachine* firstMachineItem(const QList<UIGChooserItem*> &list) const;
    242 
    243240    /* Helper: Focus-item stuff: */
    244241    void clearRealFocus();
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