Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMInformationDlg.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMInformationDlg.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMInformationDlg.cpp	(revision 48260)
@@ -116,5 +116,5 @@
     connect (pMachineWindow->machineView(), SIGNAL (resizeHintDone()), this, SLOT (processStatistics()));
     connect (mInfoStack, SIGNAL (currentChanged (int)), this, SLOT (onPageChanged (int)));
-    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished(const VBoxMediaList&)), this, SLOT(updateDetails()));
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished()), this, SLOT(updateDetails()));
     connect (mStatTimer, SIGNAL (timeout()), this, SLOT (processStatistics()));
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 48260)
@@ -1842,15 +1842,9 @@
 }
 
-/**
- * Adds a new medium to the current media list and emits the #mediumAdded()
- * signal.
- *
- * @sa #currentMediaList()
- */
-void VBoxGlobal::addMedium (const UIMedium &aMedium)
+void VBoxGlobal::createMedium(const UIMedium &uimedium)
 {
     VBoxMediaList::iterator it = m_mediums.begin();
 
-    if (aMedium.type() == UIMediumType_HardDisk)
+    if (uimedium.type() == UIMediumType_HardDisk)
     {
         VBoxMediaList::iterator itParent = m_mediums.end();
@@ -1864,7 +1858,7 @@
                 break;
 
-            if (aMedium.parent() != NULL && itParent == m_mediums.end())
+            if (uimedium.parent() != NULL && itParent == m_mediums.end())
             {
-                if (&*it == aMedium.parent())
+                if (&*it == uimedium.parent())
                     itParent = it;
             }
@@ -1872,16 +1866,16 @@
             {
                 /* break if met a parent's sibling (will insert before it) */
-                if (aMedium.parent() != NULL &&
+                if (uimedium.parent() != NULL &&
                     (*it).parent() == (*itParent).parent())
                     break;
 
-                /* compare to aMedium's siblings */
-                if ((*it).parent() == aMedium.parent() &&
-                    (*it).name().localeAwareCompare (aMedium.name()) > 0)
+                /* compare to uimedium's siblings */
+                if ((*it).parent() == uimedium.parent() &&
+                    (*it).name().localeAwareCompare (uimedium.name()) > 0)
                     break;
             }
         }
 
-        AssertReturnVoid (aMedium.parent() == NULL || itParent != m_mediums.end());
+        AssertReturnVoid (uimedium.parent() == NULL || itParent != m_mediums.end());
     }
     else
@@ -1897,10 +1891,10 @@
 
             /* skip DVD when inserting Floppy */
-            if (aMedium.type() == UIMediumType_Floppy &&
+            if (uimedium.type() == UIMediumType_Floppy &&
                 (*it).type() == UIMediumType_DVD)
                 continue;
 
-            if ((*it).name().localeAwareCompare (aMedium.name()) > 0 ||
-                (aMedium.type() == UIMediumType_DVD &&
+            if ((*it).name().localeAwareCompare (uimedium.name()) > 0 ||
+                (uimedium.type() == UIMediumType_DVD &&
                  (*it).type() == UIMediumType_Floppy))
                 break;
@@ -1908,44 +1902,32 @@
     }
 
-    it = m_mediums.insert (it, aMedium);
-
-    emit mediumAdded (*it);
-}
-
-/**
- * Updates the medium in the current media list and emits the #mediumUpdated()
- * signal.
- *
- * @sa #currentMediaList()
- */
-void VBoxGlobal::updateMedium (const UIMedium &aMedium)
+    it = m_mediums.insert (it, uimedium);
+
+    emit sigMediumCreated(*it);
+}
+
+void VBoxGlobal::updateMedium(const UIMedium &uimedium)
 {
     VBoxMediaList::Iterator it;
     for (it = m_mediums.begin(); it != m_mediums.end(); ++ it)
-        if ((*it).id() == aMedium.id())
+        if ((*it).id() == uimedium.id())
             break;
 
     AssertReturnVoid (it != m_mediums.end());
 
-    if (&*it != &aMedium)
-        *it = aMedium;
-
-    emit mediumUpdated (*it);
-}
-
-/**
- * Removes the medium from the current media list and emits the #mediumRemoved()
- * signal.
- *
- * @sa #currentMediaList()
- */
-void VBoxGlobal::removeMedium (UIMediumType aType, const QString &aId)
+    if (&*it != &uimedium)
+        *it = uimedium;
+
+    emit sigMediumUpdated(*it);
+}
+
+void VBoxGlobal::deleteMedium(const QString &strMediumID)
 {
     VBoxMediaList::Iterator it;
-    for (it = m_mediums.begin(); it != m_mediums.end(); ++ it)
-        if ((*it).id() == aId)
+    for (it = m_mediums.begin(); it != m_mediums.end(); ++it)
+        if ((*it).id() == strMediumID)
             break;
 
-    AssertReturnVoid (it != m_mediums.end());
+    AssertReturnVoid(it != m_mediums.end());
 
 #if DEBUG
@@ -1953,8 +1935,8 @@
     {
         VBoxMediaList::Iterator jt = it;
-        ++ jt;
-        AssertReturnVoid (jt == m_mediums.end() || (*jt).parent() != &*it);
-    }
-#endif
+        ++jt;
+        AssertReturnVoid(jt == m_mediums.end() || (*jt).parent() != &*it);
+    }
+#endif /* DEBUG */
 
     UIMedium *pParent = (*it).parent();
