VirtualBox

Changeset 84558 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
May 27, 2020 12:01:54 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9743: VirtualBox Manager: Chooser pane: A possibility to move group items to existing group with certain name using corresponding menu, based on r138287.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r84545 r84558  
    624624
    625625/** Menu action extension, used as 'Move to Group' menu class. */
    626 class UIActionMenuSelectorMachineMoveToGroup : public UIActionMenu
    627 {
    628     Q_OBJECT;
    629 
    630 public:
    631 
    632     /** Constructs action passing @a pParent to the base-class. */
    633     UIActionMenuSelectorMachineMoveToGroup(UIActionPool *pParent)
     626class UIActionMenuSelectorCommonMoveToGroup : public UIActionMenu
     627{
     628    Q_OBJECT;
     629
     630public:
     631
     632    /** Constructs action passing @a pParent to the base-class. */
     633    UIActionMenuSelectorCommonMoveToGroup(UIActionPool *pParent)
    634634        : UIActionMenu(pParent, ":/vm_group_create_16px.png", ":/vm_group_create_disabled_16px.png")
    635635    {}
     
    29392939    m_pool[UIActionIndexST_M_Group_S_Rename] = new UIActionSimpleSelectorGroupPerformRename(this);
    29402940    m_pool[UIActionIndexST_M_Group_S_Remove] = new UIActionSimpleSelectorGroupPerformRemove(this);
     2941    m_pool[UIActionIndexST_M_Group_M_MoveToGroup] = new UIActionMenuSelectorCommonMoveToGroup(this);
    29412942    m_pool[UIActionIndexST_M_Group_M_StartOrShow] = new UIActionStateSelectorCommonStartOrShow(this);
    29422943    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartNormal] = new UIActionSimpleSelectorCommonPerformStartNormal(this);
     
    29702971    m_pool[UIActionIndexST_M_Machine_S_ExportToOCI] = new UIActionSimpleSelectorMachinePerformExportToOCI(this);
    29712972    m_pool[UIActionIndexST_M_Machine_S_Remove] = new UIActionSimpleSelectorMachinePerformRemove(this);
    2972     m_pool[UIActionIndexST_M_Machine_M_MoveToGroup] = new UIActionMenuSelectorMachineMoveToGroup(this);
     2973    m_pool[UIActionIndexST_M_Machine_M_MoveToGroup] = new UIActionMenuSelectorCommonMoveToGroup(this);
    29732974    m_pool[UIActionIndexST_M_Machine_M_MoveToGroup_S_New] = new UIActionSimpleSelectorMachineMoveToGroupNew(this);
    29742975    m_pool[UIActionIndexST_M_Machine_M_StartOrShow] = new UIActionStateSelectorCommonStartOrShow(this);
     
    30623063    m_menuUpdateHandlers[UIActionIndexST_M_Group].ptfm =                 &UIActionPoolManager::updateMenuGroup;
    30633064    m_menuUpdateHandlers[UIActionIndexST_M_Machine].ptfm =               &UIActionPoolManager::updateMenuMachine;
     3065    m_menuUpdateHandlers[UIActionIndexST_M_Group_M_MoveToGroup].ptfm =   &UIActionPoolManager::updateMenuGroupMoveToGroup;
    30643066    m_menuUpdateHandlers[UIActionIndexST_M_Machine_M_MoveToGroup].ptfm = &UIActionPoolManager::updateMenuMachineMoveToGroup;
    30653067    m_menuUpdateHandlers[UIActionIndexST_M_Group_M_StartOrShow].ptfm =   &UIActionPoolManager::updateMenuGroupStartOrShow;
     
    32973299    pMenu->addAction(action(UIActionIndexST_M_Group_S_Rename));
    32983300    pMenu->addAction(action(UIActionIndexST_M_Group_S_Remove));
     3301    pMenu->addAction(action(UIActionIndexST_M_Group_M_MoveToGroup));
    32993302    pMenu->addSeparator();
    33003303    pMenu->addAction(action(UIActionIndexST_M_Group_M_StartOrShow));
     
    33583361}
    33593362
     3363void UIActionPoolManager::updateMenuGroupMoveToGroup()
     3364{
     3365    /* Get corresponding menu: */
     3366    UIMenu *pMenu = action(UIActionIndexST_M_Group_M_MoveToGroup)->menu();
     3367    AssertPtrReturnVoid(pMenu);
     3368    /* Clear contents: */
     3369    pMenu->clear();
     3370
     3371    /* This menu always remains invalid.. */
     3372}
     3373
    33603374void UIActionPoolManager::updateMenuMachineMoveToGroup()
    33613375{
     
    37093723                    << action(UIActionIndexST_M_Group_S_Rename)
    37103724                    << action(UIActionIndexST_M_Group_S_Remove)
     3725                    << action(UIActionIndexST_M_Group_M_MoveToGroup)
    37113726                    << action(UIActionIndexST_M_Group_M_StartOrShow)
    37123727                    << action(UIActionIndexST_M_Group_T_Pause)
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h

    r84518 r84558  
    6363    UIActionIndexST_M_Group_S_Rename,
    6464    UIActionIndexST_M_Group_S_Remove,
     65    UIActionIndexST_M_Group_M_MoveToGroup,
    6566    UIActionIndexST_M_Group_M_StartOrShow,
    6667    UIActionIndexST_M_Group_M_StartOrShow_S_StartNormal,
     
    205206    /** Updates 'Machine' menu. */
    206207    void updateMenuMachine();
     208    /** Updates 'Group' / 'Move to Group' menu. */
     209    void updateMenuGroupMoveToGroup();
    207210    /** Updates 'Machine' / 'Move to Group' menu. */
    208211    void updateMenuMachineMoveToGroup();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r84545 r84558  
    14761476
    14771477    /* Prepare menu update-handlers: */
     1478    m_menuUpdateHandlers[UIActionIndexST_M_Group_M_MoveToGroup] = &UIVirtualBoxManager::updateMenuGroupMoveToGroup;
    14781479    m_menuUpdateHandlers[UIActionIndexST_M_Group_M_Close] = &UIVirtualBoxManager::updateMenuGroupClose;
    14791480    m_menuUpdateHandlers[UIActionIndexST_M_Machine_M_MoveToGroup] = &UIVirtualBoxManager::updateMenuMachineMoveToGroup;
     
    19081909}
    19091910
     1911void UIVirtualBoxManager::updateMenuGroupMoveToGroup(QMenu *pMenu)
     1912{
     1913    const QStringList groups = m_pWidget->possibleGroupsForGroupToMove(m_pWidget->fullGroupName());
     1914    if (!groups.isEmpty())
     1915        pMenu->addSeparator();
     1916    foreach (const QString &strGroupName, groups)
     1917        pMenu->addAction(strGroupName, this, &UIVirtualBoxManager::sltPerformMachineMoveToSpecificGroup);
     1918}
     1919
    19101920void UIVirtualBoxManager::updateMenuGroupClose(QMenu *)
    19111921{
     
    20092019    actionPool()->action(UIActionIndexST_M_Group_S_Rename)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_S_Rename, items));
    20102020    actionPool()->action(UIActionIndexST_M_Group_S_Remove)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_S_Remove, items));
     2021    actionPool()->action(UIActionIndexST_M_Group_M_MoveToGroup)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_M_MoveToGroup, items));
    20112022    actionPool()->action(UIActionIndexST_M_Group_T_Pause)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_T_Pause, items));
    20122023    actionPool()->action(UIActionIndexST_M_Group_S_Reset)->setEnabled(isActionEnabled(UIActionIndexST_M_Group_S_Reset, items));
     
    22362247                   isAtLeastOneItemRemovable(items);
    22372248        }
     2249        case UIActionIndexST_M_Group_M_MoveToGroup:
    22382250        case UIActionIndexST_M_Machine_M_MoveToGroup:
    22392251        case UIActionIndexST_M_Machine_M_MoveToGroup_S_New:
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h

    r84545 r84558  
    345345    /** @name Action update stuff.
    346346      * @{ */
     347        /** Updates 'Group' : 'Move to Group' menu. */
     348        void updateMenuGroupMoveToGroup(QMenu *pMenu);
    347349        /** Updates 'Group' : 'Close' menu. */
    348350        void updateMenuGroupClose(QMenu *pMenu);
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp

    r84546 r84558  
    12801280        m_pContextMenuGroup->addAction(actionPool()->action(UIActionIndexST_M_Group_S_Rename));
    12811281        m_pContextMenuGroup->addAction(actionPool()->action(UIActionIndexST_M_Group_S_Remove));
     1282        m_pContextMenuGroup->addMenu(actionPool()->action(UIActionIndexST_M_Group_M_MoveToGroup)->menu());
    12821283        m_pContextMenuGroup->addSeparator();
    12831284        m_pContextMenuGroup->addAction(actionPool()->action(UIActionIndexST_M_Group_M_StartOrShow));
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette