Index: trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 89093)
@@ -952,5 +952,4 @@
 	src/manager/chooser/UIChooserAbstractModel.cpp \
 	src/activity/overview/UIVMActivityOverviewWidget.cpp \
-	src/activity/overview/UIVMActivityToolWidget.cpp \
 	src/networkmanager/UINetworkManager.cpp \
 	src/snapshots/UISnapshotDetailsWidget.cpp \
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp	(revision 89093)
@@ -60,15 +60,4 @@
 
 
-class UIVMActivityListWidget : public QWidget
-{
-
-    Q_OBJECT;
-public:
-
-    UIVMActivityListWidget(QWidget *pParent = 0)
-        : QWidget(pParent)
-    {
-    }
-};
 /*********************************************************************************************************************************
 *   Class UIVMActivityToolWidget implementation.                                                                             *
@@ -82,6 +71,10 @@
     , m_fShowToolbar(fShowToolbar)
     , m_pToolBar(0)
+    , m_pExportToFileAction(0)
 {
     prepare();
+    prepareActions();
+    prepareToolBar();
+    sltCurrentTabChanged(0);
 }
 
@@ -113,4 +106,8 @@
 {
     setTabBarAutoHide(true);
+    setLayout(new QHBoxLayout);
+
+    connect(this, &UIVMActivityToolWidget::currentChanged,
+            this, &UIVMActivityToolWidget::sltCurrentTabChanged);
 }
 
@@ -148,5 +145,4 @@
 }
 
-
 void UIVMActivityToolWidget::prepareActions()
 {
@@ -156,4 +152,8 @@
         connect(pToResourcesAction, &QAction::triggered, this, &UIVMActivityToolWidget::sigSwitchToResourcesPane);
 
+    m_pExportToFileAction =
+        m_pActionPool->action(UIActionIndex_M_Activity_S_Export);
+    if (m_pExportToFileAction)
+        connect(m_pExportToFileAction, &QAction::triggered, this, &UIVMActivityToolWidget::sltExportToFile);
 }
 
@@ -187,30 +187,4 @@
 }
 
-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)
 {
@@ -241,7 +215,32 @@
         if (comMachine.isNull())
             continue;
-        addTab(new UIVMActivityMonitor(m_enmEmbedding, this, comMachine, m_pActionPool), comMachine.GetName());
-    }
-}
-
-#include "UIVMActivityToolWidget.moc"
+        addTab(new UIVMActivityMonitor(m_enmEmbedding, this, comMachine), comMachine.GetName());
+    }
+}
+
+void UIVMActivityToolWidget::sltExportToFile()
+{
+    UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(currentWidget());
+    if (pActivityMonitor)
+        pActivityMonitor->sltExportMetricsToFile();
+}
+
+void UIVMActivityToolWidget::sltCurrentTabChanged(int iIndex)
+{
+    Q_UNUSED(iIndex);
+    UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(currentWidget());
+    if (pActivityMonitor)
+    {
+        CMachine comMachine = uiCommon().virtualBox().FindMachine(pActivityMonitor->machineId().toString());
+        if (!comMachine.isNull())
+        {
+            setExportActionEnabled(comMachine.GetState() == KMachineState_Running);
+        }
+    }
+}
+
+void UIVMActivityToolWidget::setExportActionEnabled(bool fEnabled)
+{
+    if (m_pExportToFileAction)
+        m_pExportToFileAction->setEnabled(fEnabled);
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h	(revision 89093)
@@ -72,4 +72,6 @@
 private slots:
 
+    void sltExportToFile();
+    void sltCurrentTabChanged(int iIndex);
 
 private:
@@ -86,11 +88,9 @@
     /** @} */
 
-    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);
-
+    void setExportActionEnabled(bool fEnabled);
 
     /** @name General variables.
@@ -106,4 +106,5 @@
     bool    m_fIsCurrentTool;
     QVector<QUuid> m_machineIds;
+    QAction *m_pExportToFileAction;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp	(revision 89093)
@@ -30,5 +30,4 @@
 /* GUI includes: */
 #include "QIFileDialog.h"
-#include "UIActionPool.h"
 #include "UICommon.h"
 #include "UIIconPool.h"
@@ -880,5 +879,5 @@
 
 UIVMActivityMonitor::UIVMActivityMonitor(EmbedTo enmEmbedding, QWidget *pParent,
-                                           const CMachine &machine, UIActionPool *pActionPool)
+                                           const CMachine &machine)
     : QIWithRetranslateUI<QWidget>(pParent)
     , m_fGuestAdditionsAvailable(false)
@@ -893,5 +892,4 @@
     , m_iTimeStep(0)
     , m_enmEmbedding(enmEmbedding)
-    , m_pActionPool(pActionPool)
 {
     prepareMetrics();
@@ -1267,8 +1265,4 @@
 void UIVMActivityMonitor::prepareActions()
 {
-    QAction *pExportAction =
-        m_pActionPool->action(UIActionIndex_M_Activity_S_Export);
-    if (pExportAction)
-        connect(pExportAction, &QAction::triggered, this, &UIVMActivityMonitor::sltExportMetricsToFile);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h	(revision 89093)
@@ -45,5 +45,4 @@
 class QVBoxLayout;
 class QLabel;
-class UIActionPool;
 class UIChart;
 class UISession;
@@ -127,6 +126,5 @@
     /** Constructs information-tab passing @a pParent to the QWidget base-class constructor.
       * @param machine is machine reference. */
-    UIVMActivityMonitor(EmbedTo enmEmbedding, QWidget *pParent, const CMachine &machine,
-                        UIActionPool *pActionPool);
+    UIVMActivityMonitor(EmbedTo enmEmbedding, QWidget *pParent, const CMachine &machine);
     ~UIVMActivityMonitor();
     void setMachine(const CMachine &machine);
@@ -140,4 +138,5 @@
         void sltGuestAdditionsStateChange();
     /** @} */
+        void sltExportMetricsToFile();
 
 protected:
@@ -152,5 +151,4 @@
     /** Stop updating the charts if/when the machine state changes something other than KMachineState_Running. */
     void sltMachineStateChange(const QUuid &uId);
-    void sltExportMetricsToFile();
     void sltCreateContextMenu(const QPoint &point);
     void sltClearCOMData();
@@ -251,5 +249,4 @@
     quint64 m_iTimeStep;
     EmbedTo m_enmEmbedding;
-    UIActionPool *m_pActionPool;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp	(revision 89093)
@@ -2311,5 +2311,5 @@
 };
 
-/** Simple action extension, used as 'To VM Activity Oveview' action class. */
+/** Simple action extension, used as 'To VM Activity Overview' action class. */
 class UIActionMenuSelectorActivityToVMActivityOverview : public UIActionSimple
 {
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp	(revision 89080)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIVMInformationDialog.cpp	(revision 89093)
@@ -228,6 +228,5 @@
         /* Create Performance Monitor tab: */
         UIVMActivityMonitor *pVMActivityMonitorWidget =
-            new UIVMActivityMonitor(EmbedTo_Dialog, this, m_pMachineWindow->machine(),
-                                     m_pMachineWindow->uisession()->actionPool());
+            new UIVMActivityMonitor(EmbedTo_Dialog, this, m_pMachineWindow->machine());
         if (pVMActivityMonitorWidget)
         {
