Index: trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 89036)
@@ -623,5 +623,5 @@
 	src/medium/UIMediumManager.h \
 	src/activity/overview/UIVMActivityOverviewWidget.h \
-	src/activity/overview/UIVMActivityListWidget.h \
+	src/activity/overview/UIVMActivityToolWidget.h \
 	src/networkmanager/UIDetailsWidgetHostNetwork.h \
 	src/networkmanager/UIDetailsWidgetNATNetwork.h \
@@ -952,4 +952,5 @@
 	src/manager/chooser/UIChooserAbstractModel.cpp \
 	src/activity/overview/UIVMActivityOverviewWidget.cpp \
+	src/activity/overview/UIVMActivityToolWidget.cpp \
 	src/networkmanager/UINetworkManager.cpp \
 	src/snapshots/UISnapshotDetailsWidget.cpp \
@@ -1115,5 +1116,5 @@
 	src/medium/UIMediumManager.cpp \
 	src/activity/overview/UIVMActivityOverviewWidget.cpp \
-	src/activity/overview/UIVMActivityListWidget.cpp \
+	src/activity/overview/UIVMActivityToolWidget.cpp \
 	src/networkmanager/UIDetailsWidgetHostNetwork.cpp \
 	src/networkmanager/UIDetailsWidgetNATNetwork.cpp \
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityListWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityListWidget.cpp	(revision 89017)
+++ 	(revision )
@@ -1,138 +1,0 @@
-/* $Id$ */
-/** @file
- * VBox Qt GUI - UIVMActivityListWidget class implementation.
- */
-
-/*
- * Copyright (C) 2009-2020 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-/* Qt includes: */
-#include <QAbstractTableModel>
-#include <QCheckBox>
-#include <QHeaderView>
-#include <QItemDelegate>
-#include <QLabel>
-#include <QMenuBar>
-#include <QPainter>
-#include <QPushButton>
-#include <QTableView>
-#include <QTimer>
-#include <QVBoxLayout>
-#include <QSortFilterProxyModel>
-
-/* GUI includes: */
-#include "QIDialogButtonBox.h"
-#include "UIActionPoolManager.h"
-#include "UICommon.h"
-#include "UIConverter.h"
-#include "UIExtraDataDefs.h"
-#include "UIExtraDataManager.h"
-#include "UIIconPool.h"
-#include "UIVMActivityMonitor.h"
-#include "UIVMActivityListWidget.h"
-#include "UIMessageCenter.h"
-#include "QIToolBar.h"
-#include "UIVirtualBoxEventHandler.h"
-
-#ifdef VBOX_WS_MAC
-# include "UIWindowMenuManager.h"
-#endif /* VBOX_WS_MAC */
-
-/* COM includes: */
-#include "CConsole.h"
-#include "CMachine.h"
-#include "CMachineDebugger.h"
-#include "CPerformanceMetric.h"
-
-/* Other VBox includes: */
-#include <iprt/cidr.h>
-
-/*********************************************************************************************************************************
-*   Class UIVMActivityListWidget implementation.                                                                             *
-*********************************************************************************************************************************/
-
-UIVMActivityListWidget::UIVMActivityListWidget(EmbedTo enmEmbedding, UIActionPool *pActionPool,
-                                                 bool fShowToolbar /* = true */, QWidget *pParent /* = 0 */)
-    : QIWithRetranslateUI<QWidget>(pParent)
-    , m_enmEmbedding(enmEmbedding)
-    , m_pActionPool(pActionPool)
-    , m_fShowToolbar(fShowToolbar)
-    , m_pToolBar(0)
-{
-    prepare();
-}
-
-QMenu *UIVMActivityListWidget::menu() const
-{
-    return NULL;
-}
-
-bool UIVMActivityListWidget::isCurrentTool() const
-{
-    return m_fIsCurrentTool;
-}
-
-void UIVMActivityListWidget::setIsCurrentTool(bool fIsCurrentTool)
-{
-    m_fIsCurrentTool = fIsCurrentTool;
-}
-
-void UIVMActivityListWidget::retranslateUi()
-{
-}
-
-void UIVMActivityListWidget::showEvent(QShowEvent *pEvent)
-{
-    QIWithRetranslateUI<QWidget>::showEvent(pEvent);
-}
-
-void UIVMActivityListWidget::prepare()
-{
-}
-
-void UIVMActivityListWidget::prepareWidgets()
-{
-}
-
-
-void UIVMActivityListWidget::prepareActions()
-{
-}
-
-void UIVMActivityListWidget::prepareToolBar()
-{
-    /* Create toolbar: */
-    m_pToolBar = new QIToolBar(parentWidget());
-    AssertPtrReturnVoid(m_pToolBar);
-    {
-        /* Configure toolbar: */
-        const int iIconMetric = (int)(QApplication::style()->pixelMetric(QStyle::PM_LargeIconSize));
-        m_pToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
-        m_pToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
-
-#ifdef VBOX_WS_MAC
-        /* Check whether we are embedded into a stack: */
-        if (m_enmEmbedding == EmbedTo_Stack)
-        {
-            /* Add into layout: */
-            layout()->addWidget(m_pToolBar);
-        }
-#else
-        /* Add into layout: */
-        layout()->addWidget(m_pToolBar);
-#endif
-    }
-}
-
-void UIVMActivityListWidget::loadSettings()
-{
-}
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityListWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityListWidget.h	(revision 89017)
+++ 	(revision )
@@ -1,110 +1,0 @@
-/* $Id$ */
-/** @file
- * VBox Qt GUI - UIVMActivityListWidget class declaration.
- */
-
-/*
- * Copyright (C) 2009-2020 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifndef FEQT_INCLUDED_SRC_activity_overview_UIVMActivityListWidget_h
-#define FEQT_INCLUDED_SRC_activity_overview_UIVMActivityListWidget_h
-#ifndef RT_WITHOUT_PRAGMA_ONCE
-# pragma once
-#endif
-
-/* Qt includes: */
-#include <QMainWindow>
-
-/* GUI includes: */
-#include "QIManagerDialog.h"
-#include "QIWithRetranslateUI.h"
-
-/* Forward declarations: */
-class QAbstractButton;
-class QFrame;
-class QItemSelection;
-class QLabel;
-class QTableView;
-class QTreeWidgetItem;
-class QIDialogButtonBox;
-class UIActionPool;
-class QIToolBar;
-class UIActivityOverviewProxyModel;
-class UIActivityOverviewModel;
-class UIVMActivityOverviewHostStats;
-class UIVMActivityOverviewHostStatsWidget;
-class UIVMActivityOverviewTableView;
-
-/** QWidget extension to display a Linux top like utility that sort running vm wrt. resource allocations. */
-class UIVMActivityListWidget : public QIWithRetranslateUI<QWidget>
-{
-    Q_OBJECT;
-
-signals:
-
-
-public:
-
-    UIVMActivityListWidget(EmbedTo enmEmbedding, UIActionPool *pActionPool,
-                               bool fShowToolbar = true, QWidget *pParent = 0);
-    QMenu *menu() const;
-
-    bool isCurrentTool() const;
-    void setIsCurrentTool(bool fIsCurrentTool);
-
-#ifdef VBOX_WS_MAC
-    QIToolBar *toolbar() const { return m_pToolBar; }
-#endif
-
-protected:
-
-    /** @name Event-handling stuff.
-      * @{ */
-        virtual void retranslateUi() /* override */;
-        virtual void showEvent(QShowEvent *pEvent) /* override */;
-    /** @} */
-
-private slots:
-
-
-private:
-
-
-    /** @name Prepare/cleanup cascade.
-      * @{ */
-        void prepare();
-        void prepareWidgets();
-        void prepareHostStatsWidgets();
-        void prepareToolBar();
-        void prepareActions();
-        void updateColumnsMenu();
-        void loadSettings();
-    /** @} */
-
-    /** @name General variables.
-      * @{ */
-        const EmbedTo m_enmEmbedding;
-        UIActionPool *m_pActionPool;
-        const bool    m_fShowToolbar;
-    /** @} */
-
-    /** @name Misc members.
-      * @{ */
-        QIToolBar *m_pToolBar;
-        QMenu                              *m_pColumnVisibilityToggleMenu;
-    /** @} */
-    /** Indicates if this widget's host tool is current tool. */
-    bool    m_fIsCurrentTool;
-};
-
-
-#endif /* !FEQT_INCLUDED_SRC_activity_overview_UIVMActivityListWidget_h */
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp	(revision 89036)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp	(revision 89036)
@@ -0,0 +1,247 @@
+/* $Id$ */
+/** @file
+ * VBox Qt GUI - UIVMActivityToolWidget class implementation.
+ */
+
+/*
+ * Copyright (C) 2009-2020 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+/* Qt includes: */
+#include <QAbstractTableModel>
+#include <QCheckBox>
+#include <QHeaderView>
+#include <QItemDelegate>
+#include <QLabel>
+#include <QMenuBar>
+#include <QPainter>
+#include <QPushButton>
+#include <QTableView>
+#include <QTimer>
+#include <QVBoxLayout>
+#include <QSortFilterProxyModel>
+
+/* GUI includes: */
+#include "QIDialogButtonBox.h"
+#include "UIActionPoolManager.h"
+#include "UICommon.h"
+#include "UIConverter.h"
+#include "UIExtraDataDefs.h"
+#include "UIExtraDataManager.h"
+#include "UIIconPool.h"
+#include "UIVMActivityMonitor.h"
+#include "UIVMActivityToolWidget.h"
+#include "UIMessageCenter.h"
+#include "QIToolBar.h"
+#include "UIVirtualBoxEventHandler.h"
+#include "UIVirtualMachineItem.h"
+
+#ifdef VBOX_WS_MAC
+# include "UIWindowMenuManager.h"
+#endif /* VBOX_WS_MAC */
+
+/* COM includes: */
+#include "COMEnums.h"
+#include "CConsole.h"
+#include "CMachine.h"
+#include "CMachineDebugger.h"
+#include "CPerformanceMetric.h"
+
+/* Other VBox includes: */
+#include <iprt/cidr.h>
+
+
+class UIVMActivityListWidget : public QWidget
+{
+
+    Q_OBJECT;
+public:
+
+    UIVMActivityListWidget(QWidget *pParent = 0)
+        : QWidget(pParent)
+    {
+    }
+};
+/*********************************************************************************************************************************
+*   Class UIVMActivityToolWidget implementation.                                                                             *
+*********************************************************************************************************************************/
+
+UIVMActivityToolWidget::UIVMActivityToolWidget(EmbedTo enmEmbedding, UIActionPool *pActionPool,
+                                                 bool fShowToolbar /* = true */, QWidget *pParent /* = 0 */)
+    : QIWithRetranslateUI<QTabWidget>(pParent)
+    , m_enmEmbedding(enmEmbedding)
+    , m_pActionPool(pActionPool)
+    , m_fShowToolbar(fShowToolbar)
+    , m_pToolBar(0)
+{
+    prepare();
+}
+
+QMenu *UIVMActivityToolWidget::menu() const
+{
+    return NULL;
+}
+
+bool UIVMActivityToolWidget::isCurrentTool() const
+{
+    return m_fIsCurrentTool;
+}
+
+void UIVMActivityToolWidget::setIsCurrentTool(bool fIsCurrentTool)
+{
+    m_fIsCurrentTool = fIsCurrentTool;
+}
+
+void UIVMActivityToolWidget::retranslateUi()
+{
+}
+
+void UIVMActivityToolWidget::showEvent(QShowEvent *pEvent)
+{
+    QIWithRetranslateUI<QTabWidget>::showEvent(pEvent);
+}
+
+void UIVMActivityToolWidget::prepare()
+{
+    setTabBarAutoHide(true);
+}
+
+void UIVMActivityToolWidget::setSelectedVMListItems(const QList<UIVirtualMachineItem*> &items)
+{
+    QVector<QUuid> selectedMachines;
+
+    foreach (const UIVirtualMachineItem *item, items)
+    {
+        if (!item)
+            continue;
+        selectedMachines << item->id();
+    }
+    setMachines(selectedMachines);
+}
+
+void UIVMActivityToolWidget::setMachines(const QVector<QUuid> &machineIds)
+{
+    /* List of machines that are newly added to selected machine list: */
+    QVector<QUuid> newSelections;
+    QVector<QUuid> unselectedMachines(m_machineIds);
+
+    foreach (const QUuid &id, machineIds)
+    {
+        unselectedMachines.removeAll(id);
+        if (!m_machineIds.contains(id))
+            newSelections << id;
+    }
+    m_machineIds = machineIds;
+
+    hide();
+    removeTabs(unselectedMachines);
+    addTabs(newSelections);
+    show();
+}
+
+
+void UIVMActivityToolWidget::prepareActions()
+{
+    QAction *pToResourcesAction =
+        m_pActionPool->action(UIActionIndex_M_Activity_S_ToVMActivityOverview);
+    if (pToResourcesAction)
+        connect(pToResourcesAction, &QAction::triggered, this, &UIVMActivityToolWidget::sigSwitchToResourcesPane);
+
+}
+
+void UIVMActivityToolWidget::prepareToolBar()
+{
+    /* Create toolbar: */
+    m_pToolBar = new QIToolBar(parentWidget());
+    AssertPtrReturnVoid(m_pToolBar);
+    {
+        /* Configure toolbar: */
+        const int iIconMetric = (int)(QApplication::style()->pixelMetric(QStyle::PM_LargeIconSize));
+        m_pToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
+        m_pToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
+
+#ifdef VBOX_WS_MAC
+        /* Check whether we are embedded into a stack: */
+        if (m_enmEmbedding == EmbedTo_Stack)
+        {
+            /* Add into layout: */
+            layout()->addWidget(m_pToolBar);
+        }
+#else
+        /* Add into layout: */
+        layout()->addWidget(m_pToolBar);
+#endif
+    }
+}
+
+void UIVMActivityToolWidget::loadSettings()
+{
+}
+
+void UIVMActivityToolWidget::showVMActivityMonitor(CMachine &comMachine)
+{
+    if (comMachine.isNull())
+        return;
+    // if (!m_pActivityMonitor)
+    // {
+    //     m_pActivityMonitor = new UIVMActivityMonitor(m_enmEmbedding, this,
+    //                                                  comMachine, m_pActionPool, false /* Show toolbar */);
+    //     addWidget(m_pActivityMonitor);
+    // }
+    // else
+    //     m_pActivityMonitor->setMachine(comMachine);
+
+    // setCurrentWidget(m_pActivityMonitor);
+}
+
+void UIVMActivityToolWidget::showVMActivityList()
+{
+    // if (!m_pActivityList)
+    // {
+    //     m_pActivityList = new UIVMActivityListWidget(this);
+    //     addWidget(m_pActivityList);
+    // }
+    // setCurrentWidget(m_pActivityList);
+}
+
+void UIVMActivityToolWidget::removeTabs(const QVector<QUuid> &machineIdsToRemove)
+{
+    QVector<UIVMActivityMonitor*> removeList;
+    QVector<UIVMActivityMonitor*> keepList;
+    for (int i = 0; i < count(); ++i)
+    {
+        UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(widget(i));
+        if (!pMonitor)
+            continue;
+        if (machineIdsToRemove.contains(pMonitor->machineId()))
+            removeList << pMonitor;
+        else
+            keepList << pMonitor;
+    }
+    clear();
+    qDeleteAll(removeList.begin(), removeList.end());
+
+    foreach (UIVMActivityMonitor *pMonitor, keepList)
+        addTab(pMonitor, pMonitor->machineName());
+}
+
+void UIVMActivityToolWidget::addTabs(const QVector<QUuid> &machineIdsToAdd)
+{
+    foreach (const QUuid &id, machineIdsToAdd)
+    {
+        CMachine comMachine = uiCommon().virtualBox().FindMachine(id.toString());
+        if (comMachine.isNull())
+            continue;
+        addTab(new UIVMActivityMonitor(m_enmEmbedding, this, comMachine, m_pActionPool), comMachine.GetName());
+    }
+}
+
+#include "UIVMActivityToolWidget.moc"
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h	(revision 89036)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h	(revision 89036)
@@ -0,0 +1,109 @@
+/* $Id$ */
+/** @file
+ * VBox Qt GUI - UIVMActivityToolWidget class declaration.
+ */
+
+/*
+ * Copyright (C) 2009-2020 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+#ifndef FEQT_INCLUDED_SRC_activity_overview_UIVMActivityToolWidget_h
+#define FEQT_INCLUDED_SRC_activity_overview_UIVMActivityToolWidget_h
+#ifndef RT_WITHOUT_PRAGMA_ONCE
+# pragma once
+#endif
+
+/* Qt includes: */
+#include <QTabWidget>
+
+/* GUI includes: */
+#include "QIManagerDialog.h"
+#include "QIWithRetranslateUI.h"
+
+/* Forward declarations: */
+class UIActionPool;
+class QIToolBar;
+class UIVMActivityMonitor;
+class UIVMActivityListWidget;
+class UIVirtualMachineItem;
+
+/** QWidget extension to display a Linux top like utility that sort running vm wrt. resource allocations. */
+class UIVMActivityToolWidget : public QIWithRetranslateUI<QTabWidget>
+{
+    Q_OBJECT;
+
+signals:
+
+    void sigSwitchToResourcesPane();
+
+public:
+
+    UIVMActivityToolWidget(EmbedTo enmEmbedding, UIActionPool *pActionPool,
+                               bool fShowToolbar = true, QWidget *pParent = 0);
+    QMenu *menu() const;
+
+    bool isCurrentTool() const;
+    void setIsCurrentTool(bool fIsCurrentTool);
+
+    void setSelectedVMListItems(const QList<UIVirtualMachineItem*> &items);
+
+#ifdef VBOX_WS_MAC
+    QIToolBar *toolbar() const { return m_pToolBar; }
+#endif
+
+protected:
+
+    /** @name Event-handling stuff.
+      * @{ */
+        virtual void retranslateUi() /* override */;
+        virtual void showEvent(QShowEvent *pEvent) /* override */;
+    /** @} */
+
+private slots:
+
+
+private:
+
+    void setMachines(const QVector<QUuid> &machineIDs);
+
+    /** @name Prepare/cleanup cascade.
+      * @{ */
+        void prepare();
+        void prepareToolBar();
+        void prepareActions();
+        void updateColumnsMenu();
+        void loadSettings();
+    /** @} */
+
+    void showVMActivityMonitor(CMachine &comMachine);
+    void showVMActivityList();
+    /** Remove tabs conaining machine monitors with ids @machineIdsToRemove. */
+    void removeTabs(const QVector<QUuid> &machineIdsToRemove);
+    /** Add new tabs for each QUuid in @machineIdsToAdd. Does not check for duplicates. */
+    void addTabs(const QVector<QUuid> &machineIdsToAdd);
+
+
+    /** @name General variables.
+      * @{ */
+        const EmbedTo m_enmEmbedding;
+        UIActionPool *m_pActionPool;
+        const bool    m_fShowToolbar;
+    /** @} */
+
+    QIToolBar *m_pToolBar;
+
+    /** Indicates if this widget's host tool is current tool. */
+    bool    m_fIsCurrentTool;
+    QVector<QUuid> m_machineIds;
+};
+
+
+#endif /* !FEQT_INCLUDED_SRC_activity_overview_UIVMActivityToolWidget_h */
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp	(revision 89036)
@@ -34,5 +34,4 @@
 #include "UIIconPool.h"
 #include "UIVMActivityMonitor.h"
