Index: trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 78010)
@@ -207,5 +207,4 @@
 const char *UIExtraDataDefs::GUI_GuestControl_FileManagerShowHumanReadableSizes = "ShowHumanReadableSizes";
 const char *UIExtraDataDefs::GUI_GuestControl_FileManagerShowHiddenObjects = "ShowHiddenObjects";
-const char *UIExtraDataDefs::GUI_GuestControl_FileManagerShowBreadCrumbs = "ShowBreadCrumbs";
 
 /* Virtual Machine: Close dialog: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 78010)
@@ -383,5 +383,4 @@
         extern const char *GUI_GuestControl_FileManagerShowHumanReadableSizes;
         extern const char *GUI_GuestControl_FileManagerShowHiddenObjects;
-        extern const char *GUI_GuestControl_FileManagerShowBreadCrumbs;
     /** @} */
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 78010)
@@ -4274,6 +4274,5 @@
                                                bool fShowDeleteConfirmation,
                                                bool fShowHumanReadableSizes,
-                                               bool fShowHiddenObjects,
-                                               bool fShowBreadCrumbs)
+                                               bool fShowHiddenObjects)
 {
     /* Serialize passed values: */
@@ -4288,6 +4287,4 @@
     if (fShowHiddenObjects)
         data << GUI_GuestControl_FileManagerShowHiddenObjects;
-    if (fShowBreadCrumbs)
-        data << GUI_GuestControl_FileManagerShowBreadCrumbs;
 
     /* Re-cache corresponding extra-data: */
@@ -4334,15 +4331,4 @@
     {
         if (data[i] == GUI_GuestControl_FileManagerShowHiddenObjects)
-            return true;
-    }
-    return false;
-}
-
-bool UIExtraDataManager::fileManagerShowBreadCrumbs()
-{
-    const QStringList data = extraDataStringList(GUI_GuestControl_FileManagerOptions);
-    for (int i = 0; i < data.size(); ++i)
-    {
-        if (data[i] == GUI_GuestControl_FileManagerShowBreadCrumbs)
             return true;
     }
Index: trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 78010)
@@ -670,11 +670,9 @@
                                    bool fShowDeleteConfirmation,
                                    bool fshowHumanReadableSizes,
-                                   bool fShowHiddenObjects,
-                                   bool fShowBreadCrumbs);
+                                   bool fShowHiddenObjects);
         bool fileManagerListDirectoriesFirst();
         bool fileManagerShowDeleteConfirmation();
         bool fileManagerShowHumanReadableSizes();
         bool fileManagerShowHiddenObjects();
-        bool fileManagerShowBreadCrumbs();
     /** @} */
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp	(revision 78010)
@@ -94,5 +94,4 @@
     , fShowHumanReadableSizes(true)
     , fShowHiddenObjects(true)
-    , fShowBreadCrumbs(false)
 {
 }
@@ -691,6 +690,5 @@
                                              pOptions->fAskDeleteConfirmation,
                                              pOptions->fShowHumanReadableSizes,
-                                             pOptions->fShowHiddenObjects,
-                                             pOptions->fShowBreadCrumbs);
+                                             pOptions->fShowHiddenObjects);
     }
 }
@@ -735,5 +733,4 @@
         pOptions->fShowHumanReadableSizes = gEDataManager->fileManagerShowHumanReadableSizes();
         pOptions->fShowHiddenObjects = gEDataManager->fileManagerShowHiddenObjects();
-        pOptions->fShowBreadCrumbs = gEDataManager->fileManagerShowBreadCrumbs();
     }
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h	(revision 78010)
@@ -68,5 +68,4 @@
     bool fShowHumanReadableSizes;
     bool fShowHiddenObjects;
-    bool fShowBreadCrumbs;
 
 private:
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerOptionsPanel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerOptionsPanel.cpp	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerOptionsPanel.cpp	(revision 78010)
@@ -31,5 +31,4 @@
     , m_pHumanReabableSizesCheckBox(0)
     , m_pShowHiddenObjectsCheckBox(0)
