From 2c68c46d981ae978ede3f905c8be2cee63bbdf5a Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Thu, 28 Mar 2024 09:32:43 +0100 Subject: [PATCH] refactor: Remove COM sync button from cockpit page This setting is simulator specific and can already be adjusted from the simulator plugin settings. To avoid complexity, it should only be adjustable from one location. As this setting doesn't need to be adjusted often inflight, it should be fine to not have it directly accessible. This also fixes a previous issue, where a change of the setting within the simulator plugin settings did not propagated to the cockpit page. --- src/blackcore/context/contextsimulator.cpp | 14 ------- src/blackcore/context/contextsimulator.h | 6 --- .../audiodevicevolumesetupcomponent.cpp | 37 +++++-------------- .../audiodevicevolumesetupcomponent.h | 5 ++- .../audiodevicevolumesetupcomponent.ui | 11 ------ 5 files changed, 13 insertions(+), 60 deletions(-) diff --git a/src/blackcore/context/contextsimulator.cpp b/src/blackcore/context/contextsimulator.cpp index 9a7323fca..7f7f47d3e 100644 --- a/src/blackcore/context/contextsimulator.cpp +++ b/src/blackcore/context/contextsimulator.cpp @@ -54,20 +54,6 @@ namespace BlackCore::Context return this->getSimulatorPluginInfo().getSimulatorInfo(); } - bool IContextSimulator::updateCurrentSettings(const Simulation::Settings::CSimulatorSettings &settings) - { - const CSimulatorInfo sim = this->getSimulatorInfo(); - if (!sim.isSingleSimulator()) { return false; } - return this->setSimulatorSettings(settings, sim); - } - - bool IContextSimulator::updateCurrentSettingComIntegration(bool comIntegration) - { - Simulation::Settings::CSimulatorSettings settings = this->getSimulatorSettings(); - settings.setComIntegrated(comIntegration); - return this->updateCurrentSettings(settings); - } - bool IContextSimulator::isSimulatorAvailable() const { return CBuildConfig::isCompiledWithFlightSimulatorSupport() && !this->getSimulatorPluginInfo().isUnspecified(); diff --git a/src/blackcore/context/contextsimulator.h b/src/blackcore/context/contextsimulator.h index b2730f91e..e8c156062 100644 --- a/src/blackcore/context/contextsimulator.h +++ b/src/blackcore/context/contextsimulator.h @@ -86,12 +86,6 @@ namespace BlackCore::Context //! Current simulator BlackMisc::Simulation::CSimulatorInfo getSimulatorInfo() const; - //! Update current settings - bool updateCurrentSettings(const BlackMisc::Simulation::Settings::CSimulatorSettings &settings); - - //! Update current setting for COM integration (aka "synced") - bool updateCurrentSettingComIntegration(bool comIntegration); - signals: //! Simulator combined status //! \sa ISimulator::SimulatorStatus diff --git a/src/blackgui/components/audiodevicevolumesetupcomponent.cpp b/src/blackgui/components/audiodevicevolumesetupcomponent.cpp index df009fdab..a7a80bab6 100644 --- a/src/blackgui/components/audiodevicevolumesetupcomponent.cpp +++ b/src/blackgui/components/audiodevicevolumesetupcomponent.cpp @@ -54,7 +54,6 @@ namespace BlackGui::Components connect(ui->cb_2Tx, &QCheckBox::toggled, this, &CAudioDeviceVolumeSetupComponent::onRxTxChanged, Qt::QueuedConnection); connect(ui->cb_1Rec, &QCheckBox::toggled, this, &CAudioDeviceVolumeSetupComponent::onRxTxChanged, Qt::QueuedConnection); connect(ui->cb_2Rec, &QCheckBox::toggled, this, &CAudioDeviceVolumeSetupComponent::onRxTxChanged, Qt::QueuedConnection); - connect(ui->cb_IntegratedWithCom, &QCheckBox::toggled, this, &CAudioDeviceVolumeSetupComponent::onIntegratedFlagChanged, Qt::QueuedConnection); ui->hs_VolumeIn->setMaximum(CSettings::InMax); ui->hs_VolumeIn->setMinimum(CSettings::InMin); @@ -111,6 +110,12 @@ namespace BlackGui::Components c = connect(ui->cb_DisableAudioEffects, &QCheckBox::toggled, this, &CAudioDeviceVolumeSetupComponent::onDisableAudioEffectsToggled); Q_ASSERT(c); + if (hasSimulator()) + { + c = connect(sGui->getIContextSimulator(), &IContextSimulator::simulatorSettingsChanged, this, &CAudioDeviceVolumeSetupComponent::simulatorSettingsChanged); + Q_ASSERT(c); + } + if (audio) { this->setAudioRunsWhere(); @@ -268,7 +273,6 @@ namespace BlackGui::Components void CAudioDeviceVolumeSetupComponent::setTransmitReceiveInUi(bool tx1, bool rec1, bool tx2, bool rec2, bool integrated) { this->setRxTxCheckboxes(rec1, tx1, rec2, tx2); - ui->cb_IntegratedWithCom->setChecked(integrated); this->setCheckBoxesReadOnly(integrated); this->setVolumeSlidersReadOnly(integrated); } @@ -436,14 +440,11 @@ namespace BlackGui::Components ui->le_Info->setPlaceholderText(ai); } - bool CAudioDeviceVolumeSetupComponent::updateIntegrateWithComFlagUi() + void CAudioDeviceVolumeSetupComponent::simulatorSettingsChanged() { - const bool integrate = this->isComIntegrated(); - if (ui->cb_IntegratedWithCom->isChecked() == integrate) { return integrate; } - ui->cb_IntegratedWithCom->setChecked(integrate); - this->setCheckBoxesReadOnly(integrate); - this->setVolumeSlidersReadOnly(integrate); - return integrate; + const bool integrated = this->isComIntegrated(); + setCheckBoxesReadOnly(integrated); + setVolumeSlidersReadOnly(integrated); } bool CAudioDeviceVolumeSetupComponent::isComIntegrated() const @@ -452,11 +453,6 @@ namespace BlackGui::Components const Simulation::Settings::CSimulatorSettings settings = sGui->getIContextSimulator()->getSimulatorSettings(); const bool integrate = settings.isComIntegrated(); return integrate; - - /* - if (!this->hasAudio()) { return false; } - const bool integrated = sGui->getCContextAudioBase()->isComUnitIntegrated(); - */ } void CAudioDeviceVolumeSetupComponent::onRxTxChanged(bool checked) @@ -482,19 +478,6 @@ namespace BlackGui::Components }); } - void CAudioDeviceVolumeSetupComponent::onIntegratedFlagChanged(bool checked) - { - if (!this->hasAudio()) { return; } - this->setCheckBoxesReadOnly(checked); - this->setVolumeSlidersReadOnly(checked); - - if (!this->hasSimulator()) { return; } - if (!sGui->getIContextSimulator()->isSimulatorAvailable()) { return; } - - const bool s = sGui->getIContextSimulator()->updateCurrentSettingComIntegration(checked); - Q_UNUSED(s) - } - void CAudioDeviceVolumeSetupComponent::setRxTxCheckboxes(bool rx1, bool tx1, bool rx2, bool tx2) { if (ui->cb_1Tx->isChecked() != tx1) { ui->cb_1Tx->setChecked(tx1); } diff --git a/src/blackgui/components/audiodevicevolumesetupcomponent.h b/src/blackgui/components/audiodevicevolumesetupcomponent.h index 805be04d8..f845b9391 100644 --- a/src/blackgui/components/audiodevicevolumesetupcomponent.h +++ b/src/blackgui/components/audiodevicevolumesetupcomponent.h @@ -121,10 +121,8 @@ namespace BlackGui::Components void setAudioRunsWhere(); - bool updateIntegrateWithComFlagUi(); bool isComIntegrated() const; - void onIntegratedFlagChanged(bool checked); void onRxTxChanged(bool checked); void setRxTxCheckboxes(bool rx1, bool tx1, bool rx2, bool tx2); @@ -156,6 +154,9 @@ namespace BlackGui::Components BlackMisc::Audio::CAudioDeviceInfoList m_cbDevices; //!< devices to be displayed in the checkbox BlackMisc::CDigestSignal m_volumeSliderChanged { this, &CAudioDeviceVolumeSetupComponent::saveVolumes, 1000, 10 }; BlackMisc::CSetting m_audioSettings { this, &CAudioDeviceVolumeSetupComponent::reloadSettings }; + + private slots: + void simulatorSettingsChanged(); }; } // namespace diff --git a/src/blackgui/components/audiodevicevolumesetupcomponent.ui b/src/blackgui/components/audiodevicevolumesetupcomponent.ui index b628d4587..2ab3f8aed 100644 --- a/src/blackgui/components/audiodevicevolumesetupcomponent.ui +++ b/src/blackgui/components/audiodevicevolumesetupcomponent.ui @@ -246,16 +246,6 @@ - - - - integrated with sim. cockpit - - - sync. - - - @@ -413,7 +403,6 @@ cb_1Tx cb_2Rec cb_2Tx - cb_IntegratedWithCom cb_SetupAudioInputDevice tb_RefreshInDevice cb_SetupAudioOutputDevice