annotate src/main.h @ 645:b50deb0f9968

Rename bar_exif_validate_text() to utf8_validate_or_convert() and move it to main.[ch].
author zas_
date Mon, 12 May 2008 23:21:35 +0000
parents 54e20abb5c6d
children e34c1002e553
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"
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
28
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
29 /*
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
30 *-------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
31 * Standard library includes
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
32 *-------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
33 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
34
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
35 #include <pwd.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
36 #include <stdio.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
37 #include <stdlib.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
38 #include <string.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
39 #include <time.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
40 #include <unistd.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
41 #include <sys/stat.h>
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
42 #include <sys/time.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
43 #include <sys/types.h>
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
44 #include <dirent.h>
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
45 #include <fcntl.h>
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
46
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
47 /*
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
48 *-------------------------------------
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
49 * includes for glib / gtk / gdk-pixbuf
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
50 *-------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
51 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
52
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
53 #include <gdk/gdk.h>
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
54 #include <gtk/gtk.h>
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
55
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
56 #include <gdk-pixbuf/gdk-pixbuf.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
57 #include <gdk-pixbuf/gdk-pixbuf-loader.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
58
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
59
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
60 /*
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
61 *----------------------------------------------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
62 * defines
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
63 *----------------------------------------------------------------------------
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
64 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
65
288
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
66 #define GQ_APPNAME "Geeqie"
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
67 #define GQ_APPNAME_LC "geeqie"
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
68 #define GQ_WEBSITE "geeqie.sourceforge.net"
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
69 #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
70
288
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
71 #define GQ_WMCLASS GQ_APPNAME_LC
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
72
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
73 #define GQ_RC_DIR "." GQ_APPNAME_LC
283
e213fb025621 GQVIEW_* -> GQ_*
zas_
parents: 282
diff changeset
74 #define GQ_RC_DIR_COLLECTIONS GQ_RC_DIR"/collections"
e213fb025621 GQVIEW_* -> GQ_*
zas_
parents: 282
diff changeset
75 #define GQ_RC_DIR_TRASH GQ_RC_DIR"/trash"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
76
288
d1f74154463e Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents: 283
diff changeset
77 #define RC_FILE_NAME GQ_APPNAME_LC "rc"
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
78
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
79 #define ZOOM_RESET_ORIGINAL 0
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
80 #define ZOOM_RESET_FIT_WINDOW 1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
81 #define ZOOM_RESET_NONE 2
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
82
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
83 #define SCROLL_RESET_TOPLEFT 0
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
84 #define SCROLL_RESET_CENTER 1
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
85 #define SCROLL_RESET_NOCHANGE 2
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
86
4
e149abcda4eb Syncing to 0.8.1
gqview
parents: 3
diff changeset
87 #define MOUSEWHEEL_SCROLL_SIZE 20
e149abcda4eb Syncing to 0.8.1
gqview
parents: 3
diff changeset
88
283
e213fb025621 GQVIEW_* -> GQ_*
zas_
parents: 282
diff changeset
89 #define GQ_EDITOR_GENERIC_SLOTS 10
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
90
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 91
diff changeset
91 #define COLOR_PROFILE_INPUTS 4
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 91
diff changeset
92
226
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 218
diff changeset
93 #define DEFAULT_THUMB_WIDTH 96
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 218
diff changeset
94 #define DEFAULT_THUMB_HEIGHT 72
3c89da4aef95 Fix and simplify thumbnails size combo box related code.
zas_
parents: 218
diff changeset
95
413
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
96 #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
97 #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
98 #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
99
9e521adbf312 Add two new options to control image read buffer at runtime.
zas_
parents: 386
diff changeset
100 #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
101 #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
102 #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
103
489
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 475
diff changeset
104 #define PANEL_MIN_WIDTH 64
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 475
diff changeset
105 #define PANEL_DEFAULT_WIDTH 288
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 475
diff changeset
106 #define PANEL_MAX_WIDTH 1200
415
4f7362028062 Add zoom ratio display to OSD in fullscreen mode.
zas_
parents: 413
diff changeset
107
622
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
108 #define DEFAULT_OVERLAY_INFO "%collection:<i>*</i>\\n%" \
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
109 "(%number%/%total%) [%zoom%] <b>%name%</b>\n" \
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 415
diff changeset
110 "%res%|%date%|%size%\n" \
622
54e20abb5c6d Fix display of collection in overlay info.
zas_
parents: 566
diff changeset
111 "%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
112 "%formatted.Camera:40%|%formatted.Flash%"
495
c7a2471e5c4e Introduce macros to display debug messages.
zas_
parents: 489
diff changeset
113
134
9009856628f7 started implementation of external commands; external Delete should work
nadvornik
parents: 113
diff changeset
114 #include "typedefs.h"
508
011a6be611c8 Move options stuff to options.{c,h} and remove globals.c
zas_
parents: 507
diff changeset
115 #include "options.h"
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 91
diff changeset
116
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
117 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
118 *----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
119 * main.c
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
120 *----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
121 */
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
122
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
123 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
124 * This also doubles as the main.c header.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
125 */
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
126
289
6a7298988a7a Simplify and unify gtk_window creation with the help of
zas_
parents: 288
diff changeset
127 GtkWidget *window_new(GtkWindowType type, const gchar *name, const gchar *icon,
6a7298988a7a Simplify and unify gtk_window creation with the help of
zas_
parents: 288
diff changeset
128 const gchar *icon_file, const gchar *subtitle);
91
d063f97503b7 Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents: 67
diff changeset
129 void window_set_icon(GtkWidget *window, const gchar *icon, const gchar *file);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
130 gint window_maximized(GtkWidget *window);
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
131
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
132 gdouble get_zoom_increment(void);
645
b50deb0f9968 Rename bar_exif_validate_text() to utf8_validate_or_convert() and move it to main.[ch].
zas_
parents: 622
diff changeset
133 gchar *utf8_validate_or_convert(gchar *text);
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
134
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
135 void help_window_show(const gchar *key);
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
136
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
137 void keyboard_scroll_calc(gint *x, gint *y, GdkEventKey *event);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
138 gint key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
278
04abf5b160eb exit_gqview() renamed to exit_program().
zas_
parents: 254
diff changeset
139 void exit_program(void);
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
140
329
a51242c032ea Rename file sorting options.
zas_
parents: 320
diff changeset
141 #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
142
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
143
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 4
diff changeset
144 #endif