From 3dd59c87edbf0bb4c17858b2aa251c8481f5e7f7 Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Tue, 20 Jun 2023 16:42:51 +0200 Subject: [PATCH 1/2] fileModel: Correct changed checks in file monitor Those got accidentally inverted when moving to GFile. Close #199 --- src/file_model.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/file_model.rs b/src/file_model.rs index be6ac7c1..d9889a13 100644 --- a/src/file_model.rs +++ b/src/file_model.rs @@ -273,7 +273,7 @@ impl LpFileModel { if Self::is_image_file(file_a) => { let mut files = self.imp().files.borrow_mut(); - let changed = files.insert(file_a.uri(),file_a.clone()).is_some(); + let changed = files.insert(file_a.uri(),file_a.clone()).is_none(); if changed { Self::sort(&mut files); } @@ -281,11 +281,7 @@ impl LpFileModel { } gio::FileMonitorEvent::Deleted | gio::FileMonitorEvent::MovedOut | gio::FileMonitorEvent::Unmounted => { let mut files = self.imp().files.borrow_mut(); - let changed = files.remove(&file_a.uri()).is_some(); - if changed { - Self::sort(&mut files); - } - changed + files.remove(&file_a.uri()).is_some() } gio::FileMonitorEvent::Renamed => { if let Some(file_b) = file_b { @@ -294,7 +290,7 @@ impl LpFileModel { let mut files = self.imp().files.borrow_mut(); changed |= files.remove(&file_a.uri()).is_some(); if Self::is_image_file(file_b) { - changed |= files.insert(file_b.uri(), file_b.clone()).is_some(); + changed |= files.insert(file_b.uri(), file_b.clone()).is_none(); if changed { Self::sort(&mut files); } -- GitLab From c1422cf72840b21c2034e95494de55e3acea80dc Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Tue, 20 Jun 2023 16:54:38 +0200 Subject: [PATCH 2/2] image: Notify when setting file property This fixes new file names not being shown in HeaderBar after renames. --- src/widgets/image.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/widgets/image.rs b/src/widgets/image.rs index a18a6f7c..c16291dc 100644 --- a/src/widgets/image.rs +++ b/src/widgets/image.rs @@ -951,6 +951,8 @@ impl LpImage { } imp.file_monitor.replace(monitor.ok()); + + self.notify("file"); } /// File changed on drive -- GitLab