From 81a8e32dc2317190d525f3f8554eb2356e395b8a Mon Sep 17 00:00:00 2001 From: yggverse Date: Sun, 15 Dec 2024 17:34:31 +0200 Subject: [PATCH] move `connect_changed` to `entry` constructor --- .../page/content/text/gemini/reader/widget/find.rs | 11 ++--------- .../content/text/gemini/reader/widget/find/entry.rs | 9 +++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find.rs b/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find.rs index 6fec9f9f..6737853b 100644 --- a/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find.rs +++ b/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find.rs @@ -8,7 +8,7 @@ use navigation::Navigation; use tag::Tag; use gtk::{ - prelude::{BoxExt, ButtonExt, CheckButtonExt, EditableExt, EntryExt, TextBufferExt, WidgetExt}, + prelude::{BoxExt, ButtonExt, CheckButtonExt, EditableExt, TextBufferExt, WidgetExt}, Box, Button, Entry, Orientation, TextBuffer, TextIter, TextSearchFlags, TextTag, }; use std::{cell::Cell, rc::Rc}; @@ -59,14 +59,7 @@ impl Find { let match_case = match_case.clone(); let matches = matches.clone(); let text_buffer = text_buffer.clone(); - move |this| { - // toggle entry clear button - if this.text().is_empty() { - this.set_secondary_icon_name(None); - } else { - this.set_secondary_icon_name(Some("edit-clear-symbolic")); - } - + move |_| { // do search let result = find( &text_buffer, diff --git a/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find/entry.rs b/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find/entry.rs index 2d71cacf..478d686a 100644 --- a/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find/entry.rs +++ b/src/app/browser/window/tab/item/page/content/text/gemini/reader/widget/find/entry.rs @@ -24,6 +24,15 @@ pub fn new() -> Entry { _ => todo!(), // unexpected }); + entry.connect_changed(|this| { + // toggle entry clear button + if this.text().is_empty() { + this.set_secondary_icon_name(None); + } else { + this.set_secondary_icon_name(Some("edit-clear-symbolic")); + } + }); + // Done entry }