Trim trailing white spaces.
[geeqie.git] / src / options.h
index 49dcdc3..63141a1 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik, Laurent Monin
  *
@@ -21,11 +21,8 @@ struct _ConfOptions
        gboolean place_dialogs_under_mouse;
        gboolean mousewheel_scrolls;
        gboolean show_icon_names;
-       gboolean show_copy_path;
 
        /* various */
-       gboolean enable_metadata_dirs;
-
        gboolean tree_descend_subdirs;
 
        gboolean lazy_image_sync;
@@ -36,13 +33,8 @@ struct _ConfOptions
        gint open_recent_list_maxsize;
        gint dnd_icon_size;
 
-       gboolean save_metadata_in_image_file;
-
-       struct {
-               gboolean restore_path;
-               gboolean use_last_path;
-               gchar *path;
-       } startup;
+       gboolean save_window_positions;
+       gboolean tools_restore_state;
 
        /* file ops */
        struct {
@@ -58,6 +50,7 @@ struct _ConfOptions
        /* image */
        struct {
                gboolean exif_rotate_enable;
+               gboolean exif_proof_rotate_enable;
                guint scroll_reset_method;
                gboolean fit_window_to_image;
                gboolean limit_window_size;
@@ -67,20 +60,18 @@ struct _ConfOptions
 
                gint tile_cache_max;    /* in megabytes */
                gint image_cache_max;   /* in megabytes */
-               guint dither_quality;
                gboolean enable_read_ahead;
 
-               gint zoom_mode;
+               ZoomMode zoom_mode;
                gboolean zoom_2pass;
                gboolean zoom_to_fit_allow_expand;
                guint zoom_quality;
                gint zoom_increment;    /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */
+               gboolean use_clutter_renderer;
 
-               gint use_custom_border_color;
+               gboolean use_custom_border_color_in_fullscreen;
+               gboolean use_custom_border_color;
                GdkColor border_color;
-
-               gint read_buffer_size; /* bytes to read from file per read() */
-               gint idle_read_loop_count; /* the number of bytes to read per idle call (define x image.read_buffer_size) */
        } image;
 
        /* thumbnails */
@@ -89,10 +80,10 @@ struct _ConfOptions
                gint max_height;
                gboolean enable_caching;
                gboolean cache_into_dirs;
-               gboolean fast;
                gboolean use_xvpics;
                gboolean spec_standard;
                guint quality;
+               gboolean use_exif;
        } thumbnails;
 
        /* file filtering */
@@ -102,14 +93,15 @@ struct _ConfOptions
                gboolean disable;
        } file_filter;
 
+       struct {
+               gchar *ext;
+       } sidecar;
+       
        /* collections */
        struct {
                gboolean rectangular_selection;
        } collections;
 
-       /* editors */
-       Editor editor[GQ_EDITOR_SLOTS];
-
        /* shell */
        struct {
                gchar *path;
@@ -138,88 +130,13 @@ struct _ConfOptions
                gboolean above;
        } fullscreen;
 
-       /* histogram */
-       struct {
-               guint last_channel_mode;
-               guint last_log_mode;
-       } histogram;
-       
        /* image overlay */
        struct {
-               struct {
-                       guint state;
-                       gboolean show_at_startup;
-                       gchar *template_string;
-                       gint x;
-                       gint y;
-               } common;
+               gchar *template_string;
+               gint x;
+               gint y;
        } image_overlay;
 
-       /* layout */
-       struct {
-               gchar *order;
-               gint style;
-
-               DirViewType dir_view_type;
-               FileViewType file_view_type;
-
-               gboolean show_thumbnails;
-               gboolean show_marks;
-               gboolean show_directory_date;
-
-               struct {
-                       gint w;
-                       gint h;
-                       gint x;
-                       gint y;
-                       gboolean maximized;
-                       gint hdivider_pos;
-                       gint vdivider_pos;
-               } main_window;
-
-               struct {
-                       gint w;
-                       gint h;
-                       gint x;
-                       gint y;
-                       gint vdivider_pos;
-               } float_window;
-
-               struct {
-                       gint w;
-                       gint h;
-               } properties_window;
-
-               gboolean save_window_positions;
-
-               gboolean tools_float;
-               gboolean tools_hidden;
-               gboolean tools_restore_state;
-
-               gboolean toolbar_hidden;
-
-       } layout;
-
-       /* panels */
-       struct {
-               struct {
-                       gboolean enabled;
-                       gint width;
-               } info;
-
-               struct {
-                       gboolean enabled;
-                       gint width;
-               } exif;
-
-               struct {
-                       gboolean enabled;
-                       gint mode_state;
-                       gint action_state;
-                       gint selection_state;
-               } sort;
-       } panels;
-
        /* properties dialog */
        struct {
                gchar *tabs_order;
@@ -231,18 +148,77 @@ struct _ConfOptions
                gint input_type;
                gchar *input_file[COLOR_PROFILE_INPUTS];
                gchar *input_name[COLOR_PROFILE_INPUTS];
-               gint screen_type;
                gchar *screen_file;
                gboolean use_image;
+               gboolean use_x11_screen_profile;
 
        } color_profile;
 
+       /* Helpers programs */
+       struct {
+               struct {
+                       gchar *command_name;
+                       gchar *command_line;
+               } html_browser;
+       } helpers;
+
+       /* Metadata */
+       struct {
+               gboolean enable_metadata_dirs;
+
+               gboolean save_in_image_file;
+               gboolean save_legacy_IPTC;
+               gboolean warn_on_write_problems;
+
+               gboolean save_legacy_format;
+               
+               gboolean sync_grouped_files;
+               
+               gboolean confirm_write;
+               gint confirm_timeout;
+               gboolean confirm_after_timeout;
+               gboolean confirm_on_image_change;
+               gboolean confirm_on_dir_change;
+               gboolean keywords_case_sensitive;
+               gboolean write_orientation;
+       } metadata;
+       
+       /* Stereo */
+       struct {
+               gint mode;;
+               gint fsmode;
+               gboolean enable_fsmode;
+               gint fixed_w, fixed_h;
+               gint fixed_x1, fixed_y1;
+               gint fixed_x2, fixed_y2;
+               struct { /* options in this struct are packed to mode and fsmode entries */
+                       gboolean mirror_right;
+                       gboolean mirror_left;
+                       gboolean flip_right;
+                       gboolean flip_left;
+                       gboolean swap;
+                       gboolean temp_disable;
+                       gboolean fs_mirror_right;
+                       gboolean fs_mirror_left;
+                       gboolean fs_flip_right;
+                       gboolean fs_flip_left;
+                       gboolean fs_swap;
+                       gboolean fs_temp_disable;
+               } tmp;
+       } stereo;
 };
 
 ConfOptions *options;
+CommandLine *command_line;
 
 ConfOptions *init_options(ConfOptions *options);
 void setup_default_options(ConfOptions *options);
-void sync_options_with_current_state(ConfOptions *options);
+void save_options(ConfOptions *options);
+gboolean load_options(ConfOptions *options);
+
+void copy_layout_options(LayoutOptions *dest, const LayoutOptions *src);
+void free_layout_options_content(LayoutOptions *dest);
+LayoutOptions *init_layout_options(LayoutOptions *options);
 
 #endif /* OPTIONS_H */
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */