Handle users joining and leaving properly in audio context and gui

Before this change signals when users were joining or leaving
the voice room were not properly handled. A new signal in audio
context is emitted now and gui will rebuild the user list when it
is emitted.
This commit is contained in:
Roland Winklmeier
2015-03-13 20:56:04 +01:00
committed by Klaus Basan
parent a50e45e451
commit 0760a67138
5 changed files with 29 additions and 5 deletions

View File

@@ -49,9 +49,13 @@ namespace BlackCore
m_channel1 = m_voice->createVoiceChannel();
m_channel1->setMyAircraftCallsign(ownCallsign);
connect(m_channel1.data(), &IVoiceChannel::connectionStatusChanged, this, &CContextAudio::ps_connectionStatusChanged);
connect(m_channel1.data(), &IVoiceChannel::userJoinedRoom, this, &CContextAudio::ps_userJoinedRoom);
connect(m_channel1.data(), &IVoiceChannel::userLeftRoom, this, &CContextAudio::ps_userLeftRoom);
m_channel2 = m_voice->createVoiceChannel();
m_channel2->setMyAircraftCallsign(ownCallsign);
connect(m_channel2.data(), &IVoiceChannel::connectionStatusChanged, this, &CContextAudio::ps_connectionStatusChanged);
connect(m_channel1.data(), &IVoiceChannel::userJoinedRoom, this, &CContextAudio::ps_userJoinedRoom);
connect(m_channel1.data(), &IVoiceChannel::userLeftRoom, this, &CContextAudio::ps_userLeftRoom);
m_voiceInputDevice = m_voice->createInputDevice();
m_voiceOutputDevice = m_voice->createOutputDevice();
@@ -546,6 +550,16 @@ namespace BlackCore
}
}
void CContextAudio::ps_userJoinedRoom(const CCallsign & /**callsign**/)
{
emit this->changedVoiceRoomMembers();
}
void CContextAudio::ps_userLeftRoom(const CCallsign & /**callsign**/)
{
emit this->changedVoiceRoomMembers();
}
QSharedPointer<IVoiceChannel> CContextAudio::getVoiceChannelBy(const CVoiceRoom &voiceRoom)
{
QSharedPointer<IVoiceChannel> voiceChannel;