Changeset 84537 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- May 26, 2020 11:50:47 AM (5 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/manager
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
r84536 r84537 365 365 } 366 366 367 void UIVirtualBoxManager::sltHandleMenuPrepare(int iIndex, QMenu *pMenu) 368 { 369 /* Update if there is update-handler: */ 370 if (m_menuUpdateHandlers.contains(iIndex)) 371 (this->*(m_menuUpdateHandlers.value(iIndex)))(pMenu); 372 } 373 367 374 void UIVirtualBoxManager::sltOpenVirtualMediumManagerWindow() 368 375 { … … 1377 1384 } 1378 1385 1379 void UIVirtualBoxManager::sltGroupCloseMenuAboutToShow()1380 {1381 /* Get selected items: */1382 QList<UIVirtualMachineItem*> items = currentItems();1383 AssertMsgReturnVoid(!items.isEmpty(), ("At least one item should be selected!\n"));1384 1385 actionPool()->action(UIActionIndexST_M_Group_M_Close_S_Shutdown)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_M_Close_S_Shutdown, items));1386 }1387 1388 void UIVirtualBoxManager::sltMachineCloseMenuAboutToShow()1389 {1390 /* Get selected items: */1391 QList<UIVirtualMachineItem*> items = currentItems();1392 AssertMsgReturnVoid(!items.isEmpty(), ("At least one item should be selected!\n"));1393 1394 actionPool()->action(UIActionIndexST_M_Machine_M_Close_S_Shutdown)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_M_Close_S_Shutdown, items));1395 }1396 1397 1386 void UIVirtualBoxManager::prepare() 1398 1387 { … … 1477 1466 /* Create action-pool: */ 1478 1467 m_pActionPool = UIActionPool::create(UIActionPoolType_Manager); 1468 1469 /* Prepare menu update-handlers: */ 1470 m_menuUpdateHandlers[UIActionIndexST_M_Group_M_Close] = &UIVirtualBoxManager::updateMenuGroupClose; 1471 m_menuUpdateHandlers[UIActionIndexST_M_Machine_M_Close] = &UIVirtualBoxManager::updateMenuMachineClose; 1479 1472 1480 1473 /* Build menu-bar: */ … … 1549 1542 connect(gVBoxEvents, &UIVirtualBoxEventHandler::sigSessionStateChange, 1550 1543 this, &UIVirtualBoxManager::sltHandleStateChange); 1544 1545 /* General action-pool connections: */ 1546 connect(actionPool(), &UIActionPool::sigNotifyAboutMenuPrepare, this, &UIVirtualBoxManager::sltHandleMenuPrepare); 1551 1547 1552 1548 /* 'File' menu connections: */ … … 1663 1659 1664 1660 /* 'Group/Close' menu connections: */ 1665 connect(actionPool()->action(UIActionIndexST_M_Group_M_Close)->menu(), &UIMenu::aboutToShow,1666 this, &UIVirtualBoxManager::sltGroupCloseMenuAboutToShow);1667 1661 connect(actionPool()->action(UIActionIndexST_M_Group_M_Close_S_Detach), &UIAction::triggered, 1668 1662 this, &UIVirtualBoxManager::sltPerformDetachMachineUI); … … 1675 1669 1676 1670 /* 'Machine/Close' menu connections: */ 1677 connect(actionPool()->action(UIActionIndexST_M_Machine_M_Close)->menu(), &UIMenu::aboutToShow,1678 this, &UIVirtualBoxManager::sltMachineCloseMenuAboutToShow);1679 1671 connect(actionPool()->action(UIActionIndexST_M_Machine_M_Close_S_Detach), &UIAction::triggered, 1680 1672 this, &UIVirtualBoxManager::sltPerformDetachMachineUI); … … 1905 1897 } 1906 1898 } 1899 } 1900 1901 void UIVirtualBoxManager::updateMenuGroupClose(QMenu *) 1902 { 1903 /* Get selected items: */ 1904 QList<UIVirtualMachineItem*> items = currentItems(); 1905 AssertMsgReturnVoid(!items.isEmpty(), ("At least one item should be selected!\n")); 1906 1907 actionPool()->action(UIActionIndexST_M_Group_M_Close_S_Shutdown)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_M_Close_S_Shutdown, items)); 1908 } 1909 1910 void UIVirtualBoxManager::updateMenuMachineClose(QMenu *) 1911 { 1912 /* Get selected items: */ 1913 QList<UIVirtualMachineItem*> items = currentItems(); 1914 AssertMsgReturnVoid(!items.isEmpty(), ("At least one item should be selected!\n")); 1915 1916 actionPool()->action(UIActionIndexST_M_Machine_M_Close_S_Shutdown)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_M_Close_S_Shutdown, items)); 1907 1917 } 1908 1918 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
r84518 r84537 49 49 Q_OBJECT; 50 50 51 /** Pointer to menu update-handler for this class: */ 52 typedef void (UIVirtualBoxManager::*MenuUpdateHandler)(QMenu *pMenu); 53 51 54 signals: 52 55 … … 142 145 /** Handles CVirtualBox event about state change for machine with @a uID. */ 143 146 void sltHandleStateChange(const QUuid &uID); 147 /** @} */ 148 149 /** @name Action-pool stuff. 150 * @{ */ 151 /** Handle menu prepare. */ 152 void sltHandleMenuPrepare(int iIndex, QMenu *pMenu); 144 153 /** @} */ 145 154 … … 266 275 /** Handles call to toggle machine search widget visibility to be @a fVisible. */ 267 276 void sltPerformMachineSearchWidgetVisibilityToggling(bool fVisible); 268 269 /** Handles call to show group Close menu. */270 void sltGroupCloseMenuAboutToShow();271 /** Handles call to show machine Close menu. */272 void sltMachineCloseMenuAboutToShow();273 277 /** @} */ 274 278 … … 339 343 /** @name Action update stuff. 340 344 * @{ */ 345 /** Updates 'Group' : 'Close' menu. */ 346 void updateMenuGroupClose(QMenu *pMenu); 347 /** Updates 'Machine' : 'Close' menu. */ 348 void updateMenuMachineClose(QMenu *pMenu); 349 341 350 /** Performs update of actions visibility. */ 342 351 void updateActionsVisibility(); … … 386 395 /** Holds the action-pool instance. */ 387 396 UIActionPool *m_pActionPool; 397 /** Holds the map of menu update-handlers. */ 398 QMap<int, MenuUpdateHandler> m_menuUpdateHandlers; 388 399 389 400 /** Holds the Virtual Media Manager window instance. */
Note:
See TracChangeset
for help on using the changeset viewer.