mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	dumping_dialog: Add a line edit for the options
So that users can just paste a set of parameters they found elsewhere.
This commit is contained in:
		
							parent
							
								
									0a4be71913
								
							
						
					
					
						commit
						c38202bd30
					
				
					 3 changed files with 72 additions and 41 deletions
				
			
		|  | @ -21,33 +21,33 @@ DumpingDialog::DumpingDialog(QWidget* parent) | |||
|         accept(); | ||||
|     }); | ||||
|     connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &DumpingDialog::reject); | ||||
|     connect(ui->formatOptionsButton, &QPushButton::clicked, [this] { | ||||
|     connect(ui->formatOptionsButton, &QToolButton::clicked, [this] { | ||||
|         OpenOptionsDialog(formats.at(ui->formatComboBox->currentData().toUInt()).options, | ||||
|                           format_options); | ||||
|                           ui->formatOptionsLineEdit); | ||||
|     }); | ||||
|     connect(ui->videoEncoderOptionsButton, &QPushButton::clicked, [this] { | ||||
|     connect(ui->videoEncoderOptionsButton, &QToolButton::clicked, [this] { | ||||
|         OpenOptionsDialog( | ||||
|             video_encoders.at(ui->videoEncoderComboBox->currentData().toUInt()).options, | ||||
|             video_encoder_options); | ||||
|             ui->videoEncoderOptionsLineEdit); | ||||
|     }); | ||||
|     connect(ui->audioEncoderOptionsButton, &QPushButton::clicked, [this] { | ||||
|     connect(ui->audioEncoderOptionsButton, &QToolButton::clicked, [this] { | ||||
|         OpenOptionsDialog( | ||||
|             audio_encoders.at(ui->audioEncoderComboBox->currentData().toUInt()).options, | ||||
|             audio_encoder_options); | ||||
|             ui->audioEncoderOptionsLineEdit); | ||||
|     }); | ||||
| 
 | ||||
|     SetConfiguration(); | ||||
| 
 | ||||
|     connect(ui->formatComboBox, qOverload<int>(&QComboBox::currentIndexChanged), [this] { | ||||
|         ui->pathLineEdit->setText(QString{}); | ||||
|         format_options.clear(); | ||||
|         ui->formatOptionsLineEdit->clear(); | ||||
|         PopulateEncoders(); | ||||
|     }); | ||||
| 
 | ||||
|     connect(ui->videoEncoderComboBox, qOverload<int>(&QComboBox::currentIndexChanged), | ||||
|             [this] { video_encoder_options.clear(); }); | ||||
|             [this] { ui->videoEncoderOptionsLineEdit->clear(); }); | ||||
|     connect(ui->audioEncoderComboBox, qOverload<int>(&QComboBox::currentIndexChanged), | ||||
|             [this] { audio_encoder_options.clear(); }); | ||||
|             [this] { ui->audioEncoderOptionsLineEdit->clear(); }); | ||||
| } | ||||
| 
 | ||||
| DumpingDialog::~DumpingDialog() = default; | ||||
|  | @ -174,21 +174,23 @@ void DumpingDialog::OnToolButtonClicked() { | |||
| } | ||||
| 
 | ||||
