Changeset 84569 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- May 27, 2020 3:15:14 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 138299
- 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
r84567 r84569 85 85 /* Build tree for main root: */ 86 86 buildTreeForMainRoot(); 87 88 87 /* Load last selected-item: */ 89 88 loadLastSelectedItem(); … … 947 946 firstSelectedItem()->parentItem()->node()->sortNodes(); 948 947 949 /* Remember first selected item definition: */950 const QString strDefinition = firstSelectedItem() ? firstSelectedItem()->definition() : QString();951 952 948 /* Rebuild tree for main root: */ 953 buildTreeForMainRoot(); 954 955 /* Restore selection if there was some item before: */ 956 if (!strDefinition.isNull()) 957 setSelectedItem(strDefinition); 958 /* Else make sure at least one item selected: */ 959 else 960 makeSureAtLeastOneItemSelected(); 949 buildTreeForMainRoot(true /* preserve selection */); 961 950 } 962 951 … … 1089 1078 { 1090 1079 /* Rebuild tree for main root: */ 1091 buildTreeForMainRoot(); 1092 1080 buildTreeForMainRoot(false /* preserve selection */); 1093 1081 /* Select newly added item: */ 1094 1082 setSelectedItem(root()->searchForItem(uId.toString(), … … 1112 1100 if (!fRegistered) 1113 1101 { 1114 /* Remember first selected item definition: */1115 const QString strDefinition = firstSelectedItem() ? firstSelectedItem()->definition() : QString();1116 1117 1102 /* Rebuild tree for main root: */ 1118 buildTreeForMainRoot(); 1119 1120 /* Restore selection if there was some item before: */ 1121 if (!strDefinition.isNull()) 1122 setSelectedItem(strDefinition); 1123 /* Else make sure at least one item selected: */ 1124 else 1125 makeSureAtLeastOneItemSelected(); 1103 buildTreeForMainRoot(true /* preserve selection */); 1126 1104 } 1127 1105 /* New VM registered? */ … … 1129 1107 { 1130 1108 /* Rebuild tree for main root: */ 1131 buildTreeForMainRoot(); 1132 1109 buildTreeForMainRoot(false /* preserve selection */); 1133 1110 /* Select newly added item: */ 1134 1111 setSelectedItem(root()->searchForItem(uId.toString(), … … 1147 1124 { 1148 1125 /* Rebuild tree for main root: */ 1149 buildTreeForMainRoot(); 1150 1126 buildTreeForMainRoot(false /* preserve selection */); 1151 1127 /* Select newly added item: */ 1152 1128 setSelectedItem(root()->searchForItem(uId.toString(), … … 1171 1147 UIChooserAbstractModel::sltHandleCloudListMachinesTaskComplete(pTask); 1172 1148 1173 /* Remember first selected item definition: */1174 const QString strDefinition = firstSelectedItem() ? firstSelectedItem()->definition() : QString();1175 1176 1149 /* Rebuild tree for main root: */ 1177 buildTreeForMainRoot(); 1178 1179 /* Restore selection if there was some item before: */ 1180 if (!strDefinition.isNull()) 1181 setSelectedItem(strDefinition); 1182 /* Make sure at least one item selected: */ 1183 if (!currentItem()) 1184 makeSureAtLeastOneItemSelected(); 1150 buildTreeForMainRoot(true /* preserve selection */); 1185 1151 } 1186 1152 … … 1570 1536 } 1571 1537 1572 void UIChooserModel::buildTreeForMainRoot() 1573 { 1538 void UIChooserModel::buildTreeForMainRoot(bool fPreserveSelection /* = false */) 1539 { 1540 /* Remember first selected item if requested: */ 1541 QString strSelectedItemDefinition; 1542 if (fPreserveSelection && firstSelectedItem()) 1543 strSelectedItemDefinition = firstSelectedItem()->definition(); 1544 1574 1545 /* Cleanup previous tree if exists: */ 1575 1546 delete m_pRoot; … … 1585 1556 /* Update tree for main root: */ 1586 1557 updateTreeForMainRoot(); 1558 1559 /* Restore selection if requested: */ 1560 if (fPreserveSelection) 1561 { 1562 setSelectedItem(strSelectedItemDefinition); 1563 makeSureAtLeastOneItemSelected(); 1564 } 1587 1565 } 1588 1566 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
r84567 r84569 361 361 /** @name Children stuff. 362 362 * @{ */ 363 /** Build tree for main root. */364 void buildTreeForMainRoot( );363 /** [Re]builds tree for main root, preserves selection if requested. */ 364 void buildTreeForMainRoot(bool fPreserveSelection = false); 365 365 /** Update tree for main root. */ 366 366 void updateTreeForMainRoot();
Note:
See TracChangeset
for help on using the changeset viewer.