Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp	(revision 100886)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp	(revision 100887)
@@ -256,5 +256,5 @@
     }
 
-    m_pPanel = new UIFileManagerPanel;
+    m_pPanel = new UIFileManagerPanel(this, UIFileManagerOptions::instance());
     AssertReturnVoid(m_pPanel);
     m_pVerticalSplitter->addWidget(m_pPanel);
@@ -321,5 +321,9 @@
                 this, &UIFileManager::sltHandleShowPanel);
     }
-
+    if (m_pPanel)
+    {
+        connect(m_pPanel, &UIFileManagerPanel::sigOptionsChanged,
+                this, &UIFileManager::sltHandleOptionsUpdated);
+    }
     if (m_pOperationsPanel)
     {
@@ -333,4 +337,6 @@
         connect(m_pHostFileTable, &UIFileManagerHostTable::sigLogOutput,
                 this, &UIFileManager::sltReceieveLogOutput);
+        connect(m_pHostFileTable, &UIFileManagerHostTable::sigDeleteConfirmationOptionChanged,
+                this, &UIFileManager::sltHandleOptionsUpdated);
         connect(m_pHostFileTable, &UIFileManagerGuestTable::sigSelectionChanged,
                 this, &UIFileManager::sltFileTableSelectionChanged);
@@ -504,4 +510,20 @@
     if (m_pHostFileTable)
         m_pHostFileTable->setEnabled(fIsRunning);
+}
+
+void UIFileManager::sltHandleOptionsUpdated()
+{
+    if (m_pPanel)
+        m_pPanel->update();
+
+    for (int i = 0; i < m_pGuestTablesContainer->count(); ++i)
+    {
+        UIFileManagerGuestTable *pTable = qobject_cast<UIFileManagerGuestTable*>(m_pGuestTablesContainer->widget(i));
+        if (pTable)
+            pTable->optionsUpdated();
+    }
+    if (m_pHostFileTable)
+        m_pHostFileTable->optionsUpdated();
+    saveOptions();
 }
 
@@ -805,4 +827,6 @@
             connect(pGuestFileTable, &UIFileManagerGuestTable::sigStateChanged,
                     this, &UIFileManager::sltGuestFileTableStateChanged);
+            connect(pGuestFileTable, &UIFileManagerGuestTable::sigDeleteConfirmationOptionChanged,
+                    this, &UIFileManager::sltHandleOptionsUpdated);
         }
     }
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h	(revision 100886)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h	(revision 100887)
@@ -128,4 +128,5 @@
     void sltCurrentTabChanged(int iIndex);
     void sltGuestFileTableStateChanged(bool fIsRunning);
+    void sltHandleOptionsUpdated();
 
 private:
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPanel.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPanel.cpp	(revision 100886)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPanel.cpp	(revision 100887)
@@ -35,9 +35,10 @@
 /* GUI includes: */
 #include "UIFileManagerPanel.h"
+#include "UIFileManager.h"
 
 /* Other VBox includes: */
 #include <iprt/assert.h>
 
-UIFileManagerPanel::UIFileManagerPanel(QWidget *pParent /* = 0 */)
+UIFileManagerPanel::UIFileManagerPanel(QWidget *pParent, UIFileManagerOptions *pFileManagerOptions)
     : QIWithRetranslateUI<QWidget>(pParent)
     , m_pTabWidget(0)
@@ -46,4 +47,5 @@
     , m_pHumanReabableSizesCheckBox(0)
     , m_pShowHiddenObjectsCheckBox(0)
+    , m_pFileManagerOptions(pFileManagerOptions)
 {
     prepare();
@@ -77,8 +79,28 @@
     AssertReturnVoid(m_pShowHiddenObjectsCheckBox);
 
-    connect(m_pListDirectoriesOnTopCheckBox, &QCheckBox::toggled, this, &UIFileManagerPanel::sigListDirectoryCheckBoxToogled);
-    connect(m_pDeleteConfirmationCheckBox, &QCheckBox::toggled, this, &UIFileManagerPanel::sigDeleteConfirmationCheckBoxToogled);
-    connect(m_pHumanReabableSizesCheckBox, &QCheckBox::toggled, this, &UIFileManagerPanel::sigHumanReabableSizesCheckBoxToogled);
-    connect(m_pShowHiddenObjectsCheckBox, &QCheckBox::toggled, this, &UIFileManagerPanel::sigShowHiddenObjectsCheckBoxToggled);
+    if (m_pFileManagerOptions)
+    {
+        if (m_pListDirectoriesOnTopCheckBox)
+            m_pListDirectoriesOnTopCheckBox->setChecked(m_pFileManagerOptions->fListDirectoriesOnTop);
+        if (m_pDeleteConfirmationCheckBox)
+            m_pDeleteConfirmationCheckBox->setChecked(m_pFileManagerOptions->fAskDeleteConfirmation);
+        if (m_pHumanReabableSizesCheckBox)
+            m_pHumanReabableSizesCheckBox->setChecked(m_pFileManagerOptions->fShowHumanReadableSizes);
+        if (m_pShowHiddenObjectsCheckBox)
+            m_pShowHiddenObjectsCheckBox->setChecked(m_pFileManagerOptions->fShowHiddenObjects);
+    }
+
+    connect(m_pListDirectoriesOnTopCheckBox, &QCheckBox::toggled,
+            this, &UIFileManagerPanel::sltListDirectoryCheckBoxToogled);
+
+    connect(m_pDeleteConfirmationCheckBox, &QCheckBox::toggled,
+            this, &UIFileManagerPanel::sltDeleteConfirmationCheckBoxToogled);
+
+    connect(m_pHumanReabableSizesCheckBox, &QCheckBox::toggled,
+            this, &UIFileManagerPanel::sltHumanReabableSizesCheckBoxToogled);
+
+
+    connect(m_pShowHiddenObjectsCheckBox, &QCheckBox::toggled,
+            this, &UIFileManagerPanel::sltShowHiddenObjectsCheckBoxToggled);
 
     QGridLayout *pPreferencesLayout = new QGridLayout(m_pPreferencesTab);
@@ -92,5 +114,35 @@
 }
 
