From bc9aff50681bba371ffa1d860caa3fd92f3e3033 Mon Sep 17 00:00:00 2001 From: FineFindus <79987-FineFindus@users.noreply.gitlab.gnome.org> Date: Mon, 26 Jun 2023 11:59:17 +0000 Subject: [PATCH] refactor: Use `is_some_and` --- src/decoder/tiling.rs | 21 ++++++++++++--------- src/image_metadata/gps.rs | 6 ++---- src/image_metadata/mod.rs | 10 ++++++---- src/widgets/image_view.rs | 9 +++++---- src/window.rs | 20 ++++++++------------ 5 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/decoder/tiling.rs b/src/decoder/tiling.rs index 511adc9..9b8c883 100644 --- a/src/decoder/tiling.rs +++ b/src/decoder/tiling.rs @@ -653,15 +653,18 @@ impl FrameBufferExt for ArcSwap { } fn frame_timeout(&self, elapsed: Duration) -> bool { - if let Some(next_frame) = self.load().images.get(1) { - if elapsed >= next_frame.delay { - self.rcu(|tiling_store| { - let mut new_store = (**tiling_store).clone(); - new_store.images.pop_front(); - Arc::new(new_store) - }); - return true; - } + if self + .load() + .images + .get(1) + .is_some_and(|next_frame| elapsed >= next_frame.delay) + { + self.rcu(|tiling_store| { + let mut new_store = (**tiling_store).clone(); + new_store.images.pop_front(); + Arc::new(new_store) + }); + return true; } false diff --git a/src/image_metadata/gps.rs b/src/image_metadata/gps.rs index 7e24e39..c0e95ec 100644 --- a/src/image_metadata/gps.rs +++ b/src/image_metadata/gps.rs @@ -81,10 +81,8 @@ impl GPSCoord { } } - if let Some(min_) = min { - if deg.denom > 1 && min_.num == 0 { - min = None; - } + if min.is_some_and(|min_| deg.denom > 1 && min_.num == 0) { + min = None; } Some(( diff --git a/src/image_metadata/mod.rs b/src/image_metadata/mod.rs index 52f9898..d259789 100644 --- a/src/image_metadata/mod.rs +++ b/src/image_metadata/mod.rs @@ -142,10 +142,12 @@ impl ImageMetadata { } pub fn f_number(&self) -> Option { - if let Some(exif) = &self.exif { - if let Some(field) = exif.get_field(exif::Tag::FNumber, exif::In::PRIMARY) { - return Some(format!("ƒ\u{2215}{}", field.display_value())); - } + if let Some(field) = self + .exif + .as_ref() + .and_then(|exif| exif.get_field(exif::Tag::FNumber, exif::In::PRIMARY)) + { + return Some(format!("ƒ\u{2215}{}", field.display_value())); } None diff --git a/src/widgets/image_view.rs b/src/widgets/image_view.rs index bcecd13..a060df0 100644 --- a/src/widgets/image_view.rs +++ b/src/widgets/image_view.rs @@ -345,10 +345,11 @@ impl LpImageView { fn navigate_to_file(&self, new_file: &gio::File) { let sliding_view = self.sliding_view(); - if let Some(current_file) = self.current_file() { - if new_file.equal(¤t_file) { - return; - } + if self + .current_file() + .is_some_and(|current_file| current_file.equal(new_file)) + { + return; } let Some(new_index) = self.model().index_of(new_file) else { diff --git a/src/window.rs b/src/window.rs index eeaa308..b8ea6ed 100644 --- a/src/window.rs +++ b/src/window.rs @@ -699,13 +699,11 @@ impl LpWindow { .current_page() .map(|page| page.image()); - if let Some(image) = image { - if image.image_size() > (0, 0) { - log::debug!("Showing window because image size is ready"); - // this let's the window determine the default size from LpImage's natural size - self.set_default_size(-1, -1); - self.present(); - } + if image.is_some_and(|img| img.image_size() > (0, 0)) { + log::debug!("Showing window because image size is ready"); + // this let's the window determine the default size from LpImage's natural size + self.set_default_size(-1, -1); + self.present(); } } @@ -716,11 +714,9 @@ impl LpWindow { let current_page = self.imp().image_view.current_page(); - if let Some(page) = current_page { - if page.image().error().is_some() { - log::debug!("Showing window because loading image failed"); - self.present(); - } + if current_page.is_some_and(|page| page.image().error().is_some()) { + log::debug!("Showing window because loading image failed"); + self.present(); } }