-    , m_pShowBreadCrumbsCheckBox(0)
     , m_pFileManagerOptions(pFileManagerOptions)
 {
@@ -97,8 +96,4 @@
         mainLayout()->addWidget(m_pShowHiddenObjectsCheckBox, 0, Qt::AlignLeft);
 
-    m_pShowBreadCrumbsCheckBox = new QCheckBox;
-    if (m_pShowBreadCrumbsCheckBox)
-        mainLayout()->addWidget(m_pShowBreadCrumbsCheckBox, 0, Qt::AlignLeft);
-
     /* Set initial checkbox status wrt. options: */
     if (m_pFileManagerOptions)
@@ -112,6 +107,4 @@
         if (m_pShowHiddenObjectsCheckBox)
             m_pShowHiddenObjectsCheckBox->setChecked(m_pFileManagerOptions->fShowHiddenObjects);
-        if (m_pShowBreadCrumbsCheckBox)
-            m_pShowBreadCrumbsCheckBox->setChecked(m_pFileManagerOptions->fShowBreadCrumbs);
 
     }
@@ -152,12 +145,4 @@
 }
 
-void UIFileManagerOptionsPanel::sltShowBreadCrumbsCheckBoxToggled(bool bChecked)
-{
-    if (!m_pFileManagerOptions)
-        return;
-    m_pFileManagerOptions->fShowBreadCrumbs = bChecked;
-    emit sigOptionsChanged();
-}
-
 void UIFileManagerOptionsPanel::prepareConnections()
 {
@@ -175,8 +160,4 @@
         connect(m_pShowHiddenObjectsCheckBox, &QCheckBox::toggled,
                 this, &UIFileManagerOptionsPanel::sltShowHiddenObjectsCheckBoxToggled);
-
-    if (m_pShowBreadCrumbsCheckBox)
-        connect(m_pShowBreadCrumbsCheckBox, &QCheckBox::toggled,
-                this, &UIFileManagerOptionsPanel::sltShowBreadCrumbsCheckBoxToggled);
 }
 
@@ -209,9 +190,3 @@
         m_pShowHiddenObjectsCheckBox->setToolTip(UIFileManager::tr("Show hidden files/directories"));
     }
-
-    if (m_pShowBreadCrumbsCheckBox)
-    {
-        m_pShowBreadCrumbsCheckBox->setText(UIFileManager::tr("Bread crumbs instead of location widget"));
-        m_pShowBreadCrumbsCheckBox->setToolTip(UIFileManager::tr("Bread crumbs instead of location widget"));
-    }
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerOptionsPanel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerOptionsPanel.h	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerOptionsPanel.h	(revision 78010)
@@ -63,5 +63,4 @@
     void sltHumanReabableSizesCheckBoxToogled(bool bChecked);
     void sltShowHiddenObjectsCheckBoxToggled(bool bChecked);
-    void sltShowBreadCrumbsCheckBoxToggled(bool bChecked);
 
 private:
@@ -71,5 +70,4 @@
     QCheckBox  *m_pHumanReabableSizesCheckBox;
     QCheckBox  *m_pShowHiddenObjectsCheckBox;
-    QCheckBox  *m_pShowBreadCrumbsCheckBox;
     UIFileManagerOptions *m_pFileManagerOptions;
 };
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp	(revision 78010)
@@ -51,29 +51,72 @@
 
 /*********************************************************************************************************************************
+*   UIFileManagerHistoryComboBox definition.                                                                                     *
+*********************************************************************************************************************************/
+/** A QCombo extension used as location history list in the UIFileManagerNavigationWidget. */
+class UIFileManagerHistoryComboBox : public QComboBox
+{
+    Q_OBJECT;
+
+signals:
+
+    void  sigHidePopup();
+
+public:
+
+    UIFileManagerHistoryComboBox(QWidget *pParent = 0);
+    /** Emit sigHidePopup as the popup is hidded. */
+    virtual void hidePopup() /* override */;
+};
+
+
+/*********************************************************************************************************************************
 *   UIFileManagerBreadCrumbs definition.                                                                                         *
 *********************************************************************************************************************************/
-/** A QLineEdit extension. It shows the current path as text and hightligts the folder name
+/** A QLabel extension. It shows the current path as text and hightligts the folder name
   *  as the mouse hovers over it. Clicking on the highlighted folder name make the file table tp
   *  navigate to that folder. */