@@ -1962,7 +1944,7 @@
     /* remove the medium from the list to keep it in sync with the server "for
      * free" when the medium is deleted from one of our UIs */
-    m_mediums.erase (it);
-
-    emit mediumRemoved (aType, aId);
+    m_mediums.erase(it);
+
+    emit sigMediumDeleted(strMediumID);
 
     /* also emit the parent update signal because some attributes like
@@ -1971,5 +1953,5 @@
     {
         pParent->refresh();
-        emit mediumUpdated (*pParent);
+        emit sigMediumUpdated(*pParent);
     }
 }
@@ -2120,5 +2102,5 @@
             /* And create new otherwise: */
             uimedium = UIMedium(cmedium, mediumType, KMediumState_Created);
-            vboxGlobal().addMedium(uimedium);
+            vboxGlobal().createMedium(uimedium);
         }
 
@@ -4049,5 +4031,5 @@
 
             /* Notify listeners about enumeration finished: */
-            emit sigMediumEnumerationFinished(m_mediums);
+            emit sigMediumEnumerationFinished();
 
             /* Accept event: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 48260)
@@ -248,7 +248,8 @@
     const VBoxMediaList &currentMediaList() const { return m_mediums; }
 
-    void addMedium (const UIMedium &);
-    void updateMedium (const UIMedium &);
-    void removeMedium (UIMediumType, const QString &);
+    /* API: Medium-processing stuff: */
+    void createMedium(const UIMedium &medium);
+    void updateMedium(const UIMedium &medium);
+    void deleteMedium(const QString &strMediumID);
 
     bool medium(const CMedium &cmedium, UIMedium &uimedium) const;
@@ -378,14 +379,10 @@
     void sigMediumEnumerationStarted();
     void sigMediumEnumerated(const UIMedium &medium);
-    void sigMediumEnumerationFinished(const VBoxMediaList &mediums);
-
-    /** Emitted when a new media is added using #addMedia(). */
-    void mediumAdded (const UIMedium &);
-
-    /** Emitted when the media is updated using #updateMedia(). */
-    void mediumUpdated (const UIMedium &);
-
-    /** Emitted when the media is removed using #removeMedia(). */
-    void mediumRemoved (UIMediumType, const QString &);
+    void sigMediumEnumerationFinished();
+
+    /* Notifiers: Medium-processing stuff: */
+    void sigMediumCreated(const UIMedium &medium);
+    void sigMediumUpdated(const UIMedium &medium);
+    void sigMediumDeleted(const QString &strMediumID);
 
 public slots:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 48260)
@@ -272,5 +272,5 @@
 }
 
-void UIMediumManager::sltHandleMediumAdded(const UIMedium &medium)
+void UIMediumManager::sltHandleMediumCreated(const UIMedium &medium)
 {
     /* Ignore non-interesting mediums: */
@@ -370,9 +370,18 @@
 }
 
