Changeset 83949 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Apr 23, 2020 2:37:52 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 137503
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
r83948 r83949 262 262 } 263 263 264 const QList<UIChooserItem*> &UIChooserModel::selectedItems() const 265 { 266 return m_selectedItems; 267 } 268 264 269 void UIChooserModel::addToSelectedItems(UIChooserItem *pItem) 265 270 { … … 284 289 /* Return first of selected-items, if any: */ 285 290 return selectedItems().value(0); 286 }287 288 const QList<UIChooserItem*> &UIChooserModel::selectedItems() const289 {290 return m_selectedItems;291 291 } 292 292 … … 313 313 currentMachineList << pItem->cache(); 314 314 return currentMachineList; 315 } 316 317 void UIChooserModel::makeSureAtLeastOneItemSelected() 318 { 319 if (!firstSelectedItem() && !navigationItems().isEmpty()) 320 { 321 setSelectedItem(navigationItems().first()); 322 emit sigSelectionInvalidated(); 323 } 315 324 } 316 325 … … 686 695 { 687 696 /* Remember first selected item definition: */ 688 AssertPtrReturnVoid(firstSelectedItem()); 689 const QString strDefinition = firstSelectedItem()->definition(); 697 const QString strDefinition = firstSelectedItem() ? firstSelectedItem()->definition() : QString(); 690 698 691 699 /* Rebuild tree for main root: */ 692 700 buildTreeForMainRoot(); 693 701 694 /* Restore selected item: */ 695 setSelectedItem(strDefinition); 702 /* Restore selection if there was some item before: */ 703 if (!strDefinition.isNull()) 704 setSelectedItem(strDefinition); 705 /* Else make sure at least one item selected: */ 706 else 707 makeSureAtLeastOneItemSelected(); 696 708 } 697 709 /* New VM registered? */ … … 713 725 UIChooserAbstractModel::sltReloadMachine(uId); 714 726 715 /* Sho w machine if we should:*/727 /* Should we show this VM? */ 716 728 if (gEDataManager->showMachineInVirtualBoxManagerChooser(uId)) 717 729 { … … 720 732 721 733 /* Select newly added item: */ 722 CMachine comMachine = uiCommon().virtualBox().FindMachine(uId.toString());723 setSelectedItem(root()->searchForItem(comMachine.GetName(),724 UIChooserItemSearchFlag_Machine |725 UIChooserItemSearchFlag_ExactName));726 }734 setSelectedItem(root()->searchForItem(uId.toString(), 735 UIChooserItemSearchFlag_Machine | 736 UIChooserItemSearchFlag_ExactId)); 737 } 738 /* Else make sure at least one item selected: */ 727 739 else 728 { 729 /* Make sure at least one item selected after that: */ 730 if (!firstSelectedItem() && !navigationItems().isEmpty()) 731 { 732 setSelectedItem(navigationItems().first()); 733 emit sigSelectionInvalidated(); 734 } 735 } 740 makeSureAtLeastOneItemSelected(); 736 741 737 742 /* Notify listeners about selection change: */ … … 758 763 if (!strDefinition.isNull()) 759 764 setSelectedItem(strDefinition); 765 /* Else make sure at least one item selected: */ 760 766 else 761 { 762 /* Make sure selected-item present, if possible: */ 763 if (!firstSelectedItem() && !navigationItems().isEmpty()) 764 { 765 setSelectedItem(navigationItems().first()); 766 emit sigSelectionInvalidated(); 767 } 768 /* Make sure current-item present, if possible: */ 769 else if (!currentItem() && firstSelectedItem()) 770 setCurrentItem(firstSelectedItem()); 771 /* Notify about selected-item change: */ 772 emit sigSelectionChanged(); 773 } 767 makeSureAtLeastOneItemSelected(); 774 768 } 775 769 #endif /* VBOX_GUI_WITH_CLOUD_VMS */ … … 1407 1401 /* Load last selected-item (choose first if unable to load): */ 1408 1402 setSelectedItem(gEDataManager->selectorWindowLastItemChosen()); 1409 if (!firstSelectedItem() && !navigationItems().isEmpty()) 1410 { 1411 setSelectedItem(navigationItems().first()); 1412 emit sigSelectionInvalidated(); 1413 } 1403 makeSureAtLeastOneItemSelected(); 1414 1404 } 1415 1405 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
r83925 r83949 135 135 void clearSelectedItems(); 136 136 137 /** Returns a list of selected-items. */ 138 const QList<UIChooserItem*> &selectedItems() const; 139 137 140 /** Adds @a pItem to list of selected. */ 138 141 void addToSelectedItems(UIChooserItem *pItem); … … 142 145 /** Returns first selected-item. */ 143 146 UIChooserItem *firstSelectedItem() const; 144 /** Returns a list of selected-items. */145 const QList<UIChooserItem*> &selectedItems() const;146 147 147 /** Returns first selected machine item. */ 148 148 UIVirtualMachineItem *firstSelectedMachineItem() const; 149 149 /** Returns a list of selected machine items. */ 150 150 QList<UIVirtualMachineItem*> selectedMachineItems() const; 151 152 /** Makes sure at least one item selected. */ 153 void makeSureAtLeastOneItemSelected(); 151 154 152 155 /** Returns whether group item is selected. */
Note:
See TracChangeset
for help on using the changeset viewer.