- Timestamp:
- Jan 31, 2024 6:40:04 AM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 161375
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityOverviewWidget.cpp
r103120 r103127 238 238 bool operator==(const UIActivityOverviewItem& other) const; 239 239 int columnLength(int iColumnIndex) const; 240 const QUuid &machineId() const; 241 242 240 243 virtual QString machineStateString() const = 0; 241 244 virtual bool isRunning() const = 0; … … 245 248 QString columnData(int iColumnIndex) const; 246 249 247 QUuid m_VMuid;248 QString m_strVMName;249 250 250 251 ULONG m_uCPUGuestLoad; … … 264 265 265 266 protected: 267 268 QUuid m_VMuid; 269 QString m_strVMName; 266 270 267 271 virtual void updateMetricData() = 0; … … 398 402 void setDefaultViewFont(const QFont &font); 399 403 void setDefaultViewFontColor(const QColor &color); 404 void setCloudMachineItems(const QList<UIVirtualMachineItemCloud*> &cloudItems); 400 405 401 406 private slots: … … 850 855 *********************************************************************************************************************************/ 851 856 UIActivityOverviewItem::UIActivityOverviewItem(const QUuid &uid, const QString &strVMName) 852 : m_VMuid(uid) 853 , m_strVMName(strVMName) 854 , m_uCPUGuestLoad(0) 857 : m_uCPUGuestLoad(0) 855 858 , m_uTotalRAM(0) 856 859 , m_uFreeRAM(0) … … 865 868 , m_uDiskWriteTotal(0) 866 869 , m_uDiskReadTotal(0) 870 , m_VMuid(uid) 871 , m_strVMName(strVMName) 867 872 { 868 873 } 869 874 870 875 UIActivityOverviewItem::UIActivityOverviewItem() 871 : m_VMuid(QUuid()) 872 , m_uCPUGuestLoad(0) 876 : m_uCPUGuestLoad(0) 873 877 , m_uTotalRAM(0) 874 878 , m_uUsedRAM(0) … … 882 886 , m_uDiskWriteTotal(0) 883 887 , m_uDiskReadTotal(0) 888 , m_VMuid(QUuid()) 884 889 { 885 890 } … … 904 909 { 905 910 return m_columnData.value(iColumnIndex, QString()).length(); 911 } 912 913 const QUuid &UIActivityOverviewItem::machineId() const 914 { 915 return m_VMuid; 906 916 } 907 917 … … 959 969 void UIActivityOverviewItemCloud::updateColumnData() 960 970 { 971 updateMetricData(); 972 973 //int iDecimalCount = 2; 974 975 m_columnData[VMActivityOverviewColumn_Name] = m_strVMName; 961 976 } 962 977 … … 1259 1274 if (iIndex >= m_itemList.size() || !m_itemList[iIndex]) 1260 1275 return QUuid(); 1261 return m_itemList[iIndex]->m _VMuid;1276 return m_itemList[iIndex]->machineId(); 1262 1277 } 1263 1278 … … 1268 1283 if (!m_itemList[i]) 1269 1284 continue; 1270 if (m_itemList[i]->m _VMuid== uid)1285 if (m_itemList[i]->machineId() == uid) 1271 1286 return i; 1272 1287 } … … 1289 1304 { 1290 1305 m_defaultViewFontColor = color; 1306 } 1307 1308 void UIActivityOverviewModel::setCloudMachineItems(const QList<UIVirtualMachineItemCloud*> &cloudItems) 1309 { 1310 QVector<QUuid> newIds; 1311 foreach (const UIVirtualMachineItemCloud* pItem, cloudItems) 1312 { 1313 if (!pItem) 1314 continue; 1315 QUuid id = pItem->machineId(); 1316 if (id.isNull()) 1317 continue; 1318 newIds << id; 1319 } 1320 1321 /* Remove m_itemList items that are not in @cloudItems: */ 1322 QMutableVectorIterator<UIActivityOverviewItem*> iterator(m_itemList); 1323 while (iterator.hasNext()) 1324 { 1325 UIActivityOverviewItem *pItem = iterator.next(); 1326 if (!pItem->isCloudVM()) 1327 continue; 1328 if (pItem && !newIds.contains(pItem->machineId())) 1329 iterator.remove(); 1330 } 1331 1332 /* Add items that are not in m_itemList: */ 1333 foreach (const UIVirtualMachineItemCloud* pItem, cloudItems) 1334 { 1335 if (!pItem) 1336 continue; 1337 CCloudMachine comMachine = pItem->machine(); 1338 if (!comMachine.isOk()) 1339 continue; 1340 QUuid id = comMachine.GetId(); 1341 /* Linearly search for the vm with th same id. I cannot make QVector::contain work since we store pointers: */ 1342 bool fFound = false; 1343 for (int i = 0; i < m_itemList.size() && !fFound; ++i) 1344 { 1345 if (m_itemList[i] && m_itemList[i]->machineId() == id) 1346 fFound = true; 1347 } 1348 if (!fFound) 1349 m_itemList.append(new UIActivityOverviewItemCloud(id, comMachine.GetName(), comMachine)); 1350 } 1291 1351 } 1292 1352 … … 1390 1450 void UIActivityOverviewModel::sltCloudUpdateTimeout() 1391 1451 { 1452 for (int i = 0; i < m_itemList.size(); ++i) 1453 { 1454 if (!m_itemList[i] && !m_itemList[i]->isCloudVM() && !m_itemList[i]->isRunning()) 1455 continue; 1456 m_itemList[i]->updateColumnData(); 1457 } 1392 1458 } 1393 1459 … … 1600 1666 void UIVMActivityOverviewWidget::setCloudMachineItems(const QList<UIVirtualMachineItemCloud*> &cloudItems) 1601 1667 { 1602 Q_UNUSED(cloudItems); 1668 if (m_pModel) 1669 m_pModel->setCloudMachineItems(cloudItems); 1603 1670 } 1604 1671 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h
r102838 r103127 73 73 /** Returns cached machine state. */ 74 74 KCloudMachineState machineState() const { return m_enmMachineState; } 75 QUuid machineId() const { return m_comCloudMachine.isOk() ? m_comCloudMachine.GetId() : QUuid(); } 75 76 76 77 /** Defines fake cloud item @a enmState. */
Note:
See TracChangeset
for help on using the changeset viewer.