- Timestamp:
- Apr 21, 2020 3:16:32 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 137428
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserHandlerMouse.cpp
r83672 r83896 136 136 /* Make clicked item current one: */ 137 137 model()->setCurrentItem(pClickedItem); 138 model()->makeSureSomeItemIsSelected();139 138 } 140 139 /* Was no modifiers pressed? */ -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
r83892 r83896 184 184 } 185 185 186 /* Make sure selection list is never empty if current-item present: */ 187 if (m_selectedItems.isEmpty() && currentItem() && navigationItems().contains(currentItem())) 188 m_selectedItems << currentItem(); 189 186 190 /* Is there something really changed? */ 187 191 if (oldCurrentItems == m_selectedItems) … … 240 244 else if (strItemType == "m") 241 245 { 242 /* Check if machine-item with passed descriptor (name or id) registered: */ 243 CMachine comMachine = uiCommon().virtualBox().FindMachine(strItemDescriptor); 244 if (!comMachine.isNull()) 245 { 246 /* Search for machine-item with required name: */ 247 pItem = root()->searchForItem(comMachine.GetName(), 248 UIChooserItemSearchFlag_Machine | 249 UIChooserItemSearchFlag_ExactName); 250 } 246 /* Search for machine-item with required ID: */ 247 pItem = root()->searchForItem(strItemDescriptor, 248 UIChooserItemSearchFlag_Machine | 249 UIChooserItemSearchFlag_ExactId); 251 250 } 252 251 … … 267 266 void UIChooserModel::addToSelectedItems(UIChooserItem *pItem) 268 267 { 268 /* Prepare updated list: */ 269 QList<UIChooserItem*> list(selectedItems()); 270 list << pItem; 269 271 /* Call for wrapper above: */ 270 setSelectedItems( QList<UIChooserItem*>(m_selectedItems) << pItem);272 setSelectedItems(list); 271 273 } 272 274 273 275 void UIChooserModel::removeFromSelectedItems(UIChooserItem *pItem) 274 276 { 275 /* Prepare filtered list: */276 QList<UIChooserItem*> list( m_selectedItems);277 /* Prepare updated list: */ 278 QList<UIChooserItem*> list(selectedItems()); 277 279 list.removeAll(pItem); 278 280 /* Call for wrapper above: */ … … 283 285 { 284 286 /* Return first of selected-items, if any: */ 285 return selectedItems(). isEmpty() ? 0 : selectedItems().first();287 return selectedItems().value(0); 286 288 } 287 289 … … 408 410 } 409 411 410 void UIChooserModel::makeSureSomeItemIsSelected()411 {412 /* Make sure selection list is never empty if at413 * least one item (for example 'current') present: */414 if (!firstSelectedItem() && currentItem())415 setSelectedItem(currentItem());416 }417 418 412 void UIChooserModel::setCurrentItem(UIChooserItem *pItem) 419 413 { … … 442 436 if (view()->window()->isVisible() && pItem) 443 437 root()->toGroupItem()->makeSureItemIsVisible(pItem); 438 439 /* Make sure selection list is never empty if current-item present: */ 440 if (!firstSelectedItem() && m_pCurrentItem) 441 setSelectedItem(m_pCurrentItem); 444 442 } 445 443 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
r83709 r83896 167 167 /** Finds closest non-selected-item. */ 168 168 UIChooserItem *findClosestUnselectedItem() const; 169 170 /** Makes sure some item is selected. */171 void makeSureSomeItemIsSelected();172 169 173 170 /** Defines current @a pItem. */
Note:
See TracChangeset
for help on using the changeset viewer.