Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 49580)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 49581)
@@ -60,9 +60,9 @@
 
     /* Medium-item type: */
-    enum { MediaItemType = QTreeWidgetItem::UserType + 1 };
+    enum { Type = QTreeWidgetItem::UserType + 1 };
 
     /* Constructor: Top-level item: */
     UIMediumItem(const UIMedium &medium, QTreeWidget *pParent)
-        : QTreeWidgetItem(pParent, MediaItemType)
+        : QTreeWidgetItem(pParent, Type)
         , m_medium(medium)
     { refresh(); }
@@ -70,5 +70,5 @@
     /* Constructor: Child item: */
     UIMediumItem(const UIMedium &medium, UIMediumItem *pParent)
-        : QTreeWidgetItem(pParent, MediaItemType)
+        : QTreeWidgetItem(pParent, Type)
         , m_medium(medium)
     { refresh(); }
@@ -89,6 +89,6 @@
     }
 
-    /* API: Type stuff: */
-    UIMediumType type() const { return m_medium.type(); }
+    /* API: Medium-type stuff: */
+    UIMediumType mediumType() const { return m_medium.type(); }
 
     /* API: State stuff: */
@@ -146,5 +146,5 @@
 
 
-/* Medium-item: */
+/* Medium-item iterator: */
 class UIMediumItemIterator : public QTreeWidgetItemIterator
 {
@@ -157,5 +157,5 @@
     {
         QTreeWidgetItem *pItem = QTreeWidgetItemIterator::operator*();
-        return pItem && pItem->type() == UIMediumItem::MediaItemType ?
+        return pItem && pItem->type() == UIMediumItem::Type ?
             static_cast<UIMediumItem*>(pItem) : 0;
     }
@@ -264,9 +264,4 @@
 void UIMediumManager::refreshAll()
 {
-    // TODO (Planned to 4.3.release by Dsen)
-    // Currently we just restarting medium-enumeration which is *very* expensive.
-    // To make it proper way, we have to invalidate mediums which were known as *related*
-    // to machine who's event called for *full-refresh* and start medium-enumeration.
-    // But medium-enumeration itself should update *only* invalidated mediums.
     vboxGlobal().startMediumEnumeration();
 }
@@ -522,5 +517,5 @@
     QString strMediumID = pMediumItem->id();
     AssertReturnVoid(!strMediumID.isNull());
-    UIMediumType type = pMediumItem->type();
+    UIMediumType type = pMediumItem->mediumType();
 
     /* Confirm medium removal: */
@@ -752,24 +747,4 @@
         /* Show context menu: */
         m_pContextMenu->exec(pTree->viewport()->mapToGlobal(position));
-    }
-}
-
-void UIMediumManager::sltHandleMachineStateChanged(QString, KMachineState state)
-{
-    switch (state)
-    {
-        case KMachineState_PoweredOff:
-        case KMachineState_Aborted:
-        case KMachineState_Saved:
-        case KMachineState_Teleported:
-        case KMachineState_Starting:
-        case KMachineState_Restoring:
-        case KMachineState_TeleportingIn:
-        {
-            refreshAll();
-            break;
-        }
-        default:
-            break;
     }
 }
@@ -1487,5 +1462,5 @@
 {
     /* Return UIMediumItem based on QTreeWidgetItem if it is valid: */
-    if (pItem && pItem->type() == UIMediumItem::MediaItemType)
+    if (pItem && pItem->type() == UIMediumItem::Type)
         return static_cast<UIMediumItem*>(pItem);
     /* Null by default: */
@@ -1519,9 +1494,8 @@
     /* Prepare medium-item: */
     UIMediumItem *pMediumItem = 0;
-    CMedium parent = medium.medium().GetParent();
 
     /* First try to create item under corresponding parent: */
-    if (!parent.isNull())
-        if (UIMediumItem *pRoot = searchItem(pTree, parent.GetId()))
+    if (medium.parentID() != UIMedium::nullID())
+        if (UIMediumItem *pRoot = searchItem(pTree, medium.parentID()))
             pMediumItem = new UIMediumItem(medium, pRoot);
     /* Else just create item as top-level one: */
@@ -1542,5 +1516,5 @@
     const QIcon *pIcon = 0;
     bool *pfInaccessible = 0;
-    switch (pMediumItem->type())
+    switch (pMediumItem->mediumType())
     {
         case UIMediumType_HardDisk:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 49580)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 49581)
@@ -84,7 +84,4 @@
     void sltHandleDoubleClick();
     void sltHandleContextMenuCall(const QPoint &position);
-
-    /* Handler: Machine stuff: */
-    void sltHandleMachineStateChanged(QString strId, KMachineState state);
 
     /* Handlers: Geometry stuff:  */
