Fix #934: Request to add image bookmarking/tagging within a folder
[geeqie.git] / src / rcfile.c
index 3e04027..56dc0d0 100644 (file)
@@ -30,6 +30,7 @@
 #include "bar_exif.h"
 #include "bar_histogram.h"
 #include "bar_keywords.h"
+#include "bar_rating.h"
 #include "bar_sort.h"
 #include "editors.h"
 #include "filefilter.h"
@@ -330,9 +331,11 @@ static void write_global_attributes(GString *outstr, gint indent)
 
        WRITE_NL(); WRITE_BOOL(*options, mousewheel_scrolls);
        WRITE_NL(); WRITE_BOOL(*options, image_lm_click_nav);
+       WRITE_NL(); WRITE_BOOL(*options, image_l_click_archive);
        WRITE_NL(); WRITE_BOOL(*options, image_l_click_video);
        WRITE_NL(); WRITE_CHAR(*options, image_l_click_video_editor);
        WRITE_NL(); WRITE_INT(*options, open_recent_list_maxsize);
+       WRITE_NL(); WRITE_INT(*options, recent_folder_image_list_maxsize);
        WRITE_NL(); WRITE_INT(*options, dnd_icon_size);
        WRITE_NL(); WRITE_UINT(*options, dnd_default_action);
        WRITE_NL(); WRITE_BOOL(*options, place_dialogs_under_mouse);
@@ -382,6 +385,7 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_BOOL(*options, image.zoom_to_fit_allow_expand);
        WRITE_NL(); WRITE_UINT(*options, image.zoom_quality);
        WRITE_NL(); WRITE_INT(*options, image.zoom_increment);
+       WRITE_NL(); WRITE_UINT(*options, image.zoom_style);
        WRITE_NL(); WRITE_BOOL(*options, image.fit_window_to_image);
        WRITE_NL(); WRITE_BOOL(*options, image.limit_window_size);
        WRITE_NL(); WRITE_INT(*options, image.max_window_size);
@@ -399,6 +403,7 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_COLOR(*options, image.alpha_color_1);
        WRITE_NL(); WRITE_COLOR(*options, image.alpha_color_2);
        WRITE_NL(); WRITE_BOOL(*options, image.use_clutter_renderer);
+       WRITE_NL(); WRITE_INT(*options, image.tile_size);
 
        /* Thumbnails Options */
        WRITE_NL(); WRITE_INT(*options, thumbnails.max_width);
@@ -485,6 +490,7 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_BOOL(*options, metadata.confirm_on_dir_change);
        WRITE_NL(); WRITE_BOOL(*options, metadata.keywords_case_sensitive);
        WRITE_NL(); WRITE_BOOL(*options, metadata.write_orientation);
+       WRITE_NL(); WRITE_BOOL(*options, metadata.check_spelling);
 
        WRITE_NL(); WRITE_INT(*options, stereo.mode);
        WRITE_NL(); WRITE_INT(*options, stereo.fsmode);
@@ -520,6 +526,10 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_BOOL(*options, printer.show_page_text);
        WRITE_SEPARATOR();
 
+       /* Threads */
+       WRITE_NL(); WRITE_INT(*options, threads.duplicates);
+       WRITE_SEPARATOR();
+
        /* user-definable mouse buttons */
        WRITE_NL(); WRITE_CHAR(*options, mouse_button_8);
        WRITE_NL(); WRITE_CHAR(*options, mouse_button_9);
@@ -820,10 +830,12 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
 
                if (READ_BOOL(*options, mousewheel_scrolls)) continue;
                if (READ_BOOL(*options, image_lm_click_nav)) continue;
+               if (READ_BOOL(*options, image_l_click_archive)) continue;
                if (READ_BOOL(*options, image_l_click_video)) continue;
                if (READ_CHAR(*options, image_l_click_video_editor)) continue;
 
                if (READ_INT(*options, open_recent_list_maxsize)) continue;
+               if (READ_INT(*options, recent_folder_image_list_maxsize)) continue;
                if (READ_INT(*options, dnd_icon_size)) continue;
                if (READ_UINT(*options, dnd_default_action)) continue;
                if (READ_BOOL(*options, place_dialogs_under_mouse)) continue;
@@ -857,6 +869,7 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
 
                /* Image options */
                if (READ_UINT_CLAMP(*options, image.zoom_mode, 0, ZOOM_RESET_NONE)) continue;
+               if (READ_UINT_CLAMP(*options, image.zoom_style, 0, ZOOM_ARITHMETIC)) continue;
                if (READ_BOOL(*options, image.zoom_2pass)) continue;
                if (READ_BOOL(*options, image.zoom_to_fit_allow_expand)) continue;
                if (READ_BOOL(*options, image.fit_window_to_image)) continue;
@@ -878,6 +891,7 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_COLOR(*options, image.alpha_color_1)) continue;
                if (READ_COLOR(*options, image.alpha_color_2)) continue;
                if (READ_BOOL(*options, image.use_clutter_renderer)) continue;
+               if (READ_INT(*options, image.tile_size)) continue;
 
                /* Thumbnails options */
                if (READ_INT_CLAMP(*options, thumbnails.max_width, 16, 512)) continue;
@@ -972,6 +986,7 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_BOOL(*options, metadata.confirm_on_dir_change)) continue;
                if (READ_BOOL(*options, metadata.keywords_case_sensitive)) continue;
                if (READ_BOOL(*options, metadata.write_orientation)) continue;
+               if (READ_BOOL(*options, metadata.check_spelling)) continue;
 
                if (READ_INT(*options, stereo.mode)) continue;
                if (READ_INT(*options, stereo.fsmode)) continue;
@@ -1004,6 +1019,9 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_BOOL(*options, printer.show_image_text)) continue;
                if (READ_BOOL(*options, printer.show_page_text)) continue;
 
+               /* Threads */
+               if (READ_INT(*options, threads.duplicates)) continue;
+
                /* user-definable mouse buttons */
                if (READ_CHAR(*options, mouse_button_8)) continue;
                if (READ_CHAR(*options, mouse_button_9)) continue;
@@ -1421,6 +1439,20 @@ static void options_parse_bar(GQParserData *parser_data, GMarkupParseContext *co
                        }
                options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL);
                }
+       else if (g_ascii_strcasecmp(element_name, "pane_rating") == 0)
+               {
+               GtkWidget *pane = bar_find_pane_by_id(bar, PANE_RATING, options_get_id(attribute_names, attribute_values));
+               if (pane)
+                       {
+                       bar_pane_rating_update_from_config(pane, attribute_names, attribute_values);
+                       }
+               else
+                       {
+                       pane = bar_pane_rating_new_from_config(attribute_names, attribute_values);
+                       bar_add(bar, pane);
+                       }
+               options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL);
+               }
        else if (g_ascii_strcasecmp(element_name, "pane_keywords") == 0)
                {
                GtkWidget *pane = bar_find_pane_by_id(bar, PANE_KEYWORDS, options_get_id(attribute_names, attribute_values));
@@ -1513,7 +1545,7 @@ static void options_parse_layout(GQParserData *parser_data, GMarkupParseContext
                        }
                else
                        {
-                       bar_update_from_config(lw->bar, attribute_names, attribute_values);
+                       bar_update_from_config(lw->bar, attribute_names, attribute_values, lw);
                        }
 
                options_parse_func_push(parser_data, options_parse_bar, NULL, lw->bar);