Fix pipeline order, add selective metadata stripping, rename case/regex
- Move watermark step after compress in processing pipeline to match design doc order (resize, adjustments, convert, compress, metadata, watermark, rename) - Implement selective EXIF metadata stripping for Privacy and Custom modes using little_exif tag filtering (GPS, camera, software, timestamps, copyright categories) - Add case conversion support to rename (none/lower/upper/title) - Add regex find-and-replace on original filenames - Wire case and regex controls in rename step UI to JobConfig - Add regex crate dependency to pixstrip-core
This commit is contained in:
@@ -264,6 +264,9 @@ pub fn build_rename_page(state: &AppState) -> adw::NavigationPage {
|
||||
counter_start: cfg.rename_counter_start,
|
||||
counter_padding: cfg.rename_counter_padding,
|
||||
template: None,
|
||||
case_mode: cfg.rename_case,
|
||||
regex_find: cfg.rename_find.clone(),
|
||||
regex_replace: cfg.rename_replace.clone(),
|
||||
};
|
||||
let result =
|
||||
rename_cfg.apply_simple(name, ext, (i + 1) as u32);
|
||||
@@ -319,12 +322,36 @@ pub fn build_rename_page(state: &AppState) -> adw::NavigationPage {
|
||||
}
|
||||
{
|
||||
let jc = state.job_config.clone();
|
||||
let up = update_preview;
|
||||
let up = update_preview.clone();
|
||||
template_row.connect_changed(move |row| {
|
||||
jc.borrow_mut().rename_template = row.text().to_string();
|
||||
up();
|
||||
});
|
||||
}
|
||||
{
|
||||
let jc = state.job_config.clone();
|
||||
let up = update_preview.clone();
|
||||
case_row.connect_selected_notify(move |row| {
|
||||
jc.borrow_mut().rename_case = row.selected();
|
||||
up();
|
||||
});
|
||||
}
|
||||
{
|
||||
let jc = state.job_config.clone();
|
||||
let up = update_preview.clone();
|
||||
find_row.connect_changed(move |row| {
|
||||
jc.borrow_mut().rename_find = row.text().to_string();
|
||||
up();
|
||||
});
|
||||
}
|
||||
{
|
||||
let jc = state.job_config.clone();
|
||||
let up = update_preview;
|
||||
replace_row.connect_changed(move |row| {
|
||||
jc.borrow_mut().rename_replace = row.text().to_string();
|
||||
up();
|
||||
});
|
||||
}
|
||||
|
||||
scrolled.set_child(Some(&content));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user