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 }