Headerbar: Do more stuff through glade, cut some code.

This commit is contained in:
Jordan Petridis 2017-12-30 21:19:29 +02:00
parent 5730e71e2a
commit 3c84d889fd
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
2 changed files with 10 additions and 17 deletions

View File

@ -6,6 +6,8 @@
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Add a new feed</property> <property name="tooltip_text" translatable="yes">Add a new feed</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="relative_to">add_toggle</property>
<property name="position">bottom</property>
<child> <child>
<object class="GtkBox" id="add_box"> <object class="GtkBox" id="add_box">
<property name="visible">True</property> <property name="visible">True</property>
@ -123,6 +125,7 @@
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Add a new feed</property> <property name="tooltip_text" translatable="yes">Add a new feed</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="popover">add_popover</property>
<child> <child>
<object class="GtkImage" id="add-button-image2"> <object class="GtkImage" id="add-button-image2">
<property name="visible">True</property> <property name="visible">True</property>
@ -230,8 +233,8 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Add a new feed</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="popover">menu_popover</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -250,8 +253,9 @@
</packing> </packing>
</child> </child>
</object> </object>
<object class="GtkPopoverMenu" id="menu_popover"> <object class="GtkPopover" id="menu_popover">
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="relative_to">menu_toggle</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -265,7 +269,7 @@
<object class="GtkModelButton"> <object class="GtkModelButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="text" translatable="yes">Preferences</property> <property name="text" translatable="yes">Preferences</property>
</object> </object>
@ -304,7 +308,7 @@
<object class="GtkModelButton"> <object class="GtkModelButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="text" translatable="yes">About</property> <property name="text" translatable="yes">About</property>
</object> </object>
@ -318,7 +322,7 @@
<object class="GtkModelButton"> <object class="GtkModelButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="text" translatable="yes">Help</property> <property name="text" translatable="yes">Help</property>
</object> </object>
@ -332,7 +336,7 @@
<object class="GtkModelButton"> <object class="GtkModelButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="text" translatable="yes">Keyboard Shortcuts</property> <property name="text" translatable="yes">Keyboard Shortcuts</property>
</object> </object>
@ -343,10 +347,6 @@
</packing> </packing>
</child> </child>
</object> </object>
<packing>
<property name="submenu">submenu0</property>
<property name="position">1</property>
</packing>
</child> </child>
</object> </object>
</interface> </interface>

View File

@ -12,7 +12,6 @@ use content::Content;
pub struct Header { pub struct Header {
pub container: gtk::HeaderBar, pub container: gtk::HeaderBar,
add_toggle: gtk::MenuButton, add_toggle: gtk::MenuButton,
menu_toggle: gtk::MenuButton,
switch: gtk::StackSwitcher, switch: gtk::StackSwitcher,
back_button: gtk::Button, back_button: gtk::Button,
show_title: gtk::Label, show_title: gtk::Label,
@ -27,7 +26,6 @@ impl Default for Header {
let header: gtk::HeaderBar = builder.get_object("headerbar").unwrap(); let header: gtk::HeaderBar = builder.get_object("headerbar").unwrap();
let add_toggle: gtk::MenuButton = builder.get_object("add_toggle").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 switch: gtk::StackSwitcher = builder.get_object("switch").unwrap();
let back_button: gtk::Button = builder.get_object("back_button").unwrap(); let back_button: gtk::Button = builder.get_object("back_button").unwrap();
let show_title: gtk::Label = builder.get_object("show_title").unwrap(); let show_title: gtk::Label = builder.get_object("show_title").unwrap();
@ -38,7 +36,6 @@ impl Default for Header {
Header { Header {
container: header, container: header,
add_toggle, add_toggle,
menu_toggle,
switch, switch,
back_button, back_button,
show_title, show_title,
@ -61,7 +58,6 @@ impl Header {
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/headerbar.ui"); 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 new_url: gtk::Entry = builder.get_object("new_url").unwrap();
let add_button: gtk::Button = builder.get_object("add_button").unwrap(); let add_button: gtk::Button = builder.get_object("add_button").unwrap();
self.switch.set_stack(&content.get_stack()); self.switch.set_stack(&content.get_stack());
@ -76,9 +72,6 @@ impl Header {
add_popover.hide(); add_popover.hide();
})); }));
self.add_toggle.set_popover(&add_popover);
self.menu_toggle.set_popover(&menu_popover);
let switch = &self.switch; let switch = &self.switch;
let add_toggle = &self.add_toggle; let add_toggle = &self.add_toggle;
let show_title = &self.show_title; let show_title = &self.show_title;