summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2021-11-28 16:25:03 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2021-11-28 16:25:03 +0000
commita16d65184951a302f2ca688eb374bf7c7c9e727c (patch)
treea2b5620e60124d38cc59881e5bb7af6b9c0c8142
parentcb8d95a203928a0b2cae4e74d97ccbabab0c1450 (diff)
downloadVirtualBox-svn-a16d65184951a302f2ca688eb374bf7c7c9e727c.tar.gz
FE/Qt: bugref:9371. Adding file manager as a new machine tool type.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@92615 cfe28804-0f27-0410-a406-dd0f0b0b656f
-rw-r--r--src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp2
-rw-r--r--src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp2
-rw-r--r--src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h3
-rw-r--r--src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp36
-rw-r--r--src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h2
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp28
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h4
7 files changed, 71 insertions, 6 deletions
diff --git a/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp b/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
index 2f805202ab3..2332e9c117f 100644
--- a/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
@@ -112,10 +112,8 @@ void UIVMActivityToolWidget::setMachines(const QVector<QUuid> &machineIds)
}
m_machineIds = machineIds;
- //hide();
removeTabs(unselectedMachines);
addTabs(newSelections);
- //show();
}
void UIVMActivityToolWidget::prepareActions()
diff --git a/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp b/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
index 4a5750d0342..1511c6ef295 100644
--- a/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
@@ -1618,6 +1618,7 @@ template<> QString toInternalString(const UIToolType &enmToolType)
case UIToolType_Snapshots: strResult = "Snapshots"; break;
case UIToolType_Logs: strResult = "Logs"; break;
case UIToolType_VMActivity: strResult = "Activity"; break;
+ case UIToolType_FileManager: strResult = "FileManager"; break;
default:
{
AssertMsgFailed(("No text for tool type=%d", enmToolType));
@@ -1644,6 +1645,7 @@ template<> UIToolType fromInternalString<UIToolType>(const QString &strToolType)
keys << "Snapshots"; values << UIToolType_Snapshots;
keys << "Logs"; values << UIToolType_Logs;
keys << "Activity"; values << UIToolType_VMActivity;
+ keys << "FileManager"; values << UIToolType_FileManager;
/* Invalid type for unknown words: */
if (!keys.contains(strToolType, Qt::CaseInsensitive))
return UIToolType_Invalid;
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
index 563801802c4..88d9a12ffb8 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
@@ -933,7 +933,8 @@ enum UIToolType
UIToolType_Details,
UIToolType_Snapshots,
UIToolType_Logs,
- UIToolType_VMActivity
+ UIToolType_VMActivity,
+ UIToolType_FileManager
};
Q_DECLARE_METATYPE(UIToolType);
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
index 29f3a2b1448..8ddab149841 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
@@ -1904,6 +1904,40 @@ protected:
}
};
+/** Simple action extension, used as 'Show File Manager' action class. */
+class UIActionToggleManagerToolsMachineShowFileManager : public UIActionToggle
+{
+ Q_OBJECT;
+
+public:
+
+ /** Constructs action passing @a pParent to the base-class. */
+ UIActionToggleManagerToolsMachineShowFileManager(UIActionPool *pParent)
+ : UIActionToggle(pParent)
+ {
+ setProperty("UIToolType", QVariant::fromValue(UIToolType_FileManager));
+ /// @todo use icons with check-boxes
+ setIcon(UIIconPool::iconSetFull(":/file_manager_24px.png", ":/file_manager_16px.png",
+ ":/file_manager_disabled_24px.png", ":/file_manager_disabled_16px.png"));
+ }
+
+protected:
+
+ /** Returns shortcut extra-data ID. */
+ virtual QString shortcutExtraDataID() const /* override */
+ {
+ return QString("ToolsMachineFileManager");
+ }
+
+ /** Handles translation event. */
+ virtual void retranslateUi() /* override */
+ {
+ setName(QApplication::translate("UIActionPool", "&File Manager"));
+ setStatusTip(QApplication::translate("UIActionPool", "Open the File Manager"));
+ }
+};
+
+
/** Menu action extension, used as 'Snapshot' menu class. */
class UIActionMenuManagerSnapshot : public UIActionMenu
{
@@ -3540,6 +3574,7 @@ void UIActionPoolManager::preparePool()
m_pool[UIActionIndexMN_M_Group_M_Tools_T_Snapshots] = new UIActionToggleManagerToolsMachineShowSnapshots(this);
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_FileManager] = new UIActionToggleManagerToolsMachineShowFileManager(this);
m_pool[UIActionIndexMN_M_Group_S_Discard] = new UIActionSimpleManagerCommonPerformDiscard(this);
m_pool[UIActionIndexMN_M_Group_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
m_pool[UIActionIndexMN_M_Group_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
@@ -3585,6 +3620,7 @@ void UIActionPoolManager::preparePool()
m_pool[UIActionIndexMN_M_Machine_M_Tools_T_Snapshots] = new UIActionToggleManagerToolsMachineShowSnapshots(this);
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_FileManager] = new UIActionToggleManagerToolsMachineShowFileManager(this);
m_pool[UIActionIndexMN_M_Machine_S_Discard] = new UIActionSimpleManagerCommonPerformDiscard(this);
m_pool[UIActionIndexMN_M_Machine_S_ShowLogDialog] = new UIActionSimpleManagerCommonShowMachineLogs(this);
m_pool[UIActionIndexMN_M_Machine_S_Refresh] = new UIActionSimpleManagerCommonPerformRefresh(this);
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
index c18b099517a..aec4d918da8 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
@@ -83,6 +83,7 @@ enum UIActionIndexMN
UIActionIndexMN_M_Group_M_Tools_T_Snapshots,
UIActionIndexMN_M_Group_M_Tools_T_Logs,
UIActionIndexMN_M_Group_M_Tools_T_Activity,
+ UIActionIndexMN_M_Group_M_Tools_T_FileManager,
UIActionIndexMN_M_Group_S_Discard,
UIActionIndexMN_M_Group_S_ShowLogDialog,
UIActionIndexMN_M_Group_S_Refresh,
@@ -127,6 +128,7 @@ enum UIActionIndexMN
UIActionIndexMN_M_Machine_M_Tools_T_Snapshots,
UIActionIndexMN_M_Machine_M_Tools_T_Logs,
UIActionIndexMN_M_Machine_M_Tools_T_Activity,
+ UIActionIndexMN_M_Machine_M_Tools_T_FileManager,
UIActionIndexMN_M_Machine_S_Discard,
UIActionIndexMN_M_Machine_S_ShowLogDialog,
UIActionIndexMN_M_Machine_S_Refresh,
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp b/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp
index 5cd00a2481c..dfcf347756c 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.cpp
@@ -24,15 +24,17 @@
/* GUI includes */
#include "UIActionPoolManager.h"
-#include "UIErrorPane.h"
#include "UIDetails.h"
+#include "UIErrorPane.h"
+#include "UIFileManager.h"
#include "UIIconPool.h"
-#include "UIVMActivityToolWidget.h"
#include "UISnapshotPane.h"
#include "UIToolPaneMachine.h"
#include "UIVirtualMachineItem.h"
+#include "UIVMActivityToolWidget.h"
#include "UIVMLogViewerWidget.h"
+
/* Other VBox includes: */
#include <iprt/assert.h>
@@ -47,6 +49,7 @@ UIToolPaneMachine::UIToolPaneMachine(UIActionPool *pActionPool, QWidget *pParent
, m_pPaneSnapshots(0)
, m_pPaneLogViewer(0)
, m_pPaneVMActivityMonitor(0)
+ , m_pPaneFileManager(0)
, m_fActive(false)
{
/* Prepare: */
@@ -211,6 +214,27 @@ void UIToolPaneMachine::openTool(UIToolType enmType)
this, &UIToolPaneMachine::sigSwitchToActivityOverviewPane);
break;
}
+ case UIToolType_FileManager:
+ {
+ m_pPaneFileManager = 0;
+
+ // UIFileManager::UIFileManager(EmbedTo enmEmbedding, UIActionPool *pActionPool,
+ // const CGuest &comGuest, QWidget *pParent, bool fShowToolbar /* = true */)
+
+ AssertPtrReturnVoid(m_pPaneFileManager);
+#ifndef VBOX_WS_MAC
+ const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4;
+ m_pPaneFileManager->setContentsMargins(iMargin, 0, iMargin, 0);
+#endif
+
+ /* Configure pane: */
+ m_pPaneFileManager->setProperty("ToolType", QVariant::fromValue(UIToolType_FileManager));
+ //m_pPaneFileManager->setSelectedVMListItems(m_items);
+ /* Add into layout: */
+ m_pLayout->addWidget(m_pPaneFileManager);
+ m_pLayout->setCurrentWidget(m_pPaneFileManager);
+ break;
+ }
default:
AssertFailedReturnVoid();
}
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h b/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h
index a300ca27bcb..bf8d44fc74b 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIToolPaneMachine.h
@@ -42,7 +42,7 @@ class UIVMActivityToolWidget;
class UISnapshotPane;
class UIVirtualMachineItem;
class UIVMLogViewerWidget;
-
+class UIFileManager;
/** QWidget subclass representing container for tool panes. */
class UIToolPaneMachine : public QWidget
@@ -133,6 +133,8 @@ private:
UIVMLogViewerWidget *m_pPaneLogViewer;
/** Holds the Performance Monitor pane instance. */
UIVMActivityToolWidget *m_pPaneVMActivityMonitor;
+ /** Holds the File Manager pane instance. */
+ UIFileManager *m_pPaneFileManager;
/** Holds whether this pane is active. */
bool m_fActive;