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:
+17
-3
@@ -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,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user