Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp	(revision 76891)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp	(revision 76892)
@@ -433,4 +433,9 @@
 }
 
+QModelIndex QITreeWidget::itemIndex(QTreeWidgetItem *pItem)
+{
+    return indexFromItem(pItem);
+}
+
 void QITreeWidget::paintEvent(QPaintEvent *pEvent)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h	(revision 76891)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h	(revision 76892)
@@ -86,5 +86,5 @@
     void resized(const QSize &size, const QSize &oldSize);
 
-public:
+ public:
 
     /** Constructs tree-widget passing @a pParent to the base-class. */
@@ -98,4 +98,5 @@
     /** Returns the child item with @a iIndex. */
     QITreeWidgetItem *childItem(int iIndex) const;
+    QModelIndex itemIndex(QTreeWidgetItem *pItem);
 
 protected:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp	(revision 76891)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp	(revision 76892)
@@ -54,6 +54,10 @@
 #endif /* VBOX_WS_MAC */
 
-
-class UIMediumSearchWidget : public QWidget
+/*********************************************************************************************************************************
+*   UIMediumSearchWidget definition.                                                                                         *
+*********************************************************************************************************************************/
+/** QWidget extension providing a simple way to enter a earch term and search type for medium searching
+ *  in virtual media manager, medium selection dialog, etc. */
+class UIMediumSearchWidget : public QIWithRetranslateUI<QWidget>
 {
     Q_OBJECT;
@@ -70,6 +74,5 @@
 signals:
 
-    void sigSearchTypeChanged(int newType);
-    void sigSearchTermChanged(QString searchTerm);
+    void sigPerformSearch();
 
 public:
@@ -79,9 +82,14 @@
     QString searchTerm() const;
 
+protected:
+
+    void retranslateUi() /* override */;
+
 private:
 
     void prepareWidgets();
     QIComboBox       *m_pSearchComboxBox;
-    QLineEdit         *m_pSearchTermLineEdit;
+    QLineEdit        *m_pSearchTermLineEdit;
+    QIToolButton     *m_pSearchButton;
 };
 
@@ -92,7 +100,8 @@
 
 UIMediumSearchWidget::UIMediumSearchWidget(QWidget *pParent)
-    :QWidget(pParent)
+    :QIWithRetranslateUI<QWidget>(pParent)
     , m_pSearchComboxBox(0)
     , m_pSearchTermLineEdit(0)
+    , m_pSearchButton(0)
 {
     prepareWidgets();
@@ -115,5 +124,5 @@
 
         connect(m_pSearchComboxBox, static_cast<void(QIComboBox::*)(int)>(&QIComboBox::currentIndexChanged),
-                this, &UIMediumSearchWidget::sigSearchTypeChanged);
+                this, &UIMediumSearchWidget::sigPerformSearch);
 
     }
@@ -124,7 +133,16 @@
         m_pSearchTermLineEdit->setClearButtonEnabled(true);
         pLayout->addWidget(m_pSearchTermLineEdit);
-        connect(m_pSearchTermLineEdit, &QILineEdit::textChanged,
-                this, &UIMediumSearchWidget::sigSearchTermChanged);
-    }
+        connect(m_pSearchTermLineEdit, &QILineEdit::editingFinished,
+                this, &UIMediumSearchWidget::sigPerformSearch);
+    }
+
+    m_pSearchButton = new QIToolButton;
+    if (m_pSearchButton)
+    {
+        m_pSearchButton->setIcon(UIIconPool::iconSet(":/log_viewer_find_16px.png", ":/log_viewer_find_disabled_16px.png"));
+        connect(m_pSearchButton, &QIToolButton::clicked, this, &UIMediumSearchWidget::sigPerformSearch);
+        pLayout->addWidget(m_pSearchButton);
+    }
+    retranslateUi();
 }
 
@@ -143,4 +161,22 @@
 }
 
+void UIMediumSearchWidget::retranslateUi()
+{
+    if (m_pSearchComboxBox)
+    {
+        m_pSearchComboxBox->setItemText(SearchByName, UIMediumSelector::tr("Search By Name"));
+        m_pSearchComboxBox->setItemText(SearchByUUID, UIMediumSelector::tr("Search By UUID"));
+        m_pSearchComboxBox->setToolTip(UIMediumSelector::tr("Select the search type"));
+    }
+    if (m_pSearchTermLineEdit)
+        m_pSearchTermLineEdit->setToolTip("Enter the search term and press Return");
+    if (m_pSearchButton)
+        m_pSearchButton->setToolTip("Search medium with the given name or UUID");
+}
+
+
+/*********************************************************************************************************************************
+*   UIMediumSelector implementation.                                                                                         *
+*********************************************************************************************************************************/
 
 UIMediumSelector::UIMediumSelector(UIMediumDeviceType enmMediumType, const QString &machineName /* = QString() */,
@@ -329,8 +365,6 @@
     if (m_pSearchWidget)
     {
-        connect(m_pSearchWidget, &UIMediumSearchWidget::sigSearchTypeChanged,
-                this, &UIMediumSelector::sltHandleSearchTypeChange);
-        connect(m_pSearchWidget, &UIMediumSearchWidget::sigSearchTermChanged,
-                this, &UIMediumSelector::sltHandleSearchTermChange);
+        connect(m_pSearchWidget, &UIMediumSearchWidget::sigPerformSearch,
+                this, &UIMediumSelector::sltHandlePerformSearch);
     }
 }
@@ -544,13 +578,6 @@
 }
 
-void UIMediumSelector::sltHandleSearchTypeChange(int type)
-{
-    Q_UNUSED(type);
-    performMediumSearch();
-}
-
-void UIMediumSelector::sltHandleSearchTermChange(QString searchTerm)
-{
-    Q_UNUSED(searchTerm);
+void UIMediumSelector::sltHandlePerformSearch()
+{
     performMediumSearch();
 }
@@ -753,5 +780,4 @@
     }
 
-
     UIMediumSearchWidget::SearchType searchType =
         m_pSearchWidget->searchType();
@@ -778,4 +804,7 @@
             for (int j = 0; j < m_pTreeWidget->columnCount(); ++j)
                 m_mediumItemList[i]->setData(j, Qt::ForegroundRole, QBrush(QColor(255, 0, 0)));
+            QModelIndex itemIndex = m_pTreeWidget->itemIndex(m_mediumItemList[i]);
+            if (itemIndex.isValid())
+                m_pTreeWidget->scrollTo(itemIndex);
         }
     }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.h	(revision 76891)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.h	(revision 76892)
@@ -69,8 +69,7 @@
     void sltHandleMediumEnumerationFinish();
     void sltHandleRefresh();
-    void sltHandleSearchTypeChange(int type);
-    void sltHandleSearchTermChange(QString searchTerm);
+    void sltHandlePerformSearch();
 
-private:
+ private:
 
 
