forked from AuroraMiddleware/gtk
shortcutssection: Stop using container api
This commit is contained in:
parent
01c3e2ce0d
commit
ee5587d516
@ -479,28 +479,21 @@ static void
|
||||
gtk_shortcuts_section_add_group (GtkShortcutsSection *self,
|
||||
GtkShortcutsGroup *group)
|
||||
{
|
||||
GList *children;
|
||||
GtkWidget *page, *column;
|
||||
|
||||
children = gtk_container_get_children (GTK_CONTAINER (self->stack));
|
||||
if (children)
|
||||
page = g_list_last (children)->data;
|
||||
else
|
||||
page = gtk_widget_get_last_child (GTK_WIDGET (self->stack));
|
||||
if (page == NULL)
|
||||
{
|
||||
page = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 22);
|
||||
gtk_stack_add_named (self->stack, page, "1");
|
||||
}
|
||||
g_list_free (children);
|
||||
|
||||
children = gtk_container_get_children (GTK_CONTAINER (page));
|
||||
if (children)
|
||||
column = g_list_last (children)->data;
|
||||
else
|
||||
column = gtk_widget_get_last_child (page);
|
||||
if (column == NULL)
|
||||
{
|
||||
column = gtk_box_new (GTK_ORIENTATION_VERTICAL, 22);
|
||||
gtk_container_add (GTK_CONTAINER (page), column);
|
||||
}
|
||||
g_list_free (children);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (column), GTK_WIDGET (group));
|
||||
self->groups = g_list_append (self->groups, group);
|
||||
@ -556,34 +549,34 @@ gtk_shortcuts_section_filter_groups (GtkShortcutsSection *self)
|
||||
static void
|
||||
gtk_shortcuts_section_reflow_groups (GtkShortcutsSection *self)
|
||||
{
|
||||
GtkWidget *page, *column;
|
||||
GList *pages, *p;
|
||||
GList *columns, *c;
|
||||
GList *groups, *g;
|
||||
GList *children;
|
||||
guint n_rows;
|
||||
guint n_columns;
|
||||
guint n_pages;
|
||||
GtkWidget *current_page, *current_column;
|
||||
GtkWidget *child;
|
||||
|
||||
/* collect all groups from the current pages */
|
||||
groups = NULL;
|
||||
pages = gtk_container_get_children (GTK_CONTAINER (self->stack));
|
||||
for (p = pages; p; p = p->next)
|
||||
for (page = gtk_widget_get_first_child (GTK_WIDGET (self->stack));
|
||||
page != NULL;
|
||||
page = gtk_widget_get_next_sibling (page))
|
||||
{
|
||||
columns = gtk_container_get_children (GTK_CONTAINER (p->data));
|
||||
for (c = columns; c; c = c->next)
|
||||
for (column = gtk_widget_get_first_child (page);
|
||||
column != NULL;
|
||||
column = gtk_widget_get_next_sibling (column))
|
||||
{
|
||||
children = gtk_container_get_children (GTK_CONTAINER (c->data));
|
||||
children = gtk_container_get_children (GTK_CONTAINER (column));
|
||||
groups = g_list_concat (groups, children);
|
||||
}
|
||||
g_list_free (columns);
|
||||
}
|
||||
g_list_free (pages);
|
||||
|
||||
/* create new pages */
|
||||
current_page = NULL;
|
||||
current_column = NULL;
|
||||
|
||||
pages = NULL;
|
||||
n_rows = 0;
|
||||
n_columns = 0;
|
||||
@ -615,8 +608,6 @@ gtk_shortcuts_section_reflow_groups (GtkShortcutsSection *self)
|
||||
|
||||
if (n_columns % 2 == 0)
|
||||
{
|
||||
GtkWidget *page;
|
||||
|
||||
page = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 22);
|
||||
|
||||
pages = g_list_append (pages, page);
|
||||
@ -704,14 +695,14 @@ gtk_shortcuts_section_reflow_groups (GtkShortcutsSection *self)
|
||||
}
|
||||
|
||||
/* replace the current pages with the new pages */
|
||||
while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->stack))))
|
||||
gtk_container_remove (GTK_CONTAINER (self->stack), child);
|
||||
while ((page = gtk_widget_get_first_child (GTK_WIDGET (self->stack))))
|
||||
gtk_stack_remove (self->stack, page);
|
||||
|
||||
for (p = pages, n_pages = 0; p; p = p->next, n_pages++)
|
||||
{
|
||||
GtkWidget *page = p->data;
|
||||
gchar *title;
|
||||
char *title;
|
||||
|
||||
page = p->data;
|
||||
title = g_strdup_printf ("_%u", n_pages + 1);
|
||||
gtk_stack_add_titled (self->stack, page, title, title);
|
||||
g_free (title);
|
||||
|
Loading…
Reference in New Issue
Block a user