| void DumpingDialog::OpenOptionsDialog(const std::vector<VideoDumper::OptionInfo>& options, | ||||
|                                       std::string& current_value) { | ||||
|     OptionsDialog dialog(this, options, current_value); | ||||
|                                       QLineEdit* line_edit) { | ||||
|     OptionsDialog dialog(this, options, line_edit->text().toStdString()); | ||||
|     if (dialog.exec() != QDialog::DialogCode::Accepted) { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     current_value = dialog.GetCurrentValue(); | ||||
|     line_edit->setText(QString::fromStdString(dialog.GetCurrentValue())); | ||||
| } | ||||
| 
 | ||||
| void DumpingDialog::SetConfiguration() { | ||||
|     Populate(); | ||||
| 
 | ||||
|     format_options = Settings::values.format_options; | ||||
|     video_encoder_options = Settings::values.video_encoder_options; | ||||
|     audio_encoder_options = Settings::values.audio_encoder_options; | ||||
|     ui->formatOptionsLineEdit->setText(QString::fromStdString(Settings::values.format_options)); | ||||
|     ui->videoEncoderOptionsLineEdit->setText( | ||||
|         QString::fromStdString(Settings::values.video_encoder_options)); | ||||
|     ui->audioEncoderOptionsLineEdit->setText( | ||||
|         QString::fromStdString(Settings::values.audio_encoder_options)); | ||||
|     last_path = UISettings::values.video_dumping_path; | ||||
|     ui->videoBitrateSpinBox->setValue(static_cast<int>(Settings::values.video_bitrate)); | ||||
|     ui->audioBitrateSpinBox->setValue(static_cast<int>(Settings::values.audio_bitrate)); | ||||
|  | @ -196,14 +198,14 @@ void DumpingDialog::SetConfiguration() { | |||
| 
 | ||||
| void DumpingDialog::ApplyConfiguration() { | ||||
|     Settings::values.output_format = formats.at(ui->formatComboBox->currentData().toUInt()).name; | ||||
|     Settings::values.format_options = format_options; | ||||
|     Settings::values.format_options = ui->formatOptionsLineEdit->text().toStdString(); | ||||
|     Settings::values.video_encoder = | ||||
|         video_encoders.at(ui->videoEncoderComboBox->currentData().toUInt()).name; | ||||
|     Settings::values.video_encoder_options = video_encoder_options; | ||||
|     Settings::values.video_encoder_options = ui->videoEncoderOptionsLineEdit->text().toStdString(); | ||||
|     Settings::values.video_bitrate = ui->videoBitrateSpinBox->value(); | ||||
|     Settings::values.audio_encoder = | ||||
|         audio_encoders.at(ui->audioEncoderComboBox->currentData().toUInt()).name; | ||||
|     Settings::values.audio_encoder_options = audio_encoder_options; | ||||
|     Settings::values.audio_encoder_options = ui->audioEncoderOptionsLineEdit->text().toStdString(); | ||||
|     Settings::values.audio_bitrate = ui->audioBitrateSpinBox->value(); | ||||
|     UISettings::values.video_dumping_path = last_path; | ||||
|     Settings::Apply(); | ||||
|  |  | |||
|  | @ -10,6 +10,8 @@ namespace Ui { | |||
| class DumpingDialog; | ||||
| } | ||||
| 
 | ||||
| class QLineEdit; | ||||
| 
 | ||||
| class DumpingDialog : public QDialog { | ||||
|     Q_OBJECT | ||||
| 
 | ||||
|  | @ -26,12 +28,9 @@ private: | |||
|     void SetConfiguration(); | ||||
|     void OnToolButtonClicked(); | ||||
|     void OpenOptionsDialog(const std::vector<VideoDumper::OptionInfo>& options, | ||||
|                            std::string& current_value); | ||||
|                            QLineEdit* line_edit); | ||||
| 
 | ||||
|     std::unique_ptr<Ui::DumpingDialog> ui; | ||||
|     std::string format_options; | ||||
|     std::string video_encoder_options; | ||||
|     std::string audio_encoder_options; | ||||
| 
 | ||||
|     QString last_path; | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
|     <x>0</x> | ||||
|     <y>0</y> | ||||
|     <width>600</width> | ||||
|     <height>360</height> | ||||
|     <height>420</height> | ||||
|    </rect> | ||||
|   </property> | ||||
|   <property name="windowTitle"> | ||||
|  | @ -30,24 +30,34 @@ | |||
|       <item row="0" column="1"> | ||||
|        <widget class="QComboBox" name="formatComboBox"/> | ||||
|       </item> | ||||
|       <item row="0" column="2"> | ||||
|        <widget class="QPushButton" name="formatOptionsButton"> | ||||
|       <item row="1" column="0"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>Options...</string> | ||||
|          <string>Options:</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="0"> | ||||
|       <item row="1" column="1"> | ||||
|        <widget class="QLineEdit" name="formatOptionsLineEdit"/> | ||||
|       </item> | ||||
|       <item row="1" column="2"> | ||||
|        <widget class="QToolButton" name="formatOptionsButton"> | ||||
|         <property name="text"> | ||||
|          <string>...</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="2" column="0"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>Path:</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="1"> | ||||
|       <item row="2" column="1"> | ||||
|        <widget class="QLineEdit" name="pathLineEdit"/> | ||||
|       </item> | ||||
|       <item row="1" column="2"> | ||||
|       <item row="2" column="2"> | ||||
|        <widget class="QToolButton" name="pathExplore"> | ||||
|         <property name="text"> | ||||
|          <string>...</string> | ||||
|  | @ -80,21 +90,31 @@ | |||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="0" column="2"> | ||||
|        <widget class="QPushButton" name="videoEncoderOptionsButton"> | ||||
|       <item row="1" column="0"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>Options...</string> | ||||
|          <string>Options:</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="0"> | ||||
|       <item row="1" column="1"> | ||||
|        <widget class="QLineEdit" name="videoEncoderOptionsLineEdit"/> | ||||
|       </item> | ||||
|       <item row="1" column="2"> | ||||
|        <widget class="QToolButton" name="videoEncoderOptionsButton"> | ||||
|         <property name="text"> | ||||
|          <string>...</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="2" column="0"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>Bitrate:</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="1"> | ||||
|       <item row="2" column="1"> | ||||
|        <widget class="QSpinBox" name="videoBitrateSpinBox"> | ||||
|         <property name="maximum"> | ||||
|          <number>10000000</number> | ||||
|  | @ -104,7 +124,7 @@ | |||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="2"> | ||||
|       <item row="2" column="2"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>bps</string> | ||||
|  | @ -137,21 +157,31 @@ | |||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="0" column="2"> | ||||
|        <widget class="QPushButton" name="audioEncoderOptionsButton"> | ||||
|       <item row="1" column="0"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>Options...</string> | ||||
|          <string>Options:</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="0"> | ||||
|       <item row="1" column="1"> | ||||
|        <widget class="QLineEdit" name="audioEncoderOptionsLineEdit"/> | ||||
|       </item> | ||||
|       <item row="1" column="2"> | ||||
|        <widget class="QToolButton" name="audioEncoderOptionsButton"> | ||||
|         <property name="text"> | ||||
|          <string>...</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="2" column="0"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>Bitrate:</string> | ||||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="1"> | ||||
|       <item row="2" column="1"> | ||||
|        <widget class="QSpinBox" name="audioBitrateSpinBox"> | ||||
|         <property name="maximum"> | ||||
|          <number>1000000</number> | ||||
|  | @ -161,7 +191,7 @@ | |||
|         </property> | ||||
|        </widget> | ||||
|       </item> | ||||
|       <item row="1" column="2"> | ||||
|       <item row="2" column="2"> | ||||
|        <widget class="QLabel"> | ||||
|         <property name="text"> | ||||
|          <string>bps</string> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue