Trim trailing white spaces.
[geeqie.git] / src / options.h
index f38a14b..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
  *
@@ -16,213 +16,209 @@ typedef struct _ConfOptions ConfOptions;
 
 struct _ConfOptions
 {
-
        /* ui */
-       gint progressive_key_scrolling;
-       gint place_dialogs_under_mouse;
-       gint mousewheel_scrolls;
-       gint show_icon_names;
-       gint show_copy_path;
+       gboolean progressive_key_scrolling;
+       gboolean place_dialogs_under_mouse;
+       gboolean mousewheel_scrolls;
+       gboolean show_icon_names;
 
        /* various */
-       gint enable_metadata_dirs;
-
-       gint tree_descend_subdirs;
+       gboolean tree_descend_subdirs;
 
-       gint lazy_image_sync;
-       gint update_on_time_change;
+       gboolean lazy_image_sync;
+       gboolean update_on_time_change;
 
-       gint duplicates_similarity_threshold;
+       guint duplicates_similarity_threshold;
 
        gint open_recent_list_maxsize;
        gint dnd_icon_size;
 
-       gint save_metadata_in_image_file;
-
-       struct {
-               gboolean restore_path;
-               gchar *path;
-       } startup;
+       gboolean save_window_positions;
+       gboolean tools_restore_state;
 
        /* file ops */
        struct {
-               gint enable_in_place_rename;
+               gboolean enable_in_place_rename;
 
-               gint confirm_delete;
-               gint enable_delete_key;
-               gint safe_delete_enable;
+               gboolean confirm_delete;
+               gboolean enable_delete_key;
+               gboolean safe_delete_enable;
                gchar *safe_delete_path;
                gint safe_delete_folder_maxsize;
        } file_ops;
 
        /* image */
        struct {
-               gint exif_rotate_enable;
-               gint scroll_reset_method;
-               gint fit_window_to_image;
-               gint limit_window_size;
+               gboolean exif_rotate_enable;
+               gboolean exif_proof_rotate_enable;
+               guint scroll_reset_method;
+               gboolean fit_window_to_image;
+               gboolean limit_window_size;
                gint max_window_size;
-               gint limit_autofit_size;
+               gboolean limit_autofit_size;
                gint max_autofit_size;
 
                gint tile_cache_max;    /* in megabytes */
-               gint dither_quality;
-               gint enable_read_ahead;
+               gint image_cache_max;   /* in megabytes */
+               gboolean enable_read_ahead;
 
-               gint zoom_mode;
-               gint zoom_2pass;
-               gint zoom_to_fit_allow_expand;
-               gint zoom_quality;
+               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 */
        struct {
                gint max_width;
                gint max_height;
-               gint enable_caching;
-               gint cache_into_dirs;
-               gint fast;
-               gint use_xvpics;
-               gint spec_standard;
-               gint quality;
+               gboolean enable_caching;
+               gboolean cache_into_dirs;
+               gboolean use_xvpics;
+               gboolean spec_standard;
+               guint quality;
+               gboolean use_exif;
        } thumbnails;
 
        /* file filtering */
        struct {
-               gint show_hidden_files;
-               gint show_dot_directory;
-               gint disable;
+               gboolean show_hidden_files;
+               gboolean show_dot_directory;
+               gboolean disable;
        } file_filter;
 
+       struct {
+               gchar *ext;
+       } sidecar;
+       
        /* collections */
        struct {
-               gint rectangular_selection;
+               gboolean rectangular_selection;
        } collections;
 
-       /* editors */
-       gchar *editor_name[GQ_EDITOR_SLOTS];
-       gchar *editor_command[GQ_EDITOR_SLOTS];
-
+       /* shell */
+       struct {
+               gchar *path;
+               gchar *options;
+       } shell;
+       
        /* file sorting */
        struct {
                SortType method;
-               gint ascending;
-               gint case_sensitive; /* file sorting method (case) */
+               gboolean ascending;
+               gboolean case_sensitive; /* file sorting method (case) */
        } file_sort;
 
        /* slideshow */
        struct {
                gint delay;     /* in tenths of a second */
-               gint random;
-               gint repeat;
+               gboolean random;
+               gboolean repeat;
        } slideshow;
 
        /* fullscreen */
        struct {
                gint screen;
-               gint clean_flip;
-               gint disable_saver;
-               gint above;
+               gboolean clean_flip;
+               gboolean disable_saver;
+               gboolean above;
        } fullscreen;
 
-       /* histogram */
-       struct {
-               guint last_channel_mode;
-               guint last_log_mode;
-       } histogram;
-       
        /* image overlay */
        struct {
-               struct {
-                       guint enabled;
-                       gint show_at_startup;
-                       gchar *template_string;
-               } common;
+               gchar *template_string;
+               gint x;
+               gint y;
        } image_overlay;
 
-       /* layout */
-       struct {
-               gchar *order;
-               gint style;
-
-               DirViewType dir_view_type;
-               FileViewType file_view_type;
-
-               gint show_thumbnails;
-               gint show_marks;
-
-               struct {
-                       gint w;
-                       gint h;
-                       gint x;
-                       gint y;
-                       gint maximized;
-                       gint hdivider_pos;
-                       gint vdivider_pos;
-               } main_window;
-
-               struct {
-                       gint w;
-                       gint h;
-                       gint x;
-                       gint y;
-                       gint vdivider_pos;
-               } float_window;
-
-               gint save_window_positions;
-
-               gint tools_float;
-               gint tools_hidden;
-               gint tools_restore_state;
-
-               gint toolbar_hidden;
-
-       } layout;
-
-       /* panels */
+       /* properties dialog */
        struct {
-               struct {
-                       gint enabled;
-                       gint width;
-               } info;
-
-               struct {
-                       gint enabled;
-                       gint width;
-               } exif;
-
-               struct {
-                       gint enabled;
-                       gint mode_state;
-                       gint action_state;
-                       gint selection_state;
-               } sort;
-       } panels;
-
+               gchar *tabs_order;
+       } properties;
 
        /* color profiles */
        struct {
-               gint enabled;
+               gboolean enabled;
                gint input_type;
                gchar *input_file[COLOR_PROFILE_INPUTS];
                gchar *input_name[COLOR_PROFILE_INPUTS];
-               gint screen_type;
                gchar *screen_file;
-               gint use_image;
+               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 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: */