diff --git a/src/mumble/MainWindow.cpp b/src/mumble/MainWindow.cpp index a31bd8fa020..6c9ab026323 100644 --- a/src/mumble/MainWindow.cpp +++ b/src/mumble/MainWindow.cpp @@ -355,6 +355,7 @@ void MainWindow::setupGui() { qstiIcon->setContextMenu(qmTray); updateTrayIcon(); + updateTransmitModeIcons(); #ifdef USE_COCOA setWindowOpacity(1.0f); @@ -500,6 +501,29 @@ void MainWindow::updateTrayIcon() { } } +void MainWindow::updateTransmitModeIcons() { + + switch (g.s.atTransmit) + { + case Settings::Continous: + qaSetTransmitModeContinous->setChecked(true); + qaSetTransmitModePushToTalk->setChecked(false); + qaSetTransmitModeVAD->setChecked(false); + return; + case Settings::VAD: + qaSetTransmitModeContinous->setChecked(false); + qaSetTransmitModePushToTalk->setChecked(false); + qaSetTransmitModeVAD->setChecked(true); + return; + case Settings::PushToTalk: + qaSetTransmitModeContinous->setChecked(false); + qaSetTransmitModePushToTalk->setChecked(true); + qaSetTransmitModeVAD->setChecked(false); + return; + } + +} + Channel *MainWindow::getContextMenuChannel() { if (cContextChannel) return cContextChannel.data(); @@ -1000,6 +1024,30 @@ void MainWindow::on_qaSelfRegister_triggered() { g.sh->registerUser(p->uiSession); } +void MainWindow::on_qaSetTransmitModeContinous_triggered() { + g.s.atTransmit = Settings::Continous; + + g.l->log(Log::Information, tr("Transmit Mode set to Continuous")); + + updateTransmitModeIcons(); +} + +void MainWindow::on_qaSetTransmitModePushToTalk_triggered() { + g.s.atTransmit = Settings::PushToTalk; + + g.l->log(Log::Information, tr("Transmit Mode set to Push to Talk")); + + updateTransmitModeIcons(); +} + +void MainWindow::on_qaSetTransmitModeVAD_triggered() { + g.s.atTransmit = Settings::VAD; + + g.l->log(Log::Information, tr("Transmit Mode set to Voice Activity")); + + updateTransmitModeIcons(); +} + void MainWindow::on_qmServer_aboutToShow() { qmServer->clear(); qmServer->addAction(qaServerConnect); @@ -2362,6 +2410,8 @@ void MainWindow::on_gsCycleTransmitMode_triggered(bool down, QVariant scdata) g.l->log(Log::Information, tr("Cycled Transmit Mode to %1").arg(qsNewMode)); } + + updateTransmitModeIcons(); } void MainWindow::whisperReleased(QVariant scdata) { diff --git a/src/mumble/MainWindow.h b/src/mumble/MainWindow.h index 5c01d55d934..0704f2473fb 100644 --- a/src/mumble/MainWindow.h +++ b/src/mumble/MainWindow.h @@ -130,6 +130,7 @@ class MainWindow : public QMainWindow, public MessageHandler, public Ui::MainWin void setOnTop(bool top); void setShowDockTitleBars(bool doShow); void updateTrayIcon(); + void updateTransmitModeIcons(); QPair openImageFile(); static const QString defaultStyleSheet; @@ -184,6 +185,9 @@ class MainWindow : public QMainWindow, public MessageHandler, public Ui::MainWin void on_qmSelf_aboutToShow(); void on_qaSelfComment_triggered(); void on_qaSelfRegister_triggered(); + void on_qaSetTransmitModeContinous_triggered(); + void on_qaSetTransmitModePushToTalk_triggered(); + void on_qaSetTransmitModeVAD_triggered(); void qmUser_aboutToShow(); void on_qaUserCommentReset_triggered(); void on_qaUserCommentView_triggered(); diff --git a/src/mumble/MainWindow.ui b/src/mumble/MainWindow.ui index 43ce05c9de8..8211d35ca70 100644 --- a/src/mumble/MainWindow.ui +++ b/src/mumble/MainWindow.ui @@ -182,6 +182,10 @@ + + + + @@ -826,6 +830,57 @@ false + + + true + + + C + + + &Continuous + + + Set Transmit Mode to Continuous + + + false + + + + + true + + + VA + + + &Voice Activity + + + Set Transmit Mode to Voice Activity + + + false + + + + + true + + + PTT + + + &Push to Talk + + + Set Transmit Mode to Push to Talk + + + false + + R&egister