Changeset 103139 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Jan 31, 2024 11:13:23 AM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 161387
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityOverviewWidget.cpp
r103138 r103139 347 347 348 348 void sltTimeout(); 349 349 void sltMetricNameListingComplete(QVector<QString> metricNameList); 350 void sltMetricDataReceived(KMetricType enmMetricType, 351 const QVector<QString> &data, const QVector<QString> &timeStamps); 350 352 private: 353 354 void getMetricList(); 351 355 QTimer *m_pTimer; 352 356 CCloudMachine m_comCloudMachine; 353 357 KCloudMachineState m_enmMachineState; 358 QVector<KMetricType> m_availableMetricTypes; 354 359 }; 355 360 … … 954 959 , m_comCloudMachine(comCloudMachine) 955 960 { 956 m_enmMachineState = comCloudMachine.GetState();961 updateMachineState(); 957 962 m_pTimer = new QTimer(this); 958 963 if (m_pTimer) … … 961 966 m_pTimer->setInterval(60 * 1000); 962 967 } 963 if (isRunning() && m_pTimer)964 m_pTimer->start();965 968 } 966 969 … … 1011 1014 void UIActivityOverviewItemCloud::sltTimeout() 1012 1015 { 1016 int iDataSize = 1; 1017 foreach (const KMetricType &enmMetricType, m_availableMetricTypes) 1018 { 1019 UIProgressTaskReadCloudMachineMetricData *pTask = new UIProgressTaskReadCloudMachineMetricData(this, m_comCloudMachine, 1020 enmMetricType, iDataSize); 1021 connect(pTask, &UIProgressTaskReadCloudMachineMetricData::sigMetricDataReceived, 1022 this, &UIActivityOverviewItemCloud::sltMetricDataReceived); 1023 pTask->start(); 1024 } 1025 } 1026 1027 void UIActivityOverviewItemCloud::sltMetricDataReceived(KMetricType enmMetricType, 1028 const QVector<QString> &data, const QVector<QString> &timeStamps) 1029 { 1030 Q_UNUSED(enmMetricType); 1031 Q_UNUSED(data); 1032 Q_UNUSED(timeStamps); 1033 // if (!data.isEmpty()) 1034 // printf("%d %lld %s\n", enmMetricType, data.size(), qPrintable(data[0])); 1035 sender()->deleteLater(); 1013 1036 } 1014 1037 … … 1021 1044 return; 1022 1045 m_enmMachineState = enmState; 1046 if (isRunning()) 1047 getMetricList(); 1048 else 1049 { 1050 if (m_pTimer) 1051 m_pTimer->stop(); 1052 } 1053 } 1054 1055 void UIActivityOverviewItemCloud::getMetricList() 1056 { 1057 if (!isRunning()) 1058 return; 1059 UIProgressTaskReadCloudMachineMetricList *pReadListProgressTask = 1060 new UIProgressTaskReadCloudMachineMetricList(this, m_comCloudMachine); 1061 AssertPtrReturnVoid(pReadListProgressTask); 1062 connect(pReadListProgressTask, &UIProgressTaskReadCloudMachineMetricList::sigMetricListReceived, 1063 this, &UIActivityOverviewItemCloud::sltMetricNameListingComplete); 1064 pReadListProgressTask->start(); 1065 } 1066 1067 void UIActivityOverviewItemCloud::sltMetricNameListingComplete(QVector<QString> metricNameList) 1068 { 1069 AssertReturnVoid(m_pTimer); 1070 m_availableMetricTypes.clear(); 1071 foreach (const QString &strName, metricNameList) 1072 m_availableMetricTypes << gpConverter->fromInternalString<KMetricType>(strName); 1073 1074 if (!m_availableMetricTypes.isEmpty()) 1075 { 1076 /* Dont wait 60 secs: */ 1077 sltTimeout(); 1078 m_pTimer->start(); 1079 } 1080 else 1081 m_pTimer->stop(); 1082 1083 if (sender()) 1084 sender()->deleteLater(); 1085 1023 1086 } 1024 1087
Note:
See TracChangeset
for help on using the changeset viewer.