X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=blobdiff_plain;f=src%2Frcfile.c;h=52aa2b9022dce442c3ca1a31b0c6c050b3a8eb42;hp=e6663f9b9815ba8d048168343e240df7e6909f68;hb=36d2e8e15cf7e6e230664cea85a6ddf492f766fe;hpb=d72088e0b2e958a9dc6a05cc9d29207e4d280c6b diff --git a/src/rcfile.c b/src/rcfile.c index e6663f9b..52aa2b90 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -948,6 +948,22 @@ static void options_parse_pane_exif(GQParserData *parser_data, GMarkupParseConte } } +static void options_parse_pane_keywords(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) +{ + GtkWidget *pane = data; + + if (g_ascii_strcasecmp(element_name, "expanded") == 0) + { + bar_pane_keywords_entry_add_from_config(pane, attribute_names, attribute_values); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } + else + { + log_printf("unexpected in : <%s>\n", element_name); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } +} + static void options_parse_bar(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) { GtkWidget *bar = data; @@ -1023,7 +1039,7 @@ static void options_parse_bar(GQParserData *parser_data, GMarkupParseContext *co pane = bar_pane_keywords_new_from_config(attribute_names, attribute_values); bar_add(bar, pane); } - options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + options_parse_func_push(parser_data, options_parse_pane_keywords, NULL, pane); } else if (g_ascii_strcasecmp(element_name, "clear") == 0) { @@ -1063,12 +1079,17 @@ static void options_parse_layout(GQParserData *parser_data, GMarkupParseContext options_parse_func_push(parser_data, options_parse_bar, NULL, lw->bar); } +#if 0 +/* FIXME: The sort manager and desktop files are set up in the idle loop. + * Setup is not yet completed when the layout is first displayed. + */ else if (g_ascii_strcasecmp(element_name, "bar_sort") == 0) { GtkWidget *bar = bar_sort_new_from_config(lw, attribute_names, attribute_values); layout_bar_sort_set(lw, bar); options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); } +#endif else if (g_ascii_strcasecmp(element_name, "toolbar") == 0) { options_parse_func_push(parser_data, options_parse_toolbar_and_statusbar, NULL, NULL);