Those stereo image options are of type int, not uint, use appropriate macros.
[geeqie.git] / src / rcfile.c
index cde5de8..39e6e58 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -74,6 +74,15 @@ void write_char_option(GString *str, gint indent, const gchar *label, const gcha
        g_free(escval1);
 }
 
+/* dummy read for old/obsolete/futur/deprecated/unused options */
+gboolean read_dummy_option(const gchar *option, const gchar *label, const gchar *message)
+{
+       if (g_ascii_strcasecmp(option, label) != 0) return FALSE;
+       log_printf(_("Option %s ignored: %s\n"), option, message);
+       return TRUE;
+}
+
+
 gboolean read_char_option(const gchar *option, const gchar *label, const gchar *value, gchar **text)
 {
        if (g_ascii_strcasecmp(option, label) != 0) return FALSE;
@@ -326,11 +335,12 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_UINT(*options, image.scroll_reset_method);
        WRITE_NL(); WRITE_INT(*options, image.tile_cache_max);
        WRITE_NL(); WRITE_INT(*options, image.image_cache_max);
-       WRITE_NL(); WRITE_UINT(*options, image.dither_quality);
        WRITE_NL(); WRITE_BOOL(*options, image.enable_read_ahead);
        WRITE_NL(); WRITE_BOOL(*options, image.exif_rotate_enable);
        WRITE_NL(); WRITE_BOOL(*options, image.use_custom_border_color);
+       WRITE_NL(); WRITE_BOOL(*options, image.use_custom_border_color_in_fullscreen);
        WRITE_NL(); WRITE_COLOR(*options, image.border_color);
+       WRITE_NL(); WRITE_BOOL(*options, image.use_clutter_renderer);
 
 //     WRITE_SUBTITLE("Thumbnails Options");
 
@@ -441,6 +451,15 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_BOOL(*options, metadata.keywords_case_sensitive);
        WRITE_NL(); WRITE_BOOL(*options, metadata.write_orientation);
 
+       WRITE_NL(); WRITE_INT(*options, stereo.mode);
+       WRITE_NL(); WRITE_INT(*options, stereo.fsmode);
+       WRITE_NL(); WRITE_BOOL(*options, stereo.enable_fsmode);
+       WRITE_NL(); WRITE_INT(*options, stereo.fixed_w);
+       WRITE_NL(); WRITE_INT(*options, stereo.fixed_h);
+       WRITE_NL(); WRITE_INT(*options, stereo.fixed_x1);
+       WRITE_NL(); WRITE_INT(*options, stereo.fixed_y1);
+       WRITE_NL(); WRITE_INT(*options, stereo.fixed_x2);
+       WRITE_NL(); WRITE_INT(*options, stereo.fixed_y2);
 }
 
 static void write_color_profile(GString *outstr, gint indent)
@@ -608,12 +627,13 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_INT(*options, image.tile_cache_max)) continue;
                if (READ_INT(*options, image.image_cache_max)) continue;
                if (READ_UINT_CLAMP(*options, image.zoom_quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER)) continue;
-               if (READ_UINT_CLAMP(*options, image.dither_quality, GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX)) continue;
                if (READ_INT(*options, image.zoom_increment)) continue;
                if (READ_BOOL(*options, image.enable_read_ahead)) continue;
                if (READ_BOOL(*options, image.exif_rotate_enable)) continue;
                if (READ_BOOL(*options, image.use_custom_border_color)) continue;
+               if (READ_BOOL(*options, image.use_custom_border_color_in_fullscreen)) continue;
                if (READ_COLOR(*options, image.border_color)) continue;
+               if (READ_BOOL(*options, image.use_clutter_renderer)) continue;
 
                /* thumbnails options */
                if (READ_INT_CLAMP(*options, thumbnails.max_width, 16, 512)) continue;
@@ -701,6 +721,20 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_BOOL(*options, metadata.keywords_case_sensitive)) continue;
                if (READ_BOOL(*options, metadata.write_orientation)) continue;
 
+               if (READ_INT(*options, stereo.mode)) continue;
+               if (READ_INT(*options, stereo.fsmode)) continue;
+               if (READ_BOOL(*options, stereo.enable_fsmode)) continue;
+               if (READ_INT(*options, stereo.fixed_w)) continue;
+               if (READ_INT(*options, stereo.fixed_h)) continue;
+               if (READ_INT(*options, stereo.fixed_x1)) continue;
+               if (READ_INT(*options, stereo.fixed_y1)) continue;
+               if (READ_INT(*options, stereo.fixed_x2)) continue;
+               if (READ_INT(*options, stereo.fixed_y2)) continue;
+
+               /* dummy options */
+               if (READ_DUMMY(*options, image.dither_quality, "deprecated since 2012-08-13")) continue;
+
+               /* unknown options */
                log_printf("unknown attribute %s = %s\n", option, value);
                }
 
@@ -875,8 +909,13 @@ static void options_parse_global(GQParserData *parser_data, GMarkupParseContext
 
 static void options_parse_global_end(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, gpointer data, GError **error)
 {
-       /* on startup there are no layout windows and this just loads the editors */
-       layout_editors_reload_all();
+#ifndef HAVE_EXIV2
+       /* some options do not work without exiv2 */
+       options->metadata.save_in_image_file = FALSE;
+       options->metadata.save_legacy_format = TRUE;
+       options->metadata.write_orientation = FALSE;
+       DEBUG_1("compiled without Exiv2 - disabling XMP write support");
+#endif
 }
 
 static void options_parse_pane_exif(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error)
@@ -1154,7 +1193,7 @@ static void start_element(GMarkupParseContext *context,
 {
        GQParserData *parser_data = user_data;
        GQParserFuncData *func = parser_data->parse_func_stack->data; 
-       DEBUG_1("start %s", element_name);
+       DEBUG_2("start %s", element_name);
        
        if (func->start_func)
                func->start_func(parser_data, context, element_name, attribute_names, attribute_values, func->data, error);
@@ -1167,7 +1206,7 @@ static void end_element(GMarkupParseContext *context,
 {
        GQParserData *parser_data = user_data;
        GQParserFuncData *func = parser_data->parse_func_stack->data; 
-       DEBUG_1("end %s", element_name);
+       DEBUG_2("end %s", element_name);
 
        if (func->end_func)
                func->end_func(parser_data, context, element_name, func->data, error);