feat: atualiza terminologia de "carrinho" para "fila" na interface de lote e ajusta comentários

This commit is contained in:
2026-03-01 00:37:56 -03:00
parent 3e38c51e3a
commit c7031cbdce
2 changed files with 30 additions and 13 deletions
+20 -4
View File
@@ -410,8 +410,12 @@ impl eframe::App for App {
{
match crate::infrastructure::persistence::load_session() {
Ok(data) => {
let probe = FfprobeGateway;
// Restaura projeto único
if let Some(project) = data.single_project {
if let Some(mut project) = data.single_project {
// Re-executa ffprobe para garantir que existing_tracks
// está atualizado independentemente do que foi salvo.
let _ = LoadMediaInfo::execute(&mut project, &probe);
self.pending_source =
Some(project.source.path.clone());
self.pending_output =
@@ -421,12 +425,20 @@ impl eframe::App for App {
self.project = Some(project);
}
// Restaura itens do lote (estado resetado para Idle)
// Re-executa ffprobe em cada projeto para popular
// existing_tracks que podem estar vazios na sessão salva.
if !data.batch_projects.is_empty() {
use crate::ui::components::batch_panel::BatchItem;
self.batch_items = data
.batch_projects
.into_iter()
.map(BatchItem::new)
.map(|mut project| {
let _ = LoadMediaInfo::execute(
&mut project,
&probe,
);
BatchItem::new(project)
})
.collect();
}
let single_ok = self.project.is_some();
@@ -568,10 +580,14 @@ impl eframe::App for App {
let events = self.batch_panel.ui(ui, &self.batch_items, is_processing);
for event in events {
match event {
BatchPanelEvent::AddItem(project) => {
BatchPanelEvent::AddItem(mut project) => {
let probe = FfprobeGateway;
let _ = LoadMediaInfo::execute(&mut project, &probe);
self.batch_items.push(BatchItem::new(project));
}
BatchPanelEvent::EditItem(idx, project) => {
BatchPanelEvent::EditItem(idx, mut project) => {
let probe = FfprobeGateway;
let _ = LoadMediaInfo::execute(&mut project, &probe);
if let Some(item) = self.batch_items.get_mut(idx) {
item.project = project;
item.state = ExecutionState::Idle;