diff --git a/src/blackgui/components/internalscomponent.cpp b/src/blackgui/components/internalscomponent.cpp index 2c827977d..3e30cce6b 100644 --- a/src/blackgui/components/internalscomponent.cpp +++ b/src/blackgui/components/internalscomponent.cpp @@ -72,11 +72,11 @@ namespace BlackGui connect(ui->pb_SendAircraftPartsJson, &QPushButton::released, this, &CInternalsComponent::sendAircraftParts); connect(ui->pb_CurrentParts, &QPushButton::released, this, &CInternalsComponent::setCurrentParts); - connect(ui->cb_DebugContextAudio, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); + connect(ui->cb_DebugContextAudio, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); connect(ui->cb_DebugContextApplication, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); - connect(ui->cb_DebugContextNetwork, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); + connect(ui->cb_DebugContextNetwork, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); connect(ui->cb_DebugContextOwnAircraft, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); - connect(ui->cb_DebugContextSimulator, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); + connect(ui->cb_DebugContextSimulator, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug); connect(ui->pb_SendTextMessageDirectly, &QPushButton::released, this, &CInternalsComponent::sendTextMessage, Qt::QueuedConnection); connect(ui->pb_SendTextMessageDeferred, &QPushButton::released, this, &CInternalsComponent::sendTextMessage, Qt::QueuedConnection); @@ -85,10 +85,14 @@ namespace BlackGui connect(ui->le_StatusMessage, &QLineEdit::returnPressed, this, &CInternalsComponent::logStatusMessage); connect(ui->pb_LatestInterpolationLog, &QPushButton::released, this, &CInternalsComponent::showLogFiles); - connect(ui->pb_LatestPartsLog, &QPushButton::released, this, &CInternalsComponent::showLogFiles); - connect(ui->pb_RequestFromNetwork, &QPushButton::released, this, &CInternalsComponent::requestPartsFromNetwork); - connect(ui->pb_DisplayLog, &QPushButton::released, this, &CInternalsComponent::displayLogInSimulator); - connect(ui->pb_SendAtis, &QPushButton::released, this, &CInternalsComponent::sendAtis); + connect(ui->pb_LatestPartsLog, &QPushButton::released, this, &CInternalsComponent::showLogFiles); + connect(ui->pb_RequestFromNetwork, &QPushButton::released, this, &CInternalsComponent::requestPartsFromNetwork); + connect(ui->pb_DisplayLog, &QPushButton::released, this, &CInternalsComponent::displayLogInSimulator); + connect(ui->pb_SendAtis, &QPushButton::released, this, &CInternalsComponent::sendAtis); + + connect(ui->pb_NetworkUpdateAndReset, &QPushButton::released, this, &CInternalsComponent::networkStatistics); + connect(ui->pb_NetworkUpdate, &QPushButton::released, this, &CInternalsComponent::networkStatistics); + connect(ui->cb_NetworkStatistics, &QCheckBox::stateChanged, this, &CInternalsComponent::onNetworkStatisticsToggled); connect(ui->comp_RemoteAircraftSelector, &CRemoteAircraftSelector::changedCallsign, this, &CInternalsComponent::selectorChanged); @@ -354,5 +358,20 @@ namespace BlackGui sGui->enableCrashDumpUpload(checked); } } + + void CInternalsComponent::networkStatistics() + { + if (!sGui || sGui->isShuttingDown() || !sGui->getIContextNetwork()) { return; } + const bool reset = (QObject::sender() == ui->pb_NetworkUpdateAndReset); + const QString statistics = sGui->getIContextNetwork()->getNetworkStatistics(reset, "\n"); + ui->pte_NetworkCalls->setPlainText(statistics); + } + + void CInternalsComponent::onNetworkStatisticsToggled(bool checked) + { + if (!sGui || sGui->isShuttingDown() || !sGui->getIContextNetwork()) { return; } + const bool on = sGui->getIContextNetwork()->setNetworkStatisticsEnable(checked); + CLogMessage(this).info(u"Network statistics is %1") << boolToOnOff(on); + } } // namespace } // namespace diff --git a/src/blackgui/components/internalscomponent.h b/src/blackgui/components/internalscomponent.h index 5a1f3c877..4c1f4867a 100644 --- a/src/blackgui/components/internalscomponent.h +++ b/src/blackgui/components/internalscomponent.h @@ -81,6 +81,12 @@ namespace BlackGui //! Checkbox toggled void onCrashDumpUploadToggled(bool checked); + //! Show network statistics + void networkStatistics(); + + //! Enable/disable statistics + void onNetworkStatisticsToggled(bool checked); + QScopedPointer ui; }; } // namespace diff --git a/src/blackgui/components/internalscomponent.ui b/src/blackgui/components/internalscomponent.ui index b47fe346f..56c484c53 100644 --- a/src/blackgui/components/internalscomponent.ui +++ b/src/blackgui/components/internalscomponent.ui @@ -324,7 +324,7 @@ - + Qt::Vertical @@ -343,13 +343,6 @@ Statistics / Logs - - - - show - - - @@ -364,10 +357,10 @@ - - + + - Latest interpolation log + show @@ -384,7 +377,14 @@ - + + + + Latest interpolation log + + + + Qt::Vertical @@ -397,6 +397,30 @@ + + + + + + + update and reset + + + + + + + update + + + + + + + network statistics + + + @@ -705,6 +729,7 @@ + tw_Internals le_StatusMessage tb_LogStatusMessage rb_StatusMessageInfo @@ -728,14 +753,17 @@ pb_SimulateCrash pb_LatestInterpolationLog pb_LatestPartsLog + pte_NetworkCalls + cb_NetworkStatistics + pb_NetworkUpdate + pb_NetworkUpdateAndReset pb_DisplayLog pb_RequestFromNetwork tb_History - cb_AircraftPartsIncremental - pb_CurrentParts - pb_SendAircraftPartsJson pb_SendAircraftPartsGui - tw_Internals + pb_CurrentParts + cb_AircraftPartsIncremental + pb_SendAircraftPartsJson