-class UIFileManagerBreadCrumbs : public QLineEdit
+class UIFileManagerBreadCrumbs : public QLabel
 {
     Q_OBJECT;
 
+public:
+
+    UIFileManagerBreadCrumbs(QWidget *pParent = 0);
+    void setPath(const QString &strPath, bool fUnderlineLast = false);
+};
+
+
+/*********************************************************************************************************************************
+*   UIFileManagerNavigationWidget definition.                                                                                    *
+*********************************************************************************************************************************/
+
+class UIFileManagerNavigationWidget : public QWidget
+{
+    Q_OBJECT;
+
 signals:
 
-    void sigNavitatePath(const QString &strPath);
+    void sigPathChanged(const QString &strPath);
 
 public:
 
-    UIFileManagerBreadCrumbs(QWidget *pParent = 0);
-    void setPath(const QString &strPath);
-
-protected:
-
-    virtual void mouseMoveEvent(QMouseEvent *pEvent) /* override */;
-    virtual void mousePressEvent(QMouseEvent *pEvent) /* override */;
-    virtual bool event(QEvent *pEvent) /* override */;
+    UIFileManagerNavigationWidget(QWidget *pParent = 0);
+    void setPath(const QString &strLocation);
+    void reset();
+
+private slots:
+
+    void sltHandleSwitch();
+    /* Makes sure that we switch to breadcrumbs widget as soon as the combo box popup is hidden. */
+    void sltHandleHidePopup();
 
 private:
+
+    void prepare();
+
+    QStackedWidget *m_pContainer;
+    UIFileManagerBreadCrumbs *m_pBreadCrumbs;
+    UIFileManagerHistoryComboBox *m_pHistoryComboBox;
+    QToolButton    *m_pSwitchButton;
 };
 
@@ -172,57 +215,172 @@
 
 /*********************************************************************************************************************************
+*   UIFileManagerHistoryComboBox implementation.                                                                                 *
+*********************************************************************************************************************************/
+
+UIFileManagerHistoryComboBox::UIFileManagerHistoryComboBox(QWidget *pParent /* = 0 */)
+    :QComboBox(pParent)
+{
+
+}
+
+void UIFileManagerHistoryComboBox::hidePopup()
+{
+    QComboBox::hidePopup();
+    emit sigHidePopup();
+}
+
+
+/*********************************************************************************************************************************
+*   UIFileManagerNavigationWidget implementation.                                                                                *
+*********************************************************************************************************************************/
+
+UIFileManagerNavigationWidget::UIFileManagerNavigationWidget(QWidget *pParent /* = 0 */)
+    :QWidget(pParent)
+    , m_pContainer(0)
+    , m_pSwitchButton(0)
+{
+    prepare();
+}
+
+void UIFileManagerNavigationWidget::setPath(const QString &strLocation)
+{
+    if (m_pBreadCrumbs)
+        m_pBreadCrumbs->setPath(strLocation);
+
+    if (m_pHistoryComboBox)
+    {
+        int itemIndex = m_pHistoryComboBox->findText(strLocation,
+                                                      Qt::MatchExactly | Qt::MatchCaseSensitive);
+        if (itemIndex == -1)
+        {
+            m_pHistoryComboBox->insertItem(m_pHistoryComboBox->count(), strLocation);
+            itemIndex = m_pHistoryComboBox->count() - 1;
+        }
+        m_pHistoryComboBox->setCurrentIndex(itemIndex);
+    }
+}
+
+void UIFileManagerNavigationWidget::reset()
+{
+    if (m_pHistoryComboBox)
+    {
+        /** @todo disconnect here. */
+        m_pHistoryComboBox->clear();
+    }
+}
+
+void UIFileManagerNavigationWidget::prepare()
+{
+    QHBoxLayout *pLayout = new QHBoxLayout;
+    if (!pLayout)
+        return;
+    pLayout->setSpacing(0);
+    pLayout->setContentsMargins(0, 0, 0, 0);
+
+    m_pContainer = new QStackedWidget;
+
+    if (m_pContainer)
+    {
+        m_pBreadCrumbs = new UIFileManagerBreadCrumbs;
+        m_pHistoryComboBox = new UIFileManagerHistoryComboBox;
+
+        connect(m_pBreadCrumbs, &UIFileManagerBreadCrumbs::linkActivated,
+                this, &UIFileManagerNavigationWidget::sigPathChanged);
+
+        connect(m_pHistoryComboBox, &UIFileManagerHistoryComboBox::sigHidePopup,
+                this, &UIFileManagerNavigationWidget::sltHandleHidePopup);
+
+        connect(m_pHistoryComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged),
+                this, &UIFileManagerNavigationWidget::sigPathChanged);
+
+        m_pContainer->addWidget(m_pBreadCrumbs);
+        m_pContainer->addWidget(m_pHistoryComboBox);
+        m_pContainer->setCurrentIndex(0);
+
+        pLayout->addWidget(m_pContainer);
+    }
+
+    m_pSwitchButton = new QToolButton;
+
+    if (m_pSwitchButton)
+    {
+
+        QStyle *pStyle = QApplication::style();
+        QIcon buttonIcon;
+        if (pStyle)
+        {
+            buttonIcon = pStyle->standardIcon(QStyle::SP_TitleBarUnshadeButton);
+            m_pSwitchButton->setIcon(buttonIcon);
+        }
+
+        pLayout->addWidget(m_pSwitchButton);
+        connect(m_pSwitchButton, &QToolButton::clicked,
+                this, &UIFileManagerNavigationWidget::sltHandleSwitch);
+    }
+
+    setLayout(pLayout);
+}
+
+void UIFileManagerNavigationWidget::sltHandleHidePopup()
+{
+    m_pContainer->setCurrentIndex(0);
+}
+
+void UIFileManagerNavigationWidget::sltHandleSwitch()
+{
+    if (m_pContainer->currentIndex() == 0)
+    {
+        m_pContainer->setCurrentIndex(1);
+        m_pHistoryComboBox->showPopup();
+    }
+    else
+    {
+        m_pContainer->setCurrentIndex(0);
+        m_pHistoryComboBox->hidePopup();
+    }
+}
+
+
+/*********************************************************************************************************************************
 *   UIFileManagerBreadCrumbs implementation.                                                                                     *
 *********************************************************************************************************************************/
 
 UIFileManagerBreadCrumbs::UIFileManagerBreadCrumbs(QWidget *pParent /* = 0 */)