-
+void UIFileManagerPanel::sltListDirectoryCheckBoxToogled(bool bChecked)
+{
+    if (!m_pFileManagerOptions)
+        return;
+    m_pFileManagerOptions->fListDirectoriesOnTop = bChecked;
+    emit sigOptionsChanged();
+}
+
+void UIFileManagerPanel::sltDeleteConfirmationCheckBoxToogled(bool bChecked)
+{
+    if (!m_pFileManagerOptions)
+        return;
+    m_pFileManagerOptions->fAskDeleteConfirmation = bChecked;
+    emit sigOptionsChanged();
+}
+
+void UIFileManagerPanel::sltHumanReabableSizesCheckBoxToogled(bool bChecked)
+{
+    if (!m_pFileManagerOptions)
+        return;
+    m_pFileManagerOptions->fShowHumanReadableSizes = bChecked;
+    emit sigOptionsChanged();
+}
+
+void UIFileManagerPanel::sltShowHiddenObjectsCheckBoxToggled(bool bChecked)
+{
+    if (!m_pFileManagerOptions)
+        return;
+    m_pFileManagerOptions->fShowHiddenObjects = bChecked;
+    emit sigOptionsChanged();
+}
 
 void UIFileManagerPanel::retranslateUi()
@@ -123,4 +175,37 @@
 }
 
+void UIFileManagerPanel::update()
+{
+    if (!m_pFileManagerOptions)
+        return;
+
+    if (m_pListDirectoriesOnTopCheckBox)
+    {
+        m_pListDirectoriesOnTopCheckBox->blockSignals(true);
+        m_pListDirectoriesOnTopCheckBox->setChecked(m_pFileManagerOptions->fListDirectoriesOnTop);
+        m_pListDirectoriesOnTopCheckBox->blockSignals(false);
+    }
+
+    if (m_pDeleteConfirmationCheckBox)
+    {
+        m_pDeleteConfirmationCheckBox->blockSignals(true);
+        m_pDeleteConfirmationCheckBox->setChecked(m_pFileManagerOptions->fAskDeleteConfirmation);
+        m_pDeleteConfirmationCheckBox->blockSignals(false);
+    }
+
+    if (m_pHumanReabableSizesCheckBox)
+    {
+        m_pHumanReabableSizesCheckBox->blockSignals(true);
+        m_pHumanReabableSizesCheckBox->setChecked(m_pFileManagerOptions->fShowHumanReadableSizes);
+        m_pHumanReabableSizesCheckBox->blockSignals(false);
+    }
+
+    if (m_pShowHiddenObjectsCheckBox)
+    {
+        m_pShowHiddenObjectsCheckBox->blockSignals(true);
+        m_pShowHiddenObjectsCheckBox->setChecked(m_pFileManagerOptions->fShowHiddenObjects);
+        m_pShowHiddenObjectsCheckBox->blockSignals(false);
+    }
+}
 
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPanel.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPanel.h	(revision 100886)
+++ trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPanel.h	(revision 100887)
@@ -36,6 +36,8 @@
 #include "QIWithRetranslateUI.h"
 /* Forward declarations: */
+
 class QTabWidget;
 class QCheckBox;
+class UIFileManagerOptions;
 
 class UIFileManagerPanel : public QIWithRetranslateUI<QWidget>
@@ -45,12 +47,10 @@
 signals:
 
-    void sigListDirectoryCheckBoxToogled(bool bChecked);
-    void sigDeleteConfirmationCheckBoxToogled(bool bChecked);
-    void sigHumanReabableSizesCheckBoxToogled(bool bChecked);
-    void sigShowHiddenObjectsCheckBoxToggled(bool bChecked);
+    void sigOptionsChanged();
 
 public:
 
-    UIFileManagerPanel(QWidget *pParent = 0);
+    UIFileManagerPanel(QWidget *pParent, UIFileManagerOptions *pFileManagerOptions);
+    void update();
 
 protected:
@@ -60,4 +60,8 @@
 private slots:
 
+    void sltListDirectoryCheckBoxToogled(bool bChecked);
+    void sltDeleteConfirmationCheckBoxToogled(bool bChecked);
+    void sltHumanReabableSizesCheckBoxToogled(bool bChecked);
+    void sltShowHiddenObjectsCheckBoxToggled(bool bChecked);
 
 private:
@@ -74,4 +78,5 @@
         QCheckBox  *m_pHumanReabableSizesCheckBox;
         QCheckBox  *m_pShowHiddenObjectsCheckBox;
+        UIFileManagerOptions *m_pFileManagerOptions;
     /** @} */
 
