Changeset 87516 in vbox
- Timestamp:
- Feb 1, 2021 7:32:18 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142541
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
r87513 r87516 62 62 }; 63 63 64 /** Simple action extension, used as 'Show Extension Pack Manager' action class. */65 class UIActionSimpleManagerFileShowExtensionPackManager : public UIActionSimple66 {67 Q_OBJECT;68 69 public:70 71 /** Constructs action passing @a pParent to the base-class. */72 UIActionSimpleManagerFileShowExtensionPackManager(UIActionPool *pParent)73 : UIActionSimple(pParent, ":/extension_pack_manager_16px.png", ":/extension_pack_manager_disabled_16px.png")74 {75 setProperty("UIToolType", QVariant::fromValue(UIToolType_Extensions));76 }77 78 protected:79 80 /** Returns shortcut extra-data ID. */81 virtual QString shortcutExtraDataID() const /* override */82 {83 return QString("ExtensionPackManager");84 }85 86 /** Returns default shortcut. */87 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */88 {89 return QKeySequence("Ctrl+T");90 }91 92 /** Handles translation event. */93 virtual void retranslateUi() /* override */94 {95 setName(QApplication::translate("UIActionPool", "Ex&tension Pack Manager..."));96 setStatusTip(QApplication::translate("UIActionPool", "Display the Extension Pack Manager window"));97 }98 };99 100 /** Simple action extension, used as 'Show Virtual Media Manager' action class. */101 class UIActionSimpleManagerFileShowVirtualMediaManager : public UIActionSimple102 {103 Q_OBJECT;104 105 public:106 107 /** Constructs action passing @a pParent to the base-class. */108 UIActionSimpleManagerFileShowVirtualMediaManager(UIActionPool *pParent)109 : UIActionSimple(pParent, ":/media_manager_16px.png", ":/media_manager_disabled_16px.png")110 {111 setProperty("UIToolType", QVariant::fromValue(UIToolType_Media));112 }113 114 protected:115 116 /** Returns shortcut extra-data ID. */117 virtual QString shortcutExtraDataID() const /* override */118 {119 return QString("VirtualMediaManager");120 }121 122 /** Returns default shortcut. */123 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */124 {125 return QKeySequence("Ctrl+D");126 }127 128 /** Handles translation event. */129 virtual void retranslateUi() /* override */130 {131 setName(QApplication::translate("UIActionPool", "&Virtual Media Manager..."));132 setStatusTip(QApplication::translate("UIActionPool", "Display the Virtual Media Manager window"));133 }134 };135 136 /** Simple action extension, used as 'Show Network Manager' action class. */137 class UIActionSimpleManagerFileShowHostNetworkManager : public UIActionSimple138 {139 Q_OBJECT;140 141 public:142 143 /** Constructs action passing @a pParent to the base-class. */144 UIActionSimpleManagerFileShowHostNetworkManager(UIActionPool *pParent)145 : UIActionSimple(pParent, ":/host_iface_manager_16px.png", ":/host_iface_manager_disabled_16px.png")146 {147 setProperty("UIToolType", QVariant::fromValue(UIToolType_Network));148 }149 150 protected:151 152 /** Returns shortcut extra-data ID. */153 virtual QString shortcutExtraDataID() const /* override */154 {155 return QString("HostNetworkManager");156 }157 158 /** Returns default shortcut. */159 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */160 {161 return QKeySequence("Ctrl+H");162 }163 164 /** Handles translation event. */165 virtual void retranslateUi() /* override */166 {167 setName(QApplication::translate("UIActionPool", "&Network Manager..."));168 setStatusTip(QApplication::translate("UIActionPool", "Display the Network Manager window"));169 }170 };171 172 /** Simple action extension, used as 'Show Cloud Profile Manager' action class. */173 class UIActionSimpleManagerFileShowCloudProfileManager : public UIActionSimple174 {175 Q_OBJECT;176 177 public:178 179 /** Constructs action passing @a pParent to the base-class. */180 UIActionSimpleManagerFileShowCloudProfileManager(UIActionPool *pParent)181 : UIActionSimple(pParent, ":/cloud_profile_manager_16px.png", ":/cloud_profile_manager_disabled_16px.png")182 {183 setProperty("UIToolType", QVariant::fromValue(UIToolType_Cloud));184 }185 186 protected:187 188 /** Returns shortcut extra-data ID. */189 virtual QString shortcutExtraDataID() const /* override */190 {191 return QString("CloudProfileManager");192 }193 194 /** Returns default shortcut. */195 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */196 {197 return QKeySequence("Ctrl+P");198 }199 200 /** Handles translation event. */201 virtual void retranslateUi() /* override */202 {203 setName(QApplication::translate("UIActionPool", "&Cloud Profile Manager..."));204 setStatusTip(QApplication::translate("UIActionPool", "Display the Cloud Profile Manager window"));205 }206 };207 208 64 /** Simple action extension, used as 'Show Import Appliance Wizard' action class. */ 209 65 class UIActionSimpleManagerFileShowImportApplianceWizard : public UIActionSimple … … 331 187 virtual QString shortcutExtraDataID() const /* override */ 332 188 { 333 return QString(" ToolsGlobalWelcomeScreen");189 return QString("WelcomeScreen"); 334 190 } 335 191 … … 364 220 virtual QString shortcutExtraDataID() const /* override */ 365 221 { 366 return QString("ToolsGlobalExtensionPackManager"); 222 return QString("ExtensionPackManager"); 223 } 224 225 /** Returns default shortcut. */ 226 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */ 227 { 228 return QKeySequence("Ctrl+T"); 367 229 } 368 230 … … 397 259 virtual QString shortcutExtraDataID() const /* override */ 398 260 { 399 return QString("ToolsGlobalVirtualMediaManager"); 261 return QString("VirtualMediaManager"); 262 } 263 264 /** Returns default shortcut. */ 265 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */ 266 { 267 return QKeySequence("Ctrl+D"); 400 268 } 401 269 … … 430 298 virtual QString shortcutExtraDataID() const /* override */ 431 299 { 432 return QString("ToolsGlobalHostNetworkManager"); 300 return QString("HostNetworkManager"); 301 } 302 303 /** Returns default shortcut. */ 304 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */ 305 { 306 return QKeySequence("Ctrl+H"); 433 307 } 434 308 … … 463 337 virtual QString shortcutExtraDataID() const /* override */ 464 338 { 465 return QString("ToolsGlobalCloudProfileManager"); 339 return QString("CloudProfileManager"); 340 } 341 342 /** Returns default shortcut. */ 343 virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */ 344 { 345 return QKeySequence("Ctrl+P"); 466 346 } 467 347 … … 3615 3495 /* 'File' actions: */ 3616 3496 m_pool[UIActionIndexMN_M_File] = new UIActionMenuManagerFile(this); 3617 m_pool[UIActionIndexMN_M_File_S_ShowExtensionPackManager] = new UIActionSimpleManagerFileShowExtensionPackManager(this);3618 m_pool[UIActionIndexMN_M_File_S_ShowVirtualMediumManager] = new UIActionSimpleManagerFileShowVirtualMediaManager(this);3619 m_pool[UIActionIndexMN_M_File_S_ShowHostNetworkManager] = new UIActionSimpleManagerFileShowHostNetworkManager(this);3620 m_pool[UIActionIndexMN_M_File_S_ShowCloudProfileManager] = new UIActionSimpleManagerFileShowCloudProfileManager(this);3621 3497 m_pool[UIActionIndexMN_M_File_S_ImportAppliance] = new UIActionSimpleManagerFileShowImportApplianceWizard(this); 3622 3498 m_pool[UIActionIndexMN_M_File_S_ExportAppliance] = new UIActionSimpleManagerFileShowExportApplianceWizard(this); … … 3778 3654 m_pool[UIActionIndexMN_M_VMResourceMonitor_S_SwitchToMachinePerformance] = new UIActionMenuManagerVMResourceMonitorSwitchToMachinePerformance(this); 3779 3655 3656 /* 'File' action groups: */ 3657 m_groupPool[UIActionIndexMN_M_File_M_Tools] = new QActionGroup(m_pool.value(UIActionIndexMN_M_File_M_Tools)); 3658 m_groupPool[UIActionIndexMN_M_File_M_Tools]->addAction(m_pool.value(UIActionIndexMN_M_File_M_Tools_T_WelcomeScreen)); 3659 m_groupPool[UIActionIndexMN_M_File_M_Tools]->addAction(m_pool.value(UIActionIndexMN_M_File_M_Tools_T_ExtensionPackManager)); 3660 m_groupPool[UIActionIndexMN_M_File_M_Tools]->addAction(m_pool.value(UIActionIndexMN_M_File_M_Tools_T_VirtualMediaManager)); 3661 m_groupPool[UIActionIndexMN_M_File_M_Tools]->addAction(m_pool.value(UIActionIndexMN_M_File_M_Tools_T_NetworkManager)); 3662 m_groupPool[UIActionIndexMN_M_File_M_Tools]->addAction(m_pool.value(UIActionIndexMN_M_File_M_Tools_T_CloudProfileManager)); 3663 m_groupPool[UIActionIndexMN_M_File_M_Tools]->addAction(m_pool.value(UIActionIndexMN_M_File_M_Tools_T_VMResourceMonitor)); 3664 3780 3665 /* 'Group' action groups: */ 3781 3666 m_groupPool[UIActionIndexMN_M_Group_M_Tools] = new QActionGroup(m_pool.value(UIActionIndexMN_M_Group_M_Tools)); … … 3794 3679 /* Prepare update-handlers for known menus: */ 3795 3680 m_menuUpdateHandlers[UIActionIndexMN_M_File].ptfm = &UIActionPoolManager::updateMenuFile; 3681 m_menuUpdateHandlers[UIActionIndexMN_M_File_M_Tools].ptfm = &UIActionPoolManager::updateMenuFileTools; 3796 3682 m_menuUpdateHandlers[UIActionIndexMN_M_Welcome].ptfm = &UIActionPoolManager::updateMenuWelcome; 3797 3683 m_menuUpdateHandlers[UIActionIndexMN_M_Group].ptfm = &UIActionPoolManager::updateMenuGroup; … … 3856 3742 addMenu(m_mainMenus, action(UIActionIndexMN_M_File)); 3857 3743 updateMenuFile(); 3744 3745 /* 'File' / 'Tools' menu: */ 3746 updateMenuFileTools(); 3858 3747 3859 3748 /* 'Welcome' menu: */ … … 4065 3954 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowExtraDataManager)); 4066 3955 # endif 4067 /* 'Show Extension Pack Manager' action goes to 'File' menu: */ 4068 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowExtensionPackManager)); 4069 /* 'Show Virtual Medium Manager' action goes to 'File' menu: */ 4070 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowVirtualMediumManager)); 4071 /* 'Show Network Manager' action goes to 'File' menu: */ 4072 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowHostNetworkManager)); 4073 /* 'Show Cloud Profile Manager' action goes to 'File' menu: */ 4074 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowCloudProfileManager)); 4075 3956 /* Separator after Import/Export actions of the 'File' menu: */ 3957 pMenu->addSeparator(); 3958 /* 'Tools' submenu goes to 'File' menu: */ 3959 pMenu->addMenu(action(UIActionIndexMN_M_File_M_Tools)->menu()); 4076 3960 #else /* !VBOX_WS_MAC */ 4077 3961 … … 4089 3973 /* 'Extra-data Manager' action goes to 'File' menu for Debug build: */ 4090 3974 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowExtraDataManager)); 3975 /* Separator after 'Extra-data Manager' action of the 'File' menu: */ 3976 pMenu->addSeparator(); 4091 3977 # endif 4092 /* 'Show Extension Pack Manager' action goes to 'File' menu: */ 4093 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowExtensionPackManager)); 4094 /* 'Show Virtual Medium Manager' action goes to 'File' menu: */ 4095 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowVirtualMediumManager)); 4096 /* 'Show Network Manager' action goes to 'File' menu: */ 4097 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowHostNetworkManager)); 4098 /* 'Show Cloud Profile Manager' action goes to 'File' menu: */ 4099 pMenu->addAction(action(UIActionIndexMN_M_File_S_ShowCloudProfileManager)); 3978 /* 'Tools' submenu goes to 'File' menu: */ 3979 pMenu->addMenu(action(UIActionIndexMN_M_File_M_Tools)->menu()); 3980 /* Separator after 'Tools' submenu of the 'File' menu: */ 3981 pMenu->addSeparator(); 4100 3982 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER 4101 3983 /* 'Network Access Manager' action goes to 'File' menu: */ … … 4120 4002 } 4121 4003 4004 void UIActionPoolManager::updateMenuFileTools() 4005 { 4006 /* Get corresponding menu: */ 4007 UIMenu *pMenu = action(UIActionIndexMN_M_File_M_Tools)->menu(); 4008 AssertPtrReturnVoid(pMenu); 4009 /* Clear contents: */ 4010 pMenu->clear(); 4011 4012 /* Populate 'File' / 'Tools' menu: */ 4013 pMenu->addAction(action(UIActionIndexMN_M_File_M_Tools_T_ExtensionPackManager)); 4014 pMenu->addAction(action(UIActionIndexMN_M_File_M_Tools_T_VirtualMediaManager)); 4015 pMenu->addAction(action(UIActionIndexMN_M_File_M_Tools_T_NetworkManager)); 4016 pMenu->addAction(action(UIActionIndexMN_M_File_M_Tools_T_CloudProfileManager)); 4017 pMenu->addAction(action(UIActionIndexMN_M_File_M_Tools_T_VMResourceMonitor)); 4018 4019 /* Mark menu as valid: */ 4020 m_invalidations.remove(UIActionIndexMN_M_File_M_Tools); 4021 } 4022 4122 4023 void UIActionPoolManager::updateMenuWelcome() 4123 4024 { -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
r87509 r87516 37 37 /* 'File' menu actions: */ 38 38 UIActionIndexMN_M_File = UIActionIndex_Max + 1, 39 UIActionIndexMN_M_File_S_ShowExtensionPackManager,40 UIActionIndexMN_M_File_S_ShowVirtualMediumManager,41 UIActionIndexMN_M_File_S_ShowHostNetworkManager,42 UIActionIndexMN_M_File_S_ShowCloudProfileManager,43 39 UIActionIndexMN_M_File_S_ImportAppliance, 44 40 UIActionIndexMN_M_File_S_ExportAppliance, … … 238 234 /** Updates 'File' menu. */ 239 235 void updateMenuFile(); 236 /** Updates 'File' / 'Tools' menu. */ 237 void updateMenuFileTools(); 240 238 /** Updates 'Welcome' menu. */ 241 239 void updateMenuWelcome(); -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
r87513 r87516 1943 1943 } 1944 1944 1945 void UIVirtualBoxManager::sltPerformShowGlobalTool(QAction *pAction) 1946 { 1947 AssertPtrReturnVoid(pAction); 1948 AssertPtrReturnVoid(m_pWidget); 1949 m_pWidget->switchToGlobalItem(); 1950 m_pWidget->setToolsType(pAction->property("UIToolType").value<UIToolType>()); 1951 } 1952 1945 1953 void UIVirtualBoxManager::sltPerformShowMachineTool(QAction *pAction) 1946 1954 { … … 2288 2296 2289 2297 /* 'File' menu connections: */ 2290 connect(actionPool()->action(UIActionIndexMN_M_File_S_ShowExtensionPackManager), &UIAction::triggered,2291 this, &UIVirtualBoxManager::sltOpenManagerWindowDefault);2292 connect(actionPool()->action(UIActionIndexMN_M_File_S_ShowVirtualMediumManager), &UIAction::triggered,2293 this, &UIVirtualBoxManager::sltOpenManagerWindowDefault);2294 connect(actionPool()->action(UIActionIndexMN_M_File_S_ShowHostNetworkManager), &UIAction::triggered,2295 this, &UIVirtualBoxManager::sltOpenManagerWindowDefault);2296 connect(actionPool()->action(UIActionIndexMN_M_File_S_ShowCloudProfileManager), &UIAction::triggered,2297 this, &UIVirtualBoxManager::sltOpenManagerWindowDefault);2298 2298 connect(actionPool()->action(UIActionIndexMN_M_File_S_ImportAppliance), &UIAction::triggered, 2299 2299 this, &UIVirtualBoxManager::sltOpenImportApplianceWizardDefault); … … 2308 2308 connect(actionPool()->action(UIActionIndexMN_M_File_S_Close), &UIAction::triggered, 2309 2309 this, &UIVirtualBoxManager::sltPerformExit); 2310 connect(actionPool()->actionGroup(UIActionIndexMN_M_File_M_Tools), &QActionGroup::triggered, 2311 this, &UIVirtualBoxManager::sltPerformShowGlobalTool); 2310 2312 2311 2313 /* 'Welcome' menu connections: */ -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
r87476 r87516 271 271 void sltPerformPowerOffMachine(); 272 272 273 /** Handles call to show global tool corresponding to passed @a pAction. */ 274 void sltPerformShowGlobalTool(QAction *pAction); 273 275 /** Handles call to show machine tool corresponding to passed @a pAction. */ 274 276 void sltPerformShowMachineTool(QAction *pAction); -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
r87354 r87516 136 136 { 137 137 return m_pPaneChooser->isCloudProfileUpdateInProgress(); 138 } 139 140 void UIVirtualBoxManagerWidget::switchToGlobalItem() 141 { 142 AssertPtrReturnVoid(m_pPaneChooser); 143 m_pPaneChooser->setCurrentGlobal(); 138 144 } 139 145 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h
r87101 r87516 152 152 bool isCloudProfileUpdateInProgress() const; 153 153 154 /** Switches to global item. */ 155 void switchToGlobalItem(); 154 156 /** Opens group name editor. */ 155 157 void openGroupNameEditor(); -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
r87102 r87516 1412 1412 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowExtraDataManager)); 1413 1413 # endif 1414 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowVirtualMediumManager)); 1415 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowHostNetworkManager)); 1416 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowCloudProfileManager)); 1414 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_M_Tools)); 1417 1415 1418 1416 #else /* !VBOX_WS_MAC */ … … 1425 1423 # ifdef VBOX_GUI_WITH_EXTRADATA_MANAGER_UI 1426 1424 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowExtraDataManager)); 1425 pMenuGlobal->addSeparator(); 1427 1426 # endif 1428 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowVirtualMediumManager)); 1429 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowHostNetworkManager)); 1430 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_S_ShowCloudProfileManager)); 1427 pMenuGlobal->addAction(actionPool()->action(UIActionIndexMN_M_File_M_Tools)); 1428 pMenuGlobal->addSeparator(); 1431 1429 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER 1432 1430 pMenuGlobal->addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager)); -
trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp
r87354 r87516 239 239 /* Move focus to current-item: */ 240 240 setFocusItem(currentItem()); 241 242 /* Adjust corrresponding actions finally: */ 243 const UIToolType enmType = currentItem() ? currentItem()->itemType() : UIToolType_Welcome; 244 QMap<UIToolType, UIAction*> actions; 245 actions[UIToolType_Welcome] = actionPool()->action(UIActionIndexMN_M_File_M_Tools_T_WelcomeScreen); 246 actions[UIToolType_Extensions] = actionPool()->action(UIActionIndexMN_M_File_M_Tools_T_ExtensionPackManager); 247 actions[UIToolType_Media] = actionPool()->action(UIActionIndexMN_M_File_M_Tools_T_VirtualMediaManager); 248 actions[UIToolType_Network] = actionPool()->action(UIActionIndexMN_M_File_M_Tools_T_NetworkManager); 249 actions[UIToolType_Cloud] = actionPool()->action(UIActionIndexMN_M_File_M_Tools_T_CloudProfileManager); 250 actions[UIToolType_Resources] = actionPool()->action(UIActionIndexMN_M_File_M_Tools_T_VMResourceMonitor); 251 if (actions.contains(enmType)) 252 actions.value(enmType)->setChecked(true); 241 253 } 242 254
Note:
See TracChangeset
for help on using the changeset viewer.