diff --git a/settingswidget.cpp b/settingswidget.cpp index 27124d422769236f2d02bc9f0a3d9a0646b26ad8..07ad1455c86f0658e34b88a38a0e7d9be57dbc1d 100644 --- a/settingswidget.cpp +++ b/settingswidget.cpp @@ -778,13 +778,19 @@ void SettingsWidget::setConnections() connect(ui->recordPathButton, &QAbstractButton::clicked, this, &SettingsWidget::openRecordFolderSlot); - connect(ui->recordQualitySlider, &QAbstractSlider::valueChanged, this, &SettingsWidget::slotRecordQualityChanged); + connect(ui->recordQualitySlider, &QAbstractSlider::valueChanged, this, &SettingsWidget::slotRecordQualitySliderValueChanged); + connect(ui->recordQualitySlider, &QAbstractSlider::sliderReleased, this, &SettingsWidget::slotRecordQualitySliderSliderReleased); connect(ui->hardwareAccelCheckBox, &QAbstractButton::clicked, this, &SettingsWidget::slotSetHardwareAccel); } // ************************* General Settings ************************* +QString getRecordQualityString(int value) +{ + return value ? QString::number(static_cast<float>(value) / 100, 'f', 1) + " Mbps" : "Default"; +} + void SettingsWidget::populateGeneralSettings() { QSettings settings("jami.net", "Jami"); @@ -809,7 +815,7 @@ void SettingsWidget::populateGeneralSettings() ui->recordPreviewCheckBox->setChecked(recordPreview); auto recordQuality = LRCInstance::avModel().getRecordQuality(); - ui->recordQualityValueLabel->setText(QString::number(recordQuality / 1000) + " MB/s"); + ui->recordQualityValueLabel->setText(getRecordQualityString(recordQuality)); ui->recordQualitySlider->setValue(recordQuality); if (LRCInstance::avModel().getRecordPath().empty()) { @@ -894,10 +900,16 @@ void SettingsWidget::slotRecordPreviewClicked(bool state) LRCInstance::avModel().setRecordPreview(state); } -void SettingsWidget::slotRecordQualityChanged(int value) +void SettingsWidget::slotRecordQualitySliderValueChanged(int value) +{ + ui->recordQualityValueLabel->setText(getRecordQualityString(value)); +} + +void SettingsWidget::slotRecordQualitySliderSliderReleased() { - ui->recordQualityValueLabel->setText(QString::number(value / 1000) + " MB/s"); - LRCInstance::avModel().setRecordQuality(value); + auto value = ui->recordQualitySlider->value(); + // 0 - 500 -> 0 - 50000 + LRCInstance::avModel().setRecordQuality(value * 100); } // ************************* Audio/Visual Settings ************recordQuality************* diff --git a/settingswidget.h b/settingswidget.h index 36d080c902a5363f21e76389b2879856a3c095fb..709a0e125773d9440e4af0c2d8b11bb80a9133ca 100644 --- a/settingswidget.h +++ b/settingswidget.h @@ -133,7 +133,8 @@ private slots: void openRecordFolderSlot(); void slotAlwaysRecordingClicked(bool state); void slotRecordPreviewClicked(bool state); - void slotRecordQualityChanged(int value); + void slotRecordQualitySliderValueChanged(int value); + void slotRecordQualitySliderSliderReleased(); void slotSetUpdateAutomatic(bool state); void outputDevIndexChangedSlot(int index); void inputdevIndexChangedSlot(int index); diff --git a/settingswidget.ui b/settingswidget.ui index ffb67f2040426710294a4d0e19790c4fa07be7f7..767f7393cb5f7407bc6f4e06371c6c3df28e42c1 100644 --- a/settingswidget.ui +++ b/settingswidget.ui @@ -971,13 +971,13 @@ </size> </property> <property name="maximum"> - <number>50000</number> + <number>500</number> </property> <property name="singleStep"> - <number>10</number> + <number>1</number> </property> <property name="pageStep"> - <number>500</number> + <number>10</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> @@ -989,7 +989,7 @@ <enum>QSlider::TicksBothSides</enum> </property> <property name="tickInterval"> - <number>5000</number> + <number>50</number> </property> </widget> </item>