-void UIMediumManager::sltHandleMediumRemoved(UIMediumType type, const QString &strId)
+void UIMediumManager::sltHandleMediumDeleted(const QString &strMediumID)
 {
     /* Get tree/item: */
-    QTreeWidget *pTree = treeWidget(type);
-    UIMediumItem *pMediumItem = toMediumItem(searchItem(pTree, strId));
+    QList<UIMediumType> types;
+    types << UIMediumType_HardDisk << UIMediumType_DVD << UIMediumType_Floppy;
+    QTreeWidget *pTree = 0;
+    UIMediumItem *pMediumItem = 0;
+    foreach (UIMediumType type, types)
+    {
+        pTree = treeWidget(type);
+        pMediumItem = searchItem(pTree, strMediumID);
+        if (pMediumItem)
+            break;
+    }
     if (!pMediumItem)
         return;
@@ -411,5 +420,5 @@
     VBoxMediaList::const_iterator it;
     for (it = mediums.begin(); it != mediums.end(); ++it)
-        sltHandleMediumAdded(*it);
+        sltHandleMediumCreated(*it);
 
     /* Select the first item to be the current one
@@ -495,6 +504,6 @@
 
     /* Remember ID/type as they may get lost after the closure/deletion: */
-    QString strId = pMediumItem->id();
-    AssertReturnVoid(!strId.isNull());
+    QString strMediumID = pMediumItem->id();
+    AssertReturnVoid(!strMediumID.isNull());
     UIMediumType type = pMediumItem->type();
 
@@ -581,5 +590,5 @@
     /* Verify result: */
     if (result.isOk())
-        vboxGlobal().removeMedium(type, strId);
+        vboxGlobal().deleteMedium(strMediumID);
     else
         msgCenter().cannotCloseMedium(pMediumItem->medium(), result, this);
@@ -625,6 +634,4 @@
             break;
 
-    /* Update medium-item: */
-    pMediumItem->refreshAll();
     /* Inform others about medium changes: */
     vboxGlobal().updateMedium(pMediumItem->medium());
@@ -851,10 +858,10 @@
 
     /* Configure medium-processing connections: */
-    connect(&vboxGlobal(), SIGNAL(mediumAdded(const UIMedium&)),
-            this, SLOT(sltHandleMediumAdded(const UIMedium&)));
-    connect(&vboxGlobal(), SIGNAL(mediumUpdated(const UIMedium&)),
+    connect(&vboxGlobal(), SIGNAL(sigMediumCreated(const UIMedium&)),
+            this, SLOT(sltHandleMediumCreated(const UIMedium&)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumUpdated(const UIMedium&)),
             this, SLOT(sltHandleMediumUpdated(const UIMedium&)));
-    connect(&vboxGlobal(), SIGNAL(mediumRemoved(UIMediumType, const QString&)),
-            this, SLOT(sltHandleMediumRemoved(UIMediumType, const QString&)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumDeleted(const QString&)),
+            this, SLOT(sltHandleMediumDeleted(const QString&)));
 
     /* Configure medium-enumeration connections: */
@@ -863,5 +870,5 @@
     connect(&vboxGlobal(), SIGNAL(sigMediumEnumerated(const UIMedium&)),
             this, SLOT(sltHandleMediumEnumerated(const UIMedium&)));
-    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished(const VBoxMediaList&)),
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished()),
             this, SLOT(sltHandleMediumEnumerationFinish()));
 
@@ -1152,5 +1159,5 @@
         for (it = mediums.begin(); it != mediums.end(); ++it)
         {
-            sltHandleMediumAdded(*it);
+            sltHandleMediumCreated(*it);
             /* But advance progress-bar only for created mediums: */
             if ((*it).state() != KMediumState_NotCreated)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 48260)
@@ -64,7 +64,7 @@
 
     /* Handlers: Medium-processing stuff: */
-    void sltHandleMediumAdded(const UIMedium &medium);
+    void sltHandleMediumCreated(const UIMedium &medium);
     void sltHandleMediumUpdated(const UIMedium &medium);
-    void sltHandleMediumRemoved(UIMediumType type, const QString &strId);
+    void sltHandleMediumDeleted(const QString &strMediumID);
 
     /* Handlers: Medium-enumeration stuff: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 48260)
@@ -581,21 +581,22 @@
         if (!strCntName.isNull())
         {
-            /* Create a new UIMedium: */
-            UIMedium vboxMedium(image, UIMediumType_DVD, KMediumState_Created);
-            /* Register it in GUI internal list: */
-            vboxGlobal().addMedium(vboxMedium);
+            /* Create new UIMedium: */
+            UIMedium medium(image, UIMediumType_DVD, KMediumState_Created);
+
+            /* Inform VBoxGlobal about it: */
+            vboxGlobal().createMedium(medium);
 
             /* Mount medium to the predefined port/device: */
