Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 50767)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 50768)
@@ -684,10 +684,4 @@
 }
 
-void UIMediumManager::sltRefreshAll()
-{
-    /* Start medium-enumeration: */
-    vboxGlobal().startMediumEnumeration();
-}
-
 void UIMediumManager::sltHandleMediumCreated(const QString &strMediumID)
 {
@@ -834,4 +828,10 @@
     if (fResult)
         refetchCurrentChosenMediumItem();
+}
+
+void UIMediumManager::sltRefreshAll()
+{
+    /* Start medium-enumeration: */
+    vboxGlobal().startMediumEnumeration();
 }
 
@@ -1701,174 +1701,4 @@
 }
 
-void UIMediumManager::updateMediumItem(const UIMedium &medium)
-{
-    /* Get medium type: */
-    UIMediumType type = medium.type();
-
-    /* Search for existing medium-item, create if was not found: */
-    UIMediumItem *pMediumItem = searchItem(treeWidget(type), CheckIfSuitableByID(medium.id()));
-    if (!pMediumItem) pMediumItem = createMediumItem(medium);
-    AssertPtrReturnVoid(pMediumItem);
-
-    /* Update medium-item: */
-    pMediumItem->setMedium(medium);
-    LogRel2(("UIMediumManager: Medium-item with ID={%s} updated.\n", medium.id().toAscii().constData()));
-
-    /* Update tab-icons: */
-    updateTabIcons(pMediumItem, Action_Edit);
-
-    /* Re-fetch medium-item if it is current one updated: */
-    if (pMediumItem == mediumItem(type))
-        refetchCurrentMediumItem(type);
-}
-
-void UIMediumManager::deleteMediumItem(const QString &strMediumID)
-{
-    /* Search for corresponding tree-widget: */
-    QList<UIMediumType> types;
-    types << UIMediumType_HardDisk << UIMediumType_DVD << UIMediumType_Floppy;
-    QTreeWidget *pTreeWidget = 0;
-    UIMediumItem *pMediumItem = 0;
-    foreach (UIMediumType type, types)
-    {
-        /* Get iterated tree-widget: */
-        pTreeWidget = treeWidget(type);
-        /* Search for existing medium-item: */
-        pMediumItem = searchItem(pTreeWidget, CheckIfSuitableByID(strMediumID));
-        if (pMediumItem)
-            break;
-    }
-
-    /* Ignore medium-item (if it was not found): */
-    if (!pMediumItem)
-        return;
-
-    /* Update tab-icons: */
-    updateTabIcons(pMediumItem, Action_Remove);
-
-    /* Delete medium-item: */
-    delete pMediumItem;
-    LogRel2(("UIMediumManager: Medium-item with ID={%s} deleted.\n", strMediumID.toAscii().constData()));
-
-    /* If there is no current medium-item now selected
-     * we have to choose first-available medium-item as current one: */
-    if (!pTreeWidget->currentItem())
-        setCurrentItem(pTreeWidget, pTreeWidget->topLevelItem(0));
-}
-
-UIMediumType UIMediumManager::mediumType(QTreeWidget *pTreeWidget) const
-{
-    /* Hard-drive tree-widget: */
-    if (pTreeWidget == mTwHD) return UIMediumType_HardDisk;
-    /* Optical-image tree-widget: */
-    if (pTreeWidget == mTwCD) return UIMediumType_DVD;
-    /* Floppy-image tree-widget: */
-    if (pTreeWidget == mTwFD) return UIMediumType_Floppy;
-    /* Invalid by default: */
-    AssertFailedReturn(UIMediumType_Invalid);
-}
-
-UIMediumType UIMediumManager::currentMediumType() const
-{
-    /* Return current medium type: */
-    switch (mTabWidget->currentIndex())
-    {
-        case TabIndex_HD: return UIMediumType_HardDisk;
-        case TabIndex_CD: return UIMediumType_DVD;
-        case TabIndex_FD: return UIMediumType_Floppy;
-        default: AssertMsgFailed(("Unknown page type: %d\n", mTabWidget->currentIndex())); break;
-    }
-    /* Invalid by default: */
-    return UIMediumType_Invalid;
-}
-
-QTreeWidget* UIMediumManager::treeWidget(UIMediumType type) const
-{
-    /* Return corresponding tree-widget for known medium types: */
-    switch (type)
-    {
-        case UIMediumType_HardDisk: return mTwHD;
-        case UIMediumType_DVD:      return mTwCD;
-        case UIMediumType_Floppy:   return mTwFD;
-        default: AssertMsgFailed(("Unknown medium type: %d\n", type)); break;
-    }
-    /* Null by default: */
-    return 0;
-}
-
-QTreeWidget* UIMediumManager::currentTreeWidget() const
-{
-    /* Return current tree-widget: */
-    return treeWidget(currentMediumType());
-}
-
-UIMediumItem* UIMediumManager::mediumItem(UIMediumType type) const
-{
-    /* Get corresponding tree-widget: */
-    QTreeWidget *pTreeWidget = treeWidget(type);
-    /* Return corresponding medium-item: */
-    return pTreeWidget ? toMediumItem(pTreeWidget->currentItem()) : 0;
-}
-
-UIMediumItem* UIMediumManager::currentMediumItem() const
-{
-    /* Return current medium-item: */
-    return mediumItem(currentMediumType());
-}
-
-void UIMediumManager::setCurrentItem(QTreeWidget *pTreeWidget, QTreeWidgetItem *pItem)
-{
-    /* Make sure passed tree-widget is valid: */
-    AssertPtrReturnVoid(pTreeWidget);
-
-    /* Make passed item current for passed tree-widget: */
-    pTreeWidget->setCurrentItem(pItem);
-
-    /* If non NULL item was passed: */
-    if (pItem)
-    {
-        /* Make sure it's also selected, and visible: */
-        pItem->setSelected(true);
-        pTreeWidget->scrollToItem(pItem, QAbstractItemView::EnsureVisible);
-    }
-
-    /* Re-fetch currently chosen medium-item: */
-    refetchCurrentChosenMediumItem();
-}
-
-/* static */
-UIMediumItem* UIMediumManager::searchItem(QTreeWidget *pTreeWidget, const CheckIfSuitableBy &condition, CheckIfSuitableBy *pException)
-{
-    /* Make sure argument is valid: */
-    if (!pTreeWidget)
-        return 0;
-
-    /* Return wrapper: */
-    return searchItem(pTreeWidget->invisibleRootItem(), condition, pException);
-}
-
-/* static */
-UIMediumItem* UIMediumManager::searchItem(QTreeWidgetItem *pParentItem, const CheckIfSuitableBy &condition, CheckIfSuitableBy *pException)
-{
-    /* Make sure argument is valid: */
-    if (!pParentItem)
-        return 0;
-
-    /* Verify passed item if it is of 'medium' type too: */
-    if (UIMediumItem *pMediumParentItem = toMediumItem(pParentItem))
-        if (   condition.isItSuitable(pMediumParentItem)
-            && (!pException || !pException->isItSuitable(pMediumParentItem)))
-            return pMediumParentItem;
-
-    /* Iterate other all the children: */
-    for (int iChildIndex = 0; iChildIndex < pParentItem->childCount(); ++iChildIndex)
-        if (UIMediumItem *pMediumChildItem = toMediumItem(pParentItem->child(iChildIndex)))
-            if (UIMediumItem *pRequiredMediumChildItem = searchItem(pMediumChildItem, condition, pException))
-                return pRequiredMediumChildItem;
-
-    /* Null by default: */
-    return 0;
-}
-
 UIMediumItem* UIMediumManager::createHardDiskItem(const UIMedium &medium)
 {
@@ -1917,4 +1747,174 @@
 }
 
