Fix #314: Remote commands for thumbnail maintenance
[geeqie.git] / src / rcfile.c
index 3fc9c59..cf2f474 100644 (file)
@@ -322,6 +322,7 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_UINT(*options, duplicates_select_type);
        WRITE_NL(); WRITE_BOOL(*options, duplicates_thumbnails);
        WRITE_NL(); WRITE_BOOL(*options, rot_invariant_sim);
+       WRITE_NL(); WRITE_BOOL(*options, sort_totals);
        WRITE_SEPARATOR();
 
        WRITE_NL(); WRITE_BOOL(*options, mousewheel_scrolls);
@@ -606,6 +607,7 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_UINT_CLAMP(*options, duplicates_select_type, 0, DUPE_SELECT_GROUP2)) continue;
                if (READ_BOOL(*options, duplicates_thumbnails)) continue;
                if (READ_BOOL(*options, rot_invariant_sim)) continue;
+               if (READ_BOOL(*options, sort_totals)) continue;
 
                if (READ_BOOL(*options, progressive_key_scrolling)) continue;
                if (READ_UINT_CLAMP(*options, keyboard_scroll_step, 1, 32)) continue;
@@ -948,6 +950,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 <pane_keywords>: <%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 +1041,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)
                {