-            machine.MountMedium(strCntName, iCntPort, iCntDevice, vboxMedium.medium(), false /* force */);
+            machine.MountMedium(strCntName, iCntPort, iCntDevice, medium.medium(), false /* force */);
             if (!machine.isOk())
             {
                 /* Ask for force mounting: */
-                if (msgCenter().cannotRemountMedium(machine, vboxMedium, true /* mount? */,
+                if (msgCenter().cannotRemountMedium(machine, medium, true /* mount? */,
                                                     true /* retry? */, mainMachineWindow()))
                 {
                     /* Force mount medium to the predefined port/device: */
-                    machine.MountMedium(strCntName, iCntPort, iCntDevice, vboxMedium.medium(), true /* force */);
+                    machine.MountMedium(strCntName, iCntPort, iCntDevice, medium.medium(), true /* force */);
                     if (!machine.isOk())
-                        msgCenter().cannotRemountMedium(machine, vboxMedium, true /* mount? */,
+                        msgCenter().cannotRemountMedium(machine, medium, true /* mount? */,
                                                         false /* retry? */, mainMachineWindow());
                 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 48260)
@@ -1403,5 +1403,5 @@
 {
     /* Medium enumeration connections: */
-    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished(const VBoxMediaList &)), this, SLOT(sltHandleMediumEnumerationFinish()));
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished()), this, SLOT(sltHandleMediumEnumerationFinish()));
 
     /* Menu-bar connections: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp	(revision 48260)
@@ -347,5 +347,5 @@
     /* Meidum-enumeration connections: */
     connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationStarted()), this, SLOT(sltUpdateAppearance()));
-    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished(const VBoxMediaList &)), this, SLOT(sltUpdateAppearance()));
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished()), this, SLOT(sltUpdateAppearance()));
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 48260)
@@ -553,5 +553,5 @@
 
     /* Allow to reset first-run flag just when medium enumeration was finished: */
-    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished(const VBoxMediaList &)), this, SLOT(sltAllowResetFirstRunFlag()));
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationFinished()), this, SLOT(sltAllowResetFirstRunFlag()));
 
     /* Get corresponding machine (required to determine dialog type and page availability): */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp	(revision 48260)
@@ -1830,11 +1830,11 @@
     mLbUsageValue->setFullSizeSelection (true);
 
-    /* Setup connections */
-    connect (&vboxGlobal(), SIGNAL (sigMediumEnumerated (const UIMedium &)),
-             this, SLOT (sltHandleMediumUpdated (const UIMedium &)));
-    connect (&vboxGlobal(), SIGNAL (mediumUpdated (const UIMedium &)),
-             this, SLOT (sltHandleMediumUpdated (const UIMedium &)));
-    connect (&vboxGlobal(), SIGNAL (mediumRemoved (UIMediumType, const QString &)),
-             this, SLOT (sltHandleMediumRemoved (UIMediumType, const QString &)));
+    /* Setup connections: */
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerated(const UIMedium&)),
+            this, SLOT(sltHandleMediumUpdated(const UIMedium&)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumUpdated(const UIMedium&)),
+            this, SLOT(sltHandleMediumUpdated(const UIMedium&)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumDeleted(const QString&)),
+            this, SLOT(sltHandleMediumDeleted(const QString&)));
     connect (mAddCtrAction, SIGNAL (triggered (bool)), this, SLOT (addController()));
     connect (mAddIDECtrAction, SIGNAL (triggered (bool)), this, SLOT (addIDEController()));
@@ -2271,5 +2271,5 @@
 }
 
