Removed the grid from the podcasts_view.

This commit is contained in:
Jordan Petridis 2017-11-05 10:59:56 +02:00
parent ed0bbfe1ba
commit 0e2d8ffd37
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
4 changed files with 22 additions and 34 deletions

View File

@ -2,41 +2,29 @@
<!-- Generated with glade 3.20.1 --> <!-- Generated with glade 3.20.1 -->
<interface> <interface>
<requires lib="gtk+" version="3.20"/> <requires lib="gtk+" version="3.20"/>
<object class="GtkGrid" id="grid"> <object class="GtkBox" id="fb_parent">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="row_homogeneous">True</property> <property name="orientation">vertical</property>
<property name="column_homogeneous">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkScrolledWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="orientation">vertical</property> <property name="shadow_type">in</property>
<child> <child>
<object class="GtkScrolledWindow"> <object class="GtkViewport" id="view">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">False</property>
<property name="shadow_type">in</property>
<child> <child>
<object class="GtkViewport" id="view"> <placeholder/>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<placeholder/>
</child>
</object>
</child> </child>
</object> </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child> </child>
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="expand">True</property>
<property name="top_attach">0</property> <property name="fill">True</property>
<property name="position">0</property>
</packing> </packing>
</child> </child>
</object> </object>

View File

@ -38,12 +38,12 @@ pub fn get_headerbar(db: &Database, stack: &gtk::Stack) -> gtk::HeaderBar {
// and add a StackSwitcher when more views are added. // and add a StackSwitcher when more views are added.
home_button.connect_clicked(clone!(db, stack => move |_| { home_button.connect_clicked(clone!(db, stack => move |_| {
let vis = stack.get_visible_child_name().unwrap(); let vis = stack.get_visible_child_name().unwrap();
if vis == "pd_grid" { if vis == "fb_parent" {
// More conviniet way to reload podcasts_flowbox while trying out stuff. // More conviniet way to reload podcasts_flowbox while trying out stuff.
// Ideally, the functionality should be removed from final design. // Ideally, the functionality should be removed from final design.
update_podcasts_view(&db, &stack); update_podcasts_view(&db, &stack);
} else { } else {
stack.set_visible_child_name("pd_grid"); stack.set_visible_child_name("fb_parent");
} }
})); }));

View File

@ -94,39 +94,39 @@ fn on_flowbox_child_activate(db: &Database, stack: &gtk::Stack, parent: &Podcast
old.destroy(); old.destroy();
} }
fn setup_podcasts_grid(db: &Database, stack: &gtk::Stack) { fn setup_podcasts_flowbox(db: &Database, stack: &gtk::Stack) {
let builder = gtk::Builder::new_from_string(include_str!("../../gtk/podcasts_view.ui")); let builder = gtk::Builder::new_from_string(include_str!("../../gtk/podcasts_view.ui"));
let grid: gtk::Grid = builder.get_object("grid").unwrap(); let fb_parent: gtk::Box = builder.get_object("fb_parent").unwrap();
let view: gtk::Viewport = builder.get_object("view").unwrap(); let view: gtk::Viewport = builder.get_object("view").unwrap();
let flowbox = init_flowbox(db, stack); let flowbox = init_flowbox(db, stack);
view.add(&flowbox); view.add(&flowbox);
stack.add_named(&grid, "pd_grid"); stack.add_named(&fb_parent, "fb_parent");
stack.set_visible_child(&grid); stack.set_visible_child(&fb_parent);
} }
pub fn setup_stack(db: &Database) -> gtk::Stack { pub fn setup_stack(db: &Database) -> gtk::Stack {
let stack = gtk::Stack::new(); let stack = gtk::Stack::new();
stack.set_transition_type(gtk::StackTransitionType::SlideLeftRight); stack.set_transition_type(gtk::StackTransitionType::SlideLeftRight);
setup_podcast_widget(&stack); setup_podcast_widget(&stack);
setup_podcasts_grid(db, &stack); setup_podcasts_flowbox(db, &stack);
stack stack
} }
pub fn update_podcasts_view(db: &Database, stack: &gtk::Stack) { pub fn update_podcasts_view(db: &Database, stack: &gtk::Stack) {
let builder = gtk::Builder::new_from_string(include_str!("../../gtk/podcasts_view.ui")); let builder = gtk::Builder::new_from_string(include_str!("../../gtk/podcasts_view.ui"));
let grid: gtk::Grid = builder.get_object("grid").unwrap(); let fb_parent: gtk::Box = builder.get_object("fb_parent").unwrap();
let view: gtk::Viewport = builder.get_object("view").unwrap(); let view: gtk::Viewport = builder.get_object("view").unwrap();
let flowbox = init_flowbox(db, stack); let flowbox = init_flowbox(db, stack);
view.add(&flowbox); view.add(&flowbox);
let old = stack.get_child_by_name("pd_grid").unwrap(); let old = stack.get_child_by_name("fb_parent").unwrap();
let vis = stack.get_visible_child_name().unwrap(); let vis = stack.get_visible_child_name().unwrap();
stack.remove(&old); stack.remove(&old);
stack.add_named(&grid, "pd_grid"); stack.add_named(&fb_parent, "fb_parent");
// preserve the visible widget // preserve the visible widget
stack.set_visible_child_name(&vis); stack.set_visible_child_name(&vis);

View File

@ -76,7 +76,7 @@ fn on_unsub_button_clicked(
}; };
} }
update_podcasts_view(db, stack); update_podcasts_view(db, stack);
stack.set_visible_child_name("pd_grid") stack.set_visible_child_name("fb_parent")
} }
fn on_played_button_clicked(db: &Database, stack: &gtk::Stack, pd: &Podcast) { fn on_played_button_clicked(db: &Database, stack: &gtk::Stack, pd: &Podcast) {