diff --git a/hammond-gtk/resources/gtk/headerbar.ui b/hammond-gtk/resources/gtk/headerbar.ui index fc17ce5..0946f21 100644 --- a/hammond-gtk/resources/gtk/headerbar.ui +++ b/hammond-gtk/resources/gtk/headerbar.ui @@ -1,5 +1,5 @@ - + @@ -109,20 +109,70 @@ - + True False - False - True - + + True + True + True + + + True + False + go-previous-symbolic + + + + + False + False + 0 + + + + + True + False + Show Title + + + + + + True + True + 1 + + + + + False + True + + + True + False + True + + + + + + + + True + False + 5 + + True True False Add a new feed - center - + True False gtk-add @@ -135,26 +185,63 @@ - 1 + False + False + 0 - + True False center True + 0 + False + True + 4 + + + + + True + True + True + + + True + False + open-menu-symbolic + + + + + False + False + end 2 - + + True + False + vertical + + + False + True + end + 3 + + + + True True True - center True True @@ -167,8 +254,10 @@ + False + False end - -1 + 3 diff --git a/hammond-gtk/src/headerbar.rs b/hammond-gtk/src/headerbar.rs index 140eac2..1a8d6b4 100644 --- a/hammond-gtk/src/headerbar.rs +++ b/hammond-gtk/src/headerbar.rs @@ -15,24 +15,33 @@ pub struct Header { refresh: gtk::Button, add_toggle: gtk::MenuButton, switch: gtk::StackSwitcher, + stack: gtk::Stack, } impl Header { pub fn new() -> Header { let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/headerbar.ui"); - let header: gtk::HeaderBar = builder.get_object("headerbar1").unwrap(); - let refresh: gtk::Button = builder.get_object("refbutton").unwrap(); - let add_toggle: gtk::MenuButton = builder.get_object("add-toggle-button").unwrap(); + let header: gtk::HeaderBar = builder.get_object("headerbar").unwrap(); + let refresh: gtk::Button = builder.get_object("ref_button").unwrap(); + let add_toggle: gtk::MenuButton = builder.get_object("add_toggle_button").unwrap(); let switch: gtk::StackSwitcher = builder.get_object("switch").unwrap(); + let stack: gtk::Stack = builder.get_object("headerbar_stack").unwrap(); + let normal_view: gtk::Box = builder.get_object("normal_view").unwrap(); + let back_view: gtk::Box = builder.get_object("back_view").unwrap(); switch.set_halign(gtk::Align::Center); switch.show(); + stack.add_named(&normal_view, "normal_view"); + stack.add_named(&back_view, "back_view"); + stack.set_visible_child_name("normal_view"); + Header { container: header, refresh, add_toggle, switch, + stack, } }