configure_audio: Move combo box index setting to their own functions
Keeps the individual behaviors in their own functions, and cleanly separate. We can also do a little better by converting the relevant IDs within the core to a QString only once, instead of converting every string into a std::string.
This commit is contained in:
		| @@ -36,32 +36,44 @@ ConfigureAudio::ConfigureAudio(QWidget* parent) | |||||||
| ConfigureAudio::~ConfigureAudio() = default; | ConfigureAudio::~ConfigureAudio() = default; | ||||||
|  |  | ||||||
| void ConfigureAudio::setConfiguration() { | void ConfigureAudio::setConfiguration() { | ||||||
|  |     setOutputSinkFromSinkID(); | ||||||
|  |  | ||||||
|  |     // The device list cannot be pre-populated (nor listed) until the output sink is known. | ||||||
|  |     updateAudioDevices(ui->output_sink_combo_box->currentIndex()); | ||||||
|  |  | ||||||
|  |     setAudioDeviceFromDeviceID(); | ||||||
|  |  | ||||||
|  |     ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching); | ||||||
|  |     ui->volume_slider->setValue(Settings::values.volume * ui->volume_slider->maximum()); | ||||||
|  |     setVolumeIndicatorText(ui->volume_slider->sliderPosition()); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void ConfigureAudio::setOutputSinkFromSinkID() { | ||||||
|     int new_sink_index = 0; |     int new_sink_index = 0; | ||||||
|  |  | ||||||
|  |     const QString sink_id = QString::fromStdString(Settings::values.sink_id); | ||||||
|     for (int index = 0; index < ui->output_sink_combo_box->count(); index++) { |     for (int index = 0; index < ui->output_sink_combo_box->count(); index++) { | ||||||
|         if (ui->output_sink_combo_box->itemText(index).toStdString() == Settings::values.sink_id) { |         if (ui->output_sink_combo_box->itemText(index) == sink_id) { | ||||||
|             new_sink_index = index; |             new_sink_index = index; | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     ui->output_sink_combo_box->setCurrentIndex(new_sink_index); |     ui->output_sink_combo_box->setCurrentIndex(new_sink_index); | ||||||
|  | } | ||||||
|  |  | ||||||
|     ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching); | void ConfigureAudio::setAudioDeviceFromDeviceID() { | ||||||
|  |  | ||||||
|     // The device list cannot be pre-populated (nor listed) until the output sink is known. |  | ||||||
|     updateAudioDevices(new_sink_index); |  | ||||||
|  |  | ||||||
|     int new_device_index = -1; |     int new_device_index = -1; | ||||||
|  |  | ||||||
|  |     const QString device_id = QString::fromStdString(Settings::values.audio_device_id); | ||||||
|     for (int index = 0; index < ui->audio_device_combo_box->count(); index++) { |     for (int index = 0; index < ui->audio_device_combo_box->count(); index++) { | ||||||
|         if (ui->audio_device_combo_box->itemText(index).toStdString() == |         if (ui->audio_device_combo_box->itemText(index) == device_id) { | ||||||
|             Settings::values.audio_device_id) { |  | ||||||
|             new_device_index = index; |             new_device_index = index; | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     ui->audio_device_combo_box->setCurrentIndex(new_device_index); |  | ||||||
|  |  | ||||||
|     ui->volume_slider->setValue(Settings::values.volume * ui->volume_slider->maximum()); |     ui->audio_device_combo_box->setCurrentIndex(new_device_index); | ||||||
|     setVolumeIndicatorText(ui->volume_slider->sliderPosition()); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| void ConfigureAudio::setVolumeIndicatorText(int percentage) { | void ConfigureAudio::setVolumeIndicatorText(int percentage) { | ||||||
|   | |||||||
| @@ -26,6 +26,8 @@ public slots: | |||||||
|  |  | ||||||
| private: | private: | ||||||
|     void setConfiguration(); |     void setConfiguration(); | ||||||
|  |     void setOutputSinkFromSinkID(); | ||||||
|  |     void setAudioDeviceFromDeviceID(); | ||||||
|     void setVolumeIndicatorText(int percentage); |     void setVolumeIndicatorText(int percentage); | ||||||
|  |  | ||||||
|     std::unique_ptr<Ui::ConfigureAudio> ui; |     std::unique_ptr<Ui::ConfigureAudio> ui; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Lioncash
					Lioncash