- handle color profile and write metadata buttons on statusbar by ui_manager
[geeqie.git] / src / rcfile.c
index ad489ea..7a2b527 100644 (file)
@@ -969,12 +969,12 @@ static void options_parse_toolbar(GQParserData *parser_data, GMarkupParseContext
        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_toolbar(GQParserData *parser_data, GMarkupParseContext
                }
 }
 
+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 @@ static void options_parse_layout(GQParserData *parser_data, GMarkupParseContext
                {
                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);