Mercurial > geeqie
diff src/rcfile.c @ 1582:2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
- statusbar buttons made configurable
author | nadvornik |
---|---|
date | Fri, 01 May 2009 23:15:51 +0000 |
parents | c776b1310ca6 |
children | 1a5a3b7ca2cd |
line wrap: on
line diff
--- a/src/rcfile.c Fri May 01 09:49:27 2009 +0000 +++ b/src/rcfile.c Fri May 01 23:15:51 2009 +0000 @@ -969,12 +969,12 @@ LayoutWindow *lw = data; if (g_ascii_strcasecmp(element_name, "toolitem") == 0) { - layout_toolbar_add_from_config(lw, attribute_names, attribute_values); + layout_toolbar_add_from_config(lw, TOOLBAR_MAIN, attribute_names, attribute_values); options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); } else if (g_ascii_strcasecmp(element_name, "clear") == 0) { - layout_toolbar_clear(lw); + layout_toolbar_clear(lw, TOOLBAR_MAIN); options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); } else @@ -984,6 +984,26 @@ } } +static void options_parse_statusbar(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) +{ + LayoutWindow *lw = data; + if (g_ascii_strcasecmp(element_name, "toolitem") == 0) + { + layout_toolbar_add_from_config(lw, TOOLBAR_STATUS, attribute_names, attribute_values); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } + else if (g_ascii_strcasecmp(element_name, "clear") == 0) + { + layout_toolbar_clear(lw, TOOLBAR_STATUS); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } + else + { + log_printf("unexpected in <statusbar>: <%s>\n", element_name); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } +} + static void options_parse_layout(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) { LayoutWindow *lw = data; @@ -1011,6 +1031,10 @@ { options_parse_func_push(parser_data, options_parse_toolbar, NULL, lw); } + else if (g_ascii_strcasecmp(element_name, "statusbar") == 0) + { + options_parse_func_push(parser_data, options_parse_statusbar, NULL, lw); + } else { log_printf("unexpected in <layout>: <%s>\n", element_name);