exportdialog: fixed UI issue that allowed "sidecar" files on direct subtitle exports

This commit is contained in:
itsmattkc
2023-02-06 17:27:27 -08:00
parent aa6b77f800
commit c322bb6463
3 changed files with 15 additions and 4 deletions
+1 -1
View File
@@ -610,7 +610,7 @@ bool FFmpegEncoder::InitializeStream(AVMediaType type, AVStream** stream_ptr, AV
}
if (encoder->type != type) {
SetError(tr("Retrieved unexpected codec type %1 for codec %2").arg(QString::number(encoder->type), codec));
SetError(tr("Retrieved unexpected codec type %1 for codec %2").arg(QString::number(encoder->type), QString::number(codec)));
return false;
}
+1
View File
@@ -632,6 +632,7 @@ void ExportDialog::SetDefaults()
audio_tab_->sample_format_combobox()->SetAttemptToRestoreFormat(false);
audio_tab_->channel_layout_combobox()->SetChannelLayout(ap.channel_layout());
subtitles_enabled_->setChecked(SequenceHasSubtitles());
subtitle_tab_->SetSidecarFormat(ExportFormat::kFormatSRT);
}
EncodingParams ExportDialog::GenerateParams() const
+13 -3
View File
@@ -24,7 +24,7 @@ ExportSubtitlesTab::ExportSubtitlesTab(QWidget *parent) :
layout->addWidget(sidecar_format_label_, row, 0);
sidecar_format_combobox_ = new ExportFormatComboBox(ExportFormatComboBox::kShowSubtitlesOnly);
sidecar_format_combobox_->setVisible(false);
sidecar_format_combobox_->setVisible(true);
layout->addWidget(sidecar_format_combobox_, row, 1);
row++;
@@ -42,10 +42,20 @@ ExportSubtitlesTab::ExportSubtitlesTab(QWidget *parent) :
int ExportSubtitlesTab::SetFormat(ExportFormat::Format format)
{
auto vcodecs = ExportFormat::GetVideoCodecs(format);
auto acodecs = ExportFormat::GetAudioCodecs(format);
auto scodecs = ExportFormat::GetSubtitleCodecs(format);
sidecar_checkbox_->setChecked(scodecs.empty());
sidecar_checkbox_->setEnabled(!scodecs.empty());
if (!scodecs.empty() && vcodecs.empty() && acodecs.empty()) {
// If format supports ONLY scodecs, default this to off and disable it
sidecar_checkbox_->setChecked(false);
sidecar_checkbox_->setEnabled(false);
} else {
// If format does not support scodecs, default this to checked and disable it
sidecar_checkbox_->setChecked(scodecs.empty());
sidecar_checkbox_->setEnabled(!scodecs.empty());
}
scodecs = ExportFormat::GetSubtitleCodecs(sidecar_format_combobox_->GetFormat());