VirtualBox

Changeset 84542 in vbox for trunk/src


Ignore:
Timestamp:
May 26, 2020 3:53:40 PM (5 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9743: VirtualBox Manager: Chooser pane: A possibility to move items to existing group with certain name; Not used for now, just interface implementation.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/manager
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp

    r84537 r84542  
    791791void UIVirtualBoxManager::sltPerformMachineMoveToNewGroup()
    792792{
    793     m_pWidget->moveMachineToNewGroup();
     793    m_pWidget->moveMachineToGroup();
    794794}
    795795
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp

    r84518 r84542  
    131131}
    132132
    133 void UIVirtualBoxManagerWidget::moveMachineToNewGroup()
    134 {
    135     m_pPaneChooser->moveMachineToNewGroup();
     133void UIVirtualBoxManagerWidget::moveMachineToGroup(const QString &strName /* = QString() */)
     134{
     135    m_pPaneChooser->moveMachineToGroup(strName);
    136136}
    137137
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.h

    r84518 r84542  
    146146        /** Removes machine. */
    147147        void removeMachine();
    148         /** Moves machine to a new group. */
    149         void moveMachineToNewGroup();
     148        /** Moves machine to a group with certain @a strName. */
     149        void moveMachineToGroup(const QString &strName = QString());
    150150        /** Refreshes machine. */
    151151        void refreshMachine();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp

    r84518 r84542  
    131131}
    132132
    133 void UIChooser::moveMachineToNewGroup()
    134 {
    135     AssertPtrReturnVoid(model());
    136     model()->moveSelectedMachineItemsToNewGroupItem();
     133void UIChooser::moveMachineToGroup(const QString &strName)
     134{
     135    AssertPtrReturnVoid(model());
     136    model()->moveSelectedMachineItemsToGroupItem(strName);
    137137}
    138138
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.h

    r84518 r84542  
    140140        /** Removes machine. */
    141141        void removeMachine();
    142         /** Moves machine to a new group. */
    143         void moveMachineToNewGroup();
     142        /** Moves machine to a group with certain @a strName. */
     143        void moveMachineToGroup(const QString &strName);
    144144        /** Refreshes machine. */
    145145        void refreshMachine();
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp

    r84518 r84542  
    735735}
    736736
    737 void UIChooserModel::moveSelectedMachineItemsToNewGroupItem()
    738 {
    739     /* Create new group node in the current root: */
    740     UIChooserNodeGroup *pNewGroupNode = new UIChooserNodeGroup(invisibleRoot(),
    741                                                                false /* favorite */,
    742                                                                invisibleRoot()->nodes().size() /* position */,
    743                                                                uniqueGroupName(invisibleRoot()),
    744                                                                UIChooserNodeGroupType_Local,
    745                                                                true /* opened */);
    746     UIChooserItemGroup *pNewGroupItem = new UIChooserItemGroup(root(), pNewGroupNode);
     737void UIChooserModel::moveSelectedMachineItemsToGroupItem(const QString &strName /* = QString() */)
     738{
     739    /* Prepare target group pointers: */
     740    UIChooserNodeGroup *pTargetGroupNode = 0;
     741    UIChooserItemGroup *pTargetGroupItem = 0;
     742    if (strName.isNull())
     743    {
     744        /* Create new group node in the current root: */
     745        pTargetGroupNode = new UIChooserNodeGroup(invisibleRoot(),
     746                                                  false /* favorite */,
     747                                                  invisibleRoot()->nodes().size() /* position */,
     748                                                  uniqueGroupName(invisibleRoot()),
     749                                                  UIChooserNodeGroupType_Local,
     750                                                  true /* opened */);
     751        pTargetGroupItem = new UIChooserItemGroup(root(), pTargetGroupNode);
     752    }
     753    else
     754    {
     755        /* Search for existing group with certain name: */
     756        UIChooserItem *pTargetItem = root()->searchForItem(strName,
     757                                                           UIChooserItemSearchFlag_LocalGroup |
     758                                                           UIChooserItemSearchFlag_ExactId);
     759        AssertPtrReturnVoid(pTargetItem);
     760        pTargetGroupItem = pTargetItem->toGroupItem();
     761        UIChooserNode *pTargetNode = pTargetItem->node();
     762        AssertPtrReturnVoid(pTargetNode);
     763        pTargetGroupNode = pTargetNode->toGroupNode();
     764    }
     765    AssertPtrReturnVoid(pTargetGroupNode);
     766    AssertPtrReturnVoid(pTargetGroupItem);
    747767
    748768    /* For each of currently selected-items: */
     
    762782                busyGroupNames << pItem->name();
    763783                /* Copy or move group-item: */
    764                 UIChooserNodeGroup *pNewGroupSubNode = new UIChooserNodeGroup(pNewGroupNode,
     784                UIChooserNodeGroup *pNewGroupSubNode = new UIChooserNodeGroup(pTargetGroupNode,
    765785                                                                              pItem->node()->toGroupNode(),
    766                                                                               pNewGroupNode->nodes().size());
    767                 new UIChooserItemGroup(pNewGroupItem, pNewGroupSubNode);
     786                                                                              pTargetGroupNode->nodes().size());
     787                new UIChooserItemGroup(pTargetGroupItem, pNewGroupSubNode);
    768788                delete pItem->node();
    769789                break;
     
    777797                busyMachineNames << pItem->name();
    778798                /* Copy or move machine-item: */
    779                 UIChooserNodeMachine *pNewMachineSubNode = new UIChooserNodeMachine(pNewGroupNode,
     799                UIChooserNodeMachine *pNewMachineSubNode = new UIChooserNodeMachine(pTargetGroupNode,
    780800                                                                                    pItem->node()->toMachineNode(),
    781                                                                                     pNewGroupNode->nodes().size());
    782                 new UIChooserItemMachine(pNewGroupItem, pNewMachineSubNode);
     801                                                                                    pTargetGroupNode->nodes().size());
     802                new UIChooserItemMachine(pTargetGroupItem, pNewMachineSubNode);
    783803                delete pItem->node();
    784804                break;
     
    790810    wipeOutEmptyGroups();
    791811    updateTreeForMainRoot();
    792     setSelectedItem(pNewGroupItem);
     812    setSelectedItem(pTargetGroupItem);
    793813    saveGroups();
    794814}
  • trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h

    r84518 r84542  
    222222        /** Removes selected machine items. */
    223223        void removeSelectedMachineItems();
    224         /** Moves selected machine items to new group item. */
    225         void moveSelectedMachineItemsToNewGroupItem();
     224        /** Moves selected machine items to group item.
     225          * @param  strName  Holds the group item name to move items to, if
     226          *                  that name isn't specified, new top-level group
     227          *                  item will be created. */
     228        void moveSelectedMachineItemsToGroupItem(const QString &strName);
    226229        /** Starts or shows selected items. */
    227230        void startOrShowSelectedItems();
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