-    :QLineEdit(pParent)
-{
-
-}
-
-void UIFileManagerBreadCrumbs::setPath(const QString &strPath)
-{
+    :QLabel(pParent)
+{
+    float fFontMult = 1.2f;
+    QFont mFont = font();
+    if (mFont.pixelSize() == -1)
+        mFont.setPointSize(fFontMult * mFont.pointSize());
+    else
+        mFont.setPixelSize(fFontMult * mFont.pixelSize());
+    setFont(mFont);
+
+}
+
+void UIFileManagerBreadCrumbs::setPath(const QString &strPath, bool fUnderlineLast /* = false */)
+{
+    const QChar separator('/');
     clear();
-    setText(strPath);
-}
-
-void UIFileManagerBreadCrumbs::mouseMoveEvent(QMouseEvent *pEvent)
-{
-    QChar cSeparator('/');
-    int iCharPos = this->cursorPositionAt(pEvent->pos());
-    QString strLeft = text().left(iCharPos);
-    int iLeftSeparator = strLeft.lastIndexOf(cSeparator);
-    int iRightSeparator = text().indexOf(cSeparator, iLeftSeparator + 1);
-    if (iRightSeparator == -1)
-        iRightSeparator = text().length();
-    /* A special case for leading sperator aka. root folder: */
-    if (iRightSeparator == 0)
-        setSelection(iLeftSeparator + 1, 1);
-    else
-        setSelection(iLeftSeparator + 1, iRightSeparator - iLeftSeparator - 1);
-}
-
-void UIFileManagerBreadCrumbs::mousePressEvent(QMouseEvent *pEvent)
-{
-    QChar cSeparator('/');
-    int iCharPos = this->cursorPositionAt(pEvent->pos());
-    // QString strLeft = text().left(iCharPos);
-    // int iLeftSeparator = strLeft.lastIndexOf(cSeparator);
-    int iRightSeparator = text().indexOf(cSeparator, iCharPos);
-    QString strPath;
-    if (iRightSeparator == 0)
-        strPath = cSeparator;
-    else
-        strPath = text().left(iRightSeparator);
-    emit sigNavitatePath(strPath);
-}
-
-bool UIFileManagerBreadCrumbs::event(QEvent *pEvent)
-{
-    if (!pEvent)
-        return false;
-    if (pEvent->type() == QEvent::Leave)
-        deselect();
-    return QLineEdit::event(pEvent);
+    QStringList folderList = UIPathOperations::pathTrail(strPath);
+    folderList.push_front(separator);
+    QString strLabelText;
+    QString strPathUpto;
+    for (int i = 0; i < folderList.size(); ++i)
+    {
+        QString strFolder = UIPathOperations::removeTrailingDelimiters(folderList.at(i));
+        if (i == 0 || i == folderList.size() - 1)
+            strPathUpto.append(QString("%1").arg(strFolder));
+        else
+            strPathUpto.append(QString("%1%2").arg(strFolder).arg(separator));
+        if (fUnderlineLast && i == folderList.size() - 1)
+            strLabelText.append(QString("<a href=\"%1\" style=\"color:black;text-decoration:underline;\">%2</a>").arg(strPathUpto).arg(strFolder));
+        else
+            strLabelText.append(QString("<a href=\"%1\" style=\"color:black;text-decoration:none;\">%2</a>").arg(strPathUpto).arg(strFolder));
+        if (i < folderList.size() - 1)
+            strLabelText.append("<b> > </b>");
+    }
+    setText(strLabelText);
+
 }
 
@@ -343,5 +501,5 @@
     if (m_pInfoEdit)
     {
-        m_pInfoEdit->setReadOnly(true);
+        //m_pInfoEdit->setReadOnly(true);
         m_pInfoEdit->setFrameStyle(QFrame::NoFrame);
     }
@@ -465,8 +623,6 @@
     , m_pProxyModel(0)
     , m_pMainLayout(0)
-    , m_pLocationComboBox(0)
     , m_pWarningLabel(0)
-    , m_pNavigationWidgetWidget(0)
-    , m_pBreadCrumbsWidget(0)
+    , m_pNavigationWidget(0)
 {
     prepareObjects();
@@ -482,12 +638,6 @@
         m_pModel->reset();
 
-    if (m_pLocationComboBox)
-    {
-        disconnect(m_pLocationComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged),
-                   this, &UIFileManagerTable::sltLocationComboCurrentChange);
-        m_pLocationComboBox->clear();
-        connect(m_pLocationComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged),
-                this, &UIFileManagerTable::sltLocationComboCurrentChange);
-    }
+    if (m_pNavigationWidget)
+        m_pNavigationWidget->reset();
 }
 
@@ -518,33 +668,13 @@
     }
 
-    m_pNavigationWidgetWidget = new QStackedWidget;
-    if (m_pNavigationWidgetWidget)
-    {
-        m_pNavigationWidgetWidget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
-
-        m_pLocationComboBox = new QComboBox;
-        if (m_pLocationComboBox)
-        {
-            m_pNavigationWidgetWidget->addWidget(m_pLocationComboBox);
-            m_pLocationComboBox->setEditable(false);
-            connect(m_pLocationComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged),
-                    this, &UIFileManagerTable::sltLocationComboCurrentChange);
-        }
-
-        m_pBreadCrumbsWidget = new UIFileManagerBreadCrumbs;
-        if (m_pBreadCrumbsWidget)
-        {
-            m_pNavigationWidgetWidget->addWidget(m_pBreadCrumbsWidget);
-            m_pBreadCrumbsWidget->setReadOnly(true);
-            connect(m_pBreadCrumbsWidget, &UIFileManagerBreadCrumbs::sigNavitatePath,
-                    this, &UIFileManagerTable::sltHandleBreadCrumbsClick);
-        }
-        m_pMainLayout->addWidget(m_pNavigationWidgetWidget, 1, 1, 1, 4);
-    }
-    UIFileManagerOptions *pOptions = UIFileManagerOptions::instance();
-    if (pOptions)
-        showHideBreadCrumbs(pOptions->fShowBreadCrumbs);
-    else
-        showHideBreadCrumbs(false);
+    m_pNavigationWidget = new UIFileManagerNavigationWidget;
+    if (m_pNavigationWidget)
+    {
+        m_pNavigationWidget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
+        connect(m_pNavigationWidget, &UIFileManagerNavigationWidget::sigPathChanged,
+                this, &UIFileManagerTable::sltHandleNavigationWidgetPathChange);
+        m_pMainLayout->addWidget(m_pNavigationWidget, 1, 1, 1, 4);
+    }
+
     m_pModel = new UICustomFileSystemModel(this);
     if (!m_pModel)
