Always show hamburger menu
This commit is contained in:
parent
e7128a57db
commit
f1892eeba2
@ -258,8 +258,7 @@ Tobias Bernard
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkMenuButton" id="menu_toggle">
|
<object class="GtkMenuButton" id="menu_toggle">
|
||||||
<property name="visible">False</property>
|
<property name="visible">True</property>
|
||||||
<property name="no_show_all">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="valign">center</property>
|
<property name="valign">center</property>
|
||||||
@ -286,4 +285,4 @@ Tobias Bernard
|
|||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="relative_to">menu_toggle</property>
|
<property name="relative_to">menu_toggle</property>
|
||||||
</object>
|
</object>
|
||||||
</interface>
|
</interface>
|
||||||
@ -117,8 +117,7 @@ impl App {
|
|||||||
"Content Initialization failed."));
|
"Content Initialization failed."));
|
||||||
|
|
||||||
// Create the headerbar
|
// Create the headerbar
|
||||||
let local_menu = !app.prefers_app_menu();
|
let header = Rc::new(Header::new(&content, &window, &sender));
|
||||||
let header = Rc::new(Header::new(&content, &window, &sender, local_menu));
|
|
||||||
|
|
||||||
// Add the content main stack to the overlay.
|
// Add the content main stack to the overlay.
|
||||||
let overlay = gtk::Overlay::new();
|
let overlay = gtk::Overlay::new();
|
||||||
|
|||||||
@ -26,7 +26,6 @@ pub struct Header {
|
|||||||
update_box: gtk::Box,
|
update_box: gtk::Box,
|
||||||
update_label: gtk::Label,
|
update_label: gtk::Label,
|
||||||
update_spinner: gtk::Spinner,
|
update_spinner: gtk::Spinner,
|
||||||
menu_button: gtk::Button,
|
|
||||||
menu_popover: gtk::Popover,
|
menu_popover: gtk::Popover,
|
||||||
app_menu: MenuModel,
|
app_menu: MenuModel,
|
||||||
}
|
}
|
||||||
@ -43,7 +42,6 @@ impl Default for Header {
|
|||||||
let update_box = builder.get_object("update_notification").unwrap();
|
let update_box = builder.get_object("update_notification").unwrap();
|
||||||
let update_label = builder.get_object("update_label").unwrap();
|
let update_label = builder.get_object("update_label").unwrap();
|
||||||
let update_spinner = builder.get_object("update_spinner").unwrap();
|
let update_spinner = builder.get_object("update_spinner").unwrap();
|
||||||
let menu_button = builder.get_object("menu_toggle").unwrap();
|
|
||||||
let menu_popover = builder.get_object("menu_popover").unwrap();
|
let menu_popover = builder.get_object("menu_popover").unwrap();
|
||||||
let menus = gtk::Builder::new_from_resource("/org/gnome/Hammond/gtk/menus.ui");
|
let menus = gtk::Builder::new_from_resource("/org/gnome/Hammond/gtk/menus.ui");
|
||||||
let app_menu = menus.get_object("app-menu").unwrap();
|
let app_menu = menus.get_object("app-menu").unwrap();
|
||||||
@ -57,7 +55,6 @@ impl Default for Header {
|
|||||||
update_box,
|
update_box,
|
||||||
update_label,
|
update_label,
|
||||||
update_spinner,
|
update_spinner,
|
||||||
menu_button,
|
|
||||||
menu_popover,
|
menu_popover,
|
||||||
app_menu,
|
app_menu,
|
||||||
}
|
}
|
||||||
@ -70,10 +67,9 @@ impl Header {
|
|||||||
content: &Content,
|
content: &Content,
|
||||||
window: >k::ApplicationWindow,
|
window: >k::ApplicationWindow,
|
||||||
sender: &Sender<Action>,
|
sender: &Sender<Action>,
|
||||||
local_menu: bool,
|
|
||||||
) -> Header {
|
) -> Header {
|
||||||
let h = Header::default();
|
let h = Header::default();
|
||||||
h.init(content, window, &sender, local_menu);
|
h.init(content, window, &sender);
|
||||||
h
|
h
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +78,6 @@ impl Header {
|
|||||||
content: &Content,
|
content: &Content,
|
||||||
window: >k::ApplicationWindow,
|
window: >k::ApplicationWindow,
|
||||||
sender: &Sender<Action>,
|
sender: &Sender<Action>,
|
||||||
local_menu: bool,
|
|
||||||
) {
|
) {
|
||||||
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");
|
||||||
|
|
||||||
@ -125,10 +120,7 @@ impl Header {
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
if local_menu {
|
self.menu_popover.bind_model(Some(&self.app_menu), None);
|
||||||
self.menu_popover.bind_model(Some(&self.app_menu), None);
|
|
||||||
self.menu_button.set_visible(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn switch_to_back(&self, title: &str) {
|
pub fn switch_to_back(&self, title: &str) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user