feat: adiciona pré-preenchimento de nomes de arquivos em diálogos de salvamento com base no arquivo de vídeo selecionado

This commit is contained in:
2026-02-28 16:07:49 -03:00
parent 74840e70f7
commit edd2786e06
3 changed files with 96 additions and 39 deletions
+17 -3
View File
@@ -264,7 +264,13 @@ impl eframe::App for App {
ui.add_space(8.0);
// ── Seleção de saída ──────────────────────────────────
if let Some(path) = self.output_selector.ui(ui) {
// Passa o stem do vídeo para pré-preencher o nome sugerido
let source_stem: Option<&str> = self
.pending_source
.as_ref()
.and_then(|p| p.as_path().file_stem())
.and_then(|s| s.to_str());
if let Some(path) = self.output_selector.ui(ui, source_stem) {
self.pending_output = Some(path);
if self.pending_source.is_some() {
self.try_build_project();
@@ -308,12 +314,20 @@ impl eframe::App for App {
if let Some(track) =
project.existing_tracks.iter().find(|t| t.id == id).cloned()
{
// Stem do arquivo de vídeo base para nomear o arquivo exportado
let base_stem = project
.source
.path
.as_path()
.file_stem()
.and_then(|s| s.to_str())
.unwrap_or("track");
let maybe_output = match track.kind {
TrackKind::Audio => {
FilePickerAdapter::save_audio(&track.codec)
FilePickerAdapter::save_audio(base_stem, &track.codec)
}
TrackKind::Subtitle => {
FilePickerAdapter::save_subtitle(&track.codec)
FilePickerAdapter::save_subtitle(base_stem, &track.codec)
}
_ => None,
};