-void UIMachineSettingsStorage::sltHandleMediumUpdated(const UIMedium &aMedium)
+void UIMachineSettingsStorage::sltHandleMediumUpdated(const UIMedium &medium)
 {
     QModelIndex rootIndex = mStorageModel->root();
@@ -2281,5 +2281,5 @@
             QModelIndex attIndex = ctrIndex.child (j, 0);
             QString attMediumId = mStorageModel->data (attIndex, StorageModel::R_AttMediumId).toString();
-            if (attMediumId == aMedium.id())
+            if (attMediumId == medium.id())
             {
                 mStorageModel->setData (attIndex, attMediumId, StorageModel::R_AttMediumId);
@@ -2292,5 +2292,5 @@
 }
 
-void UIMachineSettingsStorage::sltHandleMediumRemoved(UIMediumType /* aType */, const QString &aMediumId)
+void UIMachineSettingsStorage::sltHandleMediumDeleted(const QString &strMediumID)
 {
     QModelIndex rootIndex = mStorageModel->root();
@@ -2302,5 +2302,5 @@
             QModelIndex attIndex = ctrIndex.child (j, 0);
             QString attMediumId = mStorageModel->data (attIndex, StorageModel::R_AttMediumId).toString();
-            if (attMediumId == aMediumId)
+            if (attMediumId == strMediumID)
             {
                 mStorageModel->setData (attIndex, UIMedium().id(), StorageModel::R_AttMediumId);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h	(revision 48260)
@@ -682,6 +682,7 @@
 private slots:
 
-    void sltHandleMediumUpdated(const UIMedium &aMedium);
-    void sltHandleMediumRemoved(UIMediumType aType, const QString &aMediumId);
+    /* Handlers: Medium-processing stuff: */
+    void sltHandleMediumUpdated(const UIMedium &medium);
+    void sltHandleMediumDeleted(const QString &strMediumID);
 
     void addController();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.cpp	(revision 48260)
@@ -41,14 +41,14 @@
     connect(&vboxGlobal(), SIGNAL(sigMediumEnumerationStarted()),
             this, SLOT(sltHandleMediumEnumerationStart()));
-    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerated (const UIMedium&)),
-            this, SLOT(sltHandleMediumEnumerated(const UIMedium&)));
-
-    /* Setup update handlers */
-    connect (&vboxGlobal(), SIGNAL (mediumAdded (const UIMedium &)),
-             this, SLOT (mediumAdded (const UIMedium &)));
-    connect (&vboxGlobal(), SIGNAL (mediumUpdated (const UIMedium &)),
-             this, SLOT (mediumUpdated (const UIMedium &)));
-    connect (&vboxGlobal(), SIGNAL (mediumRemoved (UIMediumType, const QString &)),
-             this, SLOT (mediumRemoved (UIMediumType, const QString &)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumEnumerated(const UIMedium&)),
+            this, SLOT(sltHandleMediumUpdated(const UIMedium&)));
+
+    /* Setup medium-processing handlers: */
+    connect(&vboxGlobal(), SIGNAL(sigMediumCreated(const UIMedium&)),
+            this, SLOT(sltHandleMediumCreated(const UIMedium&)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumUpdated(const UIMedium&)),
+            this, SLOT(sltHandleMediumUpdated(const UIMedium&)));
+    connect(&vboxGlobal(), SIGNAL(sigMediumDeleted(const QString&)),
+            this, SLOT(sltHandleMediumDeleted(const QString&)));
 
     /* Setup other connections */
@@ -69,5 +69,5 @@
     VBoxMediaList list (vboxGlobal().currentMediaList());
     foreach (UIMedium medium, list)
-        mediumAdded (medium);
+        sltHandleMediumCreated(medium);
 
     /* If at least one real medium present, process null medium */
@@ -173,71 +173,62 @@
 }
 