+void UIMediumManager::updateMediumItem(const UIMedium &medium)
+{
+    /* Get medium type: */
+    UIMediumType type = medium.type();
+
+    /* Search for existing medium-item, create if was not found: */
+    UIMediumItem *pMediumItem = searchItem(treeWidget(type), CheckIfSuitableByID(medium.id()));
+    if (!pMediumItem) pMediumItem = createMediumItem(medium);
+    AssertPtrReturnVoid(pMediumItem);
+
+    /* Update medium-item: */
+    pMediumItem->setMedium(medium);
+    LogRel2(("UIMediumManager: Medium-item with ID={%s} updated.\n", medium.id().toAscii().constData()));
+
+    /* Update tab-icons: */
+    updateTabIcons(pMediumItem, Action_Edit);
+
+    /* Re-fetch medium-item if it is current one updated: */
+    if (pMediumItem == mediumItem(type))
+        refetchCurrentMediumItem(type);
+}
+
+void UIMediumManager::deleteMediumItem(const QString &strMediumID)
+{
+    /* Search for corresponding tree-widget: */
+    QList<UIMediumType> types;
+    types << UIMediumType_HardDisk << UIMediumType_DVD << UIMediumType_Floppy;
+    QTreeWidget *pTreeWidget = 0;
+    UIMediumItem *pMediumItem = 0;
+    foreach (UIMediumType type, types)
+    {
+        /* Get iterated tree-widget: */
+        pTreeWidget = treeWidget(type);
+        /* Search for existing medium-item: */
+        pMediumItem = searchItem(pTreeWidget, CheckIfSuitableByID(strMediumID));
+        if (pMediumItem)
+            break;
+    }
+
+    /* Ignore medium-item (if it was not found): */
+    if (!pMediumItem)
+        return;
+
+    /* Update tab-icons: */
+    updateTabIcons(pMediumItem, Action_Remove);
+
+    /* Delete medium-item: */
+    delete pMediumItem;
+    LogRel2(("UIMediumManager: Medium-item with ID={%s} deleted.\n", strMediumID.toAscii().constData()));
+
+    /* If there is no current medium-item now selected
+     * we have to choose first-available medium-item as current one: */
+    if (!pTreeWidget->currentItem())
+        setCurrentItem(pTreeWidget, pTreeWidget->topLevelItem(0));
+}
+
+UIMediumType UIMediumManager::mediumType(QTreeWidget *pTreeWidget) const
+{
+    /* Hard-drive tree-widget: */
+    if (pTreeWidget == mTwHD) return UIMediumType_HardDisk;
+    /* Optical-image tree-widget: */
+    if (pTreeWidget == mTwCD) return UIMediumType_DVD;
+    /* Floppy-image tree-widget: */
+    if (pTreeWidget == mTwFD) return UIMediumType_Floppy;
+    /* Invalid by default: */
+    AssertFailedReturn(UIMediumType_Invalid);
+}
+
+UIMediumType UIMediumManager::currentMediumType() const
+{
+    /* Return current medium type: */
+    switch (mTabWidget->currentIndex())
+    {
+        case TabIndex_HD: return UIMediumType_HardDisk;
+        case TabIndex_CD: return UIMediumType_DVD;
+        case TabIndex_FD: return UIMediumType_Floppy;
+        default: AssertMsgFailed(("Unknown page type: %d\n", mTabWidget->currentIndex())); break;
+    }
+    /* Invalid by default: */
+    return UIMediumType_Invalid;
+}
+
+QTreeWidget* UIMediumManager::treeWidget(UIMediumType type) const
+{
+    /* Return corresponding tree-widget for known medium types: */
+    switch (type)
+    {
+        case UIMediumType_HardDisk: return mTwHD;
+        case UIMediumType_DVD:      return mTwCD;
+        case UIMediumType_Floppy:   return mTwFD;
+        default: AssertMsgFailed(("Unknown medium type: %d\n", type)); break;
+    }
+    /* Null by default: */
+    return 0;
+}
+
+QTreeWidget* UIMediumManager::currentTreeWidget() const
+{
+    /* Return current tree-widget: */
+    return treeWidget(currentMediumType());
+}
+
+UIMediumItem* UIMediumManager::mediumItem(UIMediumType type) const
+{
+    /* Get corresponding tree-widget: */
+    QTreeWidget *pTreeWidget = treeWidget(type);
+    /* Return corresponding medium-item: */
+    return pTreeWidget ? toMediumItem(pTreeWidget->currentItem()) : 0;
+}
+
+UIMediumItem* UIMediumManager::currentMediumItem() const
+{
+    /* Return current medium-item: */
+    return mediumItem(currentMediumType());
+}
+
+void UIMediumManager::setCurrentItem(QTreeWidget *pTreeWidget, QTreeWidgetItem *pItem)
+{
+    /* Make sure passed tree-widget is valid: */
+    AssertPtrReturnVoid(pTreeWidget);
+
+    /* Make passed item current for passed tree-widget: */
+    pTreeWidget->setCurrentItem(pItem);
+
+    /* If non NULL item was passed: */
+    if (pItem)
+    {
+        /* Make sure it's also selected, and visible: */
+        pItem->setSelected(true);
+        pTreeWidget->scrollToItem(pItem, QAbstractItemView::EnsureVisible);
+    }
+
+    /* Re-fetch currently chosen medium-item: */
+    refetchCurrentChosenMediumItem();
+}
+
+/* static */
+UIMediumItem* UIMediumManager::searchItem(QTreeWidget *pTreeWidget, const CheckIfSuitableBy &condition, CheckIfSuitableBy *pException)
+{
+    /* Make sure argument is valid: */
+    if (!pTreeWidget)
+        return 0;
+
+    /* Return wrapper: */
+    return searchItem(pTreeWidget->invisibleRootItem(), condition, pException);
+}
+
+/* static */
+UIMediumItem* UIMediumManager::searchItem(QTreeWidgetItem *pParentItem, const CheckIfSuitableBy &condition, CheckIfSuitableBy *pException)
+{
+    /* Make sure argument is valid: */
+    if (!pParentItem)
+        return 0;
+
+    /* Verify passed item if it is of 'medium' type too: */
+    if (UIMediumItem *pMediumParentItem = toMediumItem(pParentItem))
+        if (   condition.isItSuitable(pMediumParentItem)
+            && (!pException || !pException->isItSuitable(pMediumParentItem)))
+            return pMediumParentItem;
+
+    /* Iterate other all the children: */
+    for (int iChildIndex = 0; iChildIndex < pParentItem->childCount(); ++iChildIndex)
+        if (UIMediumItem *pMediumChildItem = toMediumItem(pParentItem->child(iChildIndex)))
+            if (UIMediumItem *pRequiredMediumChildItem = searchItem(pMediumChildItem, condition, pException))
+                return pRequiredMediumChildItem;
+
+    /* Null by default: */
+    return 0;
+}
+
 /* static */
 bool UIMediumManager::checkMediumFor(UIMediumItem *pItem, Action action)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 50767)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 50768)
