Add crop/trim/canvas padding to adjustments, wire all sliders to config
This commit is contained in:
@@ -21,6 +21,15 @@ pub struct JobConfig {
|
||||
// Adjustments
|
||||
pub rotation: u32,
|
||||
pub flip: u32,
|
||||
pub brightness: i32,
|
||||
pub contrast: i32,
|
||||
pub saturation: i32,
|
||||
pub sharpen: bool,
|
||||
pub grayscale: bool,
|
||||
pub sepia: bool,
|
||||
pub crop_aspect_ratio: u32,
|
||||
pub trim_whitespace: bool,
|
||||
pub canvas_padding: u32,
|
||||
// Convert
|
||||
pub convert_enabled: bool,
|
||||
pub convert_format: Option<pixstrip_core::types::ImageFormat>,
|
||||
@@ -142,6 +151,15 @@ fn build_ui(app: &adw::Application) {
|
||||
allow_upscale: false,
|
||||
rotation: 0,
|
||||
flip: 0,
|
||||
brightness: 0,
|
||||
contrast: 0,
|
||||
saturation: 0,
|
||||
sharpen: false,
|
||||
grayscale: false,
|
||||
sepia: false,
|
||||
crop_aspect_ratio: 0,
|
||||
trim_whitespace: false,
|
||||
canvas_padding: 0,
|
||||
convert_enabled: if remember { sess_state.convert_enabled.unwrap_or(false) } else { false },
|
||||
convert_format: None,
|
||||
compress_enabled: if remember { sess_state.compress_enabled.unwrap_or(true) } else { true },
|
||||
@@ -1705,6 +1723,43 @@ fn update_output_summary(ui: &WizardUi) {
|
||||
};
|
||||
ops.push(fl.to_string());
|
||||
}
|
||||
if cfg.brightness != 0 {
|
||||
ops.push(format!("Brightness {:+}", cfg.brightness));
|
||||
}
|
||||
if cfg.contrast != 0 {
|
||||
ops.push(format!("Contrast {:+}", cfg.contrast));
|
||||
}
|
||||
if cfg.saturation != 0 {
|
||||
ops.push(format!("Saturation {:+}", cfg.saturation));
|
||||
}
|
||||
if cfg.sharpen {
|
||||
ops.push("Sharpen".to_string());
|
||||
}
|
||||
if cfg.grayscale {
|
||||
ops.push("Grayscale".to_string());
|
||||
}
|
||||
if cfg.sepia {
|
||||
ops.push("Sepia".to_string());
|
||||
}
|
||||
if cfg.crop_aspect_ratio > 0 {
|
||||
let ratio = match cfg.crop_aspect_ratio {
|
||||
1 => "1:1",
|
||||
2 => "4:3",
|
||||
3 => "3:2",
|
||||
4 => "16:9",
|
||||
5 => "9:16",
|
||||
6 => "3:4",
|
||||
7 => "2:3",
|
||||
_ => "Custom",
|
||||
};
|
||||
ops.push(format!("Crop {}", ratio));
|
||||
}
|
||||
if cfg.trim_whitespace {
|
||||
ops.push("Trim whitespace".to_string());
|
||||
}
|
||||
if cfg.canvas_padding > 0 {
|
||||
ops.push(format!("Padding {}px", cfg.canvas_padding));
|
||||
}
|
||||
|
||||
let summary_text = if ops.is_empty() {
|
||||
"No operations configured".to_string()
|
||||
|
||||
Reference in New Issue
Block a user