-#include "QIToolBar.h"
 #include "UIVirtualBoxEventHandler.h"
 
@@ -881,10 +880,9 @@
 
 UIVMActivityMonitor::UIVMActivityMonitor(EmbedTo enmEmbedding, QWidget *pParent,
-                                           const CMachine &machine, UIActionPool *pActionPool, bool fShowToolbar /* = false */)
+                                           const CMachine &machine, UIActionPool *pActionPool)
     : QIWithRetranslateUI<QWidget>(pParent)
     , m_fGuestAdditionsAvailable(false)
     , m_pMainLayout(0)
     , m_pTimer(0)
-    , m_pToolBar(0)
     , m_strCPUMetricName("CPU Load")
     , m_strRAMMetricName("RAM Usage")
@@ -895,11 +893,8 @@
     , m_iTimeStep(0)
     , m_enmEmbedding(enmEmbedding)
-    , m_fShowToolbar(fShowToolbar)
     , m_pActionPool(pActionPool)
 {
     prepareMetrics();
     prepareWidgets();
-    if (fShowToolbar)
-        prepareToolBar();
     prepareActions();
     retranslateUi();
@@ -931,4 +926,18 @@
         start();
     }
+}
+
+QUuid UIVMActivityMonitor::machineId() const
+{
+    if (m_comMachine.isNull())
+        return QUuid();
+    return m_comMachine.GetId();
+}
+
+QString UIVMActivityMonitor::machineName() const
+{
+    if (m_comMachine.isNull())
+        return QString();
+    return m_comMachine.GetName();
 }
 
