Remove obsolete prototype.
[geeqie.git] / src / main.h
1 /*
2  * Geeqie
3  * (C) 2006 John Ellis
4  *
5  * Author: John Ellis
6  *
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!
10  */
11
12
13 #ifndef GQVIEW_H
14 #define GQVIEW_H
15
16 #ifdef HAVE_CONFIG_H
17 #  include "config.h"
18 #endif
19
20 #ifdef HAVE_STRVERSCMP
21 #  ifndef _GNU_SOURCE
22 #    define _GNU_SOURCE
23 #  endif
24 #endif
25
26 #include "intl.h"
27
28 /*
29  *-------------------------------------
30  * Standard library includes
31  *-------------------------------------
32  */
33
34 #include <pwd.h>
35 #include <stdio.h>
36 #include <stdlib.h>
37 #include <string.h>
38 #include <time.h>
39 #include <unistd.h>
40 #include <sys/stat.h>
41 #include <sys/time.h>
42 #include <sys/types.h>
43 #include <dirent.h>
44 #include <fcntl.h>
45
46 /*
47  *-------------------------------------
48  * includes for glib / gtk / gdk-pixbuf
49  *-------------------------------------
50  */
51
52 #include <gdk/gdk.h>
53 #include <gtk/gtk.h>
54
55 #include <gdk-pixbuf/gdk-pixbuf.h>
56 #include <gdk-pixbuf/gdk-pixbuf-loader.h>
57
58
59 /*
60  *----------------------------------------------------------------------------
61  * defines
62  *----------------------------------------------------------------------------
63  */
64
65 #define GQ_WMCLASS "geeqie"
66
67 #define GQVIEW_RC_DIR             ".geeqie"
68 #define GQVIEW_RC_DIR_COLLECTIONS GQVIEW_RC_DIR"/collections"
69 #define GQVIEW_RC_DIR_TRASH       GQVIEW_RC_DIR"/trash"
70
71 #define RC_FILE_NAME "geeqierc"
72
73 #define ZOOM_RESET_ORIGINAL 0
74 #define ZOOM_RESET_FIT_WINDOW 1
75 #define ZOOM_RESET_NONE 2
76
77 #define SCROLL_RESET_TOPLEFT 0
78 #define SCROLL_RESET_CENTER 1
79 #define SCROLL_RESET_NOCHANGE 2
80
81 #define MOUSEWHEEL_SCROLL_SIZE 20
82
83 #define GQVIEW_EDITOR_GENERIC_SLOTS 10
84
85 #define COLOR_PROFILE_INPUTS 4
86
87 #define DEFAULT_THUMB_WIDTH     96
88 #define DEFAULT_THUMB_HEIGHT    72
89
90 #if 1 /* set to 0 to disable debugging code and related options */
91 # ifndef DEBUG
92 # define DEBUG 1
93 # endif
94 #endif
95 #ifndef DEBUG
96 # define debug 0
97 #endif
98
99 #include "typedefs.h"
100
101 /*
102  *----------------------------------------------------------------------------
103  * globals
104  *----------------------------------------------------------------------------
105  */
106
107 /*
108  * Since globals are used everywhere,
109  * it is easier to define them here.
110  */
111
112 extern GList *filename_filter;
113
114 /* -- options -- */
115 extern gint main_window_w;
116 extern gint main_window_h;
117 extern gint main_window_x;
118 extern gint main_window_y;
119 extern gint main_window_maximized;
120
121 extern gint float_window_w;
122 extern gint float_window_h;
123 extern gint float_window_x;
124 extern gint float_window_y;
125 extern gint float_window_divider;
126
127 extern gint window_hdivider_pos;
128 extern gint window_vdivider_pos;
129
130 extern gint save_window_positions;
131 extern gint tools_float;
132 extern gint tools_hidden;
133 extern gint toolbar_hidden;
134 extern gint progressive_key_scrolling;
135
136 extern gint startup_path_enable;
137 extern gchar *startup_path;
138 extern gint confirm_delete;
139 extern gint enable_delete_key;
140 extern gint safe_delete_enable;
141 extern gchar *safe_delete_path;
142 extern gint safe_delete_size;
143 extern gint restore_tool;
144 extern gint zoom_mode;
145 extern gint two_pass_zoom;
146 extern gint scroll_reset_method;
147 extern gint fit_window;
148 extern gint limit_window_size;
149 extern gint zoom_to_fit_expands;
150 extern gint max_window_size;
151 extern gint limit_autofit_size;
152 extern gint max_autofit_size;
153 extern gint thumb_max_width;
154 extern gint thumb_max_height;
155 extern gint enable_thumb_caching;
156 extern gint enable_thumb_dirs;
157 extern gint thumbnail_fast;
158 extern gint use_xvpics_thumbnails;
159 extern gint thumbnail_spec_standard;
160 extern gint enable_metadata_dirs;
161 extern gint show_dot_files;
162 extern gint file_filter_disable;
163 extern gchar *editor_name[];
164 extern gchar *editor_command[];
165
166 extern gint thumbnails_enabled;
167 extern SortType file_sort_method;
168 extern gint file_sort_ascending;
169
170 extern gint slideshow_delay;    /* in tenths of a second */
171 extern gint slideshow_random;
172 extern gint slideshow_repeat;
173
174 extern gint mousewheel_scrolls;
175 extern gint enable_in_place_rename;
176
177 extern gint user_specified_window_background;
178 extern GdkColor window_background_color;
179
180 extern gint fullscreen_screen;
181 extern gint fullscreen_clean_flip;
182 extern gint fullscreen_disable_saver;
183 extern gint fullscreen_above;
184 extern gint show_fullscreen_info;
185 extern gchar *fullscreen_info;
186
187 extern gint dupe_custom_threshold;
188
189 #ifdef DEBUG
190 extern gint debug;
191 #endif
192
193 extern gint recent_list_max;
194
195 extern gint collection_rectangular_selection;
196
197 extern gint tile_cache_max;     /* in megabytes */
198 extern gint thumbnail_quality;
199 extern gint zoom_quality;
200 extern gint dither_quality;
201
202 extern gint zoom_increment;     /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */
203
204 extern gint enable_read_ahead;
205
206 extern gint place_dialogs_under_mouse;
207
208 /* layout */
209 extern gchar *layout_order;
210 extern gint layout_style;
211
212 extern gint layout_view_icons;
213 extern gint layout_view_tree;
214
215 extern gint show_icon_names;
216
217 extern gint tree_descend_subdirs;
218
219 extern gint lazy_image_sync;
220 extern gint update_on_time_change;
221 extern gint exif_rotate_enable;
222
223 extern gint color_profile_enabled;
224 extern gint color_profile_input_type;
225 extern gchar *color_profile_input_file[];
226 extern gchar *color_profile_input_name[];
227 extern gint color_profile_screen_type;
228 extern gchar *color_profile_screen_file;
229 extern gint color_profile_use_image;
230
231 /*
232  *----------------------------------------------------------------------------
233  * main.c
234  *----------------------------------------------------------------------------
235  */
236
237 /*
238  * This also doubles as the main.c header.
239  */
240
241 void window_set_icon(GtkWidget *window, const gchar *icon, const gchar *file);
242 gint window_maximized(GtkWidget *window);
243
244 gdouble get_zoom_increment(void);
245
246 void help_window_show(const gchar *key);
247
248 void keyboard_scroll_calc(gint *x, gint *y, GdkEventKey *event);
249 gint key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
250 void exit_program(void);
251
252
253 #endif
254
255
256