7 * This software is released under the GNU General Public License (GNU GPL).
8 * Please read the included file COPYING for more information.
9 * This software comes with no warranty of any kind, use at your own risk!
20 #ifdef HAVE_STRVERSCMP
27 *-------------------------------------
28 * Standard library includes
29 *-------------------------------------
40 #include <sys/types.h>
45 *-------------------------------------
46 * includes for glib / gtk / gdk-pixbuf
47 *-------------------------------------
53 #include <gdk-pixbuf/gdk-pixbuf.h>
54 #include <gdk-pixbuf/gdk-pixbuf-loader.h>
59 *----------------------------------------------------------------------------
61 *----------------------------------------------------------------------------
64 #define GQVIEW_RC_DIR ".gqview"
65 #define GQVIEW_RC_DIR_COLLECTIONS GQVIEW_RC_DIR"/collections"
66 #define GQVIEW_RC_DIR_TRASH GQVIEW_RC_DIR"/trash"
68 #define RC_FILE_NAME "gqviewrc"
70 #define ZOOM_RESET_ORIGINAL 0
71 #define ZOOM_RESET_FIT_WINDOW 1
72 #define ZOOM_RESET_NONE 2
74 #define SCROLL_RESET_TOPLEFT 0
75 #define SCROLL_RESET_CENTER 1
76 #define SCROLL_RESET_NOCHANGE 2
78 #define MOUSEWHEEL_SCROLL_SIZE 20
80 #define GQVIEW_EDITOR_SLOTS 10
83 *----------------------------------------------------------------------------
85 *----------------------------------------------------------------------------
89 * Since globals are used everywhere,
90 * it is easier to define them here.
93 extern GList *filename_filter;
96 extern gint main_window_w;
97 extern gint main_window_h;
98 extern gint main_window_x;
99 extern gint main_window_y;
100 extern gint main_window_maximized;
102 extern gint float_window_w;
103 extern gint float_window_h;
104 extern gint float_window_x;
105 extern gint float_window_y;
106 extern gint float_window_divider;
108 extern gint window_hdivider_pos;
109 extern gint window_vdivider_pos;
111 extern gint save_window_positions;
112 extern gint tools_float;
113 extern gint tools_hidden;
114 extern gint toolbar_hidden;
115 extern gint progressive_key_scrolling;
117 extern gint startup_path_enable;
118 extern gchar *startup_path;
119 extern gint confirm_delete;
120 extern gint enable_delete_key;
121 extern gint safe_delete_enable;
122 extern gchar *safe_delete_path;
123 extern gint safe_delete_size;
124 extern gint restore_tool;
125 extern gint zoom_mode;
126 extern gint two_pass_zoom;
127 extern gint scroll_reset_method;
128 extern gint fit_window;
129 extern gint limit_window_size;
130 extern gint zoom_to_fit_expands;
131 extern gint max_window_size;
132 extern gint thumb_max_width;
133 extern gint thumb_max_height;
134 extern gint enable_thumb_caching;
135 extern gint enable_thumb_dirs;
136 extern gint thumbnail_fast;
137 extern gint use_xvpics_thumbnails;
138 extern gint thumbnail_spec_standard;
139 extern gint enable_metadata_dirs;
140 extern gint show_dot_files;
141 extern gint file_filter_disable;
142 extern gchar *editor_name[];
143 extern gchar *editor_command[];
145 extern gint thumbnails_enabled;
146 extern SortType file_sort_method;
147 extern gint file_sort_ascending;
149 extern gint slideshow_delay; /* in tenths of a second */
150 extern gint slideshow_random;
151 extern gint slideshow_repeat;
153 extern gint mousewheel_scrolls;
154 extern gint enable_in_place_rename;
156 extern gint black_window_background;
158 extern gint fullscreen_screen;
159 extern gint fullscreen_clean_flip;
160 extern gint fullscreen_disable_saver;
161 extern gint fullscreen_above;
163 extern gint dupe_custom_threshold;
167 extern gint recent_list_max;
169 extern gint collection_rectangular_selection;
171 extern gint tile_cache_max; /* in megabytes */
172 extern gint thumbnail_quality;
173 extern gint zoom_quality;
174 extern gint dither_quality;
176 extern gint zoom_increment; /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */
178 extern gint enable_read_ahead;
180 extern gint place_dialogs_under_mouse;
183 extern gchar *layout_order;
184 extern gint layout_style;
186 extern gint layout_view_icons;
187 extern gint layout_view_tree;
189 extern gint show_icon_names;
191 extern gint tree_descend_subdirs;
193 extern gint lazy_image_sync;
194 extern gint update_on_time_change;
195 extern gint exif_rotate_enable;
198 *----------------------------------------------------------------------------
200 *----------------------------------------------------------------------------
204 * This also doubles as the main.c header.
207 void window_set_icon(GtkWidget *window, const gchar *icon, const gchar *file);
208 gint window_maximized(GtkWidget *window);
210 gdouble get_zoom_increment(void);
212 void help_window_show(const gchar *key);
214 void keyboard_scroll_calc(gint *x, gint *y, GdkEventKey *event);
215 gint key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
216 void exit_gqview(void);