VirtualBox

Changeset 50327 in vbox


Ignore:
Timestamp:
Feb 5, 2014 1:45:59 PM (11 years ago)
Author:
vboxsync
Message:

FE/Qt: 4397: Medium Manager cleanup/rework (part 3): Current tree-widget / medium-item encapsulation rework.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp

    r50326 r50327  
    399399{
    400400    /* Get current-item: */
    401     UIMediumItem *pMediumItem = toMediumItem(currentTreeWidget()->currentItem());
     401    UIMediumItem *pMediumItem = currentMediumItem();
    402402
    403403    /* Show Clone VD wizard: */
     
    414414{
    415415    /* Get current-item: */
    416     UIMediumItem *pMediumItem = toMediumItem(currentTreeWidget()->currentItem());
     416    UIMediumItem *pMediumItem = currentMediumItem();
    417417
    418418    /* Show Modify VD dialog: */
     
    434434{
    435435    /* Get current medium-item: */
    436     UIMediumItem *pMediumItem = toMediumItem(currentTreeWidget()->currentItem());
     436    UIMediumItem *pMediumItem = currentMediumItem();
    437437    AssertMsgReturnVoid(pMediumItem, ("Current item must not be null"));
    438438
     
    532532{
    533533    /* Get current medium-item: */
    534     UIMediumItem *pMediumItem = toMediumItem(currentTreeWidget()->currentItem());
     534    UIMediumItem *pMediumItem = currentMediumItem();
    535535    AssertMsgReturnVoid(pMediumItem, ("Current item must not be null"));
    536536    AssertReturnVoid(!pMediumItem->id().isNull());
     
    645645{
    646646    /* Call for modify-action if hard-disk double-clicked: */
    647     if (currentTreeWidgetType() == UIMediumType_HardDisk)
     647    if (currentMediumType() == UIMediumType_HardDisk)
    648648        sltModifyMedium();
    649649}
     
    10801080{
    10811081    /* Get current-item: */
    1082     UIMediumItem *pCurrentItem = toMediumItem(currentTreeWidget()->currentItem());
     1082    UIMediumItem *pCurrentItem = currentMediumItem();
    10831083
    10841084    /* Calculate actions accessibility: */
    10851085    bool fNotInEnumeration = !vboxGlobal().isMediumEnumerationInProgress();
    1086     bool fActionEnabledCopy = currentTreeWidgetType() == UIMediumType_HardDisk &&
     1086    bool fActionEnabledCopy = currentMediumType() == UIMediumType_HardDisk &&
    10871087                              fNotInEnumeration && pCurrentItem && checkMediumFor(pCurrentItem, Action_Copy);
    1088     bool fActionEnabledModify = currentTreeWidgetType() == UIMediumType_HardDisk &&
     1088    bool fActionEnabledModify = currentMediumType() == UIMediumType_HardDisk &&
    10891089                                fNotInEnumeration && pCurrentItem && checkMediumFor(pCurrentItem, Action_Modify);
    10901090    bool fActionEnabledRemove = fNotInEnumeration && pCurrentItem && checkMediumFor(pCurrentItem, Action_Remove);
     
    14171417}
    14181418
     1419UIMediumType UIMediumManager::currentMediumType() const
     1420{
     1421    /* Return current medium type: */
     1422    switch (mTabWidget->currentIndex())
     1423    {
     1424        case HDTab: return UIMediumType_HardDisk;
     1425        case CDTab: return UIMediumType_DVD;
     1426        case FDTab: return UIMediumType_Floppy;
     1427        default: AssertMsgFailed(("Unknown page type: %d\n", mTabWidget->currentIndex())); break;
     1428    }
     1429    /* Invalid by default: */
     1430    return UIMediumType_Invalid;
     1431}
     1432
    14191433QTreeWidget* UIMediumManager::treeWidget(UIMediumType type) const
    14201434{
    1421     /* Return corresponding tree-widget: */
     1435    /* Return corresponding tree-widget for known medium types: */
    14221436    switch (type)
    14231437    {
     
    14251439        case UIMediumType_DVD:      return mTwCD;
    14261440        case UIMediumType_Floppy:   return mTwFD;
    1427         default: AssertMsgFailed(("Medium-type unknown: %d\n", type)); break;
     1441        default: AssertMsgFailed(("Unknown medium type: %d\n", type)); break;
    14281442    }
    14291443    /* Null by default: */
     
    14311445}
    14321446
    1433 UIMediumType UIMediumManager::currentTreeWidgetType() const
    1434 {
    1435     /* Return corresponding medium-type: */
    1436     switch (mTabWidget->currentIndex())
    1437     {
    1438         case HDTab: return UIMediumType_HardDisk;
    1439         case CDTab: return UIMediumType_DVD;
    1440         case FDTab: return UIMediumType_Floppy;
    1441         default: AssertMsgFailed(("Page-type unknown: %d\n", mTabWidget->currentIndex())); break;
    1442     }
    1443     /* Invalid by default: */
    1444     return UIMediumType_Invalid;
    1445 }
    1446 
    14471447QTreeWidget* UIMediumManager::currentTreeWidget() const
    14481448{
    1449     return treeWidget(currentTreeWidgetType());
     1449    /* Return current tree-widget: */
     1450    return treeWidget(currentMediumType());
     1451}
     1452
     1453UIMediumItem* UIMediumManager::mediumItem(UIMediumType type) const
     1454{
     1455    /* Get corresponding tree-widget: */
     1456    QTreeWidget *pTreeWidget = treeWidget(type);
     1457    /* Return corresponding medium-item: */
     1458    return pTreeWidget ? toMediumItem(pTreeWidget->currentItem()) : 0;
     1459}
     1460
     1461UIMediumItem* UIMediumManager::currentMediumItem() const
     1462{
     1463    /* Return current medium-item: */
     1464    return mediumItem(currentMediumType());
    14501465}
    14511466
     
    14611476    else
    14621477        sltHandleCurrentTabChanged();
    1463 }
    1464 
    1465 UIMediumItem* UIMediumManager::toMediumItem(QTreeWidgetItem *pItem) const
    1466 {
    1467     /* Return UIMediumItem based on QTreeWidgetItem if it is valid: */
    1468     if (pItem && pItem->type() == UIMediumItem::Type)
    1469         return static_cast<UIMediumItem*>(pItem);
    1470     /* Null by default: */
    1471     return 0;
    14721478}
    14731479
     
    17091715    /* Store the current list selections: */
    17101716    UIMediumItem *pMediumItem = 0;
    1711     pMediumItem = toMediumItem(mTwHD->currentItem());
     1717    pMediumItem = mediumItem(UIMediumType_HardDisk);
    17121718    if (m_strSelectedIdHD.isNull())
    17131719        m_strSelectedIdHD = pMediumItem ? pMediumItem->id() : QString();
    1714     pMediumItem = toMediumItem(mTwCD->currentItem());
     1720    pMediumItem = mediumItem(UIMediumType_DVD);
    17151721    if (m_strSelectedIdCD.isNull())
    17161722        m_strSelectedIdCD = pMediumItem ? pMediumItem->id() : QString();
    1717     pMediumItem = toMediumItem(mTwFD->currentItem());
     1723    pMediumItem = mediumItem(UIMediumType_Floppy);
    17181724    if (m_strSelectedIdFD.isNull())
    17191725        m_strSelectedIdFD = pMediumItem ? pMediumItem->id() : QString();
     
    17351741
    17361742/* static */
     1743UIMediumItem* UIMediumManager::toMediumItem(QTreeWidgetItem *pItem)
     1744{
     1745    /* Cast passed QTreeWidgetItem to UIMediumItem if possible: */
     1746    return pItem && pItem->type() == UIMediumItem::Type ? static_cast<UIMediumItem*>(pItem) : 0;
     1747}
     1748
     1749/* static */
    17371750QString UIMediumManager::formatPaneText(const QString &strText, bool fCompact /* = true */,
    17381751                                        const QString &strElipsis /* = "middle" */)
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h

    r50326 r50327  
    121121    void populateTreeWidgets();
    122122
    123     /** Creates UIMediumItem for corresponding UIMedium. */
     123    /** Update actions according currently chosen medium-item. */
    124124    void updateActions();
    125125
     
    144144    bool releaseFloppyDiskFrom(const UIMedium &medium, CMachine &machine);
    145145
    146     /* Internal API: Tree-widget access stuff: */
     146    /** Returns current medium type. */
     147    UIMediumType currentMediumType() const;
     148
     149    /** Returns tree-widget for passed medium @a type. */
    147150    QTreeWidget* treeWidget(UIMediumType type) const;
    148     UIMediumType currentTreeWidgetType() const;
     151    /** Returns current tree-widget. */
    149152    QTreeWidget* currentTreeWidget() const;
     153
     154    /** Returns medium-item for passed medium @a type. */
     155    UIMediumItem* mediumItem(UIMediumType type) const;
     156    /** Returns current medium-item. */
     157    UIMediumItem* currentMediumItem() const;
     158
     159    /** Defines <i>current-item</i> for passed @a pTree as @a pItem. */
    150160    void setCurrentItem(QTreeWidget *pTree, QTreeWidgetItem *pItem);
    151     UIMediumItem* toMediumItem(QTreeWidgetItem *pItem) const;
     161
    152162    UIMediumItem* searchItem(QTreeWidget *pTree, const CheckIfSuitableBy &functor) const;
    153163    UIMediumItem* searchItem(QTreeWidgetItem *pParentItem, const CheckIfSuitableBy &functor) const;
     
    161171    void clearInfoPanes();
    162172    void prepareToRefresh(int iTotal = 0);
     173
     174    /** Casts passed QTreeWidgetItem @a pItem to UIMediumItem if possible. */
     175    static UIMediumItem* toMediumItem(QTreeWidgetItem *pItem);
    163176
    164177    /* Static helper: Formatting stuff: */
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