From cfcdba5aeaa513bef84ac778716557da569e4ccd Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Wed, 25 Jul 2018 04:38:24 +0300 Subject: [PATCH] Headerbar: Avoid code duplication and ref cycles. --- podcasts-gtk/src/headerbar.rs | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/podcasts-gtk/src/headerbar.rs b/podcasts-gtk/src/headerbar.rs index eb937c8..9f1a344 100644 --- a/podcasts-gtk/src/headerbar.rs +++ b/podcasts-gtk/src/headerbar.rs @@ -217,22 +217,10 @@ impl Header { weak.upgrade().map(|h| h.add.on_add_clicked(&sender)); })); - let switch = &s.switch; - let add_toggle = &s.add.toggle; - let show_title = &s.show_title; - let menu = &s.menu_button; - let dots = &s.dots; - s.back.connect_clicked( - clone!(switch, add_toggle, show_title, sender, menu, dots => move |back| { - switch.show(); - add_toggle.show(); - back.hide(); - show_title.hide(); - menu.show(); - dots.hide(); - sender.send(Action::ShowShowsAnimated); - }), - ); + s.back.connect_clicked(clone!(weak, sender => move |_| { + weak.upgrade().map(|h| h.switch_to_normal()); + sender.send(Action::ShowShowsAnimated); + })); } pub fn switch_to_back(&self, title: &str) {