@@ -618,18 +748,7 @@
 void UIFileManagerTable::updateCurrentLocationEdit(const QString& strLocation)
 {
-    if (!m_pLocationComboBox)
-        return;
-    int itemIndex = m_pLocationComboBox->findText(strLocation,
-                                                  Qt::MatchExactly | Qt::MatchCaseSensitive);
-    if (itemIndex == -1)
-    {
-        m_pLocationComboBox->insertItem(m_pLocationComboBox->count(), strLocation);
-        itemIndex = m_pLocationComboBox->count() - 1;
-    }
-    m_pLocationComboBox->setCurrentIndex(itemIndex);
-
-    if (m_pBreadCrumbsWidget)
-    {
-        m_pBreadCrumbsWidget->setPath(strLocation);
+    if (m_pNavigationWidget)
+    {
+        m_pNavigationWidget->setPath(strLocation);
     }
 }
@@ -970,12 +1089,4 @@
 }
 
-void UIFileManagerTable::sltLocationComboCurrentChange(const QString &strLocation)
-{
-    QString comboLocation(UIPathOperations::sanitize(strLocation));
-    if (comboLocation == currentDirectoryPath())
-        return;
-    goIntoDirectory(UIPathOperations::pathTrail(comboLocation));
-}
-
 void UIFileManagerTable::sltSelectAll()
 {
@@ -1011,9 +1122,4 @@
 }
 
-void UIFileManagerTable::sltHandleBreadCrumbsClick(const QString& strPath)
-{
-    goIntoDirectory(UIPathOperations::pathTrail(strPath));
-}
-
 void UIFileManagerTable::sltCreateFileViewContextMenu(const QPoint &point)
 {
@@ -1022,4 +1128,9 @@
         return;
     createFileViewContextMenu(pSender, point);
+}
+
+void UIFileManagerTable::sltHandleNavigationWidgetPathChange(const QString& strPath)
+{
+    goIntoDirectory(UIPathOperations::pathTrail(strPath));
 }
 
@@ -1293,9 +1404,7 @@
         if (m_pModel)
             m_pModel->setShowHumanReadableSizes(pOptions->fShowHumanReadableSizes);
-        showHideBreadCrumbs(pOptions->fShowBreadCrumbs);
     }
     relist();
 }
-
 
 void UIFileManagerTable::sltReceiveDirectoryStatistics(UIDirectoryStatistics statistics)
@@ -1380,13 +1489,3 @@
 }
 
-void UIFileManagerTable::showHideBreadCrumbs(bool fShow)
-{
-    if (!m_pNavigationWidgetWidget)
-        return;
-    if (!fShow)
-        m_pNavigationWidgetWidget->setCurrentIndex(0);
-    else
-        m_pNavigationWidgetWidget->setCurrentIndex(1);
-}
-
 #include "UIFileManagerTable.moc"
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h	(revision 78009)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h	(revision 78010)
@@ -53,5 +53,5 @@
 class UICustomFileSystemModel;
 class UICustomFileSystemProxyModel;
-class UIFileManagerBreadCrumbs;
+class UIFileManagerNavigationWidget;
 class UIGuestControlFileView;
 class UIToolBar;
@@ -254,5 +254,4 @@
     void sltCreateFileViewContextMenu(const QPoint &point);
     void sltSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected);
-    void sltLocationComboCurrentChange(const QString &strLocation);
     void sltSearchTextChanged(const QString &strText);
     /** m_pModel signals when an tree item is renamed. we try to apply this rename to the file system.
@@ -260,5 +259,5 @@
      *  sltRename() for more details. */
     void sltHandleItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName);
-    void sltHandleBreadCrumbsClick(const QString& strPath);
+    void sltHandleNavigationWidgetPathChange(const QString& strPath);
 
 private:
@@ -285,5 +284,4 @@
      *  if deletion can continue */
     bool            checkIfDeleteOK();
-    void            showHideBreadCrumbs(bool fShow);
 
     UICustomFileSystemModel      *m_pModel;
@@ -292,11 +290,10 @@
 
     QGridLayout     *m_pMainLayout;
-    QComboBox       *m_pLocationComboBox;
     QILineEdit      *m_pSearchLineEdit;
     QILabel         *m_pWarningLabel;
 
     /** Contains m_pBreadCrumbsWidget and m_pLocationComboBox. */
-    QStackedWidget           *m_pNavigationWidgetWidget;
-    UIFileManagerBreadCrumbs *m_pBreadCrumbsWidget;
+    UIFileManagerNavigationWidget           *m_pNavigationWidget;
+    //UIFileManagerBreadCrumbs *m_pBreadCrumbsWidget;
 
     friend class     UICustomFileSystemModel;
