Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.cpp	(revision 71438)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.cpp	(revision 71439)
@@ -32,11 +32,14 @@
 # include "QILabel.h"
 # include "QILineEdit.h"
+# include "QITabWidget.h"
+# include "QITreeWidget.h"
 # include "QIWithRetranslateUI.h"
 # include "UIExtraDataManager.h"
 # include "UIIconPool.h"
+# include "UIGuestControlConsole.h"
 # include "UIGuestControlFileManager.h"
 # include "UIGuestFileTable.h"
+# include "UIGuestControlInterface.h"
 # include "UIHostFileTable.h"
-# include "UIGuestControlInterface.h"
 # include "UIToolBar.h"
 # include "UIVMInformationDialog.h"
@@ -53,4 +56,22 @@
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
+/*********************************************************************************************************************************
+*   UIFileOperationsList definition.                                                                                   *
+*********************************************************************************************************************************/
+
+class UIFileOperationsList : public QITreeWidget
+{
+    Q_OBJECT;
+public:
+
+    UIFileOperationsList(QWidget *pParent = 0);
+
+private:
+};
+
+/*********************************************************************************************************************************
+*   UIGuestSessionCreateWidget definition.                                                                                   *
+*********************************************************************************************************************************/
+
 class UIGuestSessionCreateWidget : public QIWithRetranslateUI<QWidget>
 {
@@ -91,4 +112,11 @@
 };
 
+/*********************************************************************************************************************************
+*   UIFileOperationsList implementation.                                                                                   *
+*********************************************************************************************************************************/
+
+UIFileOperationsList::UIFileOperationsList(QWidget *pParent)
+    :QITreeWidget(pParent)
+{}
 
 
@@ -235,4 +263,6 @@
     , m_pFileTableContainerWidget(0)
     , m_pFileTableContainerLayout(0)
+    , m_pTabWidget(0)
+    , m_pFileOperationsList(0)
     , m_pSessionCreateWidget(0)
     , m_pGuestFileTable(0)
@@ -268,4 +298,9 @@
         m_pCopyHostToGuest->setStatusTip(UIVMInformationDialog::tr("Copy the selected object(s) from host to guest"));
     }
+
+
+    m_pTabWidget->setTabText(0, tr("Log"));
+    m_pTabWidget->setTabText(1, tr("File Operations"));
+    m_pTabWidget->setTabText(2, tr("Terminal"));
 
 }
@@ -339,13 +374,24 @@
     }
 
+    m_pTabWidget = new QITabWidget;
+    if (m_pTabWidget)
+    {
+        m_pVerticalSplitter->addWidget(m_pTabWidget);
+        m_pTabWidget->setTabPosition(QTabWidget::South);
+    }
 
     m_pLogOutput = new QPlainTextEdit;
     if (m_pLogOutput)
     {
-        //m_pLogOutput->setMaximumHeight(80);
+        m_pTabWidget->addTab(m_pLogOutput, "Log");
         m_pLogOutput->setReadOnly(true);
-        m_pVerticalSplitter->addWidget(m_pLogOutput);
-    }
-
+    }
+
+    m_pFileOperationsList = new UIFileOperationsList;
+    if (m_pFileOperationsList)
+    {
+        m_pTabWidget->addTab(m_pFileOperationsList, "File Operatiions");
+        m_pFileOperationsList->header()->hide();
+    }
 
     m_pVerticalSplitter->setStretchFactor(0, 3);
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.h	(revision 71438)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.h	(revision 71439)
@@ -38,9 +38,14 @@
 class QVBoxLayout;
 class QSplitter;
+class QITabWidget;
 class CGuestSessionStateChangedEvent;
+class UIFileOperationsList;
+class UIGuestControlConsole;
+class UIGuestControlInterface;
 class UIGuestFileTable;
 class UIHostFileTable;
 class UIGuestSessionCreateWidget;
 class UIToolBar;
