[AFV] Do not show audio LED on if audio is disabled

This commit is contained in:
Klaus Basan
2020-01-10 01:26:21 +01:00
parent 8c5fe89f6c
commit c88b05a734
2 changed files with 13 additions and 9 deletions

View File

@@ -78,9 +78,9 @@ namespace BlackGui
ui->led_DBus->setOn(sGui->getIContextApplication()->isUsingImplementingObject());
}
ui->led_Audio->setOn(CInfoBarStatusComponent::isAudioAvailableAndNotMuted());
if (sGui->getCContextAudioBase())
{
ui->led_Audio->setOn(!sGui->getCContextAudioBase()->isMuted());
connect(sGui->getCContextAudioBase(), &CContextAudioBase::changedMute, this, &CInfoBarStatusComponent::onMuteChanged);
// PTT as received on audio
@@ -228,6 +228,7 @@ namespace BlackGui
const QList<QAction *> actions = menuAudio.actions();
if (selectedItem == actions.at(0))
{
// toggle MUTED
sGui->getCContextAudioBase()->setMute(!sGui->getCContextAudioBase()->isMuted());
}
else if (actions.size() > 1 && selectedItem == actions.at(1))
@@ -323,14 +324,7 @@ namespace BlackGui
}
// audio context can be empty depending on which side it is called
if (sGui->getCContextAudioBase())
{
ui->led_Audio->setOn(!sGui->getCContextAudioBase()->isMuted());
}
else
{
ui->led_Audio->setOn(false);
}
ui->led_Audio->setOn(CInfoBarStatusComponent::isAudioAvailableAndNotMuted());
}
void CInfoBarStatusComponent::updateSpacing()
@@ -340,5 +334,12 @@ namespace BlackGui
const int s = (w >= 400) ? 6 : 2;
this->setSpacing(s);
}
bool CInfoBarStatusComponent::isAudioAvailableAndNotMuted()
{
if (!sGui || !sGui->getCContextAudioBase() || sGui->isShuttingDown()) { return false; }
if (!sGui->getCContextAudioBase()->isAudioStarted()) { return false; }
return !sGui->getCContextAudioBase()->isMuted();
}
} // namespace
} // namespace

View File

@@ -67,6 +67,9 @@ namespace BlackGui
BlackMisc::CDigestSignal m_dsResize { this, &CInfoBarStatusComponent::adjustTextSize, 1000, 50 };
//! Audio available and NOT muted
static bool isAudioAvailableAndNotMuted();
//! Init the LEDs
void initLeds();