Index: /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp	(revision 76295)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp	(revision 76296)
@@ -281,5 +281,5 @@
         m_panelActionMap.insert(m_pOptionsPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Options));
         connect(m_pOptionsPanel, &UIFileManagerOptionsPanel::sigOptionsChanged,
-                this, &UIFileManager::sltListDirectoriesBeforeChanged);
+                this, &UIFileManager::sltHandleOptionsUpdated);
         pTopLayout->addWidget(m_pOptionsPanel);
     }
@@ -519,12 +519,4 @@
 }
 
-void UIFileManager::sltListDirectoriesBeforeChanged()
-{
-    if (m_pGuestFileTable)
-        m_pGuestFileTable->relist();
-    if (m_pHostFileTable)
-        m_pHostFileTable->relist();
-}
-
 void UIFileManager::sltReceieveNewFileOperation(const CProgress &comProgress)
 {
@@ -549,4 +541,9 @@
         m_pOptionsPanel->update();
     }
+
+    if (m_pGuestFileTable)
+        m_pGuestFileTable->optionsUpdated();
+    if (m_pHostFileTable)
+        m_pHostFileTable->optionsUpdated();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h	(revision 76295)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h	(revision 76296)
@@ -116,5 +116,4 @@
     void sltCopyHostToGuest();
     void sltPanelActionToggled(bool fChecked);
-    void sltListDirectoriesBeforeChanged();
     void sltReceieveNewFileOperation(const CProgress &comProgress);
     void sltFileOperationComplete(QUuid progressId);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerModel.cpp	(revision 76295)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerModel.cpp	(revision 76296)
@@ -29,5 +29,5 @@
 # include "UIFileManagerTable.h"
 # include "UIFileManager.h"
-
+# include "VBoxGlobal.h"
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
@@ -37,5 +37,16 @@
 UIGuestControlFileProxyModel::UIGuestControlFileProxyModel(QObject *parent /* = 0 */)
     :QSortFilterProxyModel(parent)
-{
+    , m_fListDirectoriesOnTop(false)
+{
+}
+
+void UIGuestControlFileProxyModel::setListDirectoriesOnTop(bool fListDirectoriesOnTop)
+{
+    m_fListDirectoriesOnTop = fListDirectoriesOnTop;
+}
+
+bool UIGuestControlFileProxyModel::listDirectoriesOnTop() const
+{
+    return m_fListDirectoriesOnTop;
 }
 
@@ -45,10 +56,8 @@
     UIFileTableItem *pRightItem = static_cast<UIFileTableItem*>(right.internalPointer());
 
-    UIFileManagerOptions *pOptions = UIFileManagerOptions::instance();
-
     if (pLeftItem && pRightItem)
     {
         /* List the directories before the files if options say so: */
-        if (pOptions && pOptions->bListDirectoriesOnTop)
+        if (m_fListDirectoriesOnTop)
         {
             if ((pLeftItem->isDirectory() || pLeftItem->isSymLinkToADirectory()) && !pRightItem->isDirectory())
@@ -87,4 +96,5 @@
     : QAbstractItemModel(parent)
     , m_pParent(qobject_cast<UIFileManagerTable*>(parent))
+    , m_fShowHumanReadableSizes(false)
 {
 }
@@ -161,10 +171,8 @@
         if (index.column() == UIFileManagerModelColumn_Size)
         {
-            UIFileManagerOptions* pOptions =
-                UIFileManagerOptions::instance();
-            if (pOptions && pOptions->bShowHumanReadableSizes)
+            if (m_fShowHumanReadableSizes)
             {
                 qulonglong size = item->data(index.column()).toULongLong();
-                return UIFileManagerTable::humanReadableSize(size);
+                return vboxGlobal().formatSize(size);
             }
             else
@@ -305,2 +313,12 @@
     endResetModel();
 }
+
+void UIFileManagerModel::setShowHumanReadableSizes(bool fShowHumanReadableSizes)
+{
+    m_fShowHumanReadableSizes = fShowHumanReadableSizes;
+}
+
+bool UIFileManagerModel::showHumanReadableSizes() const
+{
+    return m_fShowHumanReadableSizes;
+}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerModel.h	(revision 76295)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerModel.h	(revision 76296)
@@ -51,7 +51,14 @@
     UIGuestControlFileProxyModel(QObject *parent = 0);
 
+    void setListDirectoriesOnTop(bool fListDirectoriesOnTop);
+    bool listDirectoriesOnTop() const;
+
 protected:
 
     bool lessThan(const QModelIndex &left, const QModelIndex &right) const /* override */;
+
+private:
+
+    bool m_fListDirectoriesOnTop;
 };
 
@@ -87,4 +94,7 @@
     void           beginReset();
     void           endReset();
+    void           setShowHumanReadableSizes(bool fShowHumanReadableSizes);
+    bool           showHumanReadableSizes() const;
+
     static const char* strUpDirectoryString;
 
@@ -95,4 +105,6 @@
     UIFileManagerTable *m_pParent;
     UIFileTableItem    *m_pRootItem;
+    bool                m_fShowHumanReadableSizes;
+
 };
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp	(revision 76295)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.cpp	(revision 76296)
@@ -822,4 +822,5 @@
                 this, &UIFileManagerTable::sltSearchTextChanged);
     }
+    optionsUpdated();
 }
 
@@ -1481,4 +1482,18 @@
 }
 
+void UIFileManagerTable::optionsUpdated()
+{
+    UIFileManagerOptions *pOptions = UIFileManagerOptions::instance();
+    if (pOptions)
+    {
+        if (m_pProxyModel)
+            m_pProxyModel->setListDirectoriesOnTop(pOptions->bListDirectoriesOnTop);
+        if (m_pModel)
+            m_pModel->setShowHumanReadableSizes(pOptions->bShowHumanReadableSizes);
+    }
+    relist();
+}
+
+
 void UIFileManagerTable::sltReceiveDirectoryStatistics(UIDirectoryStatistics statistics)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h	(revision 76295)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerTable.h	(revision 76296)
@@ -263,7 +263,8 @@
     QStringList selectedItemPathList();
     virtual void refresh();
-    void         relist();
     static const unsigned    m_iKiloByte;
     static QString humanReadableSize(ULONG64 size);
+    /** Peroforms whatever is necessary after a UIFileManagerOptions change. */
+    void optionsUpdated();
 
 public slots:
@@ -370,4 +371,5 @@
 private:
 
+    void             relist();
     void             prepareObjects();
     /** @p itemIndex is assumed to be 'model' index not 'proxy model' index */
