diff options
Diffstat (limited to 'pica-client/dialogs')
| -rw-r--r-- | pica-client/dialogs/settingsdialog.cpp | 10 | ||||
| -rw-r--r-- | pica-client/dialogs/settingsdialog.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/pica-client/dialogs/settingsdialog.cpp b/pica-client/dialogs/settingsdialog.cpp index a319f12..e1faf8d 100644 --- a/pica-client/dialogs/settingsdialog.cpp +++ b/pica-client/dialogs/settingsdialog.cpp @@ -201,6 +201,13 @@ SettingsDialog::SettingsDialog(QWidget *parent) : "are on speakers. Has no effect where the operating system " "already does it.")); + cbAutoCaptureGain = new QCheckBox(tr("Automatic microphone gain"), this); + cbAutoCaptureGain->setToolTip(tr("Turns the microphone's own recording level down during a " + "call if it is loud enough to distort, and puts it back " + "afterwards. A microphone set too loud clips, and clipping " + "cannot be repaired later - it also stops echo cancellation " + "working.")); + btRingTest = new QPushButton(tr("Test ring 🔔"), this); connect(btRingTest, SIGNAL(clicked()), this, SLOT(toggleRingTest())); @@ -218,6 +225,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) : audiodevlayout->addWidget(lbAudioPlaybackDev); audiodevlayout->addWidget(audioPlaybackDev); audiodevlayout->addWidget(cbEchoCancel); + audiodevlayout->addWidget(cbAutoCaptureGain); audiodevlayout->addWidget(btAudioTest); audiodevlayout->addWidget(audioTestStatus); audiodevlayout->addWidget(lbAudioRingDev); @@ -1054,6 +1062,7 @@ void SettingsDialog::loadSettings() audioPlaybackDev->setCurrentIndex(audioPlaybackDevItem); cbEchoCancel->setChecked(st.loadValue("audio.echo_cancel", 1).toBool()); + cbAutoCaptureGain->setChecked(st.loadValue("audio.auto_capture_gain", 1).toBool()); QString audioRingDevVal = st.loadValue("audio.ring_device", "default").toString(); int audioRingDevItem = audioRingDev->findData(audioRingDevVal); @@ -1108,6 +1117,7 @@ void SettingsDialog::storeSettings() st.storeValue("audio.playback_device", audioPlaybackDev->itemData(audioPlaybackDev->currentIndex()).toString()); st.storeValue("audio.ring_device", audioRingDev->itemData(audioRingDev->currentIndex()).toString()); st.storeValue("audio.echo_cancel", cbEchoCancel->isChecked() ? "1" : "0"); + st.storeValue("audio.auto_capture_gain", cbAutoCaptureGain->isChecked() ? "1" : "0"); if (audioDriver) { diff --git a/pica-client/dialogs/settingsdialog.h b/pica-client/dialogs/settingsdialog.h index 424d43f..b879a74 100644 --- a/pica-client/dialogs/settingsdialog.h +++ b/pica-client/dialogs/settingsdialog.h @@ -81,6 +81,7 @@ private: // Whether to run our own acoustic echo cancellation. Ignored when the // platform provides one - see AudioDevice::PlatformDriverName(). QCheckBox *cbEchoCancel; + QCheckBox *cbAutoCaptureGain; QComboBox *videoDev; QPushButton *videoDevRefresh; |
