Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 94293)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 94294)
@@ -2752,4 +2752,48 @@
 };
 
+/** Simple action extension, used as 'Perform Clear' action class. */
+class UIActionMenuManagerMediumPerformClear : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuManagerMediumPerformClear(UIActionPool *pParent)
+        : UIActionSimple(pParent)
+    {
+        setShortcutContext(Qt::WidgetWithChildrenShortcut);
+        setIcon(0, UIIconPool::iconSetFull(":/hd_remove_32px.png",          ":/hd_remove_16px.png",
+                                           ":/hd_remove_disabled_32px.png", ":/hd_remove_disabled_16px.png"));
+        setIcon(1, UIIconPool::iconSetFull(":/cd_remove_32px.png",          ":/cd_remove_16px.png",
+                                           ":/cd_remove_disabled_32px.png", ":/cd_remove_disabled_16px.png"));
+        setIcon(2, UIIconPool::iconSetFull(":/fd_remove_32px.png",          ":/fd_remove_16px.png",
+                                           ":/fd_remove_disabled_32px.png", ":/fd_remove_disabled_16px.png"));
+    }
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const RT_OVERRIDE
+    {
+        return QString("Clear");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const RT_OVERRIDE
+    {
+        return QKeySequence();
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() RT_OVERRIDE
+    {
+        setName(QApplication::translate("UIActionPool", "&Clear"));
+        setShortcutScope(QApplication::translate("UIActionPool", "Media Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "remove all inaccessible media"));
+        setToolTip(  QApplication::translate("UIActionPool", "Remove All Inaccessible Media")
+                   + (shortcut().isEmpty() ? QString() : QString(" (%1)").arg(shortcut().toString())));
+    }
+};
 
 /** Menu action extension, used as 'Network' menu class. */
@@ -3690,4 +3734,5 @@
     m_pool[UIActionIndexMN_M_Medium_T_Search] = new UIActionMenuManagerMediumToggleSearch(this);
     m_pool[UIActionIndexMN_M_Medium_S_Refresh] = new UIActionMenuManagerMediumPerformRefresh(this);
+    m_pool[UIActionIndexMN_M_Medium_S_Clear] = new UIActionMenuManagerMediumPerformClear(this);
 
     /* Network Manager actions: */
@@ -4376,4 +4421,6 @@
     /* 'Release' action: */
     fSeparator = addAction(pMenu, action(UIActionIndexMN_M_Medium_S_Release)) || fSeparator;
+    /* 'Clean' action: */
+    fSeparator = addAction(pMenu, action(UIActionIndexMN_M_Medium_S_Clear)) || fSeparator;
     /* 'Search' action: */
     fSeparator = addAction(pMenu, action(UIActionIndexMN_M_Medium_T_Search)) || fSeparator;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 94293)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 94294)
@@ -165,4 +165,5 @@
     UIActionIndexMN_M_Medium_T_Search,
     UIActionIndexMN_M_Medium_S_Refresh,
+    UIActionIndexMN_M_Medium_S_Clear,
 
     /* Network Manager actions: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 94293)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp	(revision 94294)
@@ -525,4 +525,8 @@
 }
 
+void UIMediumManagerWidget::sltClear()
+{
+}
+
 void UIMediumManagerWidget::sltToggleMediumDetailsVisibility(bool fVisible)
 {
@@ -754,4 +758,5 @@
     addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Remove));
     addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Release));
+    addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Clear));
     addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_T_Search));
     addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_T_Details));
@@ -771,4 +776,6 @@
     connect(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Release), &QAction::triggered,
             this, &UIMediumManagerWidget::sltReleaseMedium);
+    connect(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Clear), &QAction::triggered,
+            this, &UIMediumManagerWidget::sltClear);
     connect(m_pActionPool->action(UIActionIndexMN_M_Medium_T_Details), &QAction::toggled,
             this, &UIMediumManagerWidget::sltToggleMediumDetailsVisibility);
@@ -827,4 +834,5 @@
         m_pToolBar->addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Remove));
         m_pToolBar->addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Release));
+        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_S_Clear));
         m_pToolBar->addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_T_Search));
         m_pToolBar->addAction(m_pActionPool->action(UIActionIndexMN_M_Medium_T_Details));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 94293)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h	(revision 94294)
@@ -179,4 +179,6 @@
         /** Handles command to release medium. */
         void sltReleaseMedium();
+        /** Removes all inaccessible media. */
+        void sltClear();
         /** Handles command to make medium details @a fVisible. */
         void sltToggleMediumDetailsVisibility(bool fVisible);
