From 9f51f4826f5d5aa6e69970fccb7302c80e6ebc1b Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Mon, 25 Dec 2017 21:54:57 +0200 Subject: [PATCH 1/4] Headerbar: Added menu popup. --- hammond-gtk/resources/gtk/headerbar.ui | 147 ++++++++++++++++++++++++- hammond-gtk/src/headerbar.rs | 9 +- 2 files changed, 149 insertions(+), 7 deletions(-) diff --git a/hammond-gtk/resources/gtk/headerbar.ui b/hammond-gtk/resources/gtk/headerbar.ui index 9eec825..c71c916 100644 --- a/hammond-gtk/resources/gtk/headerbar.ui +++ b/hammond-gtk/resources/gtk/headerbar.ui @@ -2,7 +2,7 @@ - + False Add a new feed center @@ -117,7 +117,7 @@ False True - + True True False @@ -195,22 +195,159 @@ - + True True - True + False + Add a new feed center True False open-menu-symbolic + 1 + end - 2 + + + + + False + + + True + False + vertical + + + True + False + False + False + Preferences + + + False + True + 0 + + + + + True + True + True + Update Podcasts + + + False + True + 1 + + + + + True + False + + + False + True + 2 + + + + + True + False + False + False + Import Feeds + + + False + True + 3 + + + + + True + False + False + False + Export Feeds + + + False + True + 4 + + + + + True + False + + + False + True + 5 + + + + + True + False + False + False + About + + + False + True + 6 + + + + + True + False + False + False + Help + + + False + True + 7 + + + + + True + False + False + False + Keyboard Shortcuts + + + False + True + 8 + + + + + submenu0 + 1 diff --git a/hammond-gtk/src/headerbar.rs b/hammond-gtk/src/headerbar.rs index 9d62773..fb2e087 100644 --- a/hammond-gtk/src/headerbar.rs +++ b/hammond-gtk/src/headerbar.rs @@ -13,6 +13,7 @@ use content::Content; pub struct Header { pub container: gtk::HeaderBar, add_toggle: gtk::MenuButton, + menu_toggle: gtk::MenuButton, switch: gtk::StackSwitcher, back_button: gtk::Button, show_title: gtk::Label, @@ -23,7 +24,8 @@ impl Default for Header { let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/headerbar.ui"); let header: gtk::HeaderBar = builder.get_object("headerbar").unwrap(); - let add_toggle: gtk::MenuButton = builder.get_object("add_toggle_button").unwrap(); + let add_toggle: gtk::MenuButton = builder.get_object("add_toggle").unwrap(); + let menu_toggle: gtk::MenuButton = builder.get_object("menu_toggle").unwrap(); let switch: gtk::StackSwitcher = builder.get_object("switch").unwrap(); let back_button: gtk::Button = builder.get_object("back_button").unwrap(); let show_title: gtk::Label = builder.get_object("show_title").unwrap(); @@ -34,6 +36,7 @@ impl Default for Header { Header { container: header, add_toggle, + menu_toggle, switch, back_button, show_title, @@ -52,7 +55,8 @@ impl Header { pub fn init(&self, content: Rc) { let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/headerbar.ui"); - let add_popover: gtk::Popover = builder.get_object("add-popover").unwrap(); + let add_popover: gtk::Popover = builder.get_object("add_popover").unwrap(); + let menu_popover: gtk::PopoverMenu = builder.get_object("menu_popover").unwrap(); let new_url: gtk::Entry = builder.get_object("new-url").unwrap(); let add_button: gtk::Button = builder.get_object("add-button").unwrap(); self.switch.set_stack(&content.stack); @@ -69,6 +73,7 @@ impl Header { add_popover.hide(); })); self.add_toggle.set_popover(&add_popover); + self.menu_toggle.set_popover(&menu_popover); let switch = &self.switch; let add_toggle = &self.add_toggle; From 0a47b91913e4dbef6144dd49b2c481a51e404457 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Mon, 25 Dec 2017 22:03:37 +0200 Subject: [PATCH 2/4] Headerbar: Wire menu refresh button. --- hammond-gtk/resources/gtk/headerbar.ui | 16 ++++++++-------- hammond-gtk/src/headerbar.rs | 10 ++++++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/hammond-gtk/resources/gtk/headerbar.ui b/hammond-gtk/resources/gtk/headerbar.ui index c71c916..de6028b 100644 --- a/hammond-gtk/resources/gtk/headerbar.ui +++ b/hammond-gtk/resources/gtk/headerbar.ui @@ -7,7 +7,7 @@ Add a new feed center - + True False center @@ -18,7 +18,7 @@ vertical 6 - + True False start @@ -35,12 +35,12 @@ - + True False 6 - + True True 30 @@ -53,12 +53,12 @@ - + True True True - + Add True True @@ -99,7 +99,7 @@ - + False start You are already subscribed to that feed! @@ -240,7 +240,7 @@ - + True True True diff --git a/hammond-gtk/src/headerbar.rs b/hammond-gtk/src/headerbar.rs index fb2e087..96a3ecc 100644 --- a/hammond-gtk/src/headerbar.rs +++ b/hammond-gtk/src/headerbar.rs @@ -57,8 +57,9 @@ impl Header { let add_popover: gtk::Popover = builder.get_object("add_popover").unwrap(); let menu_popover: gtk::PopoverMenu = builder.get_object("menu_popover").unwrap(); - let new_url: gtk::Entry = builder.get_object("new-url").unwrap(); - let add_button: gtk::Button = builder.get_object("add-button").unwrap(); + let new_url: gtk::Entry = builder.get_object("new_url").unwrap(); + let add_button: gtk::Button = builder.get_object("add_button").unwrap(); + let refresh_button: gtk::Button = builder.get_object("refresh_button").unwrap(); self.switch.set_stack(&content.stack); new_url.connect_changed(move |url| { @@ -72,6 +73,11 @@ impl Header { // TODO: map the spinner add_popover.hide(); })); + + refresh_button.connect_clicked(clone!(content => move |_| { + utils::refresh_feed(content.clone(), None); + })); + self.add_toggle.set_popover(&add_popover); self.menu_toggle.set_popover(&menu_popover); From d5b937973273ed006c5669e95bf1d8c006a3e27f Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Mon, 25 Dec 2017 22:26:38 +0200 Subject: [PATCH 3/4] Headerbar: Remove some option from the menu. --- hammond-gtk/resources/gtk/headerbar.ui | 39 -------------------------- 1 file changed, 39 deletions(-) diff --git a/hammond-gtk/resources/gtk/headerbar.ui b/hammond-gtk/resources/gtk/headerbar.ui index de6028b..4e6ac08 100644 --- a/hammond-gtk/resources/gtk/headerbar.ui +++ b/hammond-gtk/resources/gtk/headerbar.ui @@ -263,45 +263,6 @@ 2 - - - True - False - False - False - Import Feeds - - - False - True - 3 - - - - - True - False - False - False - Export Feeds - - - False - True - 4 - - - - - True - False - - - False - True - 5 - - True From e99ab58b830f9015236b44ef04ff280397ffad41 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Tue, 26 Dec 2017 15:46:25 +0200 Subject: [PATCH 4/4] Headerbar: Add margins to the hamburger menu. --- hammond-gtk/resources/gtk/headerbar.ui | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hammond-gtk/resources/gtk/headerbar.ui b/hammond-gtk/resources/gtk/headerbar.ui index 4e6ac08..0801116 100644 --- a/hammond-gtk/resources/gtk/headerbar.ui +++ b/hammond-gtk/resources/gtk/headerbar.ui @@ -215,6 +215,7 @@ end + 2 @@ -224,6 +225,10 @@ True False + 10 + 10 + 10 + 10 vertical @@ -244,7 +249,7 @@ True True True - Update Podcasts + Check for new episodes False