Index: /trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp	(revision 92467)
@@ -113,8 +113,8 @@
     m_machineIds = machineIds;
 
-    hide();
+    //hide();
     removeTabs(unselectedMachines);
     addTabs(newSelections);
-    show();
+    //show();
 }
 
@@ -164,6 +164,6 @@
 {
     QVector<UIVMActivityMonitor*> removeList;
-    QVector<UIVMActivityMonitor*> keepList;
-    for (int i = 0; i < count(); ++i)
+
+    for (int i = count() - 1; i >= 0; --i)
     {
         UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(widget(i));
@@ -171,13 +171,10 @@
             continue;
         if (machineIdsToRemove.contains(pMonitor->machineId()))
+        {
             removeList << pMonitor;
-        else
-            keepList << pMonitor;
-    }
-    clear();
+            removeTab(i);
+        }
+    }
     qDeleteAll(removeList.begin(), removeList.end());
-
-    foreach (UIVMActivityMonitor *pMonitor, keepList)
-        addTab(pMonitor, pMonitor->machineName());
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h	(revision 92467)
@@ -112,5 +112,5 @@
 };
 
-/** UIVMActivityMonitor class displays some high level performance metric of the guest system.
+/** UIVMActivityMonitor class displays some high level performance metrics of the guest system.
   * The values are read in certain periods and cached in the GUI side. Currently we draw some line charts
   * and pie charts (where applicable) alongside with some text. IPerformanceCollector and IMachineDebugger are
Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 92467)
@@ -1619,4 +1619,5 @@
         case UIToolType_Logs:               strResult = "Logs"; break;
         case UIToolType_VMActivity:         strResult = "Activity"; break;
+        case UIToolType_VISOCreator:        strResult = "VISOCreator"; break;
         default:
         {
@@ -1644,5 +1645,6 @@
     keys << "Snapshots";     values << UIToolType_Snapshots;
     keys << "Logs";          values << UIToolType_Logs;
-    keys << "Activity";   values << UIToolType_VMActivity;
+    keys << "Activity";      values << UIToolType_VMActivity;
+    keys << "VISOCreator";   values << UIToolType_VISOCreator;
     /* Invalid type for unknown words: */
     if (!keys.contains(strToolType, Qt::CaseInsensitive))
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 92467)
@@ -294,4 +294,5 @@
                 case UIToolType_Logs:
                 case UIToolType_VMActivity:
+                case UIToolType_VISOCreator:
                     return true;
                 default:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 92467)
@@ -934,4 +934,5 @@
     UIToolType_Logs,
     UIToolType_VMActivity,
+    UIToolType_VISOCreator
 };
 Q_DECLARE_METATYPE(UIToolType);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp	(revision 92467)
@@ -2308,5 +2308,5 @@
     virtual void retranslateUi() /* override */
     {
-        setName(QApplication::translate("UIActionPool", "Configuration"));
+        setName(QApplication::translate("UIActionPool", "Options"));
         setShortcutScope(QApplication::translate("UIActionPool", "VISO Creator"));
         setStatusTip(QApplication::translate("UIActionPool", "Open panel for VISO Creator options"));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 92467)
@@ -1905,4 +1905,36 @@
 };
 
+/** Simple action extension, used as 'Show VISO Creator' action class. */
+class UIActionToggleManagerToolsMachineShowVISOCreator : public UIActionToggle
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionToggleManagerToolsMachineShowVISOCreator(UIActionPool *pParent)
+        : UIActionToggle(pParent)
+    {
+        setProperty("UIToolType", QVariant::fromValue(UIToolType_VISOCreator));
+        /// @todo use icons with check-boxes
+        setIcon(UIIconPool::iconSetFull(":/performance_monitor_32px.png", ":/performance_monitor_16px.png",
+                                        ":/performance_monitor_disabled_32px.png", ":/performance_monitor_disabled_16px.png"));
+    }
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("ToolsMachineVMVISOCreator");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&VISO"));
+        setStatusTip(QApplication::translate("UIActionPool", "Open the VISO Creator pane"));
+    }
+};
 
 /** Menu action extension, used as 'Snapshot' menu class. */
