diff --git a/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.cpp b/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.cpp index b131eacfe..75bdb0512 100644 --- a/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.cpp +++ b/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.cpp @@ -57,13 +57,14 @@ namespace BlackSimPlugin connect(ui->editor_Com, &CCockpitComForm::changedCockpitValues, this, &CSimulatorEmulatedMonitorDialog::changeComFromUi, Qt::QueuedConnection); connect(ui->editor_Com, &CCockpitComForm::changedSelcal, this, &CSimulatorEmulatedMonitorDialog::changeSelcalFromUi, Qt::QueuedConnection); - connect(ui->pb_ResetStatistics, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::resetStatistics); - connect(ui->pb_InterpolatorStopLog, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); + connect(ui->pb_ResetStatistics, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::resetStatistics); + connect(ui->pb_InterpolatorStopLog, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); connect(ui->pb_InterpolatorWriteLog, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); connect(ui->pb_InterpolatorClearLog, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); connect(ui->pb_InterpolatorShowLogs, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); connect(ui->pb_InterpolatorStartLog, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); - connect(ui->pb_InterpolatorFetch, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); + connect(ui->pb_InterpolatorFetch, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::interpolatorLogButton); + connect(ui->pb_EmitAddedFailed, &QPushButton::clicked, this, &CSimulatorEmulatedMonitorDialog::emitSignal); ui->led_Receiving->setToolTips("receiving", "idle"); ui->led_Receiving->setShape(CLedWidget::Rounded); @@ -278,5 +279,19 @@ namespace BlackSimPlugin ui->pb_InterpolatorStopLog->setEnabled(enable); ui->pb_InterpolatorWriteLog->setEnabled(enable); } + + void CSimulatorEmulatedMonitorDialog::emitSignal() + { + if (!m_simulator) { return; } + + const CCallsign cs = ui->comp_CallsignCompleter->getCallsign(); + const QObject *sender = QObject::sender(); + if (sender == ui->pb_EmitAddedFailed && cs.isValid()) + { + const CSimulatedAircraft aircraft = m_simulator->getAircraftInRangeForCallsign(cs); + const CStatusMessage msg(this, CStatusMessage::SeverityError, "Simulated driver driver failed for " + cs.asString()); + emit m_simulator->physicallyAddingRemoteModelFailed(aircraft, true, ui->cb_Failover->isChecked(), msg); + } + } } // ns } // ns diff --git a/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.h b/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.h index ce0feab85..3b4f7a190 100644 --- a/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.h +++ b/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.h @@ -105,6 +105,9 @@ namespace BlackSimPlugin //! Enable/disable the interpolation log buttons void enableInterpolationLogButtons(bool enable); + //! Emit a simulator signal + void emitSignal(); + QScopedPointer ui; CSimulatorEmulated *m_simulator = nullptr; QTimer m_uiUpdateTimer; diff --git a/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.ui b/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.ui index 0a34294c7..b36a91641 100644 --- a/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.ui +++ b/src/plugins/simulator/emulated/simulatoremulatedmonitordialog.ui @@ -251,6 +251,73 @@ + + + + Signals + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 125 + 0 + + + + + + + + failover + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + emit + + + + + + + + +