Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 50328)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 50329)
@@ -1098,4 +1098,88 @@
 }
 
+void UIMediumManager::updateTabIcons(UIMediumItem *pMediumItem, ItemAction action)
+{
+    /* Make sure medium-item is valid: */
+    AssertReturnVoid(pMediumItem);
+
+    /* Prepare data for tab: */
+    int iTab = -1;
+    const QIcon *pIcon = 0;
+    bool *pfInaccessible = 0;
+    switch (pMediumItem->mediumType())
+    {
+        case UIMediumType_HardDisk:
+            iTab = HDTab;
+            pIcon = &m_iconHD;
+            pfInaccessible = &m_fInaccessibleHD;
+            break;
+        case UIMediumType_DVD:
+            iTab = CDTab;
+            pIcon = &m_iconCD;
+            pfInaccessible = &m_fInaccessibleCD;
+            break;
+        case UIMediumType_Floppy:
+            iTab = FDTab;
+            pIcon = &m_iconFD;
+            pfInaccessible = &m_fInaccessibleFD;
+            break;
+        default:
+            AssertFailed();
+    }
+    AssertReturnVoid(iTab != -1 && pIcon && pfInaccessible);
+
+    switch (action)
+    {
+        case ItemAction_Added:
+        {
+            /* Does it change the overall state? */
+            if (*pfInaccessible || pMediumItem->state() != KMediumState_Inaccessible)
+                break; /* no */
+
+            *pfInaccessible = true;
+
+            mTabWidget->setTabIcon(iTab, vboxGlobal().warningIcon());
+
+            break;
+        }
+        case ItemAction_Updated:
+        case ItemAction_Removed:
+        {
+            bool fCheckRest = false;
+
+            if (action == ItemAction_Updated)
+            {
+                /* Does it change the overall state? */
+                if ((*pfInaccessible && pMediumItem->state() == KMediumState_Inaccessible) ||
+                    (!*pfInaccessible && pMediumItem->state() != KMediumState_Inaccessible))
+                    break; /* no */
+
+                /* Is the given item in charge? */
+                if (!*pfInaccessible && pMediumItem->state() == KMediumState_Inaccessible)
+                    *pfInaccessible = true; /* yes */
+                else
+                    fCheckRest = true; /* no */
+            }
+            else
+                fCheckRest = true;
+
+            if (fCheckRest)
+            {
+                /* Find the first KMediumState_Inaccessible item to be in charge: */
+                UIMediumItem *pInaccessibleMediumItem =
+                    searchItem(pMediumItem->treeWidget(), CheckIfSuitableByState(KMediumState_Inaccessible));
+                *pfInaccessible = !!pInaccessibleMediumItem;
+            }
+
+            if (*pfInaccessible)
+                mTabWidget->setTabIcon(iTab, vboxGlobal().warningIcon());
+            else
+                mTabWidget->setTabIcon(iTab, *pIcon);
+
+            break;
+        }
+    }
+}
+
 #ifdef Q_WS_MAC
 void UIMediumManager::cleanupMacWindowMenu()
@@ -1555,88 +1639,4 @@
 }
 
-void UIMediumManager::updateTabIcons(UIMediumItem *pMediumItem, ItemAction action)
-{
-    /* Make sure medium-item is valid: */
-    AssertReturnVoid(pMediumItem);
-
-    /* Prepare data for tab: */
-    int iTab = -1;
-    const QIcon *pIcon = 0;
-    bool *pfInaccessible = 0;
-    switch (pMediumItem->mediumType())
-    {
-        case UIMediumType_HardDisk:
-            iTab = HDTab;
-            pIcon = &m_iconHD;
-            pfInaccessible = &m_fInaccessibleHD;
-            break;
-        case UIMediumType_DVD:
-            iTab = CDTab;
-            pIcon = &m_iconCD;
-            pfInaccessible = &m_fInaccessibleCD;
-            break;
-        case UIMediumType_Floppy:
-            iTab = FDTab;
-            pIcon = &m_iconFD;
-            pfInaccessible = &m_fInaccessibleFD;
-            break;
-        default:
-            AssertFailed();
-    }
-    AssertReturnVoid(iTab != -1 && pIcon && pfInaccessible);
-
-    switch (action)
-    {
-        case ItemAction_Added:
-        {
-            /* Does it change the overall state? */
-            if (*pfInaccessible || pMediumItem->state() != KMediumState_Inaccessible)
-                break; /* no */
-
-            *pfInaccessible = true;
-
-            mTabWidget->setTabIcon(iTab, vboxGlobal().warningIcon());
-
-            break;
-        }
-        case ItemAction_Updated:
-        case ItemAction_Removed:
-        {
-            bool fCheckRest = false;
-
-            if (action == ItemAction_Updated)
-            {
-                /* Does it change the overall state? */
-                if ((*pfInaccessible && pMediumItem->state() == KMediumState_Inaccessible) ||
-                    (!*pfInaccessible && pMediumItem->state() != KMediumState_Inaccessible))
-                    break; /* no */
-
-                /* Is the given item in charge? */
-                if (!*pfInaccessible && pMediumItem->state() == KMediumState_Inaccessible)
-                    *pfInaccessible = true; /* yes */
-                else
-                    fCheckRest = true; /* no */
-            }
-            else
-                fCheckRest = true;
-
-            if (fCheckRest)
-            {
-                /* Find the first KMediumState_Inaccessible item to be in charge: */
-                UIMediumItem *pInaccessibleMediumItem =
-                    searchItem(pMediumItem->treeWidget(), CheckIfSuitableByState(KMediumState_Inaccessible));
-                *pfInaccessible = !!pInaccessibleMediumItem;
-            }
-
-            if (*pfInaccessible)
-                mTabWidget->setTabIcon(iTab, vboxGlobal().warningIcon());
-            else
-                mTabWidget->setTabIcon(iTab, *pIcon);
-
-            break;
-        }
-    }
-}
-
 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 50328)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 50329)
@@ -123,4 +123,6 @@
     /** Update actions according currently chosen medium-item. */
     void updateActions();
+    /** Update tab icons according last @a action happened with @a pItem. */
+    void updateTabIcons(UIMediumItem *pItem, ItemAction action);
 
     /* Helpers: Cleanup stuff: */
@@ -163,7 +165,4 @@
     UIMediumItem* searchItem(QTreeWidgetItem *pParentItem, const CheckIfSuitableBy &functor) const;
     UIMediumItem* createHardDiskItem(QTreeWidget *pTree, const UIMedium &medium) const;
-
-    /* Internal API: Tab-widget access stuff: */
-    void updateTabIcons(UIMediumItem *pItem, ItemAction action);
 
     /* Helpers: Other stuff: */
