annotate src/main.h @ 871:3093f50c7181

Merge thumb_loader_save_to_cache() and thumb_loader_mark_failure() into thumb_loader_save_thumbnail(). Most of the code was redundant.
author zas_
date Sun, 29 Jun 2008 15:51:54 +0000
parents a20ff446347e
children ad420f2eb789
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 195
diff changeset
2 * Geeqie
67
f63ecca6c087 Fri Oct 13 05:22:43 2006 John Ellis <johne@verizon.net>
gqview
parents: 14
diff changeset
3 * (C) 2006 John Ellis
475
48c8e49b571c updated copyright in source files
nadvornik
parents: 446
diff changeset
4 * Copyright (C) 2008 The Geeqie Team
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
5 *
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
6 * Author: John Ellis
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
7 *
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
10 * This software comes with no warranty of any kind, use at your own risk!
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
11 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
12
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
13
282
c2cb12def9d6 GQVIEW_H -> MAIN_H
zas_
parents: 281
diff changeset
14 #ifndef MAIN_H
c2cb12def9d6 GQVIEW_H -> MAIN_H
zas_
parents: 281
diff changeset
15 #define MAIN_H
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
16
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
17 #ifdef HAVE_CONFIG_H
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
18 # include "config.h"
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
19 #endif
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
20
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
21 #ifdef HAVE_STRVERSCMP
213
28f2274c9bd0 Fix two minor compilation warnings.
zas_
parents: 209
diff changeset
22 # ifndef _GNU_SOURCE
28f2274c9bd0 Fix two minor compilation warnings.
zas_
parents: 209
diff changeset
23 # define _GNU_SOURCE
28f2274c9bd0 Fix two minor compilation warnings.
zas_
parents: 209
diff changeset
24 # endif
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
25 #endif
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
26
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
27 #include "intl.h"
686
c0dda0ffb931 configure.in was rewritten:
bruclik
parents: 671
diff changeset
28 #include "debug.h"
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
29
671
8268cbe682f1 Include debug.h from main.h since debug macros may be used anywhere in the code.
zas_
parents: 653
diff changeset
30
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
31 /*
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
32 *-------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
33 * Standard library includes
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
34 *-------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
35 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
36
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
37 #include <pwd.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
38 #include <stdio.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
39 #include <stdlib.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
40 #include <string.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
41 #include <time.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
42 #include <unistd.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
43 #include <sys/stat.h>
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
44 #include <sys/time.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
45 #include <sys/types.h>
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
46 #include <dirent.h>
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
47 #include <fcntl.h>
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
48
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
49 /*
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
50 *-------------------------------------
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
51 * includes for glib / gtk / gdk-pixbuf
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
52 *-------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
53 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
54
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
55 #include <gdk/gdk.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
56 #include <gtk/gtk.h>
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
57
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
58 #include <gdk-pixbuf/gdk-pixbuf.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
59 #include <gdk-pixbuf/gdk-pixbuf-loader.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
60
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
61
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
62 /*
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
63 *----------------------------------------------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
64 * defines
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
65 *----------------------------------------------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
66 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
67
288
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
68 #define GQ_APPNAME "Geeqie"
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
69 #define GQ_APPNAME_LC "geeqie"
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
70 #define GQ_WEBSITE "geeqie.sourceforge.net"
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
71 #define GQ_EMAIL_ADDRESS "geeqie-devel@lists.sourceforge.net"
254
9faf34f047b1 Make the wmclass value unique among the code by defining
zas_
parents: 243
diff changeset
72
288
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
73 #define GQ_WMCLASS GQ_APPNAME_LC
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
74
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
75 #define GQ_RC_DIR "." GQ_APPNAME_LC
728
5042236af960 Replace hardcoded "/" by G_DIR_SEPARATOR_S where applicable.
zas_
parents: 686
diff changeset
76 #define GQ_RC_DIR_COLLECTIONS GQ_RC_DIR G_DIR_SEPARATOR_S "collections"
5042236af960 Replace hardcoded "/" by G_DIR_SEPARATOR_S where applicable.
zas_
parents: 686
diff changeset
77 #define GQ_RC_DIR_TRASH GQ_RC_DIR G_DIR_SEPARATOR_S "trash"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
78
743
77ff94c0490a Try to load a system-wide rc file if any, before per-user rc file.
zas_
parents: 737
diff changeset
79 #define GQ_SYSTEM_WIDE_DIR "/etc/" GQ_APPNAME_LC
77ff94c0490a Try to load a system-wide rc file if any, before per-user rc file.
zas_
parents: 737
diff changeset
80
288
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
81 #define RC_FILE_NAME GQ_APPNAME_LC "rc"
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
82
781
2d2cca2bceb0 Replace hardcoded collection filename extension by a macro (GQ_COLLECTION_EXT).
zas_
parents: 767
diff changeset
83 #define GQ_COLLECTION_EXT ".gqv"
2d2cca2bceb0 Replace hardcoded collection filename extension by a macro (GQ_COLLECTION_EXT).
zas_
parents: 767
diff changeset
84
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
85 #define ZOOM_RESET_ORIGINAL 0
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
86 #define ZOOM_RESET_FIT_WINDOW 1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
87 #define ZOOM_RESET_NONE 2
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
88
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
89 #define SCROLL_RESET_TOPLEFT 0
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
90 #define SCROLL_RESET_CENTER 1
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
91 #define SCROLL_RESET_NOCHANGE 2
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
92
4
e149abcda4eb Syncing to 0.8.1
gqview
parents: 3
diff changeset
93 #define MOUSEWHEEL_SCROLL_SIZE 20
e149abcda4eb Syncing to 0.8.1
gqview
parents: 3
diff changeset
94
283
e213fb025621 GQVIEW_* -> GQ_*
zas_
parents: 282
diff changeset
95 #define GQ_EDITOR_GENERIC_SLOTS 10
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
96
737
8a8873e7a552 Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents: 728
diff changeset
97 #define GQ_DEFAULT_SHELL_PATH "/bin/sh"
8a8873e7a552 Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents: 728
diff changeset
98 #define GQ_DEFAULT_SHELL_OPTIONS "-c"
8a8873e7a552 Make shell command and its option rc file options instead of hardcoded strings.
zas_
parents: 728
diff changeset
99
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 91
diff changeset
100 #define COLOR_PROFILE_INPUTS 4
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 91
diff changeset
101
226
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 218
diff changeset
102 #define DEFAULT_THUMB_WIDTH 96
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 218
diff changeset
103 #define DEFAULT_THUMB_HEIGHT 72
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 218
diff changeset
104
413
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
105 #define IMAGE_LOADER_READ_BUFFER_SIZE_DEFAULT 4096
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
106 #define IMAGE_LOADER_READ_BUFFER_SIZE_MIN 512
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
107 #define IMAGE_LOADER_READ_BUFFER_SIZE_MAX 16*1024*1024
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
108
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
109 #define IMAGE_LOADER_IDLE_READ_LOOP_COUNT_DEFAULT 1
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
110 #define IMAGE_LOADER_IDLE_READ_LOOP_COUNT_MIN 1
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
111 #define IMAGE_LOADER_IDLE_READ_LOOP_COUNT_MAX 16
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
112
489
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 475
diff changeset
113 #define PANEL_MIN_WIDTH 64
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 475
diff changeset
114 #define PANEL_DEFAULT_WIDTH 288
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 475
diff changeset
115 #define PANEL_MAX_WIDTH 1200
415
4f7362028062 Add zoom ratio display to OSD in fullscreen mode.
zas_
parents: 413
diff changeset
116
622
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
117 #define DEFAULT_OVERLAY_INFO "%collection:<i>*</i>\\n%" \
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
118 "(%number%/%total%) [%zoom%] <b>%name%</b>\n" \
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 415
diff changeset
119 "%res%|%date%|%size%\n" \
622
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
120 "%formatted.Aperture%|%formatted.ShutterSpeed%|%formatted.ISOSpeedRating:ISO *%|%formatted.FocalLength%|%formatted.ExposureBias:* Ev%\n" \
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
121 "%formatted.Camera:40%|%formatted.Flash%"
495
c7a2471e5c4e Introduce macros to display debug messages.
zas_
parents: 489
diff changeset
122
134
9009856628f7 started implementation of external commands; external Delete should work
nadvornik
parents: 113
diff changeset
123 #include "typedefs.h"
671
8268cbe682f1 Include debug.h from main.h since debug macros may be used anywhere in the code.
zas_
parents: 653
diff changeset
124 #include "debug.h"
508
011a6be611c8 Move options stuff to options.{c,h} and remove globals.c
zas_
parents: 507
diff changeset
125 #include "options.h"
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 91
diff changeset
126
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
127 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
128 *----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
129 * main.c
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
130 *----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
131 */
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
132
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
133 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
134 * This also doubles as the main.c header.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
135 */
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
136
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
137 gdouble get_zoom_increment(void);
767
e73d30e0c896 Make utf8_validate_or_convert() to always allocate a new string.
zas_
parents: 743
diff changeset
138 gchar *utf8_validate_or_convert(const gchar *text);
786
a20ff446347e Compare paths using utf8_collate_key() since paths are utf8-encoded.
zas_
parents: 781
diff changeset
139 gint utf8_compare(const gchar *s1, const gchar *s2, gboolean case_sensitive);
653
e06947d07086 Expand tilde with file: and view: remote parameters.
zas_
parents: 648
diff changeset
140 gchar *expand_tilde(const gchar *filename);
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
141
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
142 void keyboard_scroll_calc(gint *x, gint *y, GdkEventKey *event);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
143 gint key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
648
e34c1002e553 Move some functions from main.[ch] to new window.[ch].
zas_
parents: 645
diff changeset
144
278
04abf5b160eb exit_gqview() renamed to exit_program().
zas_
parents: 254
diff changeset
145 void exit_program(void);
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
146
329
a51242c032ea Rename file sorting options.
zas_
parents: 320
diff changeset
147 #define CASE_SORT(a, b) ( (options->file_sort.case_sensitive) ? strcmp((a), (b)) : strcasecmp((a), (b)) )
319
f9611a6cf0e2 Move file_sort_case_sensitive to ConfOptions.
zas_
parents: 318
diff changeset
148
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
149
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
150 #endif