Ref #160: Replace print dialog by standard GTK dialog
[geeqie.git] / src / options.h
index b44db26..e4da085 100644 (file)
@@ -1,12 +1,21 @@
 /*
- * Geeqie
- * Copyright (C) 2008 - 2012 The Geeqie Team
+ * Copyright (C) 2008 - 2016 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik, Laurent Monin
  *
- * This software is released under the GNU General Public License (GNU GPL).
- * Please read the included file COPYING for more information.
- * This software comes with no warranty of any kind, use at your own risk!
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
 #ifndef OPTIONS_H
@@ -18,32 +27,78 @@ struct _ConfOptions
 {
        /* ui */
        gboolean progressive_key_scrolling;
+       guint keyboard_scroll_step;
        gboolean place_dialogs_under_mouse;
        gboolean mousewheel_scrolls;
+       gboolean image_lm_click_nav;
+       gboolean image_l_click_video;
+       gchar *image_l_click_video_editor;
        gboolean show_icon_names;
+       gboolean show_star_rating;
+       gboolean show_guidelines;
+       gboolean draw_rectangle;
+       gboolean show_predefined_keyword_tree;
 
        /* various */
        gboolean tree_descend_subdirs;
+       gboolean view_dir_list_single_click_enter;
 
        gboolean lazy_image_sync;
        gboolean update_on_time_change;
 
        guint duplicates_similarity_threshold;
+       guint duplicates_match;
+       gboolean duplicates_thumbnails;
+       guint duplicates_select_type;
        gboolean rot_invariant_sim;
+       gboolean sort_totals;
 
        gint open_recent_list_maxsize;
        gint dnd_icon_size;
+       gint clipboard_selection;
 
        gboolean save_window_positions;
+       gboolean use_saved_window_positions_for_new_windows;
        gboolean tools_restore_state;
+       gboolean save_dialog_window_positions;
+       gboolean show_window_ids;
+
+       gint log_window_lines;
+
+       gboolean marks_save;            // save marks on exit
+       gchar *marks_tooltips[FILEDATA_MARKS_SIZE];
+
+       gboolean with_rename;
+       gboolean collections_on_top;
+
+       gchar *help_search_engine;
+
+       /* info sidebar component heights */
+       struct {
+               gint height;
+       } info_comment;
+
+       struct {
+               gint height;
+       } info_keywords;
+
+       struct {
+               gint height;
+       } info_title;
+
+       struct {
+               gint height;
+       } info_rating;
 
        /* file ops */
        struct {
                gboolean enable_in_place_rename;
 
                gboolean confirm_delete;
+               gboolean confirm_move_to_trash;
                gboolean enable_delete_key;
                gboolean safe_delete_enable;
+               gboolean use_system_trash;
                gchar *safe_delete_path;
                gint safe_delete_folder_maxsize;
        } file_ops;
@@ -58,6 +113,7 @@ struct _ConfOptions
                gint max_window_size;
                gboolean limit_autofit_size;
                gint max_autofit_size;
+               gint max_enlargement_size;
 
                gint tile_cache_max;    /* in megabytes */
                gint image_cache_max;   /* in megabytes */
@@ -67,12 +123,14 @@ struct _ConfOptions
                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. */
+               gint zoom_increment;    /* 100 is 1.0, 5 is 0.05, 200 is 2.0, etc. */
                gboolean use_clutter_renderer;
 
                gboolean use_custom_border_color_in_fullscreen;
                gboolean use_custom_border_color;
                GdkColor border_color;
+               GdkColor alpha_color_1;
+               GdkColor alpha_color_2;
        } image;
 
        /* thumbnails */
@@ -85,6 +143,9 @@ struct _ConfOptions
                gboolean spec_standard;
                guint quality;
                gboolean use_exif;
+               gboolean use_ft_metadata;
+               gint collection_preview;
+//             gboolean use_ft_metadata_small;
        } thumbnails;
 
        /* file filtering */
@@ -116,6 +177,7 @@ struct _ConfOptions
                SortType method;
                gboolean ascending;
                gboolean case_sensitive; /* file sorting method (case) */
+               gboolean natural;
        } file_sort;
 
        /* slideshow */
@@ -138,6 +200,15 @@ struct _ConfOptions
                gchar *template_string;
                gint x;
                gint y;
+               guint16 text_red;
+               guint16 text_green;
+               guint16 text_blue;
+               guint16 text_alpha;
+               guint16 background_red;
+               guint16 background_green;
+               guint16 background_blue;
+               guint16 background_alpha;
+               gchar *font;
        } image_overlay;
 
        /* properties dialog */
@@ -154,7 +225,7 @@ struct _ConfOptions
                gchar *screen_file;
                gboolean use_image;
                gboolean use_x11_screen_profile;
-
+               gint render_intent;
        } color_profile;
 
        /* Helpers programs */
@@ -184,6 +255,7 @@ struct _ConfOptions
                gboolean confirm_on_dir_change;
                gboolean keywords_case_sensitive;
                gboolean write_orientation;
+               gboolean sidecar_extended_name;
        } metadata;
 
        /* Stereo */
@@ -209,6 +281,43 @@ struct _ConfOptions
                        gboolean fs_temp_disable;
                } tmp;
        } stereo;
+
+       /* copy move rename */
+       struct {
+               gint auto_start;
+               gchar *auto_end;
+               gint auto_padding;
+               gint formatted_start;
+       } cp_mv_rn;
+
+       /* log window */
+       struct {
+               gboolean paused;
+               gboolean line_wrap;
+               gboolean timer_data;
+       } log_window;
+
+       /* star rating */
+       struct {
+               gunichar star;
+               gunichar rejected;
+       } star_rating;
+
+       /* Printer */
+       struct {
+               gchar *image_font;
+               gchar *page_font;
+               gboolean show_image_text;
+               gboolean show_page_text;
+               gchar *page_text;
+               gint image_text_position;
+               gint page_text_position;
+               gchar *template_string;
+       } printer;
+
+       gboolean read_metadata_in_idle;
+
+       GList *disabled_plugins;
 };
 
 ConfOptions *options;