From e25473ab3bb761fa734edfe180ae95d89124f465 Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Wed, 24 Jun 2026 21:01:04 +0200 Subject: [PATCH] edit_window: Don't show saving overlay after error --- news.d/51.alpha/fixed-editing-overlay-afer-error | 1 + src/widgets/edit_window.rs | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 news.d/51.alpha/fixed-editing-overlay-afer-error diff --git a/news.d/51.alpha/fixed-editing-overlay-afer-error b/news.d/51.alpha/fixed-editing-overlay-afer-error new file mode 100644 index 0000000..cc0ebb9 --- /dev/null +++ b/news.d/51.alpha/fixed-editing-overlay-afer-error @@ -0,0 +1 @@ +Don't keep showing saving overlay after error. !597 diff --git a/src/widgets/edit_window.rs b/src/widgets/edit_window.rs index 72856c1..d89eb11 100644 --- a/src/widgets/edit_window.rs +++ b/src/widgets/edit_window.rs @@ -279,6 +279,7 @@ mod imp { if written { tracing::debug!("Moving image to trash '{}'", original_file.uri()); + self.set_saving_status(Some(gettext("Moving Original to Trash"))); let trash_result = gio::CancellableFuture::new( original_file.trash_future(glib::Priority::DEFAULT), cancellable.clone(), @@ -288,6 +289,7 @@ mod imp { if trash_result.is_err() { // Canceled tracing::debug!("Trashing image canceled"); + self.set_saving_status(None); return Err(()); } else if let Ok(Err(err)) = trash_result { obj.window_show_error( @@ -295,10 +297,12 @@ mod imp { &format!("Failed to move image {current_path:?} to trash and therefore couldn't save image: {err}"), ErrorType::General, ); + self.set_saving_status(None); return Err(()); } tracing::debug!("Moving '{}' to '{}'", tmp_file.uri(), original_file.uri()); + self.set_saving_status(Some(gettext("Finalizing Save Operation"))); let move_result = gio::CancellableFuture::new( tmp_file .move_future( @@ -314,6 +318,7 @@ mod imp { if move_result.is_err() { // Canceled tracing::debug!("Moving image canceled"); + self.set_saving_status(None); return Err(()); } else if let Ok(Err(err)) = move_result { obj.window_show_error( @@ -323,6 +328,7 @@ mod imp { ), ErrorType::General, ); + self.set_saving_status(None); return Err(()); }