@@ -1251,29 +1260,4 @@
 }
 
-void UIVMActivityMonitor::prepareToolBar()
-{
-    /* Create toolbar: */
-    m_pToolBar = new QIToolBar(parentWidget());
-    AssertPtrReturnVoid(m_pToolBar);
-    {
-        /* Configure toolbar: */
-        const int iIconMetric = (int)(QApplication::style()->pixelMetric(QStyle::PM_LargeIconSize));
-        m_pToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
-        m_pToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
-
-#ifdef VBOX_WS_MAC
-        /* Check whether we are embedded into a stack: */
-        if (m_enmEmbedding == EmbedTo_Stack)
-        {
-            /* Add into layout: */
-            layout()->addWidget(m_pToolBar);
-        }
-#else
-        /* Add into layout: */
-        layout()->addWidget(m_pToolBar);
-#endif
-    }
-}
-
 void UIVMActivityMonitor::prepareActions()
 {
@@ -1282,9 +1266,4 @@
     if (pExportAction)
         connect(pExportAction, &QAction::triggered, this, &UIVMActivityMonitor::sltExportMetricsToFile);
-
-    QAction *pToResourcesAction =
-        m_pActionPool->action(UIActionIndex_M_Activity_S_ToVMActivityOverview);
-    if (pToResourcesAction)
-        connect(pToResourcesAction, &QAction::triggered, this, &UIVMActivityMonitor::sigSwitchToResourcesPane);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h	(revision 89036)
@@ -49,5 +49,4 @@
 class UISession;
 class UIRuntimeInfoWidget;
-class QIToolBar;
 
 #define DATA_SERIES_SIZE 2
@@ -121,9 +120,6 @@
 class  SHARED_LIBRARY_STUFF UIVMActivityMonitor : public QIWithRetranslateUI<QWidget>
 {
+
     Q_OBJECT;
-
- signals:
-
-    void sigSwitchToResourcesPane();
 
 public:
@@ -132,10 +128,8 @@
       * @param machine is machine reference. */
     UIVMActivityMonitor(EmbedTo enmEmbedding, QWidget *pParent, const CMachine &machine,
-                         UIActionPool *pActionPool,bool fShowToolbar = false);
+                        UIActionPool *pActionPool);
     void setMachine(const CMachine &machine);
-
-#ifdef VBOX_WS_MAC
-    QIToolBar *toolbar() const { return m_pToolBar; }
-#endif
+    QUuid machineId() const;
+    QString machineName() const;
 
  public slots:
@@ -165,5 +159,4 @@
     void prepareWidgets();
     void prepareMetrics();
-    void prepareToolBar();
     void prepareActions();
     bool guestAdditionsAvailable(int iMinimumMajorVersion);
@@ -205,5 +198,4 @@
     QVBoxLayout *m_pMainLayout;
     QTimer      *m_pTimer;
-    QIToolBar   *m_pToolBar;
 
     /** @name The following are used during UIPerformanceCollector::QueryMetricsData(..)
@@ -258,5 +250,4 @@
     quint64 m_iTimeStep;
     EmbedTo m_enmEmbedding;
-    bool    m_fShowToolbar;
     UIActionPool *m_pActionPool;
 };
Index: trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerWidget.cpp	(revision 89036)
@@ -209,4 +209,5 @@
 }
 
+
 void UIVMLogViewerWidget::setSelectedVMListItems(const QList<UIVirtualMachineItem*> &items)
 {
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp	(revision 89036)
@@ -28,5 +28,5 @@
 #include "UIDetails.h"
 #include "UIIconPool.h"
-#include "UIVMActivityMonitor.h"
+#include "UIVMActivityToolWidget.h"
 #include "UISnapshotPane.h"
 #include "UIToolPaneMachine.h"
@@ -193,6 +193,6 @@
             case UIToolType_VMActivity:
             {
-                m_pPaneVMActivityMonitor = new UIVMActivityMonitor(EmbedTo_Stack, 0,
-                                                                     m_comMachine, m_pActionPool, false /* Show toolbar */);
+                m_pPaneVMActivityMonitor = new UIVMActivityToolWidget(EmbedTo_Stack, m_pActionPool,
+                                                                      false /* Show toolbar */, 0 /* Parent */);
                 AssertPtrReturnVoid(m_pPaneVMActivityMonitor);
 #ifndef VBOX_WS_MAC