+
 
 /** QWidget extension
@@ -91,22 +96,27 @@
 
     template<typename T>
-    QStringList   getFsObjInfoStringList(const T &fsObjectInfo) const;
+    QStringList       getFsObjInfoStringList(const T &fsObjectInfo) const;
 
-    const int         m_iMaxRecursionDepth;
-    CGuest            m_comGuest;
-    CGuestSession     m_comGuestSession;
+    const int           m_iMaxRecursionDepth;
+    CGuest              m_comGuest;
+    CGuestSession       m_comGuestSession;
 
-    QVBoxLayout      *m_pMainLayout;
-    QSplitter        *m_pVerticalSplitter;
-    QPlainTextEdit   *m_pLogOutput;
-    UIToolBar        *m_pToolBar;
-    QAction          *m_pCopyGuestToHost;
-    QAction          *m_pCopyHostToGuest;
-    QWidget          *m_pFileTableContainerWidget;
-    QHBoxLayout      *m_pFileTableContainerLayout;
+    QVBoxLayout        *m_pMainLayout;
+    QSplitter          *m_pVerticalSplitter;
+    QPlainTextEdit     *m_pLogOutput;
+    UIToolBar          *m_pToolBar;
+    QAction            *m_pCopyGuestToHost;
+    QAction            *m_pCopyHostToGuest;
+    QWidget            *m_pFileTableContainerWidget;
+    QHBoxLayout        *m_pFileTableContainerLayout;
+    QITabWidget        *m_pTabWidget;
+    UIFileOperationsList       *m_pFileOperationsList;
+    UIGuestControlConsole    *m_pConsole;
+    UIGuestControlInterface  *m_pControlInterface;
 
     UIGuestSessionCreateWidget *m_pSessionCreateWidget;
     UIGuestFileTable           *m_pGuestFileTable;
     UIHostFileTable            *m_pHostFileTable;
+
     ComObjPtr<UIMainEventListenerImpl> m_pQtGuestListener;
     ComObjPtr<UIMainEventListenerImpl> m_pQtSessionListener;
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp	(revision 71438)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp	(revision 71439)
@@ -241,4 +241,10 @@
 }
 
+QStringList UIPathOperations::pathTrail(const QString &path)
+{
+    QList<QString> pathList = path.split(UIPathOperations::delimiter, QString::SkipEmptyParts);
+    return pathList;
+}
+
 
 /*********************************************************************************************************************************
@@ -489,5 +495,6 @@
         return;
     m_childItems.append(item);
-    m_childMap.insert(item->path(), item);
+
+    m_childMap.insert(item->name(), item);
 }
 
@@ -517,4 +524,11 @@
 {
     return m_itemData.value(column);
+}
+
+QString UIFileTableItem::name() const
+{
+    if (m_itemData.isEmpty() || !m_itemData[0].canConvert(QMetaType::QString))
+        return QString();
+    return m_itemData[0].toString();
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h	(revision 71438)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h	(revision 71439)
@@ -68,14 +68,18 @@
     /** Replace the last part of the @p previusPath with newBaseName */
     static QString constructNewItemPath(const QString &previousPath, const QString &newBaseName);
-
+    /** Split the path and return it as a QStringList, top most being the 0th element. No delimiters */
+    QStringList pathTrail(const QString &path);
     static const QChar delimiter;
 };
 
 /** A UIFileTableItem instance is a tree node representing a file object (file, directory, etc). The tree contructed
-    by these instances is the data source for the UIGuestControlFileModel */
+    by these instances is the data source for the UIGuestControlFileModel. */
 class UIFileTableItem
 {
 public:
 
+    /** @p data contains values to be shown in table view's colums. data[0] is assumed to be
+        the name of the file object which is the file name including extension or name of the
+        directory */
     explicit UIFileTableItem(const QList<QVariant> &data,
                              UIFileTableItem *parentItem, FileObjectType type);
@@ -119,4 +123,6 @@
     void setOwner(const QString &owner);
 
+    QString name() const;
+
 private:
 
@@ -124,4 +130,5 @@
     /** Used to find children by path */
     QMap<QString, UIFileTableItem*> m_childMap;
+    /** It is required that m_itemData[0] is name (QString) of the file object */
     QList<QVariant>  m_itemData;
     UIFileTableItem *m_parentItem;
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp	(revision 71438)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp	(revision 71439)
@@ -151,10 +151,8 @@
     if (!startDirItem)
         return;
-    //printf("user home %s\n", m_comGuestSession.GetUserHome().toStdString().c_str());
-    QString userHome = UIPathOperations::sanitize(m_comGuestSession.GetUserHome()).remove(0,1);
-
-    QList<QString> pathTrail = userHome.split(UIPathOperations::delimiter);
-
-    goIntoDirectory(pathTrail);
+
+    QString userHome = UIPathOperations::sanitize(m_comGuestSession.GetUserHome());
+    QList<QString> pathList = userHome.split(UIPathOperations::delimiter, QString::SkipEmptyParts);
+    goIntoDirectory(pathList);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp	(revision 71438)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp	(revision 71439)
@@ -137,14 +137,7 @@
         return;
 
-    // UIFileTableItem *rootDirectoryItem
-    QDir homeDirectory(QDir::homePath());
-    QList<QString> pathTrail;//(QDir::rootPath());
-    do{
-
-        pathTrail.push_front(homeDirectory.absolutePath());
-        homeDirectory.cdUp();
-    }while(!homeDirectory.isRoot());
-
-    goIntoDirectory(pathTrail);
+    QString userHome = UIPathOperations::sanitize(QDir::homePath());
+    QList<QString> pathList = userHome.split(UIPathOperations::delimiter, QString::SkipEmptyParts);
+    goIntoDirectory(pathList);
 }
 
