edit/crop: Set aspect ratio to default on reset

This commit is contained in:
Sophie Herold 2025-01-13 23:14:37 +01:00
parent 2a5ca41991
commit c042f8ed41

View file

@ -32,7 +32,7 @@ use crate::widgets::edit::LpEditCropSelection;
use crate::widgets::{LpEditWindow, LpImage}; use crate::widgets::{LpEditWindow, LpImage};
/// Aspect ratio modes that can be selected /// Aspect ratio modes that can be selected
#[derive(Debug, Clone, Copy, Default, glib::Enum)] #[derive(Debug, Clone, Copy, Default, glib::Enum, glib::Variant)]
#[enum_type(name = "LpAspectRatio")] #[enum_type(name = "LpAspectRatio")]
pub enum LpAspectRatio { pub enum LpAspectRatio {
#[default] #[default]
@ -306,12 +306,20 @@ mod imp {
self.reset_selection(); self.reset_selection();
} }
/// Undo all operations that can be done in this window
fn apply_reset(&self) -> Result<(), EditingError> { fn apply_reset(&self) -> Result<(), EditingError> {
let obj = self.obj(); let obj = self.obj();
self.image.set_operations(None)?; self.image.set_operations(None)?;
obj.edit_window().set_operations(None); obj.edit_window().set_operations(None);
self.reset_selection(); self.reset_selection();
let res = self.obj().activate_action(
"edit-crop.aspect-ratio",
Some(&LpAspectRatio::default().to_variant()),
);
if let Err(err) = res {
log::error!("Failed to call action edit-crop.aspect-ratio: {err}");
}
self.obj().action_set_enabled("edit-crop.reset", false); self.obj().action_set_enabled("edit-crop.reset", false);