-void VBoxMediaComboBox::sltHandleMediumEnumerated(const UIMedium &aMedium)
-{
-    mediumUpdated (aMedium);
-}
-
-void VBoxMediaComboBox::mediumAdded (const UIMedium &aMedium)
-{
-    if (aMedium.isNull() || aMedium.type() == mType)
-    {
-        if (!mShowDiffs && aMedium.type() == UIMediumType_HardDisk)
+void VBoxMediaComboBox::sltHandleMediumCreated(const UIMedium &medium)
+{
+    if (medium.isNull() || medium.type() == mType)
+    {
+        if (!mShowDiffs && medium.type() == UIMediumType_HardDisk)
         {
-            if (aMedium.parent() != NULL)
+            if (medium.parent() != NULL)
             {
                 /* In !mShowDiffs mode, we ignore all diffs except ones that are
                  * directly attached to the related VM in the current state */
-                if (!aMedium.isAttachedInCurStateTo (mMachineId))
+                if (!medium.isAttachedInCurStateTo (mMachineId))
                     return;
             }
         }
 
-        appendItem (aMedium);
-
-        /* Activate the required item if there is any */
-        if (aMedium.id() == mLastId)
-            setCurrentItem (aMedium.id());
-        /* Select last added item if there is no item selected */
+        appendItem(medium);
+
+        /* Activate the required item if there is any: */
+        if (medium.id() == mLastId)
+            setCurrentItem(medium.id());
+        /* Select last added item if there is no item selected: */
         else if (currentText().isEmpty())
-            QComboBox::setCurrentIndex (count() - 1);
-    }
-}
-
-void VBoxMediaComboBox::mediumUpdated (const UIMedium &aMedium)
-{
-    if (aMedium.isNull() || aMedium.type() == mType)
+            QComboBox::setCurrentIndex(count() - 1);
+    }
+}
+
+void VBoxMediaComboBox::sltHandleMediumUpdated(const UIMedium &medium)
+{
+    if (medium.isNull() || medium.type() == mType)
     {
         int index;
-        if (!findMediaIndex (aMedium.id(), index))
+        if (!findMediaIndex(medium.id(), index))
             return;
 
-        replaceItem (index, aMedium);
+        replaceItem(index, medium);
 
         /* Emit the signal to ensure the parent dialog handles the change of
-         * the selected item's data */
-        emit activated (currentIndex());
-    }
-}
-
-void VBoxMediaComboBox::mediumRemoved (UIMediumType aType,
-                                       const QString &aId)
-{
-    if (mType != aType)
+         * the selected item's data: */
+        emit activated(currentIndex());
+    }
+}
+
+void VBoxMediaComboBox::sltHandleMediumDeleted(const QString &strMediumID)
+{
+    int index;
+    if (!findMediaIndex(strMediumID, index))
         return;
 
-    int index;
-    if (!findMediaIndex (aId, index))
-        return;
-
-    removeItem (index);
-    mMedia.erase (mMedia.begin() + index);
-
-    /* If no real medium left, add the null medium */
+    removeItem(index);
+    mMedia.erase(mMedia.begin() + index);
+
+    /* If no real medium left, add the null medium: */
     if (count() == 0)
-        mediumAdded (UIMedium());
+        sltHandleMediumCreated(UIMedium());
 
     /* Emit the signal to ensure the parent dialog handles the change of
-     * the selected item */
-    emit activated (currentIndex());
+     * the selected item: */
+    emit activated(currentIndex());
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.h	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.h	(revision 48260)
@@ -52,10 +52,11 @@
 protected slots:
 
+    /* Handler: Medium-enumeration stuff: */
     void sltHandleMediumEnumerationStart();
-    void sltHandleMediumEnumerated(const UIMedium &);
 
-    void mediumAdded (const UIMedium &);
-    void mediumUpdated (const UIMedium &);
-    void mediumRemoved (UIMediumType, const QString &);
+    /* Handlers: Medium-processing stuff: */
+    void sltHandleMediumCreated(const UIMedium &medium);
+    void sltHandleMediumUpdated(const UIMedium &medium);
+    void sltHandleMediumDeleted(const QString &strMediumID);
 
     void processActivated (int aIndex);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 48260)
@@ -103,6 +103,6 @@
     m_virtualDisk = virtualDisk;
 
-    /* Inform everybody there is a new medium: */
-    vboxGlobal().addMedium(UIMedium(m_virtualDisk, UIMediumType_HardDisk, KMediumState_Created));
+    /* Inform VBoxGlobal about it: */
+    vboxGlobal().createMedium(UIMedium(m_virtualDisk, UIMediumType_HardDisk, KMediumState_Created));
 
     return true;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp	(revision 48259)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp	(revision 48260)
@@ -103,5 +103,5 @@
 
     /* Remember virtual-disk attributes: */
-    QString strId = m_virtualDisk.GetId();
+    QString strMediumID = m_virtualDisk.GetId();
     QString strLocation = m_virtualDisk.GetLocation();
     /* Prepare delete storage progress: */
@@ -117,6 +117,6 @@
         msgCenter().cannotDeleteHardDiskStorage(m_virtualDisk, strLocation, thisImp());
 
-    /* Remove virtual-disk from GUI anyway: */
-    vboxGlobal().removeMedium(UIMediumType_HardDisk, strId);
+    /* Inform VBoxGlobal about it: */
+    vboxGlobal().deleteMedium(strMediumID);
 
     /* Detach virtual-disk anyway: */