@@ -203,10 +203,10 @@
                 /* Configure pane: */
                 m_pPaneVMActivityMonitor->setProperty("ToolType", QVariant::fromValue(UIToolType_VMActivity));
-
+                m_pPaneVMActivityMonitor->setSelectedVMListItems(m_items);
                 /* Add into layout: */
                 m_pLayout->addWidget(m_pPaneVMActivityMonitor);
                 m_pLayout->setCurrentWidget(m_pPaneVMActivityMonitor);
 
-                connect(m_pPaneVMActivityMonitor, &UIVMActivityMonitor::sigSwitchToResourcesPane,
+                connect(m_pPaneVMActivityMonitor, &UIVMActivityToolWidget::sigSwitchToResourcesPane,
                         this, &UIToolPaneMachine::sigSwitchToResourcesPane);
                 break;
@@ -285,4 +285,10 @@
         m_pPaneLogViewer->setSelectedVMListItems(m_items);
     }
+    /* Update performance monitor pane is it is open: */
+    if (isToolOpened(UIToolType_VMActivity))
+    {
+        AssertPtrReturnVoid(m_pPaneVMActivityMonitor);
+        m_pPaneVMActivityMonitor->setSelectedVMListItems(m_items);
+    }
 }
 
@@ -297,10 +303,4 @@
         AssertPtrReturnVoid(m_pPaneSnapshots);
         m_pPaneSnapshots->setMachine(m_comMachine);
