Mercurial > geeqie
diff src/rcfile.c @ 1317:cd7204a18f14
simplified and improved bar configuration
author | nadvornik |
---|---|
date | Tue, 24 Feb 2009 20:34:39 +0000 |
parents | c1d108ab3388 |
children | 055ed09d5a03 |
line wrap: on
line diff
--- a/src/rcfile.c Tue Feb 24 18:00:45 2009 +0000 +++ b/src/rcfile.c Tue Feb 24 20:34:39 2009 +0000 @@ -877,9 +877,8 @@ LayoutWindow *lw = data; if (g_ascii_strcasecmp(element_name, "bar") == 0) { - if (lw->bar) - layout_bar_close(lw); - layout_bar_new(lw, FALSE); + GtkWidget *bar = bar_new_from_config(lw->utility_box, attribute_names, attribute_values); + layout_bar_set(lw, bar); options_parse_func_push(parser_data, options_parse_bar, NULL, lw->bar); } else @@ -889,6 +888,12 @@ } } +static void options_parse_layout_end(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, gpointer data, GError **error) +{ + LayoutWindow *lw = data; + layout_util_sync(lw); +} + static void options_parse_toplevel(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) { if (g_ascii_strcasecmp(element_name, "global") == 0) @@ -909,7 +914,7 @@ { LayoutWindow *lw; lw = layout_new_from_config(attribute_names, attribute_values, parser_data->startup); - options_parse_func_push(parser_data, options_parse_layout, NULL, lw); + options_parse_func_push(parser_data, options_parse_layout, options_parse_layout_end, lw); } else {