Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp	(revision 71410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp	(revision 71412)
@@ -1333,3 +1333,22 @@
 }
 
+QString UIGuestControlFileTable::humanReadableSize(ULONG64 size)
+{
+    int i = 0;
+    double dSize = size;
+    const char* units[] = {" B", " kB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"};
+    while (size > 1024) {
+        size /= 1024;
+        dSize /= (double)1024;
+        i++;
+    }
+    if (i > 8)
+        return QString();
+
+    QString strResult(QString::number(dSize, 'f', 2));
+    strResult += units[i];
+    return strResult;
+}
+
+
 #include "UIGuestControlFileTable.moc"
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h	(revision 71410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h	(revision 71412)
@@ -182,5 +182,5 @@
     void keyPressEvent(QKeyEvent * pEvent);
     CGuestFsObjInfo guestFsObjectInfo(const QString& path, CGuestSession &comGuestSession) const;
-
+    static QString humanReadableSize(ULONG64 size);
 
     UIFileTableItem         *m_pRootItem;
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp	(revision 71410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp	(revision 71412)
@@ -148,5 +148,6 @@
         return;
 
-    QString userHome = UIPathOperations::sanitize(m_comGuestSession.GetUserHome());
+    QString userHome = UIPathOperations::sanitize(m_comGuestSession.GetUserHome()).remove(0,1);
+
     QList<QString> pathTrail = userHome.split(UIPathOperations::delimiter);
 
@@ -306,5 +307,8 @@
         propertyString += "<br/>";
         /* Size: */
-        propertyString += "<b>Size:</b> " + QString::number(fileInfo.GetObjectSize()) + QString(" bytes");
+        LONG64 size = fileInfo.GetObjectSize();
+        propertyString += "<b>Size:</b> " + QString::number(size) + QString(" bytes");
+        if (size >= 1024)
+            propertyString += " (" + humanReadableSize(size) + ")";
         propertyString += "<br/>";
         /* Type: */
@@ -312,5 +316,4 @@
         propertyString += "<br/>";
         /* Creation Date: */
-        //     LONG64 GetChangeTime() const;
         propertyString += "<b>Created:</b> " + QDateTime::fromMSecsSinceEpoch(fileInfo.GetChangeTime()/1000000).toString();
         propertyString += "<br/>";
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp	(revision 71410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp	(revision 71412)
@@ -194,4 +194,6 @@
         /* Size: */
         propertyString += "<b>Size:</b> " + QString::number(fileInfo.size()) + QString(" bytes");
+        if (fileInfo.size() >= 1024)
+            propertyString += " (" + humanReadableSize(fileInfo.size()) + ")";
         propertyString += "<br/>";
         /* Type: */
@@ -207,7 +209,31 @@
         propertyString += "<b>Owner:</b> " + fileInfo.owner();
 
-
+        if (fileInfo.isDir())
+            directoryStatisticsRecursive(fileInfo.absoluteFilePath());
         return propertyString;
     }
     return QString();
 }
+
+void UIHostFileTable::directoryStatisticsRecursive(const QString &path)
+{
+    QDir dir(path);
+    if (!dir.exists())
+        return;
+
+    QFileInfoList entryList = dir.entryInfoList();
+    for (int i = 0; i < entryList.size(); ++i)
+    {
+
+        const QFileInfo &entryInfo = entryList.at(i);
+        if (entryInfo.baseName().isEmpty() || entryInfo.baseName() == "." || entryInfo.baseName() == "..")
+            continue;
+
+        if (entryInfo.isSymLink())
+            continue;
+        if (entryInfo.isDir())
+        {
+            directoryStatisticsRecursive(entryInfo.absoluteFilePath());
+        }
+    }
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.h	(revision 71410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.h	(revision 71412)
@@ -43,4 +43,10 @@
     virtual QString fsObjectPropertyString() /* override */;
 
+private:
+
+    /** Read the directory with the path @p path recursively and collect #of objects and
+        total size */
+    void directoryStatisticsRecursive(const QString &path);
+
 };
 