@@ -3542,4 +3574,5 @@
     m_pool[UIActionIndexMN_M_Group_M_Tools_T_Logs] = new UIActionToggleManagerToolsMachineShowLogs(this);
     m_pool[UIActionIndexMN_M_Group_M_Tools_T_Activity] = new UIActionToggleManagerToolsMachineShowActivity(this);
+    m_pool[UIActionIndexMN_M_Group_M_Tools_T_VISOCreator] = new UIActionToggleManagerToolsMachineShowVISOCreator(this);
     m_pool[UIActionIndexMN_M_Group_S_Discard] = new UIActionSimpleManagerCommonPerformDiscard(this);
     m_pool[UIActionIndexMN_M_Group_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
@@ -3587,4 +3620,5 @@
     m_pool[UIActionIndexMN_M_Machine_M_Tools_T_Logs] = new UIActionToggleManagerToolsMachineShowLogs(this);
     m_pool[UIActionIndexMN_M_Machine_M_Tools_T_Activity] = new UIActionToggleManagerToolsMachineShowActivity(this);
+    m_pool[UIActionIndexMN_M_Machine_M_Tools_T_VISOCreator] = new UIActionToggleManagerToolsMachineShowVISOCreator(this);
     m_pool[UIActionIndexMN_M_Machine_S_Discard] = new UIActionSimpleManagerCommonPerformDiscard(this);
     m_pool[UIActionIndexMN_M_Machine_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 92467)
@@ -84,4 +84,5 @@
     UIActionIndexMN_M_Group_M_Tools_T_Logs,
     UIActionIndexMN_M_Group_M_Tools_T_Activity,
+    UIActionIndexMN_M_Group_M_Tools_T_VISOCreator,
     UIActionIndexMN_M_Group_S_Discard,
     UIActionIndexMN_M_Group_S_ShowLogDialog,
@@ -128,4 +129,5 @@
     UIActionIndexMN_M_Machine_M_Tools_T_Logs,
     UIActionIndexMN_M_Machine_M_Tools_T_Activity,
+    UIActionIndexMN_M_Machine_M_Tools_T_VISOCreator,
     UIActionIndexMN_M_Machine_S_Discard,
     UIActionIndexMN_M_Machine_S_ShowLogDialog,
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp	(revision 92467)
@@ -32,4 +32,5 @@
 #include "UIToolPaneMachine.h"
 #include "UIVirtualMachineItem.h"
+#include "UIVisoCreator.h"
 #include "UIVMLogViewerWidget.h"
 
@@ -48,4 +49,5 @@
     , m_pPaneLogViewer(0)
     , m_pPaneVMActivityMonitor(0)
+    , m_pPaneVISOCreator(0)
     , m_fActive(false)
 {
@@ -212,4 +214,21 @@
                 break;
             }
+            case UIToolType_VISOCreator:
+            {
+                m_pPaneVISOCreator = new UIVisoCreatorWidget(m_pActionPool, 0 /* Parent */, QString() /* Machine Name */);
+                AssertPtrReturnVoid(m_pPaneVISOCreator);
+#ifndef VBOX_WS_MAC
+                const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4;
+                m_pPaneVISOCreator->setContentsMargins(iMargin, 0, iMargin, 0);
+#endif
+
+                /* Configure pane: */
+                m_pPaneVISOCreator->setProperty("ToolType", QVariant::fromValue(UIToolType_VISOCreator));
+
+                /* Add into layout: */
+                m_pLayout->addWidget(m_pPaneVISOCreator);
+                m_pLayout->setCurrentWidget(m_pPaneVISOCreator);
+                break;
+            }
             default:
                 AssertFailedReturnVoid();
@@ -239,5 +258,6 @@
             case UIToolType_Snapshots:   m_pPaneSnapshots = 0; break;
             case UIToolType_Logs:        m_pPaneLogViewer = 0; break;
-            case UIToolType_VMActivity: m_pPaneVMActivityMonitor = 0; break;
+            case UIToolType_VMActivity:  m_pPaneVMActivityMonitor = 0; break;
+            case UIToolType_VISOCreator:  m_pPaneVISOCreator = 0; break;
             default: break;
         }
