mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-29 20:55:42 +08:00
refs #355, fixed voice room override
* missing connection for url/checkbox 2 * missing updates when values were changed
This commit is contained in:
@@ -77,10 +77,10 @@ namespace BlackCore
|
|||||||
void CContextOwnAircraft::resolveVoiceRooms()
|
void CContextOwnAircraft::resolveVoiceRooms()
|
||||||
{
|
{
|
||||||
CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
||||||
if (this->m_voiceRoom1UrlOverride.isEmpty() && this->m_voiceRoom2UrlOverride.isEmpty() && !this->m_automaticVoiceRoomResolution) return;
|
if (this->m_voiceRoom1UrlOverride.isEmpty() && this->m_voiceRoom2UrlOverride.isEmpty() && !this->m_automaticVoiceRoomResolution) { return; }
|
||||||
if (!this->getIContextNetwork()) return; // no chance to resolve rooms
|
if (!this->getIContextNetwork()) { return; } // no chance to resolve rooms
|
||||||
if (!this->getIContextAudio()) return; // no place to set rooms
|
if (!this->getIContextAudio()) { return; } // no place to set rooms
|
||||||
if (!this->m_automaticVoiceRoomResolution) return; // not responsible
|
if (!this->m_automaticVoiceRoomResolution) { return; } // not responsible
|
||||||
|
|
||||||
// requires correct frequencies set
|
// requires correct frequencies set
|
||||||
// but local network uses exactly this object here, so if frequencies are set here,
|
// but local network uses exactly this object here, so if frequencies are set here,
|
||||||
|
|||||||
@@ -10,13 +10,13 @@
|
|||||||
#include "voiceroomscomponent.h"
|
#include "voiceroomscomponent.h"
|
||||||
#include "ui_voiceroomscomponent.h"
|
#include "ui_voiceroomscomponent.h"
|
||||||
#include "blackcore/context_audio.h"
|
#include "blackcore/context_audio.h"
|
||||||
|
#include "blackcore/context_ownaircraft.h"
|
||||||
#include "blackmisc/notificationsounds.h"
|
#include "blackmisc/notificationsounds.h"
|
||||||
|
|
||||||
using namespace BlackCore;
|
using namespace BlackCore;
|
||||||
using namespace BlackSound;
|
using namespace BlackSound;
|
||||||
using namespace BlackMisc::Audio;
|
using namespace BlackMisc::Audio;
|
||||||
|
|
||||||
|
|
||||||
namespace BlackGui
|
namespace BlackGui
|
||||||
{
|
{
|
||||||
namespace Components
|
namespace Components
|
||||||
@@ -27,9 +27,11 @@ namespace BlackGui
|
|||||||
ui(new Ui::CVoiceRoomsComponent)
|
ui(new Ui::CVoiceRoomsComponent)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
this->setVoiceRoomUrlFields();
|
this->setVoiceRoomUrlFieldsReadOnlyState();
|
||||||
connect(ui->cb_CockpitVoiceRoom1Override, &QCheckBox::toggled, this, &CVoiceRoomsComponent::ps_voiceRoomOverrideChanged);
|
connect(ui->cb_CockpitVoiceRoom1Override, &QCheckBox::toggled, this, &CVoiceRoomsComponent::ps_onVoiceRoomOverrideChanged);
|
||||||
connect(ui->le_CockpitVoiceRoomCom1, &QLineEdit::returnPressed, this, &CVoiceRoomsComponent::ps_voiceRoomUrlsReturnPressed);
|
connect(ui->cb_CockpitVoiceRoom2Override, &QCheckBox::toggled, this, &CVoiceRoomsComponent::ps_onVoiceRoomOverrideChanged);
|
||||||
|
connect(ui->le_CockpitVoiceRoomCom1, &QLineEdit::returnPressed, this, &CVoiceRoomsComponent::ps_onVoiceRoomUrlsReturnPressed);
|
||||||
|
connect(ui->le_CockpitVoiceRoomCom2, &QLineEdit::returnPressed, this, &CVoiceRoomsComponent::ps_onVoiceRoomUrlsReturnPressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
CVoiceRoomsComponent::~CVoiceRoomsComponent()
|
CVoiceRoomsComponent::~CVoiceRoomsComponent()
|
||||||
@@ -40,18 +42,24 @@ namespace BlackGui
|
|||||||
this->connect(this->getIContextAudio(), &IContextAudio::changedVoiceRooms, this, &CVoiceRoomsComponent::ps_updateAudioVoiceRoomsFromContext);
|
this->connect(this->getIContextAudio(), &IContextAudio::changedVoiceRooms, this, &CVoiceRoomsComponent::ps_updateAudioVoiceRoomsFromContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVoiceRoomsComponent::ps_voiceRoomOverrideChanged(bool checked)
|
void CVoiceRoomsComponent::ps_onVoiceRoomOverrideChanged(bool checked)
|
||||||
{
|
{
|
||||||
Q_UNUSED(checked);
|
Q_UNUSED(checked);
|
||||||
this->setVoiceRoomUrlFields();
|
this->setVoiceRoomUrlFieldsReadOnlyState();
|
||||||
|
this->ps_onVoiceRoomUrlsReturnPressed(); // use this function to update voicerooms
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVoiceRoomsComponent::ps_voiceRoomUrlsReturnPressed()
|
void CVoiceRoomsComponent::ps_onVoiceRoomUrlsReturnPressed()
|
||||||
{
|
{
|
||||||
|
Q_ASSERT(this->getIContextOwnAircraft()); // voice room resolution is part of own aircraft
|
||||||
|
QString url1;
|
||||||
|
QString url2;
|
||||||
|
if (this->ui->cb_CockpitVoiceRoom1Override->isChecked()) { url1 = this->ui->le_CockpitVoiceRoomCom1->text().trimmed(); }
|
||||||
|
if (this->ui->cb_CockpitVoiceRoom2Override->isChecked()) { url2 = this->ui->le_CockpitVoiceRoomCom2->text().trimmed(); }
|
||||||
|
this->getIContextOwnAircraft()->setAudioVoiceRoomOverrideUrls(url1, url2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVoiceRoomsComponent::setVoiceRoomUrlFields()
|
void CVoiceRoomsComponent::setVoiceRoomUrlFieldsReadOnlyState()
|
||||||
{
|
{
|
||||||
bool c1 = ui->cb_CockpitVoiceRoom1Override->isChecked();
|
bool c1 = ui->cb_CockpitVoiceRoom1Override->isChecked();
|
||||||
bool c2 = ui->cb_CockpitVoiceRoom2Override->isChecked();
|
bool c2 = ui->cb_CockpitVoiceRoom2Override->isChecked();
|
||||||
@@ -109,7 +117,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CVoiceRoomsComponent::updateVoiceRoomMembers()
|
void CVoiceRoomsComponent::updateVoiceRoomMembers()
|
||||||
{
|
{
|
||||||
if (!this->getIContextAudio()) return;
|
if (!this->getIContextAudio()) { return; }
|
||||||
if (!this->ui->le_CockpitVoiceRoomCom1->text().trimmed().isEmpty())
|
if (!this->ui->le_CockpitVoiceRoomCom1->text().trimmed().isEmpty())
|
||||||
{
|
{
|
||||||
this->ui->tvp_CockpitVoiceRoom1->updateContainer(this->getIContextAudio()->getCom1RoomUsers());
|
this->ui->tvp_CockpitVoiceRoom1->updateContainer(this->getIContextAudio()->getCom1RoomUsers());
|
||||||
|
|||||||
@@ -43,17 +43,17 @@ namespace BlackGui
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
//! Override for voice was changed
|
//! Override for voice was changed
|
||||||
void ps_voiceRoomOverrideChanged(bool checked);
|
void ps_onVoiceRoomOverrideChanged(bool checked);
|
||||||
|
|
||||||
//! Return pressed
|
//! Return pressed
|
||||||
void ps_voiceRoomUrlsReturnPressed();
|
void ps_onVoiceRoomUrlsReturnPressed();
|
||||||
|
|
||||||
//! Set the voice room url fields (checkboxes, line edits)
|
//! Set the voice room url fields (checkboxes, line edits)
|
||||||
void ps_updateAudioVoiceRoomsFromContext(const BlackMisc::Audio::CVoiceRoomList &selectedVoiceRooms, bool connected);
|
void ps_updateAudioVoiceRoomsFromContext(const BlackMisc::Audio::CVoiceRoomList &selectedVoiceRooms, bool connected);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//! Set the URL fields
|
//! Set the URL fields
|
||||||
void setVoiceRoomUrlFields();
|
void setVoiceRoomUrlFieldsReadOnlyState();
|
||||||
|
|
||||||
//! Update voice room views
|
//! Update voice room views
|
||||||
void updateVoiceRoomMembers();
|
void updateVoiceRoomMembers();
|
||||||
|
|||||||
Reference in New Issue
Block a user