Mercurial > geeqie
annotate src/pan-view.c @ 458:7a69309b91c8
Allow the user to set the drag'n drop icon size through
Preferences > Advanced > Behavior > Drag'n drop icon size.
It is saved to rc file as dnd_icon_size.
author | zas_ |
---|---|
date | Mon, 21 Apr 2008 10:09:01 +0000 |
parents | 115db540bd0c |
children | 48c8e49b571c |
rev | line source |
---|---|
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1 /* |
196 | 2 * Geeqie |
67
f63ecca6c087
Fri Oct 13 05:22:43 2006 John Ellis <johne@verizon.net>
gqview
parents:
64
diff
changeset
|
3 * (C) 2006 John Ellis |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4 * |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
5 * Author: John Ellis |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
6 * |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
7 * This software is released under the GNU General Public License (GNU GPL). |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
8 * Please read the included file COPYING for more information. |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
9 * This software comes with no warranty of any kind, use at your own risk! |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
10 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
11 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
12 |
281 | 13 #include "main.h" |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
14 #include "pan-view.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
15 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
16 #include "pan-types.h" |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
17 #include "bar_exif.h" |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
18 #include "dnd.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
19 #include "editors.h" |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
20 #include "exif.h" |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
21 #include "fullscreen.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
22 #include "img-view.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
23 #include "info.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
24 #include "menu.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
25 #include "thumb.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
26 #include "utilops.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
27 #include "ui_bookmark.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
28 #include "ui_fileops.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
29 #include "ui_menu.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
30 #include "ui_tabcomp.h" |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
31 #include "ui_utildlg.h" |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
32 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
33 #include <gdk/gdkkeysyms.h> /* for keyboard values */ |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
34 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
35 #include <math.h> |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
36 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
37 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
38 #define PAN_WINDOW_DEFAULT_WIDTH 720 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
39 #define PAN_WINDOW_DEFAULT_HEIGHT 500 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
40 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
41 #define PAN_TILE_SIZE 512 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
42 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
43 #define ZOOM_INCREMENT 1.0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
44 #define ZOOM_LABEL_WIDTH 64 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
45 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
46 |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
47 #define PAN_PREF_GROUP "pan_view_options" |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
48 #define PAN_PREF_HIDE_WARNING "hide_performance_warning" |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
49 #define PAN_PREF_EXIF_PAN_DATE "use_exif_date" |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
50 #define PAN_PREF_INFO_IMAGE "info_image_size" |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
51 #define PAN_PREF_INFO_EXIF "info_includes_exif" |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
52 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
53 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
54 static GList *pan_window_list = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
55 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
56 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
57 static void pan_layout_update_idle(PanWindow *pw); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
58 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
59 static void pan_fullscreen_toggle(PanWindow *pw, gint force_off); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
60 |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
61 static void pan_search_toggle_visible(PanWindow *pw, gint enable); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
62 static void pan_search_activate(PanWindow *pw); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
63 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
64 static void pan_window_close(PanWindow *pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
65 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
66 static GtkWidget *pan_popup_menu(PanWindow *pw); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
67 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
68 static void pan_window_dnd_init(PanWindow *pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
69 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
70 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
71 /* |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
72 *----------------------------------------------------------------------------- |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
73 * the image/thumb loader queue |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
74 *----------------------------------------------------------------------------- |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
75 */ |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
76 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
77 static gint pan_queue_step(PanWindow *pw); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
78 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
79 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
80 static void pan_queue_thumb_done_cb(ThumbLoader *tl, gpointer data) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
81 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
82 PanWindow *pw = data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
83 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
84 if (pw->queue_pi) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
85 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
86 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
87 gint rc; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
88 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
89 pi = pw->queue_pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
90 pw->queue_pi = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
91 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
92 pi->queued = FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
93 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
94 if (pi->pixbuf) g_object_unref(pi->pixbuf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
95 pi->pixbuf = thumb_loader_get_pixbuf(tl, TRUE); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
96 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
97 rc = pi->refcount; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
98 image_area_changed(pw->imd, pi->x, pi->y, pi->width, pi->height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
99 pi->refcount = rc; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
100 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
101 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
102 thumb_loader_free(pw->tl); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
103 pw->tl = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
104 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
105 while (pan_queue_step(pw)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
106 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
107 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
108 static void pan_queue_image_done_cb(ImageLoader *il, gpointer data) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
109 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
110 PanWindow *pw = data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
111 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
112 if (pw->queue_pi) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
113 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
114 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
115 gint rc; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
116 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
117 pi = pw->queue_pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
118 pw->queue_pi = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
119 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
120 pi->queued = FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
121 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
122 if (pi->pixbuf) g_object_unref(pi->pixbuf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
123 pi->pixbuf = image_loader_get_pixbuf(pw->il); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
124 if (pi->pixbuf) g_object_ref(pi->pixbuf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
125 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
126 if (pi->pixbuf && pw->size != PAN_IMAGE_SIZE_100 && |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
127 (gdk_pixbuf_get_width(pi->pixbuf) > pi->width || |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
128 gdk_pixbuf_get_height(pi->pixbuf) > pi->height)) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
129 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
130 GdkPixbuf *tmp; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
131 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
132 tmp = pi->pixbuf; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
133 pi->pixbuf = gdk_pixbuf_scale_simple(tmp, pi->width, pi->height, |
334 | 134 (GdkInterpType)options->image.zoom_quality); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
135 g_object_unref(tmp); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
136 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
137 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
138 rc = pi->refcount; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
139 image_area_changed(pw->imd, pi->x, pi->y, pi->width, pi->height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
140 pi->refcount = rc; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
141 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
142 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
143 image_loader_free(pw->il); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
144 pw->il = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
145 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
146 while (pan_queue_step(pw)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
147 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
148 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
149 #if 0 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
150 static void pan_queue_image_area_cb(ImageLoader *il, guint x, guint y, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
151 guint width, guint height, gpointer data) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
152 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
153 PanWindow *pw = data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
154 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
155 if (pw->queue_pi) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
156 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
157 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
158 gint rc; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
159 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
160 pi = pw->queue_pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
161 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
162 if (!pi->pixbuf) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
163 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
164 pi->pixbuf = image_loader_get_pixbuf(pw->il); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
165 if (pi->pixbuf) g_object_ref(pi->pixbuf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
166 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
167 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
168 rc = pi->refcount; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
169 image_area_changed(pw->imd, pi->x + x, pi->y + y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
170 pi->refcount = rc; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
171 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
172 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
173 #endif |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
174 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
175 static gint pan_queue_step(PanWindow *pw) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
176 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
177 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
178 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
179 if (!pw->queue) return FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
180 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
181 pi = pw->queue->data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
182 pw->queue = g_list_remove(pw->queue, pi); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
183 pw->queue_pi = pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
184 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
185 if (!pw->queue_pi->fd) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
186 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
187 pw->queue_pi->queued = FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
188 pw->queue_pi = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
189 return TRUE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
190 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
191 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
192 image_loader_free(pw->il); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
193 pw->il = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
194 thumb_loader_free(pw->tl); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
195 pw->tl = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
196 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
197 if (pi->type == PAN_ITEM_IMAGE) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
198 { |
138 | 199 pw->il = image_loader_new(pi->fd); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
200 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
201 if (pw->size != PAN_IMAGE_SIZE_100) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
202 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
203 image_loader_set_requested_size(pw->il, pi->width, pi->height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
204 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
205 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
206 #if 0 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
207 image_loader_set_area_ready_func(pw->il, pan_queue_image_area_cb, pw); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
208 #endif |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
209 image_loader_set_error_func(pw->il, pan_queue_image_done_cb, pw); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
210 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
211 if (image_loader_start(pw->il, pan_queue_image_done_cb, pw)) return FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
212 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
213 image_loader_free(pw->il); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
214 pw->il = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
215 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
216 else if (pi->type == PAN_ITEM_THUMB) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
217 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
218 pw->tl = thumb_loader_new(PAN_THUMB_SIZE, PAN_THUMB_SIZE); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
219 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
220 if (!pw->tl->standard_loader) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
221 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
222 /* The classic loader will recreate a thumbnail any time we |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
223 * request a different size than what exists. This view will |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
224 * almost never use the user configured sizes so disable cache. |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
225 */ |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
226 thumb_loader_set_cache(pw->tl, FALSE, FALSE, FALSE); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
227 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
228 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
229 thumb_loader_set_callbacks(pw->tl, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
230 pan_queue_thumb_done_cb, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
231 pan_queue_thumb_done_cb, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
232 NULL, pw); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
233 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
234 if (thumb_loader_start(pw->tl, pi->fd->path)) return FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
235 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
236 thumb_loader_free(pw->tl); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
237 pw->tl = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
238 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
239 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
240 pw->queue_pi->queued = FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
241 pw->queue_pi = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
242 return TRUE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
243 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
244 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
245 static void pan_queue_add(PanWindow *pw, PanItem *pi) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
246 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
247 if (!pi || pi->queued || pi->pixbuf) return; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
248 if (pw->size <= PAN_IMAGE_SIZE_THUMB_NONE && |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
249 (!pi->key || strcmp(pi->key, "info") != 0) ) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
250 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
251 return; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
252 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
253 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
254 pi->queued = TRUE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
255 pw->queue = g_list_prepend(pw->queue, pi); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
256 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
257 if (!pw->tl && !pw->il) while(pan_queue_step(pw)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
258 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
259 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
260 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
261 /* |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
262 *----------------------------------------------------------------------------- |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
263 * tile request/dispose handlers |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
264 *----------------------------------------------------------------------------- |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
265 */ |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
266 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
267 static gint pan_window_request_tile_cb(PixbufRenderer *pr, gint x, gint y, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
268 gint width, gint height, GdkPixbuf *pixbuf, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
269 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
270 PanWindow *pw = data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
271 GList *list; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
272 GList *work; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
273 gint i; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
274 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
275 pixbuf_set_rect_fill(pixbuf, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
276 0, 0, width, height, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
277 PAN_BACKGROUND_COLOR, 255); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
278 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
279 for (i = (x / PAN_GRID_SIZE) * PAN_GRID_SIZE; i < x + width; i += PAN_GRID_SIZE) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
280 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
281 gint rx, ry, rw, rh; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
282 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
283 if (util_clip_region(x, y, width, height, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
284 i, y, 1, height, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
285 &rx, &ry, &rw, &rh)) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
286 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
287 pixbuf_draw_rect_fill(pixbuf, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
288 rx - x, ry - y, rw, rh, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
289 PAN_GRID_COLOR, PAN_GRID_ALPHA); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
290 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
291 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
292 for (i = (y / PAN_GRID_SIZE) * PAN_GRID_SIZE; i < y + height; i += PAN_GRID_SIZE) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
293 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
294 gint rx, ry, rw, rh; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
295 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
296 if (util_clip_region(x, y, width, height, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
297 x, i, width, 1, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
298 &rx, &ry, &rw, &rh)) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
299 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
300 pixbuf_draw_rect_fill(pixbuf, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
301 rx - x, ry - y, rw, rh, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
302 PAN_GRID_COLOR, PAN_GRID_ALPHA); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
303 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
304 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
305 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
306 list = pan_layout_intersect(pw, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
307 work = list; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
308 while (work) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
309 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
310 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
311 gint queue = FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
312 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
313 pi = work->data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
314 work = work->next; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
315 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
316 pi->refcount++; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
317 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
318 switch (pi->type) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
319 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
320 case PAN_ITEM_BOX: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
321 queue = pan_item_box_draw(pw, pi, pixbuf, pr, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
322 break; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
323 case PAN_ITEM_TRIANGLE: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
324 queue = pan_item_tri_draw(pw, pi, pixbuf, pr, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
325 break; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
326 case PAN_ITEM_TEXT: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
327 queue = pan_item_text_draw(pw, pi, pixbuf, pr, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
328 break; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
329 case PAN_ITEM_THUMB: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
330 queue = pan_item_thumb_draw(pw, pi, pixbuf, pr, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
331 break; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
332 case PAN_ITEM_IMAGE: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
333 queue = pan_item_image_draw(pw, pi, pixbuf, pr, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
334 break; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
335 case PAN_ITEM_NONE: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
336 default: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
337 break; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
338 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
339 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
340 if (queue) pan_queue_add(pw, pi); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
341 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
342 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
343 g_list_free(list); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
344 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
345 #if 0 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
346 if (x%512 == 0 && y%512 == 0) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
347 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
348 PangoLayout *layout; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
349 gchar *buf; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
350 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
351 layout = gtk_widget_create_pango_layout((GtkWidget *)pr, NULL); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
352 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
353 buf = g_strdup_printf("%d,%d\n(#%d)", x, y, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
354 (x / pr->source_tile_width) + |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
355 (y / pr->source_tile_height * (pr->image_width/pr->source_tile_width + 1))); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
356 pango_layout_set_text(layout, buf, -1); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
357 g_free(buf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
358 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
359 pixbuf_draw_layout(pixbuf, layout, (GtkWidget *)pr, 0, 0, 0, 0, 0, 255); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
360 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
361 g_object_unref(G_OBJECT(layout)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
362 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
363 #endif |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
364 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
365 return TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
366 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
367 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
368 static void pan_window_dispose_tile_cb(PixbufRenderer *pr, gint x, gint y, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
369 gint width, gint height, GdkPixbuf *pixbuf, gpointer data) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
370 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
371 PanWindow *pw = data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
372 GList *list; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
373 GList *work; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
374 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
375 list = pan_layout_intersect(pw, x, y, width, height); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
376 work = list; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
377 while (work) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
378 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
379 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
380 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
381 pi = work->data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
382 work = work->next; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
383 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
384 if (pi->refcount > 0) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
385 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
386 pi->refcount--; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
387 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
388 if (pi->refcount == 0) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
389 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
390 if (pi->queued) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
391 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
392 pw->queue = g_list_remove(pw->queue, pi); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
393 pi->queued = FALSE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
394 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
395 if (pw->queue_pi == pi) pw->queue_pi = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
396 if (pi->pixbuf) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
397 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
398 g_object_unref(pi->pixbuf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
399 pi->pixbuf = NULL; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
400 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
401 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
402 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
403 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
404 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
405 g_list_free(list); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
406 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
407 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
408 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
409 /* |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
410 *----------------------------------------------------------------------------- |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
411 * misc |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
412 *----------------------------------------------------------------------------- |
442 | 413 */ |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
414 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
415 static void pan_window_message(PanWindow *pw, const gchar *text) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
416 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
417 GList *work; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
418 gint count = 0; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
419 gint64 size = 0; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
420 gchar *ss; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
421 gchar *buf; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
422 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
423 if (text) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
424 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
425 gtk_label_set_text(GTK_LABEL(pw->label_message), text); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
426 return; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
427 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
428 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
429 work = pw->list_static; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
430 if (pw->layout == PAN_LAYOUT_CALENDAR) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
431 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
432 while (work) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
433 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
434 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
435 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
436 pi = work->data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
437 work = work->next; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
438 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
439 if (pi->fd && |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
440 pi->type == PAN_ITEM_BOX && |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
441 pi->key && strcmp(pi->key, "dot") == 0) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
442 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
443 size += pi->fd->size; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
444 count++; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
445 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
446 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
447 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
448 else |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
449 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
450 while (work) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
451 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
452 PanItem *pi; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
453 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
454 pi = work->data; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
455 work = work->next; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
456 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
457 if (pi->fd && |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
458 (pi->type == PAN_ITEM_THUMB || pi->type == PAN_ITEM_IMAGE)) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
459 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
460 size += pi->fd->size; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
461 count++; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
462 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
463 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
464 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
465 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
466 ss = text_from_size_abrev(size); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
467 buf = g_strdup_printf(_("%d images, %s"), count, ss); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
468 g_free(ss); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
469 gtk_label_set_text(GTK_LABEL(pw->label_message), buf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
470 g_free(buf); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
471 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
472 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
473 static void pan_warning_folder(const gchar *path, GtkWidget *parent) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
474 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
475 gchar *message; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
476 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
477 message = g_strdup_printf(_("The pan view does not support the folder \"%s\"."), path); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
478 warning_dialog(_("Folder not supported"), message, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
479 GTK_STOCK_DIALOG_INFO, parent); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
480 g_free(message); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
481 } |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
482 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
483 static void pan_window_zoom_limit(PanWindow *pw) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
484 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
485 gdouble min; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
486 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
487 switch (pw->size) |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
488 { |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
489 case PAN_IMAGE_SIZE_THUMB_DOTS: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
490 case PAN_IMAGE_SIZE_THUMB_NONE: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
491 case PAN_IMAGE_SIZE_THUMB_SMALL: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
492 case PAN_IMAGE_SIZE_THUMB_NORMAL: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
493 #if 0 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
494 /* easily requires > 512mb ram when window size > 1024x768 and zoom is <= -8 */ |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
495 min = -16.0; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
496 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
497 #endif |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
498 case PAN_IMAGE_SIZE_THUMB_LARGE: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
499 min = -6.0; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
500 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
501 case PAN_IMAGE_SIZE_10: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
502 case PAN_IMAGE_SIZE_25: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
503 min = -4.0; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
504 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
505 case PAN_IMAGE_SIZE_33: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
506 case PAN_IMAGE_SIZE_50: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
507 case PAN_IMAGE_SIZE_100: |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
508 default: |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
509 min = -2.0; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
510 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
511 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
512 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
513 image_zoom_set_limits(pw->imd, min, 32.0); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
514 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
515 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
516 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
517 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
518 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
519 * cache |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
520 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
521 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
522 |
138 | 523 static gint pan_cache_sort_file_cb(void *a, void *b) |
524 { | |
525 PanCacheData *pca = a; | |
526 PanCacheData *pcb = b; | |
527 return filelist_sort_compare_filedata(pca->fd, pcb->fd); | |
528 } | |
529 GList *pan_cache_sort(GList *list, SortType method, gint ascend) | |
530 { | |
531 return filelist_sort_full(list, method, ascend, (GCompareFunc) pan_cache_sort_file_cb); | |
532 } | |
533 | |
534 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
535 static void pan_cache_free(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
536 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
537 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
538 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
539 work = pw->cache_list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
540 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
541 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
542 PanCacheData *pc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
543 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
544 pc = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
545 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
546 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
547 cache_sim_data_free(pc->cd); |
138 | 548 file_data_unref(pc->fd); |
549 g_free(pc); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
550 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
551 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
552 g_list_free(pw->cache_list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
553 pw->cache_list = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
554 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
555 filelist_free(pw->cache_todo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
556 pw->cache_todo = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
557 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
558 pw->cache_count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
559 pw->cache_total = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
560 pw->cache_tick = 0; |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
561 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
562 cache_loader_free(pw->cache_cl); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
563 pw->cache_cl = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
564 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
565 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
566 static void pan_cache_fill(PanWindow *pw, const gchar *path) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
567 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
568 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
569 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
570 pan_cache_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
571 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
572 list = pan_list_tree(path, SORT_NAME, TRUE, pw->ignore_symlinks); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
573 pw->cache_todo = g_list_reverse(list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
574 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
575 pw->cache_total = g_list_length(pw->cache_todo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
576 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
577 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
578 static void pan_cache_step_done_cb(CacheLoader *cl, gint error, gpointer data) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
579 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
580 PanWindow *pw = data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
581 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
582 if (pw->cache_list) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
583 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
584 PanCacheData *pc; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
585 pc = pw->cache_list->data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
586 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
587 if (!pc->cd) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
588 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
589 pc->cd = cl->cd; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
590 cl->cd = NULL; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
591 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
592 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
593 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
594 cache_loader_free(cl); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
595 pw->cache_cl = NULL; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
596 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
597 pan_layout_update_idle(pw); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
598 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
599 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
600 static gint pan_cache_step(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
601 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
602 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
603 PanCacheData *pc; |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
604 CacheDataType load_mask; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
605 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
606 if (!pw->cache_todo) return TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
607 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
608 fd = pw->cache_todo->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
609 pw->cache_todo = g_list_remove(pw->cache_todo, fd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
610 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
611 #if 0 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
612 if (enable_thumb_caching) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
613 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
614 gchar *found; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
615 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
616 found = cache_find_location(CACHE_TYPE_SIM, fd->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
617 if (found && filetime(found) == fd->date) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
618 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
619 cd = cache_sim_data_load(found); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
620 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
621 g_free(found); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
622 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
623 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
624 if (!cd) cd = cache_sim_data_new(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
625 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
626 if (!cd->dimensions) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
627 { |
138 | 628 cd->dimensions = image_load_dimensions(fd, &cd->width, &cd->height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
629 if (enable_thumb_caching && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
630 cd->dimensions) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
631 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
632 gchar *base; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
633 mode_t mode = 0755; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
634 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
635 base = cache_get_location(CACHE_TYPE_SIM, fd->path, FALSE, &mode); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
636 if (cache_ensure_dir_exists(base, mode)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
637 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
638 g_free(cd->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
639 cd->path = cache_get_location(CACHE_TYPE_SIM, fd->path, TRUE, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
640 if (cache_sim_data_save(cd)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
641 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
642 filetime_set(cd->path, filetime(fd->path)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
643 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
644 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
645 g_free(base); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
646 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
647 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
648 pw->cache_tick = 9; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
649 } |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
650 #endif |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
651 pc = g_new0(PanCacheData, 1); |
138 | 652 pc->fd = file_data_ref(fd); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
653 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
654 pc->cd = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
655 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
656 pw->cache_list = g_list_prepend(pw->cache_list, pc); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
657 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
658 cache_loader_free(pw->cache_cl); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
659 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
660 load_mask = CACHE_LOADER_NONE; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
661 if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) load_mask |= CACHE_LOADER_DIMENSIONS; |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
662 if (pw->exif_date_enable) load_mask |= CACHE_LOADER_DATE; |
138 | 663 pw->cache_cl = cache_loader_new(pc->fd, load_mask, |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
664 pan_cache_step_done_cb, pw); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
665 return (pw->cache_cl == NULL); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
666 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
667 |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
668 /* This sync date function is optimized for lists with a common sort */ |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
669 void pan_cache_sync_date(PanWindow *pw, GList *list) |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
670 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
671 GList *haystack; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
672 GList *work; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
673 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
674 haystack = g_list_copy(pw->cache_list); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
675 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
676 work = list; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
677 while (work) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
678 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
679 FileData *fd; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
680 GList *needle; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
681 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
682 fd = work->data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
683 work = work->next; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
684 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
685 needle = haystack; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
686 while (needle) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
687 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
688 PanCacheData *pc; |
442 | 689 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
690 pc = needle->data; |
138 | 691 if (pc->fd == fd) |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
692 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
693 if (pc->cd && pc->cd->have_date && pc->cd->date >= 0) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
694 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
695 fd->date = pc->cd->date; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
696 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
697 |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
698 haystack = g_list_delete_link(haystack, needle); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
699 needle = NULL; |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
700 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
701 else |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
702 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
703 needle = needle->next; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
704 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
705 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
706 } |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
707 |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
708 g_list_free(haystack); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
709 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
710 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
711 /* |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
712 *----------------------------------------------------------------------------- |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
713 * item grid |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
714 *----------------------------------------------------------------------------- |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
715 */ |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
716 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
717 static void pan_grid_clear(PanWindow *pw) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
718 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
719 GList *work; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
720 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
721 work = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
722 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
723 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
724 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
725 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
726 pg = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
727 work = work->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
728 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
729 g_list_free(pg->list); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
730 g_free(pg); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
731 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
732 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
733 g_list_free(pw->list_grid); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
734 pw->list_grid = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
735 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
736 pw->list = g_list_concat(pw->list, pw->list_static); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
737 pw->list_static = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
738 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
739 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
740 static void pan_grid_build(PanWindow *pw, gint width, gint height, gint grid_size) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
741 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
742 GList *work; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
743 gint col, row; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
744 gint cw, ch; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
745 gint l; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
746 gdouble total; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
747 gdouble s; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
748 gdouble aw, ah; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
749 gint i, j; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
750 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
751 pan_grid_clear(pw); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
752 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
753 l = g_list_length(pw->list); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
754 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
755 if (l < 1) return; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
756 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
757 total = (gdouble)width * (gdouble)height / (gdouble)l; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
758 s = sqrt(total); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
759 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
760 aw = (gdouble)width / s; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
761 ah = (gdouble)height / s; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
762 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
763 col = (gint)(sqrt((gdouble)l / grid_size) * width / height + 0.999); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
764 col = CLAMP(col, 1, l / grid_size + 1); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
765 row = (gint)((gdouble)l / grid_size / col); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
766 if (row < 1) row = 1; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
767 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
768 /* limit minimum size of grid so that a tile will always fit regardless of position */ |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
769 cw = MAX((gint)ceil((gdouble)width / col), PAN_TILE_SIZE * 2); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
770 ch = MAX((gint)ceil((gdouble)height / row), PAN_TILE_SIZE * 2); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
771 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
772 row = row * 2 - 1; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
773 col = col * 2 - 1; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
774 |
99
d19b0de6d0bb
Sat Nov 4 17:14:47 2006 John Ellis <johne@verizon.net>
gqview
parents:
97
diff
changeset
|
775 if (debug) printf("intersect speedup grid is %dx%d, based on %d average per grid\n", col, row, grid_size); |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
776 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
777 for (j = 0; j < row; j++) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
778 for (i = 0; i < col; i++) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
779 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
780 if ((i + 1) * cw / 2 < width && (j + 1) * ch / 2 < height) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
781 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
782 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
783 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
784 pg = g_new0(PanGrid, 1); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
785 pg->x = i * cw / 2; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
786 pg->y = j * ch / 2; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
787 pg->w = cw; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
788 pg->h = ch; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
789 pg->list = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
790 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
791 pw->list_grid = g_list_prepend(pw->list_grid, pg); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
792 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
793 if (debug) printf("grid section: %d,%d (%dx%d)\n", pg->x, pg->y, pg->w, pg->h); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
794 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
795 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
796 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
797 work = pw->list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
798 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
799 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
800 PanItem *pi; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
801 GList *grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
802 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
803 pi = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
804 work = work->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
805 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
806 grid = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
807 while (grid) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
808 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
809 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
810 gint rx, ry, rw, rh; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
811 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
812 pg = grid->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
813 grid = grid->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
814 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
815 if (util_clip_region(pi->x, pi->y, pi->width, pi->height, |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
816 pg->x, pg->y, pg->w, pg->h, |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
817 &rx, &ry, &rw, &rh)) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
818 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
819 pg->list = g_list_prepend(pg->list, pi); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
820 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
821 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
822 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
823 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
824 work = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
825 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
826 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
827 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
828 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
829 pg = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
830 work = work->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
831 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
832 pg->list = g_list_reverse(pg->list); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
833 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
834 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
835 pw->list_static = pw->list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
836 pw->list = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
837 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
838 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
839 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
840 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
841 *----------------------------------------------------------------------------- |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
842 * layout state reset |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
843 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
844 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
845 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
846 static void pan_window_items_free(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
847 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
848 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
849 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
850 pan_grid_clear(pw); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
851 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
852 work = pw->list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
853 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
854 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
855 PanItem *pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
856 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
857 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
858 pan_item_free(pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
859 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
860 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
861 g_list_free(pw->list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
862 pw->list = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
863 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
864 g_list_free(pw->queue); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
865 pw->queue = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
866 pw->queue_pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
867 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
868 image_loader_free(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
869 pw->il = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
870 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
871 thumb_loader_free(pw->tl); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
872 pw->tl = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
873 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
874 pw->click_pi = NULL; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
875 pw->search_pi = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
876 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
877 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
878 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
879 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
880 *----------------------------------------------------------------------------- |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
881 * layout generation, queries, sizing |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
882 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
883 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
884 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
885 static void pan_layout_compute(PanWindow *pw, const gchar *path, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
886 gint *width, gint *height, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
887 gint *scroll_x, gint *scroll_y) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
888 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
889 pan_window_items_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
890 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
891 switch (pw->size) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
892 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
893 case PAN_IMAGE_SIZE_THUMB_DOTS: |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
894 pw->thumb_size = PAN_THUMB_SIZE_DOTS; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
895 pw->thumb_gap = PAN_THUMB_GAP_DOTS; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
896 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
897 case PAN_IMAGE_SIZE_THUMB_NONE: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
898 pw->thumb_size = PAN_THUMB_SIZE_NONE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
899 pw->thumb_gap = PAN_THUMB_GAP_SMALL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
900 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
901 case PAN_IMAGE_SIZE_THUMB_SMALL: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
902 pw->thumb_size = PAN_THUMB_SIZE_SMALL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
903 pw->thumb_gap = PAN_THUMB_GAP_SMALL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
904 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
905 case PAN_IMAGE_SIZE_THUMB_NORMAL: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
906 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
907 pw->thumb_size = PAN_THUMB_SIZE_NORMAL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
908 pw->thumb_gap = PAN_THUMB_GAP_NORMAL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
909 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
910 case PAN_IMAGE_SIZE_THUMB_LARGE: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
911 pw->thumb_size = PAN_THUMB_SIZE_LARGE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
912 pw->thumb_gap = PAN_THUMB_GAP_LARGE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
913 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
914 case PAN_IMAGE_SIZE_10: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
915 pw->image_size = 10; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
916 pw->thumb_gap = PAN_THUMB_GAP_NORMAL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
917 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
918 case PAN_IMAGE_SIZE_25: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
919 pw->image_size = 25; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
920 pw->thumb_gap = PAN_THUMB_GAP_NORMAL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
921 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
922 case PAN_IMAGE_SIZE_33: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
923 pw->image_size = 33; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
924 pw->thumb_gap = PAN_THUMB_GAP_LARGE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
925 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
926 case PAN_IMAGE_SIZE_50: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
927 pw->image_size = 50; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
928 pw->thumb_gap = PAN_THUMB_GAP_HUGE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
929 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
930 case PAN_IMAGE_SIZE_100: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
931 pw->image_size = 100; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
932 pw->thumb_gap = PAN_THUMB_GAP_HUGE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
933 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
934 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
935 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
936 *width = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
937 *height = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
938 *scroll_x = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
939 *scroll_y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
940 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
941 switch (pw->layout) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
942 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
943 case PAN_LAYOUT_GRID: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
944 default: |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
945 pan_grid_compute(pw, path, width, height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
946 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
947 case PAN_LAYOUT_FOLDERS_LINEAR: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
948 pan_folder_tree_compute(pw, path, width, height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
949 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
950 case PAN_LAYOUT_FOLDERS_FLOWER: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
951 pan_flower_compute(pw, path, width, height, scroll_x, scroll_y); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
952 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
953 case PAN_LAYOUT_CALENDAR: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
954 pan_calendar_compute(pw, path, width, height); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
955 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
956 case PAN_LAYOUT_TIMELINE: |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
957 pan_timeline_compute(pw, path, width, height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
958 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
959 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
960 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
961 pan_cache_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
962 |
99
d19b0de6d0bb
Sat Nov 4 17:14:47 2006 John Ellis <johne@verizon.net>
gqview
parents:
97
diff
changeset
|
963 if (debug) printf("computed %d objects\n", g_list_length(pw->list)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
964 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
965 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
966 static GList *pan_layout_intersect_l(GList *list, GList *item_list, |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
967 gint x, gint y, gint width, gint height) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
968 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
969 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
970 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
971 work = item_list; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
972 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
973 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
974 PanItem *pi; |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
975 gint rx, ry, rw, rh; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
976 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
977 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
978 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
979 |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
980 if (util_clip_region(x, y, width, height, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
981 pi->x, pi->y, pi->width, pi->height, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
982 &rx, &ry, &rw, &rh)) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
983 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
984 list = g_list_prepend(list, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
985 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
986 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
987 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
988 return list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
989 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
990 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
991 GList *pan_layout_intersect(PanWindow *pw, gint x, gint y, gint width, gint height) |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
992 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
993 GList *list = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
994 GList *grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
995 PanGrid *pg = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
996 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
997 grid = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
998 while (grid && !pg) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
999 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1000 pg = grid->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1001 grid = grid->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1002 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1003 if (x < pg->x || x + width > pg->x + pg->w || |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1004 y < pg->y || y + height > pg->y + pg->h) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1005 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1006 pg = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1007 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1008 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1009 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1010 list = pan_layout_intersect_l(list, pw->list, x, y, width, height); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1011 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1012 if (pg) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1013 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1014 list = pan_layout_intersect_l(list, pg->list, x, y, width, height); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1015 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1016 else |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1017 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1018 list = pan_layout_intersect_l(list, pw->list_static, x, y, width, height); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1019 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1020 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1021 return list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1022 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1023 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1024 void pan_layout_resize(PanWindow *pw) |
77
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1025 { |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1026 gint width = 0; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1027 gint height = 0; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1028 GList *work; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1029 PixbufRenderer *pr; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1030 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1031 work = pw->list; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1032 while (work) |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1033 { |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1034 PanItem *pi; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1035 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1036 pi = work->data; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1037 work = work->next; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1038 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1039 if (width < pi->x + pi->width) width = pi->x + pi->width; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1040 if (height < pi->y + pi->height) height = pi->y + pi->height; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1041 } |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1042 work = pw->list_static; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1043 while (work) |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1044 { |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1045 PanItem *pi; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1046 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1047 pi = work->data; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1048 work = work->next; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1049 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1050 if (width < pi->x + pi->width) width = pi->x + pi->width; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1051 if (height < pi->y + pi->height) height = pi->y + pi->height; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1052 } |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1053 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1054 width += PAN_BOX_BORDER * 2; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1055 height += PAN_BOX_BORDER * 2; |
77
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1056 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1057 pr = PIXBUF_RENDERER(pw->imd->pr); |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1058 if (width < pr->window_width) width = pr->window_width; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1059 if (height < pr->window_width) height = pr->window_height; |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1060 |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1061 pixbuf_renderer_set_tiles_size(PIXBUF_RENDERER(pw->imd->pr), width, height); |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1062 } |
44f2223541d1
Sun Oct 15 10:45:14 2006 John Ellis <johne@verizon.net>
gqview
parents:
67
diff
changeset
|
1063 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1064 static gint pan_layout_update_idle_cb(gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1065 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1066 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1067 gint width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1068 gint height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1069 gint scroll_x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1070 gint scroll_y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1071 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1072 if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE || |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1073 (pw->exif_date_enable && (pw->layout == PAN_LAYOUT_TIMELINE || pw->layout == PAN_LAYOUT_CALENDAR))) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1074 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1075 if (!pw->cache_list && !pw->cache_todo) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1076 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1077 pan_cache_fill(pw, pw->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1078 if (pw->cache_todo) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1079 { |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
1080 pan_window_message(pw, _("Reading image data...")); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1081 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1082 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1083 } |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1084 if (pw->cache_todo) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1085 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1086 pw->cache_count++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1087 pw->cache_tick++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1088 if (pw->cache_count == pw->cache_total) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1089 { |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
1090 pan_window_message(pw, _("Sorting...")); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1091 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1092 else if (pw->cache_tick > 9) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1093 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1094 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1095 |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1096 buf = g_strdup_printf("%s %d / %d", _("Reading image data..."), |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1097 pw->cache_count, pw->cache_total); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1098 pan_window_message(pw, buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1099 g_free(buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1100 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1101 pw->cache_tick = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1102 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1103 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1104 if (pan_cache_step(pw)) return TRUE; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1105 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1106 pw->idle_id = -1; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1107 return FALSE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1108 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1109 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1110 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1111 pan_layout_compute(pw, pw->path, &width, &height, &scroll_x, &scroll_y); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1112 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1113 pan_window_zoom_limit(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1114 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1115 if (width > 0 && height > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1116 { |
13
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1117 gdouble align; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1118 |
99
d19b0de6d0bb
Sat Nov 4 17:14:47 2006 John Ellis <johne@verizon.net>
gqview
parents:
97
diff
changeset
|
1119 if (debug) printf("Canvas size is %d x %d\n", width, height); |
32
96ac60a9c0f1
Wed Apr 6 02:43:40 2005 John Ellis <johne@verizon.net>
gqview
parents:
30
diff
changeset
|
1120 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1121 pan_grid_build(pw, width, height, 1000); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1122 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1123 pixbuf_renderer_set_tiles(PIXBUF_RENDERER(pw->imd->pr), width, height, |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1124 PAN_TILE_SIZE, PAN_TILE_SIZE, 10, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1125 pan_window_request_tile_cb, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1126 pan_window_dispose_tile_cb, pw, 1.0); |
13
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1127 |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1128 if (scroll_x == 0 && scroll_y == 0) |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1129 { |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1130 align = 0.0; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1131 } |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1132 else |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1133 { |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1134 align = 0.5; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1135 } |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1136 pixbuf_renderer_scroll_to_point(PIXBUF_RENDERER(pw->imd->pr), scroll_x, scroll_y, align, align); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1137 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1138 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1139 pan_window_message(pw, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1140 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1141 pw->idle_id = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1142 return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1143 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1144 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1145 static void pan_layout_update_idle(PanWindow *pw) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1146 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1147 if (pw->idle_id == -1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1148 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1149 pw->idle_id = g_idle_add(pan_layout_update_idle_cb, pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1150 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1151 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1152 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1153 static void pan_layout_update(PanWindow *pw) |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1154 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1155 pan_window_message(pw, _("Sorting images...")); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1156 pan_layout_update_idle(pw); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1157 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1158 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1159 static void pan_layout_set_path(PanWindow *pw, const gchar *path) |
40
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1160 { |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1161 if (!path) return; |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1162 |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1163 if (strcmp(path, "/") == 0) |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1164 { |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1165 pan_warning_folder(path, pw->window); |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1166 return; |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1167 } |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1168 |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1169 g_free(pw->path); |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1170 pw->path = g_strdup(path); |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1171 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1172 pan_layout_update(pw); |
40
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1173 } |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
1174 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1175 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1176 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1177 *----------------------------------------------------------------------------- |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1178 * keyboard handlers |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1179 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1180 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1181 |
138 | 1182 FileData *pan_menu_click_fd(PanWindow *pw) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1183 { |
138 | 1184 if (pw->click_pi && pw->click_pi->fd) return pw->click_pi->fd; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1185 return NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1186 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1187 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1188 static void pan_window_menu_pos_cb(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1189 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1190 PanWindow *pw = data; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1191 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1192 gdk_window_get_origin(pw->imd->pr->window, x, y); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1193 popup_menu_position_clamp(menu, x, y, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1194 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1195 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1196 static gint pan_window_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1197 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1198 PanWindow *pw = data; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1199 PixbufRenderer *pr; |
138 | 1200 FileData *fd; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1201 gint stop_signal = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1202 GtkWidget *menu; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1203 gint x = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1204 gint y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1205 gint focused; |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1206 gint on_entry; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1207 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1208 pr = PIXBUF_RENDERER(pw->imd->pr); |
138 | 1209 fd = pan_menu_click_fd(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1210 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1211 focused = (pw->fs || GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(pw->imd->widget))); |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1212 on_entry = (GTK_WIDGET_HAS_FOCUS(pw->path_entry) || |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1213 GTK_WIDGET_HAS_FOCUS(pw->search_entry)); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1214 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1215 if (focused) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1216 { |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1217 stop_signal = TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1218 switch (event->keyval) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1219 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1220 case GDK_Left: case GDK_KP_Left: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1221 x -= 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1222 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1223 case GDK_Right: case GDK_KP_Right: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1224 x += 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1225 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1226 case GDK_Up: case GDK_KP_Up: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1227 y -= 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1228 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1229 case GDK_Down: case GDK_KP_Down: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1230 y += 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1231 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1232 case GDK_Page_Up: case GDK_KP_Page_Up: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1233 pixbuf_renderer_scroll(pr, 0, 0 - pr->vis_height / 2); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1234 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1235 case GDK_Page_Down: case GDK_KP_Page_Down: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1236 pixbuf_renderer_scroll(pr, 0, pr->vis_height / 2); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1237 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1238 case GDK_Home: case GDK_KP_Home: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1239 pixbuf_renderer_scroll(pr, 0 - pr->vis_width / 2, 0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1240 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1241 case GDK_End: case GDK_KP_End: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1242 pixbuf_renderer_scroll(pr, pr->vis_width / 2, 0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1243 break; |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1244 default: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1245 stop_signal = FALSE; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1246 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1247 } |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1248 |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1249 if (x != 0 || y!= 0) |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1250 { |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1251 if (event->state & GDK_SHIFT_MASK) |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1252 { |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1253 x *= 3; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1254 y *= 3; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1255 } |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1256 keyboard_scroll_calc(&x, &y, event); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1257 pixbuf_renderer_scroll(pr, x, y); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1258 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1259 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1260 |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1261 if (stop_signal) return stop_signal; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1262 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1263 if (event->state & GDK_CONTROL_MASK) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1264 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1265 gint n = -1; |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1266 |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1267 stop_signal = TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1268 switch (event->keyval) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1269 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1270 case '1': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1271 n = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1272 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1273 case '2': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1274 n = 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1275 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1276 case '3': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1277 n = 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1278 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1279 case '4': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1280 n = 3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1281 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1282 case '5': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1283 n = 4; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1284 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1285 case '6': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1286 n = 5; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1287 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1288 case '7': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1289 n = 6; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1290 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1291 case '8': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1292 n = 7; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1293 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1294 case '9': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1295 n = 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1296 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1297 case '0': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1298 n = 9; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1299 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1300 case 'C': case 'c': |
138 | 1301 if (fd) file_util_copy(fd, NULL, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1302 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1303 case 'M': case 'm': |
138 | 1304 if (fd) file_util_move(fd, NULL, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1305 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1306 case 'R': case 'r': |
138 | 1307 if (fd) file_util_rename(fd, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1308 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1309 case 'D': case 'd': |
138 | 1310 if (fd) file_util_delete(fd, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1311 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1312 case 'P': case 'p': |
138 | 1313 if (fd) info_window_new(fd, NULL); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1314 break; |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1315 case 'F': case 'f': |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1316 pan_search_toggle_visible(pw, TRUE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1317 break; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1318 case 'G': case 'g': |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1319 pan_search_activate(pw); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1320 break; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1321 case 'W': case 'w': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1322 pan_window_close(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1323 break; |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1324 default: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1325 stop_signal = FALSE; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1326 break; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1327 } |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1328 |
138 | 1329 if (n != -1 && fd) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1330 { |
60
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
1331 if (!editor_window_flag_set(n)) |
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
1332 { |
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
1333 pan_fullscreen_toggle(pw, TRUE); |
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
1334 } |
138 | 1335 start_editor_from_file(n, fd); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1336 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1337 } |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1338 else |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1339 { |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1340 stop_signal = TRUE; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1341 switch (event->keyval) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1342 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1343 case GDK_Escape: |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1344 if (pw->fs) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1345 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1346 pan_fullscreen_toggle(pw, TRUE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1347 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1348 else |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1349 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1350 pan_search_toggle_visible(pw, FALSE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1351 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1352 break; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1353 default: |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1354 stop_signal = FALSE; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1355 break; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1356 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1357 |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1358 if (stop_signal) return stop_signal; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1359 |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1360 if (!on_entry) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1361 { |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1362 stop_signal = TRUE; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1363 switch (event->keyval) |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1364 { |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1365 case '+': case '=': case GDK_KP_Add: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1366 pixbuf_renderer_zoom_adjust(pr, ZOOM_INCREMENT); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1367 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1368 case '-': case GDK_KP_Subtract: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1369 pixbuf_renderer_zoom_adjust(pr, -ZOOM_INCREMENT); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1370 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1371 case 'Z': case 'z': case GDK_KP_Divide: case '1': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1372 pixbuf_renderer_zoom_set(pr, 1.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1373 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1374 case '2': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1375 pixbuf_renderer_zoom_set(pr, 2.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1376 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1377 case '3': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1378 pixbuf_renderer_zoom_set(pr, 3.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1379 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1380 case '4': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1381 pixbuf_renderer_zoom_set(pr, 4.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1382 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1383 case '7': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1384 pixbuf_renderer_zoom_set(pr, -4.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1385 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1386 case '8': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1387 pixbuf_renderer_zoom_set(pr, -3.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1388 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1389 case '9': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1390 pixbuf_renderer_zoom_set(pr, -2.0); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1391 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1392 case 'F': case 'f': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1393 case 'V': case 'v': |
86
cade6a52a165
Mon Oct 23 05:34:29 2006 John Ellis <johne@verizon.net>
gqview
parents:
85
diff
changeset
|
1394 case GDK_F11: |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1395 pan_fullscreen_toggle(pw, FALSE); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1396 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1397 case 'I': case 'i': |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1398 #if 0 |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1399 pan_overlay_toggle(pw); |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1400 #endif |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1401 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1402 case GDK_Delete: case GDK_KP_Delete: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1403 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1404 case GDK_Menu: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1405 case GDK_F10: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1406 menu = pan_popup_menu(pw); |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1407 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1408 pan_window_menu_pos_cb, pw, 0, GDK_CURRENT_TIME); |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1409 break; |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1410 case '/': |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1411 pan_search_toggle_visible(pw, TRUE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1412 break; |
85
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1413 default: |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1414 stop_signal = FALSE; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1415 break; |
9d5c75b5ec28
Fri Oct 20 09:20:10 2006 John Ellis <johne@verizon.net>
gqview
parents:
78
diff
changeset
|
1416 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1417 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1418 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1419 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1420 return stop_signal; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1421 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1422 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1423 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1424 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1425 * info popup |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1426 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1427 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1428 |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1429 static void pan_info_add_exif(PanTextAlignment *ta, FileData *fd) |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1430 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1431 ExifData *exif; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1432 GList *work; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1433 gint i; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1434 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1435 if (!fd) return; |
449 | 1436 exif = exif_read_fd(fd); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1437 if (!exif) return; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1438 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1439 pan_text_alignment_add(ta, NULL, NULL); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1440 |
324 | 1441 for (i = 0; ExifUIList[i].key; i++) |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1442 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1443 gchar *label; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1444 gchar *text; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1445 |
357
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1446 if (ExifUIList[i].current == EXIF_UI_OFF) continue; |
442 | 1447 |
324 | 1448 text = exif_get_data_as_text(exif, ExifUIList[i].key); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1449 text = bar_exif_validate_text(text); |
357
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1450 if (ExifUIList[i].current == EXIF_UI_IFSET && (!text || !*text)) |
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1451 { |
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1452 if (text) g_free(text); |
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1453 continue; |
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1454 } |
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1455 |
d3e509c0940e
Apply exif display config (Never/If set/Always) to pan view too.
zas_
parents:
334
diff
changeset
|
1456 label = g_strdup_printf("%s:", exif_get_description_by_key(ExifUIList[i].key)); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1457 pan_text_alignment_add(ta, label, text); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1458 g_free(label); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1459 g_free(text); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1460 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1461 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1462 work = g_list_last(history_list_get_by_key("exif_extras")); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1463 if (work) pan_text_alignment_add(ta, "---", NULL); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1464 while (work) |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1465 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1466 const gchar *name; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1467 gchar *label; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1468 gchar *text; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1469 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1470 name = work->data; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1471 work = work->prev; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1472 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1473 label = g_strdup_printf("%s:", name); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1474 text = exif_get_data_as_text(exif, name); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1475 text = bar_exif_validate_text(text); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1476 pan_text_alignment_add(ta, label, text); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1477 g_free(label); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1478 g_free(text); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1479 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1480 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1481 exif_free(exif); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1482 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1483 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1484 static void pan_info_update(PanWindow *pw, PanItem *pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1485 { |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1486 PanTextAlignment *ta; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1487 PanItem *pbox; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1488 PanItem *p; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1489 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1490 gint x1, y1, x2, y2, x3, y3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1491 gint x, y, w, h; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1492 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1493 if (pw->click_pi == pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1494 if (pi && !pi->fd) pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1495 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1496 while ((p = pan_item_find_by_key(pw, PAN_ITEM_NONE, "info"))) pan_item_remove(pw, p); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1497 pw->click_pi = pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1498 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1499 if (!pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1500 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1501 if (debug) printf("info set to %s\n", pi->fd->path); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1502 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1503 pbox = pan_item_box_new(pw, NULL, pi->x + pi->width + 4, pi->y, 10, 10, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1504 PAN_POPUP_BORDER, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1505 PAN_POPUP_COLOR, PAN_POPUP_ALPHA, |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1506 PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1507 pan_item_set_key(pbox, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1508 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1509 if (pi->type == PAN_ITEM_THUMB && pi->pixbuf) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1510 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1511 w = gdk_pixbuf_get_width(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1512 h = gdk_pixbuf_get_height(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1513 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1514 x1 = pi->x + pi->width - (pi->width - w) / 2 - 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1515 y1 = pi->y + (pi->height - h) / 2 + 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1516 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1517 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1518 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1519 x1 = pi->x + pi->width - 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1520 y1 = pi->y + 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1521 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1522 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1523 x2 = pbox->x + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1524 y2 = pbox->y + 36; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1525 x3 = pbox->x + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1526 y3 = pbox->y + 12; |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
1527 util_clip_triangle(x1, y1, x2, y2, x3, y3, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
1528 &x, &y, &w, &h); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1529 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1530 p = pan_item_tri_new(pw, NULL, x, y, w, h, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1531 x1, y1, x2, y2, x3, y3, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1532 PAN_POPUP_COLOR, PAN_POPUP_ALPHA); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1533 pan_item_tri_border(p, PAN_BORDER_1 | PAN_BORDER_3, PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1534 pan_item_set_key(p, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1535 pan_item_added(pw, p); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1536 |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1537 ta = pan_text_alignment_new(pw, pbox->x + PREF_PAD_BORDER, pbox->y + PREF_PAD_BORDER, "info"); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1538 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1539 pan_text_alignment_add(ta, _("Filename:"), pi->fd->name); |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1540 buf = remove_level_from_path(pi->fd->path); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1541 pan_text_alignment_add(ta, _("Location:"), buf); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1542 g_free(buf); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1543 pan_text_alignment_add(ta, _("Date:"), text_from_time(pi->fd->date)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1544 buf = text_from_size(pi->fd->size); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1545 pan_text_alignment_add(ta, _("Size:"), buf); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1546 g_free(buf); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1547 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1548 if (pw->info_includes_exif) |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1549 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1550 pan_info_add_exif(ta, pi->fd); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1551 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1552 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1553 pan_text_alignment_calc(ta, pbox); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1554 pan_text_alignment_free(ta); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1555 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1556 pan_item_box_shadow(pbox, PAN_SHADOW_OFFSET * 2, PAN_SHADOW_FADE * 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1557 pan_item_added(pw, pbox); |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1558 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1559 if (pw->info_image_size > PAN_IMAGE_SIZE_THUMB_NONE) |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1560 { |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1561 gint iw, ih; |
138 | 1562 if (image_load_dimensions(pi->fd, &iw, &ih)) |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1563 { |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1564 gint scale = 25; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1565 |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1566 switch (pw->info_image_size) |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1567 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1568 case PAN_IMAGE_SIZE_10: |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1569 scale = 10; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1570 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1571 case PAN_IMAGE_SIZE_25: |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1572 scale = 25; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1573 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1574 case PAN_IMAGE_SIZE_33: |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1575 scale = 33; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1576 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1577 case PAN_IMAGE_SIZE_50: |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1578 scale = 50; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1579 break; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1580 case PAN_IMAGE_SIZE_100: |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1581 scale = 100; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1582 break; |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1583 } |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1584 |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1585 iw = MAX(1, iw * scale / 100); |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1586 ih = MAX(1, ih * scale / 100); |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
1587 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1588 pbox = pan_item_box_new(pw, NULL, pbox->x, pbox->y + pbox->height + 8, 10, 10, |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1589 PAN_POPUP_BORDER, |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1590 PAN_POPUP_COLOR, PAN_POPUP_ALPHA, |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1591 PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA); |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1592 pan_item_set_key(pbox, "info"); |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1593 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1594 p = pan_item_image_new(pw, file_data_new_simple(pi->fd->path), |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1595 pbox->x + PREF_PAD_BORDER, pbox->y + PREF_PAD_BORDER, iw, ih); |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1596 pan_item_set_key(p, "info"); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
1597 pan_item_size_by_item(pbox, p, PREF_PAD_BORDER); |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1598 |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1599 pan_item_box_shadow(pbox, PAN_SHADOW_OFFSET * 2, PAN_SHADOW_FADE * 2); |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1600 pan_item_added(pw, pbox); |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1601 } |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
1602 } |
99
d19b0de6d0bb
Sat Nov 4 17:14:47 2006 John Ellis <johne@verizon.net>
gqview
parents:
97
diff
changeset
|
1603 |
d19b0de6d0bb
Sat Nov 4 17:14:47 2006 John Ellis <johne@verizon.net>
gqview
parents:
97
diff
changeset
|
1604 pan_layout_resize(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1605 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1606 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1607 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1608 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1609 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1610 * search |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1611 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1612 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1613 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1614 static void pan_search_status(PanWindow *pw, const gchar *text) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1615 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1616 gtk_label_set_text(GTK_LABEL(pw->search_label), (text) ? text : ""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1617 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1618 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1619 static gint pan_search_by_path(PanWindow *pw, const gchar *path) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1620 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1621 PanItem *pi; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1622 GList *list; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1623 GList *found; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1624 PanItemType type; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1625 gchar *buf; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1626 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1627 type = (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) ? PAN_ITEM_IMAGE : PAN_ITEM_THUMB; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1628 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1629 list = pan_item_find_by_path(pw, type, path, FALSE, FALSE); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1630 if (!list) return FALSE; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1631 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1632 found = g_list_find(list, pw->click_pi); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1633 if (found && found->next) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1634 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1635 found = found->next; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1636 pi = found->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1637 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1638 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1639 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1640 pi = list->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1641 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1642 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1643 pan_info_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1644 image_scroll_to_point(pw->imd, pi->x + pi->width / 2, pi->y + pi->height / 2, 0.5, 0.5); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1645 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1646 buf = g_strdup_printf("%s ( %d / %d )", |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1647 (path[0] == '/') ? _("path found") : _("filename found"), |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1648 g_list_index(list, pi) + 1, |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1649 g_list_length(list)); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1650 pan_search_status(pw, buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1651 g_free(buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1652 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1653 g_list_free(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1654 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1655 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1656 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1657 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1658 static gint pan_search_by_partial(PanWindow *pw, const gchar *text) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1659 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1660 PanItem *pi; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1661 GList *list; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1662 GList *found; |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1663 PanItemType type; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1664 gchar *buf; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1665 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1666 type = (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) ? PAN_ITEM_IMAGE : PAN_ITEM_THUMB; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1667 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1668 list = pan_item_find_by_path(pw, type, text, TRUE, FALSE); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1669 if (!list) list = pan_item_find_by_path(pw, type, text, FALSE, TRUE); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1670 if (!list) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1671 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1672 gchar *needle; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1673 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1674 needle = g_utf8_strdown(text, -1); |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1675 list = pan_item_find_by_path(pw, type, needle, TRUE, TRUE); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1676 g_free(needle); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1677 } |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1678 if (!list) return FALSE; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1679 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1680 found = g_list_find(list, pw->click_pi); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1681 if (found && found->next) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1682 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1683 found = found->next; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1684 pi = found->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1685 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1686 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1687 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1688 pi = list->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1689 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1690 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1691 pan_info_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1692 image_scroll_to_point(pw->imd, pi->x + pi->width / 2, pi->y + pi->height / 2, 0.5, 0.5); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1693 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1694 buf = g_strdup_printf("%s ( %d / %d )", |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1695 _("partial match"), |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1696 g_list_index(list, pi) + 1, |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1697 g_list_length(list)); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1698 pan_search_status(pw, buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1699 g_free(buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1700 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1701 g_list_free(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1702 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1703 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1704 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1705 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1706 static gint valid_date_separator(gchar c) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1707 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1708 return (c == '/' || c == '-' || c == ' ' || c == '.' || c == ','); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1709 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1710 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1711 static GList *pan_search_by_date_val(PanWindow *pw, PanItemType type, |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1712 gint year, gint month, gint day, |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1713 const gchar *key) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1714 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1715 GList *list = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1716 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1717 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1718 work = g_list_last(pw->list_static); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1719 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1720 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1721 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1722 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1723 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1724 work = work->prev; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1725 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1726 if (pi->fd && (pi->type == type || type == PAN_ITEM_NONE) && |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1727 ((!key && !pi->key) || (key && pi->key && strcmp(key, pi->key) == 0))) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1728 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1729 struct tm *tl; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1730 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1731 tl = localtime(&pi->fd->date); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1732 if (tl) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1733 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1734 gint match; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1735 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1736 match = (tl->tm_year == year - 1900); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1737 if (match && month >= 0) match = (tl->tm_mon == month - 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1738 if (match && day > 0) match = (tl->tm_mday == day); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1739 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1740 if (match) list = g_list_prepend(list, pi); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1741 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1742 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1743 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1744 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1745 return g_list_reverse(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1746 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1747 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1748 static gint pan_search_by_date(PanWindow *pw, const gchar *text) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1749 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1750 PanItem *pi = NULL; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1751 GList *list = NULL; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1752 GList *found; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1753 gint year; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1754 gint month = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1755 gint day = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1756 gchar *ptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1757 gchar *mptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1758 struct tm *lt; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1759 time_t t; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1760 gchar *message; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1761 gchar *buf; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1762 gchar *buf_count; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1763 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1764 if (!text) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1765 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1766 ptr = (gchar *)text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1767 while (*ptr != '\0') |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1768 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1769 if (!g_unichar_isdigit(*ptr) && !valid_date_separator(*ptr)) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1770 ptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1771 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1772 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1773 t = time(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1774 if (t == -1) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1775 lt = localtime(&t); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1776 if (!lt) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1777 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1778 if (valid_date_separator(*text)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1779 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1780 year = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1781 mptr = (gchar *)text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1782 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1783 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1784 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1785 year = (gint)strtol(text, &mptr, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1786 if (mptr == text) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1787 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1788 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1789 if (*mptr != '\0' && valid_date_separator(*mptr)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1790 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1791 gchar *dptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1792 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1793 mptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1794 month = strtol(mptr, &dptr, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1795 if (dptr == mptr) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1796 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1797 if (valid_date_separator(*dptr)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1798 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1799 month = lt->tm_mon + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1800 dptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1801 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1802 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1803 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1804 month = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1805 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1806 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1807 if (dptr != mptr && *dptr != '\0' && valid_date_separator(*dptr)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1808 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1809 gchar *eptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1810 dptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1811 day = strtol(dptr, &eptr, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1812 if (dptr == eptr) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1813 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1814 day = lt->tm_mday; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1815 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1816 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1817 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1818 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1819 if (year == -1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1820 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1821 year = lt->tm_year + 1900; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1822 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1823 else if (year < 100) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1824 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1825 if (year > 70) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1826 year+= 1900; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1827 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1828 year+= 2000; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1829 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1830 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1831 if (year < 1970 || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1832 month < -1 || month == 0 || month > 12 || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1833 day < -1 || day == 0 || day > 31) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1834 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1835 t = pan_date_to_time(year, month, day); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1836 if (t < 0) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1837 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1838 if (pw->layout == PAN_LAYOUT_CALENDAR) |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1839 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1840 list = pan_search_by_date_val(pw, PAN_ITEM_BOX, year, month, day, "day"); |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1841 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1842 else |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1843 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1844 PanItemType type; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1845 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1846 type = (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) ? PAN_ITEM_IMAGE : PAN_ITEM_THUMB; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1847 list = pan_search_by_date_val(pw, type, year, month, day, NULL); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1848 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1849 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1850 if (list) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1851 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1852 found = g_list_find(list, pw->search_pi); |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1853 if (found && found->next) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1854 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1855 found = found->next; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1856 pi = found->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1857 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1858 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1859 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1860 pi = list->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1861 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1862 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1863 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1864 pw->search_pi = pi; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1865 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1866 if (pw->layout == PAN_LAYOUT_CALENDAR && pi && pi->type == PAN_ITEM_BOX) |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1867 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1868 pan_info_update(pw, NULL); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1869 pan_calendar_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1870 image_scroll_to_point(pw->imd, |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1871 pi->x + pi->width / 2, |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1872 pi->y + pi->height / 2, 0.5, 0.5); |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1873 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1874 else if (pi) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1875 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1876 pan_info_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1877 image_scroll_to_point(pw->imd, |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1878 pi->x - PAN_BOX_BORDER * 5 / 2, |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1879 pi->y, 0.0, 0.5); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1880 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1881 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1882 if (month > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1883 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1884 buf = pan_date_value_string(t, PAN_DATE_LENGTH_MONTH); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1885 if (day > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1886 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1887 gchar *tmp; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1888 tmp = buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1889 buf = g_strdup_printf("%d %s", day, tmp); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1890 g_free(tmp); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1891 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1892 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1893 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1894 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1895 buf = pan_date_value_string(t, PAN_DATE_LENGTH_YEAR); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1896 } |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1897 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1898 if (pi) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1899 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1900 buf_count = g_strdup_printf("( %d / %d )", |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1901 g_list_index(list, pi) + 1, |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1902 g_list_length(list)); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1903 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1904 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1905 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1906 buf_count = g_strdup_printf("(%s)", _("no match")); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1907 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1908 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1909 message = g_strdup_printf("%s %s %s", _("Date:"), buf, buf_count); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1910 g_free(buf); |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1911 g_free(buf_count); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1912 pan_search_status(pw, message); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1913 g_free(message); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1914 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1915 g_list_free(list); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1916 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1917 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1918 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1919 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1920 static void pan_search_activate_cb(const gchar *text, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1921 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1922 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1923 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1924 if (!text) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1925 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1926 tab_completion_append_to_history(pw->search_entry, text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1927 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1928 if (pan_search_by_path(pw, text)) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1929 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1930 if ((pw->layout == PAN_LAYOUT_TIMELINE || |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
1931 pw->layout == PAN_LAYOUT_CALENDAR) && |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1932 pan_search_by_date(pw, text)) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1933 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1934 return; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1935 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1936 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1937 if (pan_search_by_partial(pw, text)) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1938 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1939 pan_search_status(pw, _("no match")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1940 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1941 |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1942 static void pan_search_activate(PanWindow *pw) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1943 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1944 gchar *text; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1945 |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1946 #if 0 |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1947 if (!GTK_WIDGET_VISIBLE(pw->search_box)) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1948 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1949 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), TRUE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1950 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1951 #endif |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1952 |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1953 text = g_strdup(gtk_entry_get_text(GTK_ENTRY(pw->search_entry))); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1954 pan_search_activate_cb(text, pw); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1955 g_free(text); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1956 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1957 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1958 static void pan_search_toggle_cb(GtkWidget *button, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1959 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1960 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1961 gint visible; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1962 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1963 visible = GTK_WIDGET_VISIBLE(pw->search_box); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1964 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)) == visible) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1965 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1966 if (visible) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1967 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1968 gtk_widget_hide(pw->search_box); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1969 gtk_arrow_set(GTK_ARROW(pw->search_button_arrow), GTK_ARROW_UP, GTK_SHADOW_NONE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1970 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1971 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1972 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1973 gtk_widget_show(pw->search_box); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1974 gtk_arrow_set(GTK_ARROW(pw->search_button_arrow), GTK_ARROW_DOWN, GTK_SHADOW_NONE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1975 gtk_widget_grab_focus(pw->search_entry); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1976 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1977 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1978 |
97
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1979 static void pan_search_toggle_visible(PanWindow *pw, gint enable) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1980 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1981 if (pw->fs) return; |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1982 |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1983 if (enable) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1984 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1985 if (GTK_WIDGET_VISIBLE(pw->search_box)) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1986 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1987 gtk_widget_grab_focus(pw->search_entry); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1988 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1989 else |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1990 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1991 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), TRUE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1992 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1993 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1994 else |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1995 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1996 if (GTK_WIDGET_VISIBLE(pw->search_entry)) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1997 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1998 if (GTK_WIDGET_HAS_FOCUS(pw->search_entry)) |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
1999 { |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2000 gtk_widget_grab_focus(GTK_WIDGET(pw->imd->widget)); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2001 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2002 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2003 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2004 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2005 } |
ddde49aace00
Fri Nov 3 21:15:40 2006 John Ellis <johne@verizon.net>
gqview
parents:
95
diff
changeset
|
2006 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2007 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2008 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2009 *----------------------------------------------------------------------------- |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2010 * main window |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2011 *----------------------------------------------------------------------------- |
442 | 2012 */ |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2013 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2014 static void button_cb(PixbufRenderer *pr, GdkEventButton *event, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2015 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2016 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2017 PanItem *pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2018 GtkWidget *menu; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2019 gint rx, ry; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2020 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2021 rx = ry = 0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2022 if (pr->scale) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2023 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2024 rx = (double)(pr->x_scroll + event->x - pr->x_offset) / pr->scale; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2025 ry = (double)(pr->y_scroll + event->y - pr->y_offset) / pr->scale; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2026 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2027 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2028 pi = pan_item_find_by_coord(pw, PAN_ITEM_BOX, rx, ry, "info"); |
448
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
2029 if (pi && event->button == MOUSE_BUTTON_LEFT) |
78
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
2030 { |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
2031 pan_info_update(pw, NULL); |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
2032 return; |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
2033 } |
b192a0efe080
Sun Oct 15 12:36:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
77
diff
changeset
|
2034 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2035 pi = pan_item_find_by_coord(pw, (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE) ? PAN_ITEM_IMAGE : PAN_ITEM_THUMB, |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2036 rx, ry, NULL); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2037 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2038 switch (event->button) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2039 { |
448
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
2040 case MOUSE_BUTTON_LEFT: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2041 pan_info_update(pw, pi); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2042 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2043 if (!pi && pw->layout == PAN_LAYOUT_CALENDAR) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2044 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2045 pi = pan_item_find_by_coord(pw, PAN_ITEM_BOX, rx, ry, "day"); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2046 pan_calendar_update(pw, pi); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2047 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2048 break; |
448
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
2049 case MOUSE_BUTTON_MIDDLE: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2050 break; |
448
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
2051 case MOUSE_BUTTON_RIGHT: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2052 pan_info_update(pw, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2053 menu = pan_popup_menu(pw); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2054 gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, event->time); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2055 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2056 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2057 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2058 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2059 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2060 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2061 static void scroll_cb(PixbufRenderer *pr, GdkEventScroll *event, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2062 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2063 #if 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2064 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2065 #endif |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2066 gint w, h; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2067 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2068 w = pr->vis_width; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2069 h = pr->vis_height; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2070 |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2071 if (!(event->state & GDK_SHIFT_MASK)) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2072 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2073 w /= 3; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2074 h /= 3; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2075 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2076 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2077 if (event->state & GDK_CONTROL_MASK) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2078 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2079 switch (event->direction) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2080 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2081 case GDK_SCROLL_UP: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2082 pixbuf_renderer_zoom_adjust_at_point(pr, ZOOM_INCREMENT, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2083 (gint)event->x, (gint)event->y); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2084 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2085 case GDK_SCROLL_DOWN: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2086 pixbuf_renderer_zoom_adjust_at_point(pr, -ZOOM_INCREMENT, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2087 (gint)event->x, (gint)event->y); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2088 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2089 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2090 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2091 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2092 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2093 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2094 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2095 switch (event->direction) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2096 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2097 case GDK_SCROLL_UP: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2098 pixbuf_renderer_scroll(pr, 0, -h); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2099 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2100 case GDK_SCROLL_DOWN: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2101 pixbuf_renderer_scroll(pr, 0, h); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2102 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2103 case GDK_SCROLL_LEFT: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2104 pixbuf_renderer_scroll(pr, -w, 0); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2105 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2106 case GDK_SCROLL_RIGHT: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2107 pixbuf_renderer_scroll(pr, w, 0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2108 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2109 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2110 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2111 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2112 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2113 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2114 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2115 static void pan_image_set_buttons(PanWindow *pw, ImageWindow *imd) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2116 { |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2117 g_signal_connect(G_OBJECT(imd->pr), "clicked", |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2118 G_CALLBACK(button_cb), pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2119 g_signal_connect(G_OBJECT(imd->pr), "scroll_event", |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2120 G_CALLBACK(scroll_cb), pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2121 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2122 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2123 static void pan_fullscreen_stop_func(FullScreenData *fs, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2124 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2125 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2126 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2127 pw->fs = NULL; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2128 pw->imd = pw->imd_normal; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2129 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2130 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2131 static void pan_fullscreen_toggle(PanWindow *pw, gint force_off) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2132 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2133 if (force_off && !pw->fs) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2134 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2135 if (pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2136 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2137 fullscreen_stop(pw->fs); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2138 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2139 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2140 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2141 pw->fs = fullscreen_start(pw->window, pw->imd, pan_fullscreen_stop_func, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2142 pan_image_set_buttons(pw, pw->fs->imd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2143 g_signal_connect(G_OBJECT(pw->fs->window), "key_press_event", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2144 G_CALLBACK(pan_window_key_press_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2145 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2146 pw->imd = pw->fs->imd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2147 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2148 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2149 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2150 static void pan_window_image_zoom_cb(PixbufRenderer *pr, gdouble zoom, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2151 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2152 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2153 gchar *text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2154 |
27
9c24765c2d3a
Sat Apr 2 17:28:16 2005 John Ellis <johne@verizon.net>
gqview
parents:
24
diff
changeset
|
2155 text = image_zoom_get_as_text(pw->imd); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2156 gtk_label_set_text(GTK_LABEL(pw->label_zoom), text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2157 g_free(text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2158 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2159 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2160 static void pan_window_image_scroll_notify_cb(PixbufRenderer *pr, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2161 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2162 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2163 GtkAdjustment *adj; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2164 GdkRectangle rect; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2165 gint width, height; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2166 |
29
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
2167 if (pr->scale == 0.0) return; |
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
2168 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2169 pixbuf_renderer_get_visible_rect(pr, &rect); |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2170 pixbuf_renderer_get_image_size(pr, &width, &height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2171 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2172 adj = gtk_range_get_adjustment(GTK_RANGE(pw->scrollbar_h)); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2173 adj->page_size = (gdouble)rect.width; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2174 adj->page_increment = adj->page_size / 2.0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2175 adj->step_increment = 48.0 / pr->scale; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2176 adj->lower = 0.0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2177 adj->upper = MAX((gdouble)width, 1.0); |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2178 adj->value = (gdouble)rect.x; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2179 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2180 pref_signal_block_data(pw->scrollbar_h, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2181 gtk_adjustment_changed(adj); |
29
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
2182 gtk_adjustment_value_changed(adj); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2183 pref_signal_unblock_data(pw->scrollbar_h, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2184 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2185 adj = gtk_range_get_adjustment(GTK_RANGE(pw->scrollbar_v)); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2186 adj->page_size = (gdouble)rect.height; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2187 adj->page_increment = adj->page_size / 2.0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2188 adj->step_increment = 48.0 / pr->scale; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2189 adj->lower = 0.0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2190 adj->upper = MAX((gdouble)height, 1.0); |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2191 adj->value = (gdouble)rect.y; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2192 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2193 pref_signal_block_data(pw->scrollbar_v, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2194 gtk_adjustment_changed(adj); |
29
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
2195 gtk_adjustment_value_changed(adj); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2196 pref_signal_unblock_data(pw->scrollbar_v, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2197 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2198 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2199 static void pan_window_scrollbar_h_value_cb(GtkRange *range, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2200 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2201 PanWindow *pw = data; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2202 PixbufRenderer *pr; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2203 gint x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2204 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2205 pr = PIXBUF_RENDERER(pw->imd_normal->pr); |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2206 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2207 if (!pr->scale) return; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2208 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2209 x = (gint)gtk_range_get_value(range); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2210 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2211 pixbuf_renderer_scroll_to_point(pr, x, (gint)((gdouble)pr->y_scroll / pr->scale), 0.0, 0.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2212 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2213 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2214 static void pan_window_scrollbar_v_value_cb(GtkRange *range, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2215 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2216 PanWindow *pw = data; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2217 PixbufRenderer *pr; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2218 gint y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2219 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2220 pr = PIXBUF_RENDERER(pw->imd_normal->pr); |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2221 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2222 if (!pr->scale) return; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2223 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2224 y = (gint)gtk_range_get_value(range); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2225 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2226 pixbuf_renderer_scroll_to_point(pr, (gint)((gdouble)pr->x_scroll / pr->scale), y, 0.0, 0.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2227 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2228 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2229 static void pan_window_layout_change_cb(GtkWidget *combo, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2230 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2231 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2232 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2233 pw->layout = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2234 pan_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2235 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2236 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2237 static void pan_window_layout_size_cb(GtkWidget *combo, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2238 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2239 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2240 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2241 pw->size = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2242 pan_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2243 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2244 |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2245 #if 0 |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2246 static void pan_window_date_toggle_cb(GtkWidget *button, gpointer data) |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2247 { |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2248 PanWindow *pw = data; |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2249 |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2250 pw->exif_date_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2251 pan_layout_update(pw); |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2252 } |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2253 #endif |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2254 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2255 static void pan_window_entry_activate_cb(const gchar *new_text, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2256 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2257 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2258 gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2259 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2260 path = remove_trailing_slash(new_text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2261 parse_out_relatives(path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2262 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2263 if (!isdir(path)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2264 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2265 warning_dialog(_("Folder not found"), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2266 _("The entered path is not a folder"), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2267 GTK_STOCK_DIALOG_WARNING, pw->path_entry); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2268 } |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2269 else |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2270 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2271 tab_completion_append_to_history(pw->path_entry, path); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2272 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2273 pan_layout_set_path(pw, path); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2274 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2275 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2276 g_free(path); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2277 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2278 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2279 static void pan_window_entry_change_cb(GtkWidget *combo, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2280 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2281 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2282 gchar *text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2283 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2284 if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) < 0) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2285 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2286 text = g_strdup(gtk_entry_get_text(GTK_ENTRY(pw->path_entry))); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2287 pan_window_entry_activate_cb(text, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2288 g_free(text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2289 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2290 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2291 static void pan_window_close(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2292 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2293 pan_window_list = g_list_remove(pan_window_list, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2294 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2295 pref_list_int_set(PAN_PREF_GROUP, PAN_PREF_EXIF_PAN_DATE, pw->exif_date_enable); |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2296 pref_list_int_set(PAN_PREF_GROUP, PAN_PREF_INFO_IMAGE, pw->info_image_size); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2297 pref_list_int_set(PAN_PREF_GROUP, PAN_PREF_INFO_EXIF, pw->info_includes_exif); |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2298 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2299 if (pw->idle_id != -1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2300 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2301 g_source_remove(pw->idle_id); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2302 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2303 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2304 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2305 gtk_widget_destroy(pw->window); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2306 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2307 pan_window_items_free(pw); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2308 pan_cache_free(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2309 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2310 g_free(pw->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2311 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2312 g_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2313 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2314 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2315 static gint pan_window_delete_cb(GtkWidget *w, GdkEventAny *event, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2316 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2317 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2318 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2319 pan_window_close(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2320 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2321 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2322 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2323 static void pan_window_new_real(const gchar *path) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2324 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2325 PanWindow *pw; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2326 GtkWidget *vbox; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2327 GtkWidget *box; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2328 GtkWidget *combo; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2329 GtkWidget *hbox; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2330 GtkWidget *frame; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2331 GtkWidget *table; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2332 GdkGeometry geometry; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2333 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2334 pw = g_new0(PanWindow, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2335 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2336 pw->path = g_strdup(path); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2337 pw->layout = PAN_LAYOUT_TIMELINE; |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2338 pw->size = PAN_IMAGE_SIZE_THUMB_NORMAL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2339 pw->thumb_size = PAN_THUMB_SIZE_NORMAL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2340 pw->thumb_gap = PAN_THUMB_GAP_NORMAL; |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2341 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2342 if (!pref_list_int_get(PAN_PREF_GROUP, PAN_PREF_EXIF_PAN_DATE, &pw->exif_date_enable)) |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2343 { |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2344 pw->exif_date_enable = FALSE; |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2345 } |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2346 if (!pref_list_int_get(PAN_PREF_GROUP, PAN_PREF_INFO_IMAGE, &pw->info_image_size)) |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2347 { |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2348 pw->info_image_size = PAN_IMAGE_SIZE_THUMB_NONE; |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2349 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2350 if (!pref_list_int_get(PAN_PREF_GROUP, PAN_PREF_INFO_EXIF, &pw->info_includes_exif)) |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2351 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2352 pw->info_includes_exif = TRUE; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2353 } |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2354 |
40
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2355 pw->ignore_symlinks = TRUE; |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2356 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2357 pw->list = NULL; |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2358 pw->list_static = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2359 pw->list_grid = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2360 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2361 pw->fs = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2362 pw->overlay_id = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2363 pw->idle_id = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2364 |
289
6a7298988a7a
Simplify and unify gtk_window creation with the help of
zas_
parents:
288
diff
changeset
|
2365 pw->window = window_new(GTK_WINDOW_TOPLEVEL, "panview", NULL, NULL, _("Pan View")); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2366 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2367 geometry.min_width = 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2368 geometry.min_height = 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2369 gtk_window_set_geometry_hints(GTK_WINDOW(pw->window), NULL, &geometry, GDK_HINT_MIN_SIZE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2370 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2371 gtk_window_set_resizable(GTK_WINDOW(pw->window), TRUE); |
442 | 2372 gtk_container_set_border_width(GTK_CONTAINER(pw->window), 0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2373 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2374 vbox = gtk_vbox_new(FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2375 gtk_container_add(GTK_CONTAINER(pw->window), vbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2376 gtk_widget_show(vbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2377 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2378 box = pref_box_new(vbox, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2379 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2380 pref_spacer(box, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2381 pref_label_new(box, _("Location:")); |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2382 combo = tab_completion_new_with_history(&pw->path_entry, path, "pan_view_path", -1, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2383 pan_window_entry_activate_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2384 g_signal_connect(G_OBJECT(pw->path_entry->parent), "changed", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2385 G_CALLBACK(pan_window_entry_change_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2386 gtk_box_pack_start(GTK_BOX(box), combo, TRUE, TRUE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2387 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2388 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2389 combo = gtk_combo_box_new_text(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2390 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Timeline")); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2391 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Calendar")); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2392 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2393 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders (flower)")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2394 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Grid")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2395 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2396 gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pw->layout); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2397 g_signal_connect(G_OBJECT(combo), "changed", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2398 G_CALLBACK(pan_window_layout_change_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2399 gtk_box_pack_start(GTK_BOX(box), combo, FALSE, FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2400 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2401 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2402 combo = gtk_combo_box_new_text(); |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2403 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Dots")); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2404 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("No Images")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2405 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Small Thumbnails")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2406 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Normal Thumbnails")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2407 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Large Thumbnails")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2408 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:10 (10%)")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2409 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:4 (25%)")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2410 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:3 (33%)")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2411 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:2 (50%)")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2412 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:1 (100%)")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2413 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2414 gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pw->size); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2415 g_signal_connect(G_OBJECT(combo), "changed", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2416 G_CALLBACK(pan_window_layout_size_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2417 gtk_box_pack_start(GTK_BOX(box), combo, FALSE, FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2418 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2419 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2420 table = pref_table_new(vbox, 2, 2, FALSE, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2421 gtk_table_set_row_spacings(GTK_TABLE(table), 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2422 gtk_table_set_col_spacings(GTK_TABLE(table), 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2423 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2424 pw->imd = image_new(TRUE); |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2425 pw->imd_normal = pw->imd; |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2426 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2427 g_signal_connect(G_OBJECT(pw->imd->pr), "zoom", |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2428 G_CALLBACK(pan_window_image_zoom_cb), pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2429 g_signal_connect(G_OBJECT(pw->imd->pr), "scroll_notify", |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2430 G_CALLBACK(pan_window_image_scroll_notify_cb), pw); |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2431 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2432 gtk_table_attach(GTK_TABLE(table), pw->imd->widget, 0, 1, 0, 1, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2433 GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 0, 0); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2434 gtk_widget_show(GTK_WIDGET(pw->imd->widget)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2435 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2436 pan_window_dnd_init(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2437 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2438 pan_image_set_buttons(pw, pw->imd); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2439 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2440 pw->scrollbar_h = gtk_hscrollbar_new(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2441 g_signal_connect(G_OBJECT(pw->scrollbar_h), "value_changed", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2442 G_CALLBACK(pan_window_scrollbar_h_value_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2443 gtk_table_attach(GTK_TABLE(table), pw->scrollbar_h, 0, 1, 1, 2, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2444 GTK_FILL | GTK_EXPAND, 0, 0, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2445 gtk_widget_show(pw->scrollbar_h); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2446 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2447 pw->scrollbar_v = gtk_vscrollbar_new(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2448 g_signal_connect(G_OBJECT(pw->scrollbar_v), "value_changed", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2449 G_CALLBACK(pan_window_scrollbar_v_value_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2450 gtk_table_attach(GTK_TABLE(table), pw->scrollbar_v, 1, 2, 0, 1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2451 0, GTK_FILL | GTK_EXPAND, 0, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2452 gtk_widget_show(pw->scrollbar_v); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2453 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2454 /* find bar */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2455 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2456 pw->search_box = gtk_hbox_new(FALSE, PREF_PAD_SPACE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2457 gtk_box_pack_start(GTK_BOX(vbox), pw->search_box, FALSE, FALSE, 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2458 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2459 pref_spacer(pw->search_box, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2460 pref_label_new(pw->search_box, _("Find:")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2461 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2462 hbox = gtk_hbox_new(TRUE, PREF_PAD_SPACE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2463 gtk_box_pack_start(GTK_BOX(pw->search_box), hbox, TRUE, TRUE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2464 gtk_widget_show(hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2465 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2466 combo = tab_completion_new_with_history(&pw->search_entry, "", "pan_view_search", -1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2467 pan_search_activate_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2468 gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2469 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2470 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2471 pw->search_label = gtk_label_new(""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2472 gtk_box_pack_start(GTK_BOX(hbox), pw->search_label, TRUE, TRUE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2473 gtk_widget_show(pw->search_label); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2474 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2475 /* status bar */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2476 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2477 box = pref_box_new(vbox, FALSE, GTK_ORIENTATION_HORIZONTAL, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2478 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2479 frame = gtk_frame_new(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2480 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2481 gtk_widget_set_size_request(frame, ZOOM_LABEL_WIDTH, -1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2482 gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2483 gtk_widget_show(frame); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2484 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2485 hbox = gtk_hbox_new(FALSE, PREF_PAD_SPACE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2486 gtk_container_add(GTK_CONTAINER(frame), hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2487 gtk_widget_show(hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2488 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2489 pref_spacer(hbox, 0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2490 pw->label_message = pref_label_new(hbox, ""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2491 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2492 frame = gtk_frame_new(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2493 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2494 gtk_widget_set_size_request(frame, ZOOM_LABEL_WIDTH, -1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2495 gtk_box_pack_end(GTK_BOX(box), frame, FALSE, FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2496 gtk_widget_show(frame); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2497 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2498 pw->label_zoom = gtk_label_new(""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2499 gtk_container_add(GTK_CONTAINER(frame), pw->label_zoom); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2500 gtk_widget_show(pw->label_zoom); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2501 |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2502 #if 0 |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2503 pw->date_button = pref_checkbox_new(box, _("Use Exif date"), pw->exif_date_enable, |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2504 G_CALLBACK(pan_window_date_toggle_cb), pw); |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2505 #endif |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2506 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2507 pw->search_button = gtk_toggle_button_new(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2508 gtk_button_set_relief(GTK_BUTTON(pw->search_button), GTK_RELIEF_NONE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2509 gtk_button_set_focus_on_click(GTK_BUTTON(pw->search_button), FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2510 hbox = gtk_hbox_new(FALSE, PREF_PAD_GAP); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2511 gtk_container_add(GTK_CONTAINER(pw->search_button), hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2512 gtk_widget_show(hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2513 pw->search_button_arrow = gtk_arrow_new(GTK_ARROW_UP, GTK_SHADOW_NONE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2514 gtk_box_pack_start(GTK_BOX(hbox), pw->search_button_arrow, FALSE, FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2515 gtk_widget_show(pw->search_button_arrow); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2516 pref_label_new(hbox, _("Find")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2517 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2518 gtk_box_pack_end(GTK_BOX(box), pw->search_button, FALSE, FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2519 gtk_widget_show(pw->search_button); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2520 g_signal_connect(G_OBJECT(pw->search_button), "clicked", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2521 G_CALLBACK(pan_search_toggle_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2522 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2523 g_signal_connect(G_OBJECT(pw->window), "delete_event", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2524 G_CALLBACK(pan_window_delete_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2525 g_signal_connect(G_OBJECT(pw->window), "key_press_event", |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2526 G_CALLBACK(pan_window_key_press_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2527 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2528 gtk_window_set_default_size(GTK_WINDOW(pw->window), PAN_WINDOW_DEFAULT_WIDTH, PAN_WINDOW_DEFAULT_HEIGHT); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2529 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2530 pan_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2531 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2532 gtk_widget_grab_focus(GTK_WIDGET(pw->imd->widget)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2533 gtk_widget_show(pw->window); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2534 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2535 pan_window_list = g_list_append(pan_window_list, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2536 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2537 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2538 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2539 *----------------------------------------------------------------------------- |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2540 * peformance warnings |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2541 *----------------------------------------------------------------------------- |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2542 */ |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2543 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2544 static void pan_warning_ok_cb(GenericDialog *gd, gpointer data) |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2545 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2546 gchar *path = data; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2547 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2548 generic_dialog_close(gd); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2549 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2550 pan_window_new_real(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2551 g_free(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2552 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2553 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2554 static void pan_warning_hide_cb(GtkWidget *button, gpointer data) |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2555 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2556 gint hide_dlg; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2557 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2558 hide_dlg = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2559 pref_list_int_set(PAN_PREF_GROUP, PAN_PREF_HIDE_WARNING, hide_dlg); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2560 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2561 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2562 static gint pan_warning(const gchar *path) |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2563 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2564 GenericDialog *gd; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2565 GtkWidget *box; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2566 GtkWidget *group; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2567 GtkWidget *button; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2568 GtkWidget *ct_button; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2569 gint hide_dlg; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2570 |
40
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2571 if (path && strcmp(path, "/") == 0) |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2572 { |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2573 pan_warning_folder(path, NULL); |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2574 return TRUE; |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2575 } |
dcc04a6a58bf
Sat Apr 16 12:29:42 2005 John Ellis <johne@verizon.net>
gqview
parents:
39
diff
changeset
|
2576 |
333 | 2577 if (options->thumbnails.enable_caching && |
2578 options->thumbnails.spec_standard) return FALSE; | |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2579 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2580 if (!pref_list_int_get(PAN_PREF_GROUP, PAN_PREF_HIDE_WARNING, &hide_dlg)) hide_dlg = FALSE; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2581 if (hide_dlg) return FALSE; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2582 |
254
9faf34f047b1
Make the wmclass value unique among the code by defining
zas_
parents:
250
diff
changeset
|
2583 gd = generic_dialog_new(_("Pan View Performance"), GQ_WMCLASS, "pan_view_warning", NULL, FALSE, |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2584 NULL, NULL); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2585 gd->data = g_strdup(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2586 generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2587 pan_warning_ok_cb, TRUE); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2588 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2589 box = generic_dialog_add_message(gd, GTK_STOCK_DIALOG_INFO, |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2590 _("Pan view performance may be poor."), |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2591 _("To improve performance of thumbnails in the pan view the" |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2592 " following options can be enabled. Note that both options" |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2593 " must be enabled to notice a change in performance.")); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2594 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2595 group = pref_box_new(box, FALSE, GTK_ORIENTATION_HORIZONTAL, 0); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2596 pref_spacer(group, PREF_PAD_INDENT); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2597 group = pref_box_new(group, TRUE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2598 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2599 ct_button = pref_checkbox_new_int(group, _("Cache thumbnails"), |
442 | 2600 options->thumbnails.enable_caching, &options->thumbnails.enable_caching); |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2601 button = pref_checkbox_new_int(group, _("Use shared thumbnail cache"), |
333 | 2602 options->thumbnails.spec_standard, &options->thumbnails.spec_standard); |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2603 pref_checkbox_link_sensitivity(ct_button, button); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2604 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2605 pref_line(box, 0); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2606 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2607 pref_checkbox_new(box, _("Do not show this dialog again"), hide_dlg, |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2608 G_CALLBACK(pan_warning_hide_cb), NULL); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2609 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2610 gtk_widget_show(gd->dialog); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2611 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2612 return TRUE; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2613 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2614 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2615 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2616 /* |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2617 *----------------------------------------------------------------------------- |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2618 * entry point |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2619 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2620 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2621 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2622 void pan_window_new(const gchar *path) |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2623 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2624 if (pan_warning(path)) return; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2625 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2626 pan_window_new_real(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2627 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2628 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2629 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2630 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2631 *----------------------------------------------------------------------------- |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2632 * menus |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2633 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2634 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2635 |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2636 #define INFO_IMAGE_SIZE_KEY "image_size_data" |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2637 |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2638 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2639 static void pan_new_window_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2640 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2641 PanWindow *pw = data; |
138 | 2642 FileData *fd; |
2643 | |
2644 fd = pan_menu_click_fd(pw); | |
2645 if (fd) | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2646 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2647 pan_fullscreen_toggle(pw, TRUE); |
138 | 2648 view_window_new(fd); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2649 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2650 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2651 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2652 static void pan_edit_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2653 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2654 PanWindow *pw; |
138 | 2655 FileData *fd; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2656 gint n; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2657 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2658 pw = submenu_item_get_data(widget); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2659 n = GPOINTER_TO_INT(data); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2660 if (!pw) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2661 |
138 | 2662 fd = pan_menu_click_fd(pw); |
2663 if (fd) | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2664 { |
60
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
2665 if (!editor_window_flag_set(n)) |
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
2666 { |
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
2667 pan_fullscreen_toggle(pw, TRUE); |
9c0c402b0ef3
Mon Jun 13 17:31:46 2005 John Ellis <johne@verizon.net>
gqview
parents:
56
diff
changeset
|
2668 } |
138 | 2669 start_editor_from_file(n, fd); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2670 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2671 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2672 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2673 static void pan_info_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2674 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2675 PanWindow *pw = data; |
138 | 2676 FileData *fd; |
2677 | |
2678 fd = pan_menu_click_fd(pw); | |
2679 if (fd) info_window_new(fd, NULL); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2680 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2681 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2682 static void pan_zoom_in_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2683 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2684 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2685 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2686 image_zoom_adjust(pw->imd, ZOOM_INCREMENT); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2687 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2688 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2689 static void pan_zoom_out_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2690 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2691 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2692 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2693 image_zoom_adjust(pw->imd, -ZOOM_INCREMENT); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2694 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2695 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2696 static void pan_zoom_1_1_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2697 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2698 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2699 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2700 image_zoom_set(pw->imd, 1.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2701 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2702 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2703 static void pan_copy_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2704 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2705 PanWindow *pw = data; |
138 | 2706 FileData *fd; |
2707 | |
2708 fd = pan_menu_click_fd(pw); | |
2709 if (fd) file_util_copy(fd, NULL, NULL, pw->imd->widget); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2710 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2711 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2712 static void pan_move_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2713 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2714 PanWindow *pw = data; |
138 | 2715 FileData *fd; |
2716 | |
2717 fd = pan_menu_click_fd(pw); | |
2718 if (fd) file_util_move(fd, NULL, NULL, pw->imd->widget); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2719 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2720 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2721 static void pan_rename_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2722 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2723 PanWindow *pw = data; |
138 | 2724 FileData *fd; |
2725 | |
2726 fd = pan_menu_click_fd(pw); | |
2727 if (fd) file_util_rename(fd, NULL, pw->imd->widget); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2728 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2729 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2730 static void pan_delete_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2731 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2732 PanWindow *pw = data; |
138 | 2733 FileData *fd; |
2734 | |
2735 fd = pan_menu_click_fd(pw); | |
2736 if (fd) file_util_delete(fd, NULL, pw->imd->widget); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2737 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2738 |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2739 static void pan_exif_date_toggle_cb(GtkWidget *widget, gpointer data) |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2740 { |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2741 PanWindow *pw = data; |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2742 |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2743 pw->exif_date_enable = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2744 pan_layout_update(pw); |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2745 } |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2746 |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2747 static void pan_info_toggle_exif_cb(GtkWidget *widget, gpointer data) |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2748 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2749 PanWindow *pw = data; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2750 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2751 pw->info_includes_exif = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)); |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2752 /* fixme: sync info now */ |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2753 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2754 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2755 static void pan_info_toggle_image_cb(GtkWidget *widget, gpointer data) |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2756 { |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2757 PanWindow *pw = data; |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2758 |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2759 pw->info_image_size = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), INFO_IMAGE_SIZE_KEY)); |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2760 /* fixme: sync info now */ |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2761 } |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2762 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2763 static void pan_fullscreen_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2764 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2765 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2766 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2767 pan_fullscreen_toggle(pw, FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2768 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2769 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2770 static void pan_close_cb(GtkWidget *widget, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2771 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2772 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2773 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2774 pan_window_close(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2775 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2776 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2777 static GtkWidget *pan_popup_menu(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2778 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2779 GtkWidget *menu; |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2780 GtkWidget *submenu; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2781 GtkWidget *item; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2782 gint active; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2783 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2784 active = (pw->click_pi != NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2785 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2786 menu = popup_menu_short_lived(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2787 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2788 menu_item_add_stock(menu, _("Zoom _in"), GTK_STOCK_ZOOM_IN, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2789 G_CALLBACK(pan_zoom_in_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2790 menu_item_add_stock(menu, _("Zoom _out"), GTK_STOCK_ZOOM_OUT, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2791 G_CALLBACK(pan_zoom_out_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2792 menu_item_add_stock(menu, _("Zoom _1:1"), GTK_STOCK_ZOOM_100, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2793 G_CALLBACK(pan_zoom_1_1_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2794 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2795 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2796 submenu_add_edit(menu, &item, G_CALLBACK(pan_edit_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2797 gtk_widget_set_sensitive(item, active); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2798 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2799 menu_item_add_stock_sensitive(menu, _("_Properties"), GTK_STOCK_PROPERTIES, active, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2800 G_CALLBACK(pan_info_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2801 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2802 menu_item_add_stock_sensitive(menu, _("View in _new window"), GTK_STOCK_NEW, active, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2803 G_CALLBACK(pan_new_window_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2804 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2805 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2806 menu_item_add_stock_sensitive(menu, _("_Copy..."), GTK_STOCK_COPY, active, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2807 G_CALLBACK(pan_copy_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2808 menu_item_add_sensitive(menu, _("_Move..."), active, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2809 G_CALLBACK(pan_move_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2810 menu_item_add_sensitive(menu, _("_Rename..."), active, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2811 G_CALLBACK(pan_rename_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2812 menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2813 G_CALLBACK(pan_delete_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2814 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2815 menu_item_add_divider(menu); |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2816 item = menu_item_add_check(menu, _("Sort by E_xif date"), pw->exif_date_enable, |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2817 G_CALLBACK(pan_exif_date_toggle_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2818 gtk_widget_set_sensitive(item, (pw->layout == PAN_LAYOUT_TIMELINE || pw->layout == PAN_LAYOUT_CALENDAR)); |
56
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2819 |
c722cbf9ad25
Fri Jun 10 02:19:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
40
diff
changeset
|
2820 menu_item_add_divider(menu); |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2821 |
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2822 menu_item_add_check(menu, _("_Show Exif information"), pw->info_includes_exif, |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2823 G_CALLBACK(pan_info_toggle_exif_cb), pw); |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2824 item = menu_item_add(menu, _("Show im_age"), NULL, NULL); |
442 | 2825 submenu = gtk_menu_new(); |
2826 gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu); | |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2827 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2828 item = menu_item_add_check(submenu, _("_None"), (pw->info_image_size == PAN_IMAGE_SIZE_THUMB_NONE), |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2829 G_CALLBACK(pan_info_toggle_image_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2830 g_object_set_data(G_OBJECT(item), INFO_IMAGE_SIZE_KEY, GINT_TO_POINTER(PAN_IMAGE_SIZE_THUMB_NONE)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2831 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2832 item = menu_item_add_check(submenu, _("_Full size"), (pw->info_image_size == PAN_IMAGE_SIZE_100), |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2833 G_CALLBACK(pan_info_toggle_image_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2834 g_object_set_data(G_OBJECT(item), INFO_IMAGE_SIZE_KEY, GINT_TO_POINTER(PAN_IMAGE_SIZE_100)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2835 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2836 item = menu_item_add_check(submenu, _("1:2 (50%)"), (pw->info_image_size == PAN_IMAGE_SIZE_50), |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2837 G_CALLBACK(pan_info_toggle_image_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2838 g_object_set_data(G_OBJECT(item), INFO_IMAGE_SIZE_KEY, GINT_TO_POINTER(PAN_IMAGE_SIZE_50)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2839 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2840 item = menu_item_add_check(submenu, _("1:3 (33%)"), (pw->info_image_size == PAN_IMAGE_SIZE_33), |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2841 G_CALLBACK(pan_info_toggle_image_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2842 g_object_set_data(G_OBJECT(item), INFO_IMAGE_SIZE_KEY, GINT_TO_POINTER(PAN_IMAGE_SIZE_33)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2843 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2844 item = menu_item_add_check(submenu, _("1:4 (25%)"), (pw->info_image_size == PAN_IMAGE_SIZE_25), |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2845 G_CALLBACK(pan_info_toggle_image_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2846 g_object_set_data(G_OBJECT(item), INFO_IMAGE_SIZE_KEY, GINT_TO_POINTER(PAN_IMAGE_SIZE_25)); |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2847 |
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2848 item = menu_item_add_check(submenu, _("1:10 (10%)"), (pw->info_image_size == PAN_IMAGE_SIZE_10), |
102
73443803ea59
Tue Nov 7 19:54:44 2006 John Ellis <johne@verizon.net>
gqview
parents:
99
diff
changeset
|
2849 G_CALLBACK(pan_info_toggle_image_cb), pw); |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2850 g_object_set_data(G_OBJECT(item), INFO_IMAGE_SIZE_KEY, GINT_TO_POINTER(PAN_IMAGE_SIZE_10)); |
442 | 2851 |
2852 | |
95
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2853 |
eb9bb29cbd65
Fri Nov 3 11:40:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
86
diff
changeset
|
2854 menu_item_add_divider(menu); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2855 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2856 if (pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2857 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2858 menu_item_add(menu, _("Exit _full screen"), G_CALLBACK(pan_fullscreen_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2859 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2860 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2861 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2862 menu_item_add(menu, _("_Full screen"), G_CALLBACK(pan_fullscreen_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2863 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2864 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2865 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2866 menu_item_add_stock(menu, _("C_lose window"), GTK_STOCK_CLOSE, G_CALLBACK(pan_close_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2867 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2868 return menu; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2869 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2870 |
105
de64a683d5d0
Thu Nov 9 17:43:06 2006 John Ellis <johne@verizon.net>
gqview
parents:
102
diff
changeset
|
2871 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2872 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2873 *----------------------------------------------------------------------------- |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
2874 * drag and drop |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2875 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2876 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2877 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2878 static void pan_window_get_dnd_data(GtkWidget *widget, GdkDragContext *context, |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2879 gint x, gint y, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2880 GtkSelectionData *selection_data, guint info, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2881 guint time, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2882 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2883 PanWindow *pw = data; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2884 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2885 if (gtk_drag_get_source_widget(context) == pw->imd->pr) return; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2886 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2887 if (info == TARGET_URI_LIST) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2888 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2889 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2890 |
138 | 2891 list = uri_filelist_from_text((gchar *)selection_data->data, TRUE); |
2892 if (list && isdir(((FileData *)list->data)->path)) | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2893 { |
138 | 2894 FileData *fd = list->data; |
2895 | |
2896 pan_layout_set_path(pw, fd->path); | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2897 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2898 |
138 | 2899 filelist_free(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2900 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2901 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2902 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2903 static void pan_window_set_dnd_data(GtkWidget *widget, GdkDragContext *context, |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2904 GtkSelectionData *selection_data, guint info, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2905 guint time, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2906 { |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2907 PanWindow *pw = data; |
138 | 2908 FileData *fd; |
2909 | |
2910 fd = pan_menu_click_fd(pw); | |
2911 if (fd) | |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2912 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2913 gchar *text = NULL; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2914 gint len; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2915 gint plain_text; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2916 GList *list; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2917 |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2918 switch (info) |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2919 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2920 case TARGET_URI_LIST: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2921 plain_text = FALSE; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2922 break; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2923 case TARGET_TEXT_PLAIN: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2924 default: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2925 plain_text = TRUE; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2926 break; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2927 } |
138 | 2928 list = g_list_append(NULL, fd); |
2929 text = uri_text_from_filelist(list, &len, plain_text); | |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2930 g_list_free(list); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2931 if (text) |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2932 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2933 gtk_selection_data_set (selection_data, selection_data->target, |
64
04ff0df3ad2f
Mon Aug 15 17:13:57 2005 John Ellis <johne@verizon.net>
gqview
parents:
60
diff
changeset
|
2934 8, (guchar *)text, len); |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2935 g_free(text); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2936 } |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2937 } |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2938 else |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2939 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2940 gtk_selection_data_set (selection_data, selection_data->target, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2941 8, NULL, 0); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2942 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2943 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2944 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2945 static void pan_window_dnd_init(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2946 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2947 GtkWidget *widget; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2948 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2949 widget = pw->imd->pr; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2950 |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2951 gtk_drag_source_set(widget, GDK_BUTTON2_MASK, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2952 dnd_file_drag_types, dnd_file_drag_types_count, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2953 GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2954 g_signal_connect(G_OBJECT(widget), "drag_data_get", |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2955 G_CALLBACK(pan_window_set_dnd_data), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2956 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2957 gtk_drag_dest_set(widget, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2958 GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2959 dnd_file_drop_types, dnd_file_drop_types_count, |
442 | 2960 GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2961 g_signal_connect(G_OBJECT(widget), "drag_data_received", |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2962 G_CALLBACK(pan_window_get_dnd_data), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2963 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2964 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2965 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2966 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2967 * maintenance (for rename, move, remove) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2968 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2969 */ |