@@ -333,4 +353,7 @@
             pCurrentToolWidget = m_pPaneVMActivityMonitor;
             break;
+        case UIToolType_VISOCreator:
+            pCurrentToolWidget = m_pPaneVISOCreator;
+            break;
         default:
             break;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h	(revision 92467)
@@ -42,4 +42,5 @@
 class UISnapshotPane;
 class UIVirtualMachineItem;
+class UIVisoCreatorWidget;
 class UIVMLogViewerWidget;
 
@@ -134,4 +135,6 @@
     /** Holds the Performance Monitor pane instance. */
     UIVMActivityToolWidget *m_pPaneVMActivityMonitor;
+    /** Holds the VISO Creator pane instance. */
+    UIVisoCreatorWidget *m_pPaneVISOCreator;
 
     /** Holds whether this pane is active. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 92467)
@@ -3044,4 +3044,8 @@
                                        m_pWidget->currentMachineTool() == UIToolType_VMActivity;
     actionPool()->action(UIActionIndex_M_Activity)->setVisible(fPerformanceMenuShown);
+    /* Determine whether VISO Creator menu should be visible: */
+    const bool fVISOCreatorShown = (fMachineMenuShown || fGroupMenuShown) &&
+                                   m_pWidget->currentMachineTool() == UIToolType_VISOCreator;
+    actionPool()->action(UIActionIndex_M_VISOCreator)->setVisible(fVISOCreatorShown);
 
     /* Hide action shortcuts: */
@@ -3221,4 +3225,10 @@
                 break;
             }
+            case UIToolType_VISOCreator:
+            {
+                actionPool()->action(UIActionIndexMN_M_Group_M_Tools_T_VISOCreator)->setChecked(true);
+                actionPool()->action(UIActionIndexMN_M_Machine_M_Tools_T_VISOCreator)->setChecked(true);
+                break;
+            }
             default:
                 break;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp	(revision 92467)
@@ -463,4 +463,5 @@
             case UIToolType_Logs:                 pItem->reconfigure(tr("Logs")); break;
             case UIToolType_VMActivity:           pItem->reconfigure(tr("Activity")); break;
+            case UIToolType_VISOCreator:          pItem->reconfigure(tr("VISO")); break;
             default: break;
         }
@@ -536,6 +537,10 @@
                                UIIconPool::iconSet(":/vm_show_logs_24px.png", ":/vm_show_logs_disabled_24px.png"));
 
-    /* Performance: */
+    /* Activity: */
     m_items << new UIToolsItem(scene(), UIToolClass_Machine, UIToolType_VMActivity, QString(),
+                               UIIconPool::iconSet(":/performance_monitor_24px.png", ":/performance_monitor_disabled_24px.png"));
+
+    /* VISO Creator: */
+    m_items << new UIToolsItem(scene(), UIToolClass_Machine, UIToolType_VISOCreator, QString(),
                                UIIconPool::iconSet(":/performance_monitor_24px.png", ":/performance_monitor_disabled_24px.png"));
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.h	(revision 92466)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.h	(revision 92467)
@@ -46,5 +46,5 @@
   * for VISO file system. It has the main menu, main toolbar, and a vertical toolbar and corresponding
   * actions. */
-class UIVisoCreatorWidget : public QIWithRetranslateUI<QWidget>
+class SHARED_LIBRARY_STUFF UIVisoCreatorWidget : public QIWithRetranslateUI<QWidget>
 {
     Q_OBJECT;
@@ -168,5 +168,5 @@
 
 
-class UIVisoCreatorDialog : public QIWithRetranslateUI<QIMainDialog>
+class SHARED_LIBRARY_STUFF UIVisoCreatorDialog : public QIWithRetranslateUI<QIMainDialog>
 {
     Q_OBJECT;
