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 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkGrid" id="grid">
<object class="GtkBox" id="fb_parent">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_homogeneous">True</property>
<property name="column_homogeneous">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkScrolledWindow">
<object class="GtkViewport" id="view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<property name="can_focus">False</property>
<child>
<object class="GtkViewport" id="view">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<placeholder/>
</child>
</object>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</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.
home_button.connect_clicked(clone!(db, stack => move |_| {
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.
// Ideally, the functionality should be removed from final design.
update_podcasts_view(&db, &stack);
} 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();
}
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 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 flowbox = init_flowbox(db, stack);
view.add(&flowbox);
stack.add_named(&grid, "pd_grid");
stack.set_visible_child(&grid);
stack.add_named(&fb_parent, "fb_parent");
stack.set_visible_child(&fb_parent);
}
pub fn setup_stack(db: &Database) -> gtk::Stack {
let stack = gtk::Stack::new();
stack.set_transition_type(gtk::StackTransitionType::SlideLeftRight);
setup_podcast_widget(&stack);
setup_podcasts_grid(db, &stack);
setup_podcasts_flowbox(db, &stack);
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 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 flowbox = init_flowbox(db, stack);
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();
stack.remove(&old);
stack.add_named(&grid, "pd_grid");
stack.add_named(&fb_parent, "fb_parent");
// preserve the visible widget
stack.set_visible_child_name(&vis);

View File

@ -76,7 +76,7 @@ fn on_unsub_button_clicked(
};
}
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) {