From 6be5b84b24cfda6065cffdc268156d5b79ca16ed Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Tue, 21 Dec 2021 18:45:57 -0500 Subject: [PATCH] small fixes --- examples/dock/dock_item/dock_item.ui | 4 +--- examples/dock/dock_item/imp.rs | 2 +- examples/dock/dock_item/mod.rs | 8 +++++++- examples/dock/main.rs | 4 ++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/examples/dock/dock_item/dock_item.ui b/examples/dock/dock_item/dock_item.ui index 7dfa41b3..2876e9c7 100644 --- a/examples/dock/dock_item/dock_item.ui +++ b/examples/dock/dock_item/dock_item.ui @@ -11,9 +11,7 @@ - - horizontal - 4 + true center diff --git a/examples/dock/dock_item/imp.rs b/examples/dock/dock_item/imp.rs index 1d6f1c3f..e3a21286 100644 --- a/examples/dock/dock_item/imp.rs +++ b/examples/dock/dock_item/imp.rs @@ -13,7 +13,7 @@ pub struct DockItem { #[template_child] pub image: TemplateChild, #[template_child] - pub dots: TemplateChild, + pub dots: TemplateChild, pub drag_controller: OnceCell, } diff --git a/examples/dock/dock_item/mod.rs b/examples/dock/dock_item/mod.rs index ff98ccb2..605f7956 100644 --- a/examples/dock/dock_item/mod.rs +++ b/examples/dock/dock_item/mod.rs @@ -5,9 +5,12 @@ use gio::DesktopAppInfo; use gio::Icon; use gio::ListStore; use gtk4 as gtk; +use gtk4::Align; +use gtk4::Box; use gtk4::DragSource; use gtk4::IconTheme; use gtk4::Label; +use gtk4::Orientation; mod imp; use gtk::glib; @@ -121,8 +124,11 @@ impl DockItem { } if let Ok(active_value) = app_info.property("active") { if let Ok(active) = active_value.get::() { + self_.dots.set_text(""); for _ in active.0 { - self_.dots.append(&Label::new(Some("·"))); + self_ + .dots + .set_text(format!("{}{}", self_.dots.text(), " · ").as_str()); } } } diff --git a/examples/dock/main.rs b/examples/dock/main.rs index 18cadf08..5884ee8e 100644 --- a/examples/dock/main.rs +++ b/examples/dock/main.rs @@ -131,10 +131,14 @@ fn main() { //TODO refresh the model from cached_results (required after DnD for example) } Event::Response(event) => { + // TODO investigate why polled results are out of date after launching a new window if let pop_launcher::Response::Update(mut results) = event { // sort to make comparison with cache easier let mut cached_results = cached_results.as_mut(); results.sort_by(|a, b| a.name.cmp(&b.name)); + + dbg!(&results); + dbg!(&cached_results); // check if cache equals the new polled results // skip if equal if cached_results.len() == results.len() && results.iter().zip(cached_results.iter()).fold(0, |acc, z: (&SearchResult, &SearchResult)| {