@@ -63,7 +63,4 @@
 private slots:
 
-    /** Handles UIMediumManager::m_pActionRefresh action triggering. */
-    void sltRefreshAll();
-
     /** Handles VBoxGlobal::sigMediumCreated signal. */
     void sltHandleMediumCreated(const QString &strMediumID);
@@ -86,4 +83,6 @@
     /** Handles UIMediumManager::m_pActionRelease action triggering. */
     void sltReleaseMedium();
+    /** Handles UIMediumManager::m_pActionRefresh action triggering. */
+    void sltRefreshAll();
 
     /** Handles tab change case. */
@@ -169,4 +168,6 @@
     /** Creates UIMediumItem for corresponding @a medium. */
     UIMediumItem* createMediumItem(const UIMedium &medium);
+    /** Creates UIMediumItemHD for corresponding @a medium. */
+    UIMediumItem* createHardDiskItem(const UIMedium &medium);
     /** Updates UIMediumItem for corresponding @a medium. */
     void updateMediumItem(const UIMedium &medium);
@@ -197,6 +198,4 @@
     /** Performs search for the @a pParentItem child which corresponds to the @a condition but not @a pException. */
     static UIMediumItem* searchItem(QTreeWidgetItem *pParentItem, const CheckIfSuitableBy &condition, CheckIfSuitableBy *pException = 0);
-    /** Creates UIMediumItemHD for corresponding @a medium. */
-    UIMediumItem* createHardDiskItem(const UIMedium &medium);
 
     /** Checks if @a action can be used for @a pItem. */
