minor headerbar improvments.
This commit is contained in:
parent
c0c6301e11
commit
c3d7a11975
@ -14,7 +14,11 @@ pub fn get_headerbar(
|
|||||||
) -> gtk::HeaderBar {
|
) -> gtk::HeaderBar {
|
||||||
let builder = include_str!("../gtk/headerbar.ui");
|
let builder = include_str!("../gtk/headerbar.ui");
|
||||||
let builder = gtk::Builder::new_from_string(builder);
|
let builder = gtk::Builder::new_from_string(builder);
|
||||||
|
|
||||||
let header: gtk::HeaderBar = builder.get_object("headerbar1").unwrap();
|
let header: gtk::HeaderBar = builder.get_object("headerbar1").unwrap();
|
||||||
|
let home_button: gtk::Button = builder.get_object("homebutton").unwrap();
|
||||||
|
let refresh_button: gtk::Button = builder.get_object("refbutton").unwrap();
|
||||||
|
let _search_button: gtk::Button = builder.get_object("searchbutton").unwrap();
|
||||||
|
|
||||||
let add_toggle_button: gtk::MenuButton = builder.get_object("add-toggle-button").unwrap();
|
let add_toggle_button: gtk::MenuButton = builder.get_object("add-toggle-button").unwrap();
|
||||||
let add_popover: gtk::Popover = builder.get_object("add-popover").unwrap();
|
let add_popover: gtk::Popover = builder.get_object("add-popover").unwrap();
|
||||||
@ -24,8 +28,10 @@ pub fn get_headerbar(
|
|||||||
new_url.connect_changed(move |url| {
|
new_url.connect_changed(move |url| {
|
||||||
println!("{:?}", url.get_text());
|
println!("{:?}", url.get_text());
|
||||||
});
|
});
|
||||||
|
|
||||||
let add_popover_clone = add_popover.clone();
|
let add_popover_clone = add_popover.clone();
|
||||||
let db_clone = db.clone();
|
let db_clone = db.clone();
|
||||||
|
|
||||||
add_button.connect_clicked(move |_| {
|
add_button.connect_clicked(move |_| {
|
||||||
let tempdb = db_clone.lock().unwrap();
|
let tempdb = db_clone.lock().unwrap();
|
||||||
let url = new_url.get_text().unwrap();
|
let url = new_url.get_text().unwrap();
|
||||||
@ -42,12 +48,15 @@ pub fn get_headerbar(
|
|||||||
add_popover.hide();
|
add_popover.hide();
|
||||||
add_toggle_button.set_popover(&add_popover);
|
add_toggle_button.set_popover(&add_popover);
|
||||||
|
|
||||||
let _search_button: gtk::Button = builder.get_object("searchbutton").unwrap();
|
|
||||||
|
|
||||||
// TODO: make it a back arrow button, that will hide when appropriate,
|
// TODO: make it a back arrow button, that will hide when appropriate,
|
||||||
// and add a StackSwitcher when more views are added.
|
// and add a StackSwitcher when more views are added.
|
||||||
let home_button: gtk::Button = builder.get_object("homebutton").unwrap();
|
|
||||||
home_button.connect_clicked(move |_| stack.set_visible_child(&grid));
|
home_button.connect_clicked(move |_| stack.set_visible_child(&grid));
|
||||||
|
|
||||||
|
// FIXME: There appears to be a memmory leak here.
|
||||||
|
refresh_button.connect_clicked(move |_| {
|
||||||
|
// fsdaa, The things I do for the borrow checker.
|
||||||
|
utils::refresh_db(db.clone());
|
||||||
|
});
|
||||||
|
|
||||||
header
|
header
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,9 +39,7 @@ THE CODE IS TERIBLE, SPAGHETTI AND HAS UNWRAPS EVERYWHERE.
|
|||||||
// Gonna clean it up when the GUI is a bit usuable.
|
// Gonna clean it up when the GUI is a bit usuable.
|
||||||
fn build_ui() {
|
fn build_ui() {
|
||||||
let glade_src = include_str!("../gtk/foo.ui");
|
let glade_src = include_str!("../gtk/foo.ui");
|
||||||
let header_src = include_str!("../gtk/headerbar.ui");
|
|
||||||
let builder = gtk::Builder::new_from_string(glade_src);
|
let builder = gtk::Builder::new_from_string(glade_src);
|
||||||
let header_build = gtk::Builder::new_from_string(header_src);
|
|
||||||
|
|
||||||
// Get the main window
|
// Get the main window
|
||||||
let window: gtk::Window = builder.get_object("window1").unwrap();
|
let window: gtk::Window = builder.get_object("window1").unwrap();
|
||||||
@ -69,14 +67,6 @@ fn build_ui() {
|
|||||||
let header = headerbar::get_headerbar(db.clone(), stack.clone(), grid.clone());
|
let header = headerbar::get_headerbar(db.clone(), stack.clone(), grid.clone());
|
||||||
window.set_titlebar(&header);
|
window.set_titlebar(&header);
|
||||||
|
|
||||||
let refresh_button: gtk::Button = header_build.get_object("refbutton").unwrap();
|
|
||||||
// FIXME: There appears to be a memmory leak here.
|
|
||||||
let db_clone = db.clone();
|
|
||||||
refresh_button.connect_clicked(move |_| {
|
|
||||||
// fsdaa, The things I do for the borrow checker.
|
|
||||||
utils::refresh_db(db_clone.clone());
|
|
||||||
});
|
|
||||||
|
|
||||||
let tempdb = db.lock().unwrap();
|
let tempdb = db.lock().unwrap();
|
||||||
let pd_model = podcast_liststore(&tempdb);
|
let pd_model = podcast_liststore(&tempdb);
|
||||||
drop(tempdb);
|
drop(tempdb);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user