-    }
-    /* Update performance monitor pane is it is open: */
-    if (isToolOpened(UIToolType_VMActivity))
-    {
-        AssertPtrReturnVoid(m_pPaneVMActivityMonitor);
-        m_pPaneVMActivityMonitor->setMachine(m_comMachine);
     }
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h	(revision 89036)
@@ -39,5 +39,5 @@
 class UIDetails;
 class UIErrorPane;
-class UIVMActivityMonitor;
+class UIVMActivityToolWidget;
 class UISnapshotPane;
 class UIVirtualMachineItem;
@@ -133,5 +133,5 @@
     UIVMLogViewerWidget *m_pPaneLogViewer;
     /** Holds the Performance Monitor pane instance. */
-    UIVMActivityMonitor *m_pPaneVMActivityMonitor;
+    UIVMActivityToolWidget *m_pPaneVMActivityMonitor;
 
     /** Holds whether this pane is active. */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp	(revision 89017)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp	(revision 89036)
@@ -1056,6 +1056,6 @@
     if (pItem && pItem->itemType() != UIVirtualMachineItemType_Local)
         retrictedTypes << UIToolType_Snapshots << UIToolType_Logs << UIToolType_VMActivity;
-    else if (pItem && !pItem->isItemStarted())
-        retrictedTypes << UIToolType_VMActivity;
+    // else if (pItem && !pItem->isItemStarted())
+    //     retrictedTypes << UIToolType_VMActivity;
     if (retrictedTypes.contains(m_pPaneTools->toolsType()))
         m_pPaneTools->setToolsType(UIToolType_Details);
