Mercurial > geeqie
annotate src/pan-view.c @ 39:64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
* cache.c (cache_sim_data_load): Fix to return CacheData if any data
type exists.
* pan-view.c: Fix slow merging of embedded dates into file list;
includes optimizing pan_cache_sync_date and plugging a memory leak.
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
##### an offical release when making enhancements and translation updates. #####
author | gqview |
---|---|
date | Thu, 14 Apr 2005 14:56:17 +0000 |
parents | 67ba4381497e |
children | dcc04a6a58bf |
rev | line source |
---|---|
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2 * GQview |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3 * (C) 2005 John Ellis |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
13 #include "gqview.h" |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
16 #include "cache.h" |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
17 #include "cache-loader.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" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
20 #include "filelist.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
21 #include "fullscreen.h" |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
22 #include "image.h" |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
23 #include "image-load.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
24 #include "img-view.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
25 #include "info.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
26 #include "menu.h" |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
27 #include "pixbuf-renderer.h" |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
28 #include "pixbuf_util.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
29 #include "thumb.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
30 #include "utilops.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
31 #include "ui_bookmark.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
32 #include "ui_fileops.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
33 #include "ui_menu.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
34 #include "ui_misc.h" |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
35 #include "ui_tabcomp.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 #include <gdk/gdkkeysyms.h> /* for keyboard values */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
38 #include <math.h> |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
39 |
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_WINDOW_DEFAULT_WIDTH 720 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
42 #define PAN_WINDOW_DEFAULT_HEIGHT 500 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
43 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
44 #define PAN_TILE_SIZE 512 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
45 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
46 #define PAN_THUMB_SIZE_DOTS 4 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
47 #define PAN_THUMB_SIZE_NONE 24 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
48 #define PAN_THUMB_SIZE_SMALL 64 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
49 #define PAN_THUMB_SIZE_NORMAL 128 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
50 #define PAN_THUMB_SIZE_LARGE 256 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
51 #define PAN_THUMB_SIZE pw->thumb_size |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
52 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
53 #define PAN_THUMB_GAP_DOTS 2 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
54 #define PAN_THUMB_GAP_SMALL 14 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
55 #define PAN_THUMB_GAP_NORMAL 30 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
56 #define PAN_THUMB_GAP_LARGE 40 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
57 #define PAN_THUMB_GAP_HUGE 50 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
58 #define PAN_THUMB_GAP pw->thumb_gap |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
59 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
60 #define PAN_SHADOW_OFFSET 6 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
61 #define PAN_SHADOW_FADE 5 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
62 #define PAN_SHADOW_COLOR 0, 0, 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
63 #define PAN_SHADOW_ALPHA 64 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
64 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
65 #define PAN_OUTLINE_THICKNESS 1 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
66 #define PAN_OUTLINE_COLOR_1 255, 255, 255 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
67 #define PAN_OUTLINE_COLOR_2 64, 64, 64 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
68 #define PAN_OUTLINE_ALPHA 180 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
69 |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
70 #define PAN_BACKGROUND_COLOR 150, 150, 150 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
71 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
72 #define PAN_GRID_SIZE 60 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
73 #define PAN_GRID_COLOR 0, 0, 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
74 #define PAN_GRID_ALPHA 20 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
75 |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
76 #define PAN_FOLDER_BOX_COLOR 255, 255, 255 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
77 #define PAN_FOLDER_BOX_ALPHA 100 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
78 #define PAN_FOLDER_BOX_BORDER 20 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
79 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
80 #define PAN_FOLDER_BOX_OUTLINE_THICKNESS 4 |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
81 #define PAN_FOLDER_BOX_OUTLINE_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
82 #define PAN_FOLDER_BOX_OUTLINE_ALPHA 128 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
83 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
84 #define PAN_TEXT_BORDER_SIZE 4 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
85 #define PAN_TEXT_COLOR 0, 0, 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
86 |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
87 #define PAN_POPUP_COLOR 255, 255, 225 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
88 #define PAN_POPUP_ALPHA 255 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
89 #define PAN_POPUP_BORDER 1 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
90 #define PAN_POPUP_BORDER_COLOR 0, 0, 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
91 #define PAN_POPUP_TEXT_COLOR 0, 0, 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
92 |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
93 #define PAN_CAL_POPUP_COLOR 220, 220, 220 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
94 #define PAN_CAL_POPUP_ALPHA 255 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
95 #define PAN_CAL_POPUP_BORDER 1 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
96 #define PAN_CAL_POPUP_BORDER_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
97 #define PAN_CAL_POPUP_TEXT_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
98 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
99 #define PAN_CAL_DAY_WIDTH 100 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
100 #define PAN_CAL_DAY_HEIGHT 80 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
101 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
102 #define PAN_CAL_DAY_COLOR 255, 255, 255 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
103 #define PAN_CAL_DAY_ALPHA 220 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
104 #define PAN_CAL_DAY_BORDER 2 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
105 #define PAN_CAL_DAY_BORDER_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
106 #define PAN_CAL_DAY_TEXT_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
107 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
108 #define PAN_CAL_MONTH_COLOR 255, 255, 255 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
109 #define PAN_CAL_MONTH_ALPHA 200 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
110 #define PAN_CAL_MONTH_BORDER 4 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
111 #define PAN_CAL_MONTH_BORDER_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
112 #define PAN_CAL_MONTH_TEXT_COLOR 0, 0, 0 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
113 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
114 #define PAN_CAL_DOT_SIZE 3 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
115 #define PAN_CAL_DOT_GAP 2 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
116 #define PAN_CAL_DOT_COLOR 128, 128, 128 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
117 #define PAN_CAL_DOT_ALPHA 128 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
118 |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
119 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
120 #define PAN_GROUP_MAX 16 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
121 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
122 #define ZOOM_INCREMENT 1.0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
123 #define ZOOM_LABEL_WIDTH 64 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
124 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
125 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
126 #define PAN_PREF_GROUP "pan_view_options" |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
127 #define PAN_PREF_HIDE_WARNING "hide_performance_warning" |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
128 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
129 #define SORT_BY_EXIF_DATE 1 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
130 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
131 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
132 typedef enum { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
133 LAYOUT_TIMELINE = 0, |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
134 LAYOUT_CALENDAR, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
135 LAYOUT_FOLDERS_LINEAR, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
136 LAYOUT_FOLDERS_FLOWER, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
137 LAYOUT_GRID, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
138 } LayoutType; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
139 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
140 typedef enum { |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
141 LAYOUT_SIZE_THUMB_DOTS = 0, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
142 LAYOUT_SIZE_THUMB_NONE, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
143 LAYOUT_SIZE_THUMB_SMALL, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
144 LAYOUT_SIZE_THUMB_NORMAL, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
145 LAYOUT_SIZE_THUMB_LARGE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
146 LAYOUT_SIZE_10, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
147 LAYOUT_SIZE_25, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
148 LAYOUT_SIZE_33, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
149 LAYOUT_SIZE_50, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
150 LAYOUT_SIZE_100 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
151 } LayoutSize; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
152 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
153 typedef enum { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
154 ITEM_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
155 ITEM_THUMB, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
156 ITEM_BOX, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
157 ITEM_TRIANGLE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
158 ITEM_TEXT, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
159 ITEM_IMAGE |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
160 } ItemType; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
161 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
162 typedef enum { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
163 TEXT_ATTR_NONE = 0, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
164 TEXT_ATTR_BOLD = 1 << 0, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
165 TEXT_ATTR_HEADING = 1 << 1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
166 TEXT_ATTR_MARKUP = 1 << 2 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
167 } TextAttrType; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
168 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
169 enum { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
170 BORDER_NONE = 0, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
171 BORDER_1 = 1 << 0, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
172 BORDER_2 = 1 << 1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
173 BORDER_3 = 1 << 2, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
174 BORDER_4 = 1 << 3 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
175 }; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
176 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
177 typedef struct _PanItem PanItem; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
178 struct _PanItem { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
179 ItemType type; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
180 gint x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
181 gint y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
182 gint width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
183 gint height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
184 gchar *key; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
185 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
186 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
187 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
188 GdkPixbuf *pixbuf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
189 gint refcount; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
190 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
191 gchar *text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
192 TextAttrType text_attr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
193 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
194 guint8 color_r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
195 guint8 color_g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
196 guint8 color_b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
197 guint8 color_a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
198 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
199 guint8 color2_r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
200 guint8 color2_g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
201 guint8 color2_b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
202 guint8 color2_a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
203 gint border; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
204 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
205 gpointer data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
206 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
207 gint queued; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
208 }; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
209 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
210 typedef struct _PanWindow PanWindow; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
211 struct _PanWindow |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
212 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
213 GtkWidget *window; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
214 ImageWindow *imd; |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
215 ImageWindow *imd_normal; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
216 FullScreenData *fs; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
217 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
218 GtkWidget *path_entry; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
219 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
220 GtkWidget *label_message; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
221 GtkWidget *label_zoom; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
222 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
223 GtkWidget *search_box; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
224 GtkWidget *search_entry; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
225 GtkWidget *search_label; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
226 GtkWidget *search_button; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
227 GtkWidget *search_button_arrow; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
228 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
229 GtkWidget *scrollbar_h; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
230 GtkWidget *scrollbar_v; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
231 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
232 gint overlay_id; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
233 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
234 gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
235 LayoutType layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
236 LayoutSize size; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
237 gint thumb_size; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
238 gint thumb_gap; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
239 gint image_size; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
240 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
241 GList *list; |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
242 GList *list_static; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
243 GList *list_grid; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
244 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
245 GList *cache_list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
246 GList *cache_todo; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
247 gint cache_count; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
248 gint cache_total; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
249 gint cache_tick; |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
250 CacheLoader *cache_cl; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
251 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
252 ImageLoader *il; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
253 ThumbLoader *tl; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
254 PanItem *queue_pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
255 GList *queue; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
256 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
257 PanItem *click_pi; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
258 PanItem *search_pi; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
259 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
260 gint idle_id; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
261 }; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
262 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
263 typedef struct _PanGrid PanGrid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
264 struct _PanGrid { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
265 gint x; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
266 gint y; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
267 gint w; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
268 gint h; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
269 GList *list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
270 }; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
271 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
272 typedef struct _PanCacheData PanCacheData; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
273 struct _PanCacheData { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
274 FileData fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
275 CacheData *cd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
276 }; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
277 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
278 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
279 static GList *pan_window_list = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
280 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
281 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
282 static GList *pan_window_layout_list(const gchar *path, SortType sort, gint ascend); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
283 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
284 static GList *pan_layout_intersect(PanWindow *pw, gint x, gint y, gint width, gint height); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
285 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
286 static void pan_window_layout_update_idle(PanWindow *pw); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
287 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
288 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
|
289 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
|
290 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
291 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
|
292 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
293 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
|
294 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
295 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
296 typedef enum { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
297 DATE_LENGTH_EXACT, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
298 DATE_LENGTH_HOUR, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
299 DATE_LENGTH_DAY, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
300 DATE_LENGTH_WEEK, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
301 DATE_LENGTH_MONTH, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
302 DATE_LENGTH_YEAR |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
303 } DateLengthType; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
304 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
305 static gint date_compare(time_t a, time_t b, DateLengthType length) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
306 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
307 struct tm ta; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
308 struct tm tb; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
309 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
310 if (length == DATE_LENGTH_EXACT) return (a == b); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
311 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
312 if (!localtime_r(&a, &ta) || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
313 !localtime_r(&b, &tb)) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
314 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
315 if (ta.tm_year != tb.tm_year) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
316 if (length == DATE_LENGTH_YEAR) return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
317 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
318 if (ta.tm_mon != tb.tm_mon) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
319 if (length == DATE_LENGTH_MONTH) return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
320 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
321 if (length == DATE_LENGTH_WEEK) return (ta.tm_yday / 7 == tb.tm_yday / 7); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
322 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
323 if (ta.tm_mday != tb.tm_mday) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
324 if (length == DATE_LENGTH_DAY) return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
325 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
326 return (ta.tm_hour == tb.tm_hour); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
327 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
328 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
329 static gint date_value(time_t d, DateLengthType length) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
330 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
331 struct tm td; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
332 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
333 if (!localtime_r(&d, &td)) return -1; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
334 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
335 switch (length) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
336 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
337 case DATE_LENGTH_DAY: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
338 return td.tm_mday; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
339 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
340 case DATE_LENGTH_WEEK: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
341 return td.tm_wday; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
342 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
343 case DATE_LENGTH_MONTH: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
344 return td.tm_mon + 1; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
345 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
346 case DATE_LENGTH_YEAR: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
347 return td.tm_year + 1900; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
348 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
349 case DATE_LENGTH_EXACT: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
350 default: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
351 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
352 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
353 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
354 return -1; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
355 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
356 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
357 static gchar *date_value_string(time_t d, DateLengthType length) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
358 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
359 struct tm td; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
360 gchar buf[128]; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
361 gchar *format = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
362 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
363 if (!localtime_r(&d, &td)) return g_strdup(""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
364 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
365 switch (length) |
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 case DATE_LENGTH_DAY: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
368 return g_strdup_printf("%d", td.tm_mday); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
369 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
370 case DATE_LENGTH_WEEK: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
371 format = "%A %e"; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
372 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
373 case DATE_LENGTH_MONTH: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
374 format = "%B %Y"; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
375 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
376 case DATE_LENGTH_YEAR: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
377 return g_strdup_printf("%d", td.tm_year + 1900); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
378 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
379 case DATE_LENGTH_EXACT: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
380 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
381 return g_strdup(text_from_time(d)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
382 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
383 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
384 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
385 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
386 if (format && strftime(buf, sizeof(buf), format, &td) > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
387 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
388 gchar *ret = g_locale_to_utf8(buf, -1, NULL, NULL, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
389 if (ret) return ret; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
390 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
391 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
392 return g_strdup(""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
393 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
394 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
395 static time_t date_to_time(gint year, gint month, gint day) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
396 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
397 struct tm lt; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
398 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
399 lt.tm_sec = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
400 lt.tm_min = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
401 lt.tm_hour = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
402 lt.tm_mday = (day >= 1 && day <= 31) ? day : 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
403 lt.tm_mon = (month >= 1 && month <= 12) ? month - 1 : 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
404 lt.tm_year = year - 1900; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
405 lt.tm_isdst = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
406 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
407 return mktime(<); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
408 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
409 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
410 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
411 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
412 * cache |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
413 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
414 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
415 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
416 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
|
417 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
418 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
419 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
420 work = pw->cache_list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
421 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
422 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
423 PanCacheData *pc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
424 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
425 pc = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
426 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
427 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
428 cache_sim_data_free(pc->cd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
429 file_data_free((FileData *)pc); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
430 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
431 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
432 g_list_free(pw->cache_list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
433 pw->cache_list = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
434 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
435 filelist_free(pw->cache_todo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
436 pw->cache_todo = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
437 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
438 pw->cache_count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
439 pw->cache_total = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
440 pw->cache_tick = 0; |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
441 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
442 cache_loader_free(pw->cache_cl); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
443 pw->cache_cl = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
444 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
445 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
446 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
|
447 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
448 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
449 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
450 pan_cache_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
451 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
452 list = pan_window_layout_list(path, SORT_NAME, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
453 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
|
454 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
455 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
|
456 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
457 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
458 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
|
459 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
460 PanWindow *pw = data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
461 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
462 if (pw->cache_list) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
463 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
464 PanCacheData *pc; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
465 pc = pw->cache_list->data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
466 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
467 if (!pc->cd) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
468 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
469 pc->cd = cl->cd; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
470 cl->cd = NULL; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
471 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
472 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
473 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
474 cache_loader_free(cl); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
475 pw->cache_cl = NULL; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
476 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
477 pan_window_layout_update_idle(pw); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
478 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
479 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
480 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
|
481 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
482 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
483 PanCacheData *pc; |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
484 CacheDataType load_mask; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
485 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
486 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
|
487 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
488 fd = pw->cache_todo->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
489 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
|
490 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
491 #if 0 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
492 if (enable_thumb_caching) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
493 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
494 gchar *found; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
495 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
496 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
|
497 if (found && filetime(found) == fd->date) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
498 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
499 cd = cache_sim_data_load(found); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
500 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
501 g_free(found); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
502 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
503 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
504 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
|
505 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
506 if (!cd->dimensions) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
507 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
508 cd->dimensions = image_load_dimensions(fd->path, &cd->width, &cd->height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
509 if (enable_thumb_caching && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
510 cd->dimensions) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
511 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
512 gchar *base; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
513 mode_t mode = 0755; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
514 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
515 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
|
516 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
|
517 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
518 g_free(cd->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
519 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
|
520 if (cache_sim_data_save(cd)) |
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 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
|
523 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
524 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
525 g_free(base); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
526 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
527 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
528 pw->cache_tick = 9; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
529 } |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
530 #endif |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
531 pc = g_new0(PanCacheData, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
532 memcpy(pc, fd, sizeof(FileData)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
533 g_free(fd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
534 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
535 pc->cd = NULL; |
12
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 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
|
538 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
539 cache_loader_free(pw->cache_cl); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
540 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
541 load_mask = CACHE_LOADER_NONE; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
542 if (pw->size > LAYOUT_SIZE_THUMB_LARGE) load_mask |= CACHE_LOADER_DIMENSIONS; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
543 if (SORT_BY_EXIF_DATE) load_mask |= CACHE_LOADER_DATE; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
544 pw->cache_cl = cache_loader_new(((FileData *)pc)->path, load_mask, |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
545 pan_cache_step_done_cb, pw); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
546 return (pw->cache_cl == NULL); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
547 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
548 |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
549 /* This sync date function is optimized for lists with a common sort */ |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
550 static void pan_cache_sync_date(PanWindow *pw, GList *list) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
551 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
552 GList *haystack; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
553 GList *work; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
554 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
555 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
|
556 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
557 work = list; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
558 while (work) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
559 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
560 FileData *fd; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
561 GList *needle; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
562 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
563 fd = work->data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
564 work = work->next; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
565 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
566 needle = haystack; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
567 while (needle) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
568 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
569 PanCacheData *pc; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
570 gchar *path; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
571 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
572 pc = needle->data; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
573 path = ((FileData *)pc)->path; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
574 if (path && strcmp(path, fd->path) == 0) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
575 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
576 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
|
577 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
578 fd->date = pc->cd->date; |
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 |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
581 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
|
582 needle = NULL; |
37
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 else |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
585 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
586 needle = needle->next; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
587 } |
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 } |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
590 |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
591 g_list_free(haystack); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
592 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
593 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
594 /* |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
595 *----------------------------------------------------------------------------- |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
596 * item grid |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
597 *----------------------------------------------------------------------------- |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
598 */ |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
599 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
600 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
|
601 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
602 GList *work; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
603 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
604 work = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
605 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
606 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
607 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
608 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
609 pg = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
610 work = work->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
611 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
612 g_list_free(pg->list); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
613 g_free(pg); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
614 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
615 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
616 g_list_free(pw->list_grid); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
617 pw->list_grid = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
618 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
619 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
|
620 pw->list_static = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
621 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
622 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
623 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
|
624 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
625 GList *work; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
626 gint col, row; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
627 gint cw, ch; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
628 gint l; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
629 gdouble total; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
630 gdouble s; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
631 gdouble aw, ah; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
632 gint i, j; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
633 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
634 pan_grid_clear(pw); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
635 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
636 l = g_list_length(pw->list); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
637 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
638 if (l < 1) return; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
639 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
640 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
|
641 s = sqrt(total); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
642 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
643 aw = (gdouble)width / s; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
644 ah = (gdouble)height / s; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
645 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
646 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
|
647 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
|
648 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
|
649 if (row < 1) row = 1; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
650 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
651 /* 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
|
652 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
|
653 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
|
654 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
655 row = row * 2 - 1; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
656 col = col * 2 - 1; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
657 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
658 printf("intersect speedup grid is %dx%d, based on %d average per grid\n", col, row, grid_size); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
659 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
660 for (j = 0; j < row; j++) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
661 for (i = 0; i < col; i++) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
662 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
663 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
|
664 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
665 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
666 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
667 pg = g_new0(PanGrid, 1); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
668 pg->x = i * cw / 2; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
669 pg->y = j * ch / 2; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
670 pg->w = cw; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
671 pg->h = ch; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
672 pg->list = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
673 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
674 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
|
675 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
676 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
|
677 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
678 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
679 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
680 work = pw->list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
681 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
682 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
683 PanItem *pi; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
684 GList *grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
685 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
686 pi = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
687 work = work->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
688 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
689 grid = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
690 while (grid) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
691 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
692 PanGrid *pg; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
693 gint rx, ry, rw, rh; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
694 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
695 pg = grid->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
696 grid = grid->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
697 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
698 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
|
699 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
|
700 &rx, &ry, &rw, &rh)) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
701 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
702 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
|
703 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
704 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
705 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
706 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
707 work = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
708 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
709 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
710 PanGrid *pg; |
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 pg = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
713 work = work->next; |
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 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
|
716 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
717 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
718 pw->list_static = pw->list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
719 pw->list = NULL; |
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 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
722 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
723 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
724 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
725 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
726 * item objects |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
727 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
728 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
729 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
730 static void pan_item_free(PanItem *pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
731 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
732 if (!pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
733 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
734 if (pi->pixbuf) g_object_unref(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
735 if (pi->fd) file_data_free(pi->fd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
736 g_free(pi->text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
737 g_free(pi->key); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
738 g_free(pi->data); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
739 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
740 g_free(pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
741 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
742 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
743 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
|
744 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
745 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
746 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
747 pan_grid_clear(pw); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
748 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
749 work = pw->list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
750 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
751 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
752 PanItem *pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
753 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
754 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
755 pan_item_free(pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
756 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
757 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
758 g_list_free(pw->list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
759 pw->list = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
760 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
761 g_list_free(pw->queue); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
762 pw->queue = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
763 pw->queue_pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
764 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
765 image_loader_free(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
766 pw->il = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
767 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
768 thumb_loader_free(pw->tl); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
769 pw->tl = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
770 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
771 pw->click_pi = NULL; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
772 pw->search_pi = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
773 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
774 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
775 static PanItem *pan_item_new_thumb(PanWindow *pw, FileData *fd, gint x, gint y) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
776 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
777 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
778 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
779 pi = g_new0(PanItem, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
780 pi->type = ITEM_THUMB; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
781 pi->fd = fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
782 pi->x = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
783 pi->y = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
784 pi->width = PAN_THUMB_SIZE + PAN_SHADOW_OFFSET * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
785 pi->height = PAN_THUMB_SIZE + PAN_SHADOW_OFFSET * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
786 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
787 pi->pixbuf = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
788 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
789 pi->queued = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
790 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
791 pw->list = g_list_prepend(pw->list, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
792 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
793 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
794 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
795 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
796 static PanItem *pan_item_new_box(PanWindow *pw, FileData *fd, gint x, gint y, gint width, gint height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
797 gint border_size, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
798 guint8 base_r, guint8 base_g, guint8 base_b, guint8 base_a, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
799 guint8 bord_r, guint8 bord_g, guint8 bord_b, guint8 bord_a) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
800 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
801 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
802 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
803 pi = g_new0(PanItem, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
804 pi->type = ITEM_BOX; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
805 pi->fd = fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
806 pi->x = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
807 pi->y = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
808 pi->width = width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
809 pi->height = height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
810 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
811 pi->color_r = base_r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
812 pi->color_g = base_g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
813 pi->color_b = base_b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
814 pi->color_a = base_a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
815 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
816 pi->color2_r = bord_r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
817 pi->color2_g = bord_g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
818 pi->color2_b = bord_b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
819 pi->color2_a = bord_a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
820 pi->border = border_size; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
821 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
822 pw->list = g_list_prepend(pw->list, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
823 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
824 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
825 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
826 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
827 static void pan_item_box_shadow(PanItem *pi, gint offset, gint fade) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
828 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
829 gint *shadow; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
830 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
831 if (!pi || pi->type != ITEM_BOX) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
832 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
833 shadow = pi->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
834 if (shadow) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
835 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
836 pi->width -= shadow[0]; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
837 pi->height -= shadow[0]; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
838 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
839 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
840 shadow = g_new0(gint, 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
841 shadow[0] = offset; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
842 shadow[1] = fade; |
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 pi->width += offset; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
845 pi->height += offset; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
846 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
847 g_free(pi->data); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
848 pi->data = shadow; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
849 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
850 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
851 static PanItem *pan_item_new_tri(PanWindow *pw, FileData *fd, gint x, gint y, gint width, gint height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
852 gint x1, gint y1, gint x2, gint y2, gint x3, gint y3, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
853 guint8 r, guint8 g, guint8 b, guint8 a) |
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; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
856 gint *coord; |
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 pi = g_new0(PanItem, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
859 pi->type = ITEM_TRIANGLE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
860 pi->x = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
861 pi->y = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
862 pi->width = width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
863 pi->height = height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
864 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
865 pi->color_r = r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
866 pi->color_g = g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
867 pi->color_b = b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
868 pi->color_a = a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
869 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
870 coord = g_new0(gint, 6); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
871 coord[0] = x1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
872 coord[1] = y1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
873 coord[2] = x2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
874 coord[3] = y2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
875 coord[4] = x3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
876 coord[5] = y3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
877 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
878 pi->data = coord; |
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 pi->border = BORDER_NONE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
881 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
882 pw->list = g_list_prepend(pw->list, pi); |
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 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
885 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
886 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
887 static void pan_item_tri_border(PanItem *pi, gint borders, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
888 guint8 r, guint8 g, guint8 b, guint8 a) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
889 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
890 if (!pi || pi->type != ITEM_TRIANGLE) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
891 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
892 pi->border = borders; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
893 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
894 pi->color2_r = r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
895 pi->color2_g = g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
896 pi->color2_b = b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
897 pi->color2_a = a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
898 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
899 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
900 static PangoLayout *pan_item_text_layout(PanItem *pi, GtkWidget *widget) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
901 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
902 PangoLayout *layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
903 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
904 layout = gtk_widget_create_pango_layout(widget, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
905 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
906 if (pi->text_attr & TEXT_ATTR_MARKUP) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
907 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
908 pango_layout_set_markup(layout, pi->text, -1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
909 return layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
910 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
911 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
912 if (pi->text_attr & TEXT_ATTR_BOLD || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
913 pi->text_attr & TEXT_ATTR_HEADING) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
914 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
915 PangoAttrList *pal; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
916 PangoAttribute *pa; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
917 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
918 pal = pango_attr_list_new(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
919 if (pi->text_attr & TEXT_ATTR_BOLD) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
920 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
921 pa = pango_attr_weight_new(PANGO_WEIGHT_BOLD); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
922 pa->start_index = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
923 pa->end_index = G_MAXINT; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
924 pango_attr_list_insert(pal, pa); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
925 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
926 if (pi->text_attr & TEXT_ATTR_HEADING) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
927 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
928 pa = pango_attr_scale_new(PANGO_SCALE_LARGE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
929 pa->start_index = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
930 pa->end_index = G_MAXINT; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
931 pango_attr_list_insert(pal, pa); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
932 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
933 pango_layout_set_attributes(layout, pal); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
934 pango_attr_list_unref(pal); |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
937 pango_layout_set_text(layout, pi->text, -1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
938 return layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
939 } |
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 static void pan_item_text_compute_size(PanItem *pi, GtkWidget *widget) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
942 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
943 PangoLayout *layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
944 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
945 if (!pi || !pi->text || !widget) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
946 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
947 layout = pan_item_text_layout(pi, widget); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
948 pango_layout_get_pixel_size(layout, &pi->width, &pi->height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
949 g_object_unref(G_OBJECT(layout)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
950 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
951 pi->width += PAN_TEXT_BORDER_SIZE * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
952 pi->height += PAN_TEXT_BORDER_SIZE * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
953 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
954 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
955 static PanItem *pan_item_new_text(PanWindow *pw, gint x, gint y, const gchar *text, TextAttrType attr, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
956 guint8 r, guint8 g, guint8 b, guint8 a) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
957 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
958 PanItem *pi; |
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 pi = g_new0(PanItem, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
961 pi->type = ITEM_TEXT; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
962 pi->x = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
963 pi->y = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
964 pi->text = g_strdup(text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
965 pi->text_attr = attr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
966 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
967 pi->color_r = r; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
968 pi->color_g = g; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
969 pi->color_b = b; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
970 pi->color_a = a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
971 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
972 pan_item_text_compute_size(pi, pw->imd->pr); |
12
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 pw->list = g_list_prepend(pw->list, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
975 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
976 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
977 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
978 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
979 static void pan_item_set_key(PanItem *pi, const gchar *key) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
980 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
981 gchar *tmp; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
982 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
983 if (!pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
984 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
985 tmp = pi->key; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
986 pi->key = g_strdup(key); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
987 g_free(tmp); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
988 } |
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 static void pan_item_added(PanWindow *pw, PanItem *pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
991 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
992 if (!pi) return; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
993 image_area_changed(pw->imd, pi->x, pi->y, pi->width, pi->height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
994 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
995 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
996 static void pan_item_remove(PanWindow *pw, PanItem *pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
997 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
998 if (!pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
999 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1000 if (pw->click_pi == pi) pw->click_pi = NULL; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1001 if (pw->queue_pi == pi) pw->queue_pi = NULL; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1002 if (pw->search_pi == pi) pw->search_pi = NULL; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1003 pw->queue = g_list_remove(pw->queue, pi); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1004 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1005 pw->list = g_list_remove(pw->list, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
1006 image_area_changed(pw->imd, pi->x, pi->y, pi->width, pi->height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1007 pan_item_free(pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1008 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1009 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1010 static void pan_item_size_by_item(PanItem *pi, PanItem *child, gint border) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1011 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1012 if (!pi || !child) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1013 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1014 if (pi->x + pi->width < child->x + child->width + border) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1015 pi->width = child->x + child->width + border - pi->x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1016 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1017 if (pi->y + pi->height < child->y + child->height + border) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1018 pi->height = child->y + child->height + border - pi->y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1019 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1020 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1021 static void pan_item_size_coordinates(PanItem *pi, gint border, gint *w, gint *h) |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1022 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1023 if (!pi) return; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1024 |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1025 if (*w < pi->x + pi->width + border) *w = pi->x + pi->width + border; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1026 if (*h < pi->y + pi->height + border) *h = pi->y + pi->height + border; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1027 } |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1028 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1029 static void pan_item_image_find_size(PanWindow *pw, PanItem *pi, gint w, gint h) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1030 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1031 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1032 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1033 pi->width = w; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1034 pi->height = h; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1035 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1036 if (!pi->fd) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1037 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1038 work = pw->cache_list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1039 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1040 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1041 PanCacheData *pc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1042 gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1043 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1044 pc = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1045 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1046 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1047 path = ((FileData *)pc)->path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1048 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1049 if (pc->cd && pc->cd->dimensions && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1050 path && strcmp(path, pi->fd->path) == 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1051 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1052 pi->width = MAX(1, pc->cd->width * pw->image_size / 100); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1053 pi->height = MAX(1, pc->cd->height * pw->image_size / 100); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1054 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1055 pw->cache_list = g_list_remove(pw->cache_list, pc); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1056 cache_sim_data_free(pc->cd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1057 file_data_free((FileData *)pc); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1058 return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1059 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1060 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1061 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1062 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1063 static PanItem *pan_item_new_image(PanWindow *pw, FileData *fd, gint x, gint y, gint w, gint h) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1064 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1065 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1066 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1067 pi = g_new0(PanItem, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1068 pi->type = ITEM_IMAGE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1069 pi->fd = fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1070 pi->x = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1071 pi->y = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1072 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1073 pan_item_image_find_size(pw, pi, w, h); |
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 pw->list = g_list_prepend(pw->list, pi); |
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 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1078 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1079 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1080 static PanItem *pan_item_find_by_key(PanWindow *pw, ItemType type, const gchar *key) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1081 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1082 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1083 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1084 if (!key) return NULL; |
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 work = g_list_last(pw->list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1087 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1088 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1089 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1090 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1091 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1092 if ((pi->type == type || type == ITEM_NONE) && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1093 pi->key && strcmp(pi->key, key) == 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1094 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1095 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1096 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1097 work = work->prev; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1098 } |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1099 work = g_list_last(pw->list_static); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1100 while (work) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1101 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1102 PanItem *pi; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1103 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1104 pi = work->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1105 if ((pi->type == type || type == ITEM_NONE) && |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1106 pi->key && strcmp(pi->key, key) == 0) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1107 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1108 return pi; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1109 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1110 work = work->prev; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1111 } |
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 return NULL; |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1116 /* when ignore_case and partial are TRUE, path should be converted to lower case */ |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1117 static GList *pan_item_find_by_path_l(GList *list, GList *search_list, |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1118 ItemType type, const gchar *path, |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1119 gint ignore_case, gint partial) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1120 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1121 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1122 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1123 work = g_list_last(search_list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1124 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1125 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1126 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1127 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1128 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1129 if ((pi->type == type || type == ITEM_NONE) && pi->fd) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1130 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1131 gint match = FALSE; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1132 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1133 if (path[0] == '/') |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1134 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1135 if (pi->fd->path && strcmp(path, pi->fd->path) == 0) match = TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1136 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1137 else if (pi->fd->name) |
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 if (partial) |
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 if (ignore_case) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1142 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1143 gchar *haystack; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1144 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1145 haystack = g_utf8_strdown(pi->fd->name, -1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1146 match = (strstr(haystack, path) != NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1147 g_free(haystack); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1148 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1149 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1150 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1151 if (strstr(pi->fd->name, path)) match = TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1152 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1153 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1154 else if (ignore_case) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1155 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1156 if (strcasecmp(path, pi->fd->name) == 0) match = TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1157 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1158 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1159 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1160 if (strcmp(path, pi->fd->name) == 0) match = TRUE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1161 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1162 } |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1163 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1164 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
|
1165 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1166 work = work->prev; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1167 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1168 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1169 return list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1170 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1171 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1172 /* when ignore_case and partial are TRUE, path should be converted to lower case */ |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1173 static GList *pan_item_find_by_path(PanWindow *pw, ItemType type, const gchar *path, |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1174 gint ignore_case, gint partial) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1175 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1176 GList *list = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1177 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1178 if (!path) return NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1179 if (partial && path[0] == '/') return NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1180 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1181 list = pan_item_find_by_path_l(list, pw->list_static, type, path, ignore_case, partial); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1182 list = pan_item_find_by_path_l(list, pw->list, type, path, ignore_case, partial); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1183 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1184 return g_list_reverse(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1185 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1186 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1187 static PanItem *pan_item_find_by_coord_l(GList *list, ItemType type, gint x, gint y, const gchar *key) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1188 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1189 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1190 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1191 work = list; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1192 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1193 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1194 PanItem *pi; |
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 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1197 if ((pi->type == type || type == ITEM_NONE) && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1198 x >= pi->x && x < pi->x + pi->width && |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1199 y >= pi->y && y < pi->y + pi->height && |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1200 (!key || (pi->key && strcmp(pi->key, key) == 0))) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1201 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1202 return pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1203 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1204 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1205 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1206 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1207 return NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1208 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1209 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1210 static PanItem *pan_item_find_by_coord(PanWindow *pw, ItemType type, gint x, gint y, const gchar *key) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1211 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1212 PanItem *pi; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1213 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1214 pi = pan_item_find_by_coord_l(pw->list, type, x, y, key); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1215 if (pi) return pi; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1216 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1217 return pan_item_find_by_coord_l(pw->list_static, type, x, y, key); |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1218 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
1219 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1220 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1221 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1222 * layout generation |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1223 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1224 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1225 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1226 static GList *pan_window_layout_list(const gchar *path, SortType sort, gint ascend) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1227 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1228 GList *flist = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1229 GList *dlist = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1230 GList *result; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1231 GList *folders; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1232 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1233 filelist_read(path, &flist, &dlist); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1234 if (sort != SORT_NONE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1235 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1236 flist = filelist_sort(flist, sort, ascend); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1237 dlist = filelist_sort(dlist, sort, ascend); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1238 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1239 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1240 result = flist; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1241 folders = dlist; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1242 while (folders) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1243 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1244 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1245 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1246 fd = folders->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1247 folders = g_list_remove(folders, fd); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1248 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1249 if (filelist_read(fd->path, &flist, &dlist)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1250 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1251 if (sort != SORT_NONE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1252 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1253 flist = filelist_sort(flist, sort, ascend); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1254 dlist = filelist_sort(dlist, sort, ascend); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1255 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1256 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1257 result = g_list_concat(result, flist); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1258 folders = g_list_concat(dlist, folders); |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1261 file_data_free(fd); |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1264 return result; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1265 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1266 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1267 static void pan_window_layout_compute_grid(PanWindow *pw, const gchar *path, gint *width, gint *height) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1268 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1269 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1270 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1271 gint x, y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1272 gint grid_size; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1273 gint next_y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1274 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1275 list = pan_window_layout_list(path, SORT_NAME, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1276 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1277 grid_size = (gint)sqrt((double)g_list_length(list)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1278 if (pw->size > LAYOUT_SIZE_THUMB_LARGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1279 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1280 grid_size = grid_size * (512 + PAN_THUMB_GAP) * pw->image_size / 100; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1281 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1282 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1283 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1284 grid_size = grid_size * (PAN_THUMB_SIZE + PAN_THUMB_GAP); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1285 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1286 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1287 next_y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1288 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1289 *width = PAN_FOLDER_BOX_BORDER * 2; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1290 *height = PAN_FOLDER_BOX_BORDER * 2; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1291 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1292 x = PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1293 y = PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1294 work = list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1295 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1296 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1297 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1298 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1299 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1300 fd = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1301 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1302 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1303 if (pw->size > LAYOUT_SIZE_THUMB_LARGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1304 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1305 pi = pan_item_new_image(pw, fd, x, y, 10, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1306 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1307 x += pi->width + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1308 if (y + pi->height + PAN_THUMB_GAP > next_y) next_y = y + pi->height + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1309 if (x > grid_size) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1310 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1311 x = PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1312 y = next_y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1313 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1314 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1315 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1316 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1317 pi = pan_item_new_thumb(pw, fd, x, y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1318 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1319 x += PAN_THUMB_SIZE + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1320 if (x > grid_size) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1321 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1322 x = PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1323 y += PAN_THUMB_SIZE + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1324 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1325 } |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1326 pan_item_size_coordinates(pi, PAN_THUMB_GAP, width, height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1327 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1328 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1329 g_list_free(list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1330 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1331 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1332 static void pan_window_Layout_compute_folders_flower_size(PanWindow *pw, gint *width, gint *height) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1333 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1334 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1335 gint x1, y1, x2, y2; |
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 x1 = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1338 y1 = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1339 x2 = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1340 y2 = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1341 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1342 work = pw->list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1343 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1344 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1345 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1346 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1347 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1348 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1349 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1350 if (x1 > pi->x) x1 = pi->x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1351 if (y1 > pi->y) y1 = pi->y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1352 if (x2 < pi->x + pi->width) x2 = pi->x + pi->width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1353 if (y2 < pi->y + pi->height) y2 = pi->y + pi->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1354 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1355 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1356 x1 -= PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1357 y1 -= PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1358 x2 += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1359 y2 += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1360 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1361 work = pw->list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1362 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1363 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1364 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1365 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1366 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1367 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1368 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1369 pi->x -= x1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1370 pi->y -= y1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1371 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1372 if (pi->type == ITEM_TRIANGLE && pi->data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1373 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1374 gint *coord; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1375 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1376 coord = pi->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1377 coord[0] -= x1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1378 coord[1] -= y1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1379 coord[2] -= x1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1380 coord[3] -= y1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1381 coord[4] -= x1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1382 coord[5] -= y1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1383 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1384 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1385 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1386 if (width) *width = x2 - x1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1387 if (height) *height = y2 - y1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1388 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1389 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1390 typedef struct _FlowerGroup FlowerGroup; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1391 struct _FlowerGroup { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1392 GList *items; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1393 GList *children; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1394 gint x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1395 gint y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1396 gint width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1397 gint height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1398 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1399 gdouble angle; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1400 gint circumference; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1401 gint diameter; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1402 }; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1403 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1404 static void pan_window_layout_compute_folder_flower_move(FlowerGroup *group, gint x, gint y) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1405 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1406 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1407 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1408 work = group->items; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1409 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1410 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1411 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1412 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1413 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1414 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1415 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1416 pi->x += x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1417 pi->y += y; |
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 group->x += x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1421 group->y += y; |
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 #define PI 3.14159 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1425 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1426 static void pan_window_layout_compute_folder_flower_position(FlowerGroup *group, FlowerGroup *parent, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1427 gint *result_x, gint *result_y) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1428 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1429 gint x, y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1430 gint radius; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1431 gdouble a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1432 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1433 radius = parent->circumference / (2*PI); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1434 radius = MAX(radius, parent->diameter / 2 + group->diameter / 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1435 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1436 a = 2*PI * group->diameter / parent->circumference; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1437 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1438 x = (gint)((double)radius * cos(parent->angle + a / 2)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1439 y = (gint)((double)radius * sin(parent->angle + a / 2)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1440 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1441 parent->angle += a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1442 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1443 x += parent->x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1444 y += parent->y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1445 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1446 x += parent->width / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1447 y += parent->height / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1448 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1449 x -= group->width / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1450 y -= group->height / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1451 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1452 *result_x = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1453 *result_y = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1454 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1455 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1456 static void pan_window_layout_compute_folder_flower_build(PanWindow *pw, FlowerGroup *group, FlowerGroup *parent) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1457 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1458 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1459 gint x, y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1460 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1461 if (!group) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1462 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1463 if (parent && parent->children) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1464 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1465 pan_window_layout_compute_folder_flower_position(group, parent, &x, &y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1466 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1467 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1468 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1469 x = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1470 y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1471 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1472 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1473 pan_window_layout_compute_folder_flower_move(group, x, y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1474 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1475 if (parent) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1476 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1477 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1478 gint px, py, gx, gy; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1479 gint x1, y1, x2, y2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1480 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1481 px = parent->x + parent->width / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1482 py = parent->y + parent->height / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1483 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1484 gx = group->x + group->width / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1485 gy = group->y + group->height / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1486 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1487 x1 = MIN(px, gx); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1488 y1 = MIN(py, gy); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1489 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1490 x2 = MAX(px, gx + 5); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1491 y2 = MAX(py, gy + 5); |
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 pi = pan_item_new_tri(pw, NULL, x1, y1, x2 - x1, y2 - y1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1494 px, py, gx, gy, gx + 5, gy + 5, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1495 255, 40, 40, 128); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1496 pan_item_tri_border(pi, BORDER_1 | BORDER_3, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1497 255, 0, 0, 128); |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1500 pw->list = g_list_concat(group->items, pw->list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1501 group->items = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1502 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1503 group->circumference = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1504 work = group->children; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1505 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1506 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1507 FlowerGroup *child; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1508 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1509 child = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1510 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1511 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1512 group->circumference += child->diameter; |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1515 work = g_list_last(group->children); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1516 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1517 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1518 FlowerGroup *child; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1519 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1520 child = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1521 work = work->prev; |
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 pan_window_layout_compute_folder_flower_build(pw, child, group); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1524 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1525 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1526 g_list_free(group->children); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1527 g_free(group); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1528 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1529 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1530 static FlowerGroup *pan_window_layout_compute_folders_flower_path(PanWindow *pw, const gchar *path, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1531 gint x, gint y) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1532 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1533 FlowerGroup *group; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1534 GList *f; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1535 GList *d; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1536 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1537 PanItem *pi_box; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1538 gint x_start; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1539 gint y_height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1540 gint grid_size; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1541 gint grid_count; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1542 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1543 if (!filelist_read(path, &f, &d)) return NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1544 if (!f && !d) return NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1545 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1546 f = filelist_sort(f, SORT_NAME, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1547 d = filelist_sort(d, SORT_NAME, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1548 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1549 pi_box = pan_item_new_text(pw, x, y, path, TEXT_ATTR_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1550 PAN_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1551 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1552 y += pi_box->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1553 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1554 pi_box = pan_item_new_box(pw, file_data_new_simple(path), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1555 x, y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1556 PAN_FOLDER_BOX_BORDER * 2, PAN_FOLDER_BOX_BORDER * 2, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1557 PAN_FOLDER_BOX_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1558 PAN_FOLDER_BOX_COLOR, PAN_FOLDER_BOX_ALPHA, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1559 PAN_FOLDER_BOX_OUTLINE_COLOR, PAN_FOLDER_BOX_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1560 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1561 x += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1562 y += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1563 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1564 grid_size = (gint)(sqrt(g_list_length(f)) + 0.9); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1565 grid_count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1566 x_start = x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1567 y_height = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1568 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1569 work = f; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1570 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1571 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1572 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1573 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1574 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1575 fd = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1576 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1577 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1578 if (pw->size > LAYOUT_SIZE_THUMB_LARGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1579 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1580 pi = pan_item_new_image(pw, fd, x, y, 10, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1581 x += pi->width + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1582 if (pi->height > y_height) y_height = pi->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1583 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1584 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1585 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1586 pi = pan_item_new_thumb(pw, fd, x, y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1587 x += PAN_THUMB_SIZE + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1588 y_height = PAN_THUMB_SIZE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1589 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1590 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1591 grid_count++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1592 if (grid_count >= grid_size) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1593 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1594 grid_count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1595 x = x_start; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1596 y += y_height + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1597 y_height = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1598 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1599 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1600 pan_item_size_by_item(pi_box, pi, PAN_FOLDER_BOX_BORDER); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1601 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1602 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1603 g_list_free(f); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1604 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1605 group = g_new0(FlowerGroup, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1606 group->items = pw->list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1607 pw->list = NULL; |
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 group->width = pi_box->width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1610 group->height = pi_box->y + pi_box->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1611 group->diameter = (int)sqrt(group->width * group->width + group->height * group->height); |
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 group->children = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1614 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1615 work = d; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1616 while (work) |
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 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1619 FlowerGroup *child; |
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 fd = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1622 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1623 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1624 child = pan_window_layout_compute_folders_flower_path(pw, fd->path, 0, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1625 if (child) group->children = g_list_prepend(group->children, child); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1626 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1627 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1628 filelist_free(d); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1629 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1630 return group; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1631 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1632 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1633 static void pan_window_layout_compute_folders_flower(PanWindow *pw, const gchar *path, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1634 gint *width, gint *height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1635 gint *scroll_x, gint *scroll_y) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1636 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1637 FlowerGroup *group; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1638 GList *list; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1639 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1640 group = pan_window_layout_compute_folders_flower_path(pw, path, 0, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1641 pan_window_layout_compute_folder_flower_build(pw, group, NULL); |
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_window_Layout_compute_folders_flower_size(pw, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1644 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1645 list = pan_item_find_by_path(pw, ITEM_BOX, path, FALSE, FALSE); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1646 if (list) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1647 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1648 PanItem *pi = list->data; |
13
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1649 *scroll_x = pi->x + pi->width / 2; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
1650 *scroll_y = pi->y + pi->height / 2; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1651 } |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
1652 g_list_free(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1653 } |
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 static void pan_window_layout_compute_folders_linear_path(PanWindow *pw, const gchar *path, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1656 gint *x, gint *y, gint *level, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1657 PanItem *parent, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1658 gint *width, gint *height) |
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 GList *f; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1661 GList *d; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1662 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1663 PanItem *pi_box; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1664 gint y_height = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1665 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1666 if (!filelist_read(path, &f, &d)) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1667 if (!f && !d) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1668 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1669 f = filelist_sort(f, SORT_NAME, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1670 d = filelist_sort(d, SORT_NAME, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1671 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1672 *x = PAN_FOLDER_BOX_BORDER + ((*level) * MAX(PAN_FOLDER_BOX_BORDER, PAN_THUMB_GAP)); |
12
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 pi_box = pan_item_new_text(pw, *x, *y, path, TEXT_ATTR_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1675 PAN_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1676 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1677 *y += pi_box->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1678 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1679 pi_box = pan_item_new_box(pw, file_data_new_simple(path), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1680 *x, *y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1681 PAN_FOLDER_BOX_BORDER, PAN_FOLDER_BOX_BORDER, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1682 PAN_FOLDER_BOX_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1683 PAN_FOLDER_BOX_COLOR, PAN_FOLDER_BOX_ALPHA, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1684 PAN_FOLDER_BOX_OUTLINE_COLOR, PAN_FOLDER_BOX_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1685 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1686 *x += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1687 *y += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1688 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1689 work = f; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1690 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1691 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1692 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1693 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1694 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1695 fd = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1696 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1697 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1698 if (pw->size > LAYOUT_SIZE_THUMB_LARGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1699 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1700 pi = pan_item_new_image(pw, fd, *x, *y, 10, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1701 *x += pi->width + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1702 if (pi->height > y_height) y_height = pi->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1703 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1704 else |
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 pi = pan_item_new_thumb(pw, fd, *x, *y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1707 *x += PAN_THUMB_SIZE + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1708 y_height = PAN_THUMB_SIZE; |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1711 pan_item_size_by_item(pi_box, pi, PAN_FOLDER_BOX_BORDER); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1712 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1713 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1714 if (f) *y = pi_box->y + pi_box->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1715 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1716 g_list_free(f); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1717 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1718 work = d; |
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 FileData *fd; |
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 fd = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1724 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1725 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1726 *level = *level + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1727 pan_window_layout_compute_folders_linear_path(pw, fd->path, x, y, level, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1728 pi_box, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1729 *level = *level - 1; |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1732 filelist_free(d); |
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 pan_item_size_by_item(parent, pi_box, PAN_FOLDER_BOX_BORDER); |
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 if (*y < pi_box->y + pi_box->height + PAN_FOLDER_BOX_BORDER) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1737 *y = pi_box->y + pi_box->height + PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1738 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
1739 pan_item_size_coordinates(pi_box, PAN_FOLDER_BOX_BORDER, width, height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1740 } |
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 static void pan_window_layout_compute_folders_linear(PanWindow *pw, const gchar *path, gint *width, gint *height) |
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 gint x, y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1745 gint level; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1746 gint w, h; |
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 level = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1749 x = PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1750 y = PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1751 w = PAN_FOLDER_BOX_BORDER * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1752 h = PAN_FOLDER_BOX_BORDER * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1753 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1754 pan_window_layout_compute_folders_linear_path(pw, path, &x, &y, &level, NULL, &w, &h); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1755 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1756 if (width) *width = w; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1757 if (height) *height = h; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1758 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
1759 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1760 /* |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1761 *----------------------------------------------------------------------------- |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1762 * calendar |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1763 *----------------------------------------------------------------------------- |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1764 */ |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1765 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1766 static void pan_calendar_update(PanWindow *pw, PanItem *pi_day) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1767 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1768 PanItem *pbox; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1769 PanItem *pi; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1770 GList *list; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1771 GList *work; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1772 gint x1, y1, x2, y2, x3, y3; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1773 gint x, y, w, h; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1774 gint grid; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1775 gint column; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1776 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1777 while ((pi = pan_item_find_by_key(pw, ITEM_NONE, "day_bubble"))) pan_item_remove(pw, pi); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1778 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1779 if (!pi_day || pi_day->type != ITEM_BOX || |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1780 !pi_day->key || strcmp(pi_day->key, "day") != 0) return; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1781 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1782 list = pan_layout_intersect(pw, pi_day->x, pi_day->y, pi_day->width, pi_day->height); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1783 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1784 work = list; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1785 while (work) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1786 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1787 PanItem *dot; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1788 GList *node; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1789 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1790 dot = work->data; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1791 node = work; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1792 work = work->next; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1793 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1794 if (dot->type != ITEM_BOX || !dot->fd || |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1795 !dot->key || strcmp(dot->key, "dot") != 0) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1796 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1797 list = g_list_delete_link(list, node); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1798 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1799 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1800 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1801 #if 0 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1802 if (!list) return; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1803 #endif |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1804 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1805 grid = (gint)(sqrt(g_list_length(list)) + 0.5); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1806 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1807 x = pi_day->x + pi_day->width + 4; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1808 y = pi_day->y; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1809 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1810 #if 0 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1811 if (y + grid * (PAN_THUMB_SIZE + PAN_THUMB_GAP) + PAN_FOLDER_BOX_BORDER * 4 > pw->pr->image_height) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1812 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
1813 y = pw->pr->image_height - (grid * (PAN_THUMB_SIZE + PAN_THUMB_GAP) + PAN_FOLDER_BOX_BORDER * 4); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1814 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1815 #endif |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1816 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1817 pbox = pan_item_new_box(pw, NULL, x, y, PAN_FOLDER_BOX_BORDER, PAN_FOLDER_BOX_BORDER, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1818 PAN_CAL_POPUP_BORDER, |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1819 PAN_CAL_POPUP_COLOR, PAN_CAL_POPUP_ALPHA, |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1820 PAN_CAL_POPUP_BORDER_COLOR, PAN_CAL_POPUP_ALPHA); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1821 pan_item_set_key(pbox, "day_bubble"); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1822 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1823 if (pi_day->fd) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1824 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1825 PanItem *plabel; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1826 gchar *buf; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1827 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1828 buf = date_value_string(pi_day->fd->date, DATE_LENGTH_WEEK); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1829 plabel = pan_item_new_text(pw, x, y, buf, TEXT_ATTR_BOLD | TEXT_ATTR_HEADING, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1830 PAN_CAL_POPUP_TEXT_COLOR, 255); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1831 pan_item_set_key(plabel, "day_bubble"); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1832 g_free(buf); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1833 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1834 pan_item_size_by_item(pbox, plabel, 0); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1835 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1836 y += plabel->height; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1837 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1838 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1839 if (list) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1840 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1841 column = 0; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1842 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1843 x += PAN_FOLDER_BOX_BORDER; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1844 y += PAN_FOLDER_BOX_BORDER; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1845 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1846 work = list; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1847 while (work) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1848 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1849 PanItem *dot; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1850 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1851 dot = work->data; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1852 work = work->next; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1853 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1854 if (dot->fd) |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1855 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1856 PanItem *pimg; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1857 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1858 pimg = pan_item_new_thumb(pw, file_data_new_simple(dot->fd->path), x, y); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1859 pan_item_set_key(pimg, "day_bubble"); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1860 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1861 pan_item_size_by_item(pbox, pimg, PAN_FOLDER_BOX_BORDER); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1862 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1863 column++; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1864 if (column < grid) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1865 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1866 x += PAN_THUMB_SIZE + PAN_THUMB_GAP; |
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 else |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1869 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1870 column = 0; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1871 x = pbox->x + PAN_FOLDER_BOX_BORDER; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1872 y += PAN_THUMB_SIZE + PAN_THUMB_GAP; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1873 } |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1874 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1875 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1876 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1877 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1878 x1 = pi_day->x + pi_day->width - 8; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1879 y1 = pi_day->y + 8; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1880 x2 = pbox->x + 1; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1881 y2 = pbox->y + MIN(42, pbox->height); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1882 x3 = pbox->x + 1; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
1883 y3 = MAX(pbox->y, y2 - 30); |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
1884 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
|
1885 &x, &y, &w, &h); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1886 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1887 pi = pan_item_new_tri(pw, NULL, x, y, w, h, |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1888 x1, y1, x2, y2, x3, y3, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1889 PAN_CAL_POPUP_COLOR, PAN_CAL_POPUP_ALPHA); |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1890 pan_item_tri_border(pi, BORDER_1 | BORDER_3, PAN_CAL_POPUP_BORDER_COLOR, PAN_CAL_POPUP_ALPHA); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1891 pan_item_set_key(pi, "day_bubble"); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1892 pan_item_added(pw, pi); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1893 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1894 pan_item_box_shadow(pbox, PAN_SHADOW_OFFSET * 2, PAN_SHADOW_FADE * 2); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1895 pan_item_added(pw, pbox); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1896 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1897 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1898 static void pan_window_layout_compute_calendar(PanWindow *pw, const gchar *path, gint *width, gint *height) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1899 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1900 GList *list; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1901 GList *work; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1902 gint x, y; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1903 time_t tc; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1904 gint count; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1905 gint day_max; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1906 gint day_width; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1907 gint day_height; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1908 gint grid; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1909 gint year = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1910 gint month = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1911 gint end_year = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1912 gint end_month = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1913 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1914 list = pan_window_layout_list(path, SORT_NONE, TRUE); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1915 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1916 if (pw->cache_list && SORT_BY_EXIF_DATE) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1917 { |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
1918 pw->cache_list = filelist_sort(pw->cache_list, SORT_NAME, TRUE); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
1919 list = filelist_sort(list, SORT_NAME, TRUE); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1920 pan_cache_sync_date(pw, list); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1921 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
1922 |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
1923 pw->cache_list = filelist_sort(pw->cache_list, SORT_TIME, TRUE); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
1924 list = filelist_sort(list, SORT_TIME, TRUE); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
1925 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1926 day_max = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1927 count = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1928 tc = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1929 work = list; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1930 while (work) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1931 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1932 FileData *fd; |
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 fd = work->data; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1935 work = work->next; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1936 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1937 if (!date_compare(fd->date, tc, DATE_LENGTH_DAY)) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1938 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1939 count = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1940 tc = fd->date; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1941 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1942 else |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1943 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1944 count++; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1945 if (day_max < count) day_max = count; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1946 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1947 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1948 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1949 printf("biggest day contains %d images\n", day_max); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1950 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1951 grid = (gint)(sqrt((double)day_max) + 0.5) * (PAN_THUMB_SIZE + PAN_SHADOW_OFFSET * 2 + PAN_THUMB_GAP); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1952 day_width = MAX(PAN_CAL_DAY_WIDTH, grid); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1953 day_height = MAX(PAN_CAL_DAY_HEIGHT, grid); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1954 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1955 if (list) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1956 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1957 FileData *fd = list->data; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1958 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1959 year = date_value(fd->date, DATE_LENGTH_YEAR); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1960 month = date_value(fd->date, DATE_LENGTH_MONTH); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1961 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1962 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1963 work = g_list_last(list); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1964 if (work) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1965 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1966 FileData *fd = work->data; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1967 end_year = date_value(fd->date, DATE_LENGTH_YEAR); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1968 end_month = date_value(fd->date, DATE_LENGTH_MONTH); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1969 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1970 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1971 *width = PAN_FOLDER_BOX_BORDER * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1972 *height = PAN_FOLDER_BOX_BORDER * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1973 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1974 x = PAN_FOLDER_BOX_BORDER; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1975 y = PAN_FOLDER_BOX_BORDER; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1976 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1977 work = list; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1978 while (work && (year < end_year || (year == end_year && month <= end_month))) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1979 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1980 PanItem *pi_month; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1981 PanItem *pi_text; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1982 gint day; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1983 gint days; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1984 gint col; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1985 gint row; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1986 time_t dt; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1987 gchar *buf; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1988 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1989 dt = date_to_time((month == 12) ? year + 1 : year, (month == 12) ? 1 : month + 1, 1); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1990 dt -= 60 * 60 * 24; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1991 days = date_value(dt, DATE_LENGTH_DAY); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1992 dt = date_to_time(year, month, 1); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1993 col = date_value(dt, DATE_LENGTH_WEEK); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1994 row = 1; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1995 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1996 x = PAN_FOLDER_BOX_BORDER; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1997 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
1998 pi_month = pan_item_new_box(pw, NULL, x, y, PAN_CAL_DAY_WIDTH * 7, PAN_CAL_DAY_HEIGHT / 4, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
1999 PAN_CAL_MONTH_BORDER, |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2000 PAN_CAL_MONTH_COLOR, PAN_CAL_MONTH_ALPHA, |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2001 PAN_CAL_MONTH_BORDER_COLOR, PAN_CAL_MONTH_ALPHA); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2002 buf = date_value_string(dt, DATE_LENGTH_MONTH); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2003 pi_text = pan_item_new_text(pw, x, y, buf, |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2004 TEXT_ATTR_BOLD | TEXT_ATTR_HEADING, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2005 PAN_CAL_MONTH_TEXT_COLOR, 255); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2006 g_free(buf); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2007 pi_text->x = pi_month->x + (pi_month->width - pi_text->width) / 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2008 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2009 pi_month->height = pi_text->y + pi_text->height - pi_month->y; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2010 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2011 x = PAN_FOLDER_BOX_BORDER + col * PAN_CAL_DAY_WIDTH; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2012 y = pi_month->y + pi_month->height + PAN_FOLDER_BOX_BORDER; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2013 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2014 for (day = 1; day <= days; day++) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2015 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2016 FileData *fd; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2017 PanItem *pi_day; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2018 gint dx, dy; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2019 gint n = 0; |
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 dt = date_to_time(year, month, day); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2022 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2023 fd = g_new0(FileData, 1); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2024 /* path and name must be non NULL, so make them an invalid filename */ |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2025 fd->path = g_strdup("//"); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2026 fd->name = path; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2027 fd->date = dt; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2028 pi_day = pan_item_new_box(pw, fd, x, y, PAN_CAL_DAY_WIDTH, PAN_CAL_DAY_HEIGHT, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2029 PAN_CAL_DAY_BORDER, |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2030 PAN_CAL_DAY_COLOR, PAN_CAL_DAY_ALPHA, |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2031 PAN_CAL_DAY_BORDER_COLOR, PAN_CAL_DAY_ALPHA); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2032 pan_item_set_key(pi_day, "day"); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2033 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2034 dx = x + PAN_CAL_DOT_GAP * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2035 dy = y + PAN_CAL_DOT_GAP * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2036 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2037 fd = (work) ? work->data : NULL; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2038 while (fd && date_compare(fd->date, dt, DATE_LENGTH_DAY)) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2039 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2040 PanItem *pi; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2041 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2042 pi = pan_item_new_box(pw, fd, dx, dy, PAN_CAL_DOT_SIZE, PAN_CAL_DOT_SIZE, |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2043 0, |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2044 PAN_CAL_DOT_COLOR, PAN_CAL_DOT_ALPHA, |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2045 0, 0, 0, 0); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2046 pan_item_set_key(pi, "dot"); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2047 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2048 dx += PAN_CAL_DOT_SIZE + PAN_CAL_DOT_GAP; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2049 if (dx + PAN_CAL_DOT_SIZE > pi_day->x + pi_day->width - PAN_CAL_DOT_GAP * 2) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2050 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2051 dx = x + PAN_CAL_DOT_GAP * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2052 dy += PAN_CAL_DOT_SIZE + PAN_CAL_DOT_GAP; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2053 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2054 if (dy + PAN_CAL_DOT_SIZE > pi_day->y + pi_day->height - PAN_CAL_DOT_GAP * 2) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2055 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2056 /* must keep all dots within respective day even if it gets ugly */ |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2057 dy = y + PAN_CAL_DOT_GAP * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2058 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2059 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2060 n++; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2061 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2062 work = work->next; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2063 fd = (work) ? work->data : NULL; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2064 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2065 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2066 if (n > 0) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2067 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2068 PanItem *pi; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2069 |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2070 pi_day->color_r = MAX(pi_day->color_r - 61 - n * 3, 80); |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2071 pi_day->color_g = pi_day->color_r; |
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2072 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2073 buf = g_strdup_printf("( %d )", n); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2074 pi = pan_item_new_text(pw, x, y, buf, TEXT_ATTR_NONE, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2075 PAN_CAL_DAY_TEXT_COLOR, 255); |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2076 g_free(buf); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2077 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2078 pi->x = pi_day->x + (pi_day->width - pi->width) / 2; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2079 pi->y = pi_day->y + (pi_day->height - pi->height) / 2; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2080 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
2081 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2082 buf = g_strdup_printf("%d", day); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2083 pan_item_new_text(pw, x + 4, y + 4, buf, TEXT_ATTR_BOLD | TEXT_ATTR_HEADING, |
36
9b01fe7e84d5
Tue Apr 12 07:59:20 2005 John Ellis <johne@verizon.net>
gqview
parents:
35
diff
changeset
|
2084 PAN_CAL_DAY_TEXT_COLOR, 255); |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2085 g_free(buf); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2086 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2087 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2088 pan_item_size_coordinates(pi_day, PAN_FOLDER_BOX_BORDER, width, height); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2089 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2090 col++; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2091 if (col > 6) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2092 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2093 col = 0; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2094 row++; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2095 x = PAN_FOLDER_BOX_BORDER; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2096 y += PAN_CAL_DAY_HEIGHT; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2097 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2098 else |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2099 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2100 x += PAN_CAL_DAY_WIDTH; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2101 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2102 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2103 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2104 if (col > 0) y += PAN_CAL_DAY_HEIGHT; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2105 y += PAN_FOLDER_BOX_BORDER * 2; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2106 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2107 month ++; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2108 if (month > 12) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2109 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2110 year++; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2111 month = 1; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2112 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2113 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2114 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2115 *width += grid; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2116 *height = MAX(*height, grid + PAN_FOLDER_BOX_BORDER * 2 * 2); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2117 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2118 g_list_free(list); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2119 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2120 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2121 static void pan_window_layout_compute_timeline(PanWindow *pw, const gchar *path, gint *width, gint *height) |
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 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2124 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2125 gint x, y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2126 time_t tc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2127 gint total; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2128 gint count; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2129 PanItem *pi_month = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2130 PanItem *pi_day = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2131 gint month_start; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2132 gint day_start; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2133 gint x_width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2134 gint y_height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2135 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2136 list = pan_window_layout_list(path, SORT_NONE, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2137 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2138 if (pw->cache_list && SORT_BY_EXIF_DATE) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2139 { |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
2140 pw->cache_list = filelist_sort(pw->cache_list, SORT_NAME, TRUE); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
2141 list = filelist_sort(list, SORT_NAME, TRUE); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2142 pan_cache_sync_date(pw, list); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2143 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2144 |
39
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
2145 pw->cache_list = filelist_sort(pw->cache_list, SORT_TIME, TRUE); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
2146 list = filelist_sort(list, SORT_TIME, TRUE); |
64068b1bab89
Thu Apr 14 10:44:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
37
diff
changeset
|
2147 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2148 *width = PAN_FOLDER_BOX_BORDER * 2; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2149 *height = PAN_FOLDER_BOX_BORDER * 2; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2150 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2151 x = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2152 y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2153 month_start = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2154 day_start = month_start; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2155 x_width = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2156 y_height = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2157 tc = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2158 total = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2159 count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2160 work = list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2161 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2162 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2163 FileData *fd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2164 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2165 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2166 fd = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2167 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2168 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2169 if (!date_compare(fd->date, tc, DATE_LENGTH_DAY)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2170 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2171 GList *needle; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2172 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2173 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2174 if (!date_compare(fd->date, tc, DATE_LENGTH_MONTH)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2175 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2176 pi_day = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2177 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2178 if (pi_month) |
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 x = pi_month->x + pi_month->width + PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2181 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2182 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2183 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2184 x = PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2185 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2186 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2187 y = PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2188 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2189 buf = date_value_string(fd->date, DATE_LENGTH_MONTH); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2190 pi = pan_item_new_text(pw, x, y, buf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2191 TEXT_ATTR_BOLD | TEXT_ATTR_HEADING, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2192 PAN_TEXT_COLOR, 255); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
2193 g_free(buf); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2194 y += pi->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2195 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2196 pi_month = pan_item_new_box(pw, file_data_new_simple(fd->path), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2197 x, y, 0, 0, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2198 PAN_FOLDER_BOX_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2199 PAN_FOLDER_BOX_COLOR, PAN_FOLDER_BOX_ALPHA, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2200 PAN_FOLDER_BOX_OUTLINE_COLOR, PAN_FOLDER_BOX_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2201 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2202 x += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2203 y += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2204 month_start = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2205 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2206 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2207 if (pi_day) x = pi_day->x + pi_day->width + PAN_FOLDER_BOX_BORDER; |
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 tc = fd->date; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2210 total = 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2211 count = 0; |
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 needle = work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2214 while (needle) |
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 FileData *nfd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2217 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2218 nfd = needle->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2219 if (date_compare(nfd->date, tc, DATE_LENGTH_DAY)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2220 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2221 needle = needle->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2222 total++; |
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 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2225 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2226 needle = NULL; |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2230 buf = date_value_string(fd->date, DATE_LENGTH_WEEK); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2231 pi = pan_item_new_text(pw, x, y, buf, TEXT_ATTR_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2232 PAN_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2233 g_free(buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2234 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2235 y += pi->height; |
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 pi_day = pan_item_new_box(pw, file_data_new_simple(fd->path), x, y, 0, 0, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2238 PAN_FOLDER_BOX_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2239 PAN_FOLDER_BOX_COLOR, PAN_FOLDER_BOX_ALPHA, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2240 PAN_FOLDER_BOX_OUTLINE_COLOR, PAN_FOLDER_BOX_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2241 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2242 x += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2243 y += PAN_FOLDER_BOX_BORDER; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2244 day_start = y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2245 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2246 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2247 if (pw->size > LAYOUT_SIZE_THUMB_LARGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2248 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2249 pi = pan_item_new_image(pw, fd, x, y, 10, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2250 if (pi->width > x_width) x_width = pi->width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2251 y_height = pi->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2252 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2253 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2254 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2255 pi = pan_item_new_thumb(pw, fd, x, y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2256 x_width = PAN_THUMB_SIZE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2257 y_height = PAN_THUMB_SIZE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2258 } |
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 pan_item_size_by_item(pi_day, pi, PAN_FOLDER_BOX_BORDER); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2261 pan_item_size_by_item(pi_month, pi_day, PAN_FOLDER_BOX_BORDER); |
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 total--; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2264 count++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2265 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2266 if (total > 0 && count < PAN_GROUP_MAX) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2267 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2268 y += y_height + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2269 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2270 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2271 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2272 x += x_width + PAN_THUMB_GAP; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2273 x_width = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2274 count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2275 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2276 if (total > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2277 y = day_start; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2278 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2279 y = month_start; |
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 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2282 pan_item_size_coordinates(pi_month, PAN_FOLDER_BOX_BORDER, width, height); |
12
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2285 g_list_free(list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2286 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2287 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2288 static void pan_window_layout_compute(PanWindow *pw, const gchar *path, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2289 gint *width, gint *height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2290 gint *scroll_x, gint *scroll_y) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2291 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2292 pan_window_items_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2293 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2294 switch (pw->size) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2295 { |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2296 case LAYOUT_SIZE_THUMB_DOTS: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2297 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
|
2298 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
|
2299 break; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2300 case LAYOUT_SIZE_THUMB_NONE: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2301 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
|
2302 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
|
2303 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2304 case LAYOUT_SIZE_THUMB_SMALL: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2305 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
|
2306 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
|
2307 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2308 case LAYOUT_SIZE_THUMB_NORMAL: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2309 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2310 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
|
2311 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
|
2312 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2313 case LAYOUT_SIZE_THUMB_LARGE: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2314 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
|
2315 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
|
2316 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2317 case LAYOUT_SIZE_10: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2318 pw->image_size = 10; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2319 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
|
2320 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2321 case LAYOUT_SIZE_25: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2322 pw->image_size = 25; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2323 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
|
2324 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2325 case LAYOUT_SIZE_33: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2326 pw->image_size = 33; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2327 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
|
2328 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2329 case LAYOUT_SIZE_50: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2330 pw->image_size = 50; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2331 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
|
2332 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2333 case LAYOUT_SIZE_100: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2334 pw->image_size = 100; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2335 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
|
2336 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2337 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2338 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2339 *width = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2340 *height = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2341 *scroll_x = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2342 *scroll_y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2343 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2344 switch (pw->layout) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2345 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2346 case LAYOUT_GRID: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2347 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2348 pan_window_layout_compute_grid(pw, path, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2349 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2350 case LAYOUT_FOLDERS_LINEAR: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2351 pan_window_layout_compute_folders_linear(pw, path, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2352 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2353 case LAYOUT_FOLDERS_FLOWER: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2354 pan_window_layout_compute_folders_flower(pw, path, width, height, scroll_x, scroll_y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2355 break; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2356 case LAYOUT_CALENDAR: |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2357 pan_window_layout_compute_calendar(pw, path, width, height); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2358 break; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2359 case LAYOUT_TIMELINE: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2360 pan_window_layout_compute_timeline(pw, path, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2361 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2362 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2363 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2364 pan_cache_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2365 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2366 printf("computed %d objects\n", g_list_length(pw->list)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2367 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2368 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2369 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
|
2370 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
|
2371 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2372 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2373 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2374 work = item_list; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2375 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2376 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2377 PanItem *pi; |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
2378 gint rx, ry, rw, rh; |
12
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 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2381 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2382 |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
2383 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
|
2384 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
|
2385 &rx, &ry, &rw, &rh)) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2386 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2387 list = g_list_prepend(list, pi); |
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 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2390 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2391 return list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2392 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2393 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2394 static GList *pan_layout_intersect(PanWindow *pw, gint x, gint y, gint width, gint height) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2395 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2396 GList *list = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2397 GList *grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2398 PanGrid *pg = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2399 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2400 grid = pw->list_grid; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2401 while (grid && !pg) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2402 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2403 pg = grid->data; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2404 grid = grid->next; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2405 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2406 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
|
2407 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
|
2408 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2409 pg = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2410 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2411 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2412 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2413 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
|
2414 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2415 if (pg) |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2416 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2417 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
|
2418 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2419 else |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2420 { |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2421 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
|
2422 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2423 |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2424 return list; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2425 } |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
2426 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2427 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2428 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2429 * tile generation |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2430 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2431 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2432 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2433 static gint pan_layout_queue_step(PanWindow *pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2434 |
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 static void pan_layout_queue_thumb_done_cb(ThumbLoader *tl, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2437 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2438 PanWindow *pw = data; |
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 if (pw->queue_pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2441 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2442 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2443 gint rc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2444 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2445 pi = pw->queue_pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2446 pw->queue_pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2447 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2448 pi->queued = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2449 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2450 if (pi->pixbuf) g_object_unref(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2451 pi->pixbuf = thumb_loader_get_pixbuf(tl, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2452 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2453 rc = pi->refcount; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2454 image_area_changed(pw->imd, pi->x, pi->y, pi->width, pi->height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2455 pi->refcount = rc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2456 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2457 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2458 thumb_loader_free(pw->tl); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2459 pw->tl = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2460 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2461 while (pan_layout_queue_step(pw)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2462 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2463 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2464 static void pan_layout_queue_image_done_cb(ImageLoader *il, gpointer data) |
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 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2467 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2468 if (pw->queue_pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2469 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2470 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2471 gint rc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2472 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2473 pi = pw->queue_pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2474 pw->queue_pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2475 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2476 pi->queued = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2477 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2478 if (pi->pixbuf) g_object_unref(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2479 pi->pixbuf = image_loader_get_pixbuf(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2480 if (pi->pixbuf) g_object_ref(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2481 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2482 if (pi->pixbuf && pw->size != LAYOUT_SIZE_100 && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2483 (gdk_pixbuf_get_width(pi->pixbuf) > pi->width || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2484 gdk_pixbuf_get_height(pi->pixbuf) > pi->height)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2485 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2486 GdkPixbuf *tmp; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2487 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2488 tmp = pi->pixbuf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2489 pi->pixbuf = gdk_pixbuf_scale_simple(tmp, pi->width, pi->height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2490 (GdkInterpType)zoom_quality); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2491 g_object_unref(tmp); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2492 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2493 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2494 rc = pi->refcount; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2495 image_area_changed(pw->imd, pi->x, pi->y, pi->width, pi->height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2496 pi->refcount = rc; |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2499 image_loader_free(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2500 pw->il = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2501 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2502 while (pan_layout_queue_step(pw)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2503 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2504 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2505 #if 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2506 static void pan_layout_queue_image_area_cb(ImageLoader *il, guint x, guint y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2507 guint width, guint height, gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2508 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2509 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2510 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2511 if (pw->queue_pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2512 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2513 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2514 gint rc; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2515 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2516 pi = pw->queue_pi; |
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 if (!pi->pixbuf) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2519 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2520 pi->pixbuf = image_loader_get_pixbuf(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2521 if (pi->pixbuf) g_object_ref(pi->pixbuf); |
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 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2524 rc = pi->refcount; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
2525 image_area_changed(pw->imd, pi->x + x, pi->y + y, width, height); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2526 pi->refcount = rc; |
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 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2529 #endif |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2530 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2531 static gint pan_layout_queue_step(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2532 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2533 PanItem *pi; |
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 if (!pw->queue) return FALSE; |
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 pi = pw->queue->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2538 pw->queue = g_list_remove(pw->queue, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2539 pw->queue_pi = pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2540 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2541 if (!pw->queue_pi->fd) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2542 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2543 pw->queue_pi->queued = FALSE; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2544 pw->queue_pi = NULL; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2545 return TRUE; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2546 } |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
2547 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2548 image_loader_free(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2549 pw->il = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2550 thumb_loader_free(pw->tl); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2551 pw->tl = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2552 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2553 if (pi->type == ITEM_IMAGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2554 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2555 pw->il = image_loader_new(pi->fd->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2556 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2557 if (pw->size != LAYOUT_SIZE_100) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2558 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2559 image_loader_set_requested_size(pw->il, pi->width, pi->height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2560 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2561 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2562 #if 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2563 image_loader_set_area_ready_func(pw->il, pan_layout_queue_image_area_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2564 #endif |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2565 image_loader_set_error_func(pw->il, pan_layout_queue_image_done_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2566 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2567 if (image_loader_start(pw->il, pan_layout_queue_image_done_cb, pw)) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2568 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2569 image_loader_free(pw->il); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2570 pw->il = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2571 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2572 else if (pi->type == ITEM_THUMB) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2573 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2574 pw->tl = thumb_loader_new(PAN_THUMB_SIZE, PAN_THUMB_SIZE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2575 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2576 if (!pw->tl->standard_loader) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2577 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2578 /* The classic loader will recreate a thumbnail any time we |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2579 * request a different size than what exists. This view will |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2580 * almost never use the user configured sizes so disable cache. |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2581 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2582 thumb_loader_set_cache(pw->tl, FALSE, FALSE, FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2583 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2584 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2585 thumb_loader_set_callbacks(pw->tl, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2586 pan_layout_queue_thumb_done_cb, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2587 pan_layout_queue_thumb_done_cb, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2588 NULL, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2589 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2590 if (thumb_loader_start(pw->tl, pi->fd->path)) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2591 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2592 thumb_loader_free(pw->tl); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2593 pw->tl = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2594 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2595 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2596 pw->queue_pi->queued = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2597 pw->queue_pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2598 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2599 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2600 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2601 static void pan_layout_queue(PanWindow *pw, PanItem *pi) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2602 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2603 if (!pi || pi->queued || pi->pixbuf) return; |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2604 if (pw->size <= LAYOUT_SIZE_THUMB_NONE) return; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2605 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2606 pi->queued = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2607 pw->queue = g_list_prepend(pw->queue, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2608 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2609 if (!pw->tl && !pw->il) while(pan_layout_queue_step(pw)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2610 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2611 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2612 static gint pan_window_request_tile_cb(PixbufRenderer *pr, gint x, gint y, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2613 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
|
2614 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2615 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2616 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2617 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2618 gint i; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2619 |
30
a310e31fc513
Mon Apr 4 12:07:05 2005 John Ellis <johne@verizon.net>
gqview
parents:
29
diff
changeset
|
2620 pixbuf_set_rect_fill(pixbuf, |
a310e31fc513
Mon Apr 4 12:07:05 2005 John Ellis <johne@verizon.net>
gqview
parents:
29
diff
changeset
|
2621 0, 0, width, height, |
a310e31fc513
Mon Apr 4 12:07:05 2005 John Ellis <johne@verizon.net>
gqview
parents:
29
diff
changeset
|
2622 PAN_BACKGROUND_COLOR, 255); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2623 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2624 for (i = (x / PAN_GRID_SIZE) * PAN_GRID_SIZE; i < x + width; i += PAN_GRID_SIZE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2625 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2626 gint rx, ry, rw, rh; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2627 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2628 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2629 i, y, 1, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2630 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2631 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2632 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2633 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2634 PAN_GRID_COLOR, PAN_GRID_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2635 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2636 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2637 for (i = (y / PAN_GRID_SIZE) * PAN_GRID_SIZE; i < y + height; i += PAN_GRID_SIZE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2638 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2639 gint rx, ry, rw, rh; |
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 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2642 x, i, width, 1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2643 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2644 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2645 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2646 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2647 PAN_GRID_COLOR, PAN_GRID_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2648 } |
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 list = pan_layout_intersect(pw, x, y, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2652 work = list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2653 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2654 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2655 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2656 gint tx, ty, tw, th; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2657 gint rx, ry, rw, rh; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2658 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2659 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2660 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2661 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2662 pi->refcount++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2663 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2664 if (pi->type == ITEM_THUMB && pi->pixbuf) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2665 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2666 tw = gdk_pixbuf_get_width(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2667 th = gdk_pixbuf_get_height(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2668 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2669 tx = pi->x + (pi->width - tw) / 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2670 ty = pi->y + (pi->height - th) / 2; |
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 if (gdk_pixbuf_get_has_alpha(pi->pixbuf)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2673 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2674 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2675 tx + PAN_SHADOW_OFFSET, ty + PAN_SHADOW_OFFSET, tw, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2676 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2677 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2678 pixbuf_draw_shadow(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2679 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2680 tx + PAN_SHADOW_OFFSET - x, ty + PAN_SHADOW_OFFSET - y, tw, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2681 PAN_SHADOW_FADE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2682 PAN_SHADOW_COLOR, PAN_SHADOW_ALPHA); |
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 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2685 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2686 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2687 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2688 tx + tw, ty + PAN_SHADOW_OFFSET, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2689 PAN_SHADOW_OFFSET, th - PAN_SHADOW_OFFSET, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2690 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2691 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2692 pixbuf_draw_shadow(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2693 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2694 tx + PAN_SHADOW_OFFSET - x, ty + PAN_SHADOW_OFFSET - y, tw, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2695 PAN_SHADOW_FADE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2696 PAN_SHADOW_COLOR, PAN_SHADOW_ALPHA); |
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 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2699 tx + PAN_SHADOW_OFFSET, ty + th, tw, PAN_SHADOW_OFFSET, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2700 &rx, &ry, &rw, &rh)) |
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 pixbuf_draw_shadow(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2703 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2704 tx + PAN_SHADOW_OFFSET - x, ty + PAN_SHADOW_OFFSET - y, tw, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2705 PAN_SHADOW_FADE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2706 PAN_SHADOW_COLOR, PAN_SHADOW_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2707 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2708 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2709 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2710 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2711 tx, ty, tw, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2712 &rx, &ry, &rw, &rh)) |
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 gdk_pixbuf_composite(pi->pixbuf, pixbuf, rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2715 (double) tx - x, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2716 (double) ty - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2717 1.0, 1.0, GDK_INTERP_NEAREST, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2718 255); |
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 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2722 tx, ty, tw, PAN_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2723 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2724 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2725 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2726 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2727 PAN_OUTLINE_COLOR_1, PAN_OUTLINE_ALPHA); |
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 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2730 tx, ty, PAN_OUTLINE_THICKNESS, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2731 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2732 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2733 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2734 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2735 PAN_OUTLINE_COLOR_1, PAN_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2736 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2737 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2738 tx + tw - PAN_OUTLINE_THICKNESS, ty + PAN_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2739 PAN_OUTLINE_THICKNESS, th - PAN_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2740 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2741 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2742 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2743 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2744 PAN_OUTLINE_COLOR_2, PAN_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2745 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2746 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2747 tx + PAN_OUTLINE_THICKNESS, ty + th - PAN_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2748 tw - PAN_OUTLINE_THICKNESS * 2, PAN_OUTLINE_THICKNESS, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2749 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2750 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2751 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2752 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2753 PAN_OUTLINE_COLOR_2, PAN_OUTLINE_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2754 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2755 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2756 else if (pi->type == ITEM_THUMB) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2757 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2758 tw = pi->width - PAN_SHADOW_OFFSET * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2759 th = pi->height - PAN_SHADOW_OFFSET * 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2760 tx = pi->x + PAN_SHADOW_OFFSET; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2761 ty = pi->y + PAN_SHADOW_OFFSET; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2762 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2763 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2764 tx, ty, tw, th, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2765 &rx, &ry, &rw, &rh)) |
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 gint d; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2768 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
2769 d = (pw->size <= LAYOUT_SIZE_THUMB_NONE) ? 2 : 8; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2770 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2771 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2772 PAN_SHADOW_COLOR, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2773 PAN_SHADOW_ALPHA / d); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2774 } |
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 pan_layout_queue(pw, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2777 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2778 else if (pi->type == ITEM_IMAGE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2779 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2780 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2781 pi->x, pi->y, pi->width, pi->height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2782 &rx, &ry, &rw, &rh)) |
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 if (pi->pixbuf) |
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 gdk_pixbuf_composite(pi->pixbuf, pixbuf, rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2787 (double) pi->x - x, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2788 (double) pi->y - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2789 1.0, 1.0, GDK_INTERP_NEAREST, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2790 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2791 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2792 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2793 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2794 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2795 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2796 PAN_SHADOW_COLOR, PAN_SHADOW_ALPHA / 2); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2797 pan_layout_queue(pw, pi); |
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 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2800 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2801 else if (pi->type == ITEM_BOX) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2802 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2803 gint bw, bh; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2804 gint *shadow; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2805 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2806 bw = pi->width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2807 bh = pi->height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2808 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2809 shadow = pi->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2810 if (shadow) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2811 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2812 bw -= shadow[0]; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2813 bh -= shadow[0]; |
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 if (pi->color_a > 254) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2816 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2817 pixbuf_draw_shadow(pixbuf, pi->x - x + bw, pi->y - y + shadow[0], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2818 shadow[0], bh - shadow[0], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2819 pi->x - x + shadow[0], pi->y - y + shadow[0], bw, bh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2820 shadow[1], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2821 PAN_SHADOW_COLOR, PAN_SHADOW_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2822 pixbuf_draw_shadow(pixbuf, pi->x - x + shadow[0], pi->y - y + bh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2823 bw, shadow[0], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2824 pi->x - x + shadow[0], pi->y - y + shadow[0], bw, bh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2825 shadow[1], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2826 PAN_SHADOW_COLOR, PAN_SHADOW_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2827 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2828 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2829 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2830 gint a; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2831 a = pi->color_a * PAN_SHADOW_ALPHA >> 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2832 pixbuf_draw_shadow(pixbuf, pi->x - x + shadow[0], pi->y - y + shadow[0], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2833 bw, bh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2834 pi->x - x + shadow[0], pi->y - y + shadow[0], bw, bh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2835 shadow[1], |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2836 PAN_SHADOW_COLOR, a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2837 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2838 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2839 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2840 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2841 pi->x, pi->y, bw, bh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2842 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2843 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2844 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2845 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2846 pi->color_r, pi->color_g, pi->color_b, pi->color_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2847 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2848 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2849 pi->x, pi->y, bw, pi->border, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2850 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2851 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2852 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2853 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2854 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
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 (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2857 pi->x, pi->y + pi->border, pi->border, bh - pi->border * 2, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2858 &rx, &ry, &rw, &rh)) |
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 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2861 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2862 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
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 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2865 pi->x + bw - pi->border, pi->y + pi->border, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2866 pi->border, bh - pi->border * 2, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2867 &rx, &ry, &rw, &rh)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2868 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2869 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2870 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2871 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
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 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2874 pi->x, pi->y + bh - pi->border, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2875 bw, pi->border, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2876 &rx, &ry, &rw, &rh)) |
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 pixbuf_draw_rect_fill(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2879 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2880 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2881 } |
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 else if (pi->type == ITEM_TRIANGLE) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2884 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2885 if (util_clip_region(x, y, width, height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2886 pi->x, pi->y, pi->width, pi->height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2887 &rx, &ry, &rw, &rh) && pi->data) |
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 gint *coord = pi->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2890 pixbuf_draw_triangle(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2891 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2892 coord[0] - x, coord[1] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2893 coord[2] - x, coord[3] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2894 coord[4] - x, coord[5] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2895 pi->color_r, pi->color_g, pi->color_b, pi->color_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2896 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2897 if (pi->border & BORDER_1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2898 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2899 pixbuf_draw_line(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2900 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2901 coord[0] - x, coord[1] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2902 coord[2] - x, coord[3] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2903 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2904 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2905 if (pi->border & BORDER_2) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2906 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2907 pixbuf_draw_line(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2908 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2909 coord[2] - x, coord[3] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2910 coord[4] - x, coord[5] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2911 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2912 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2913 if (pi->border & BORDER_3) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2914 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2915 pixbuf_draw_line(pixbuf, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2916 rx - x, ry - y, rw, rh, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2917 coord[4] - x, coord[5] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2918 coord[0] - x, coord[1] - y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2919 pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2920 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2921 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2922 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2923 else if (pi->type == ITEM_TEXT && pi->text) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2924 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2925 PangoLayout *layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2926 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2927 layout = pan_item_text_layout(pi, (GtkWidget *)pr); |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2928 pixbuf_draw_layout(pixbuf, layout, (GtkWidget *)pr, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2929 pi->x - x + PAN_TEXT_BORDER_SIZE, pi->y - y + PAN_TEXT_BORDER_SIZE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2930 pi->color_r, pi->color_g, pi->color_b, pi->color_a); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2931 g_object_unref(G_OBJECT(layout)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2932 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2933 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2934 g_list_free(list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2935 |
27
9c24765c2d3a
Sat Apr 2 17:28:16 2005 John Ellis <johne@verizon.net>
gqview
parents:
24
diff
changeset
|
2936 #if 0 |
9c24765c2d3a
Sat Apr 2 17:28:16 2005 John Ellis <johne@verizon.net>
gqview
parents:
24
diff
changeset
|
2937 if (x%512 == 0 && y%512 == 0) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2938 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2939 PangoLayout *layout; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2940 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2941 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2942 layout = gtk_widget_create_pango_layout((GtkWidget *)pr, NULL); |
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 buf = g_strdup_printf("%d,%d\n(#%d)", x, y, |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2945 (x / pr->source_tile_width) + |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2946 (y / pr->source_tile_height * (pr->image_width/pr->source_tile_width + 1))); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2947 pango_layout_set_text(layout, buf, -1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2948 g_free(buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2949 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2950 pixbuf_draw_layout(pixbuf, layout, (GtkWidget *)pr, 0, 0, 0, 0, 0, 255); |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2951 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2952 g_object_unref(G_OBJECT(layout)); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2953 } |
27
9c24765c2d3a
Sat Apr 2 17:28:16 2005 John Ellis <johne@verizon.net>
gqview
parents:
24
diff
changeset
|
2954 #endif |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2955 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2956 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2957 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2958 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2959 static void pan_window_dispose_tile_cb(PixbufRenderer *pr, gint x, gint y, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
2960 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
|
2961 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2962 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2963 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2964 GList *work; |
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 list = pan_layout_intersect(pw, x, y, width, height); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2967 work = list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2968 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2969 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2970 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2971 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2972 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2973 work = work->next; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2974 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2975 if (pi->refcount > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2976 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2977 pi->refcount--; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2978 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2979 if ((pi->type == ITEM_THUMB || pi->type == ITEM_IMAGE) && |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2980 pi->refcount == 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2981 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2982 if (pi->queued) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2983 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2984 pw->queue = g_list_remove(pw->queue, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2985 pi->queued = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2986 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2987 if (pw->queue_pi == pi) pw->queue_pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2988 if (pi->pixbuf) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2989 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2990 g_object_unref(pi->pixbuf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2991 pi->pixbuf = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2992 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2993 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2994 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2995 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2996 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2997 g_list_free(list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2998 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
2999 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3000 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3001 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3002 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3003 * misc |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3004 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3005 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3006 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3007 static void pan_window_message(PanWindow *pw, const gchar *text) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3008 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3009 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3010 gint count = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3011 gint64 size = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3012 gchar *ss; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3013 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3014 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3015 if (text) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3016 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3017 gtk_label_set_text(GTK_LABEL(pw->label_message), text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3018 return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3019 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3020 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
3021 work = pw->list_static; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3022 if (pw->layout == LAYOUT_CALENDAR) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3023 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3024 while (work) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3025 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3026 PanItem *pi; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3027 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3028 pi = work->data; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3029 work = work->next; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3030 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3031 if (pi->fd && |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3032 pi->type == ITEM_BOX && |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3033 pi->key && strcmp(pi->key, "dot") == 0) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3034 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3035 size += pi->fd->size; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3036 count++; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3037 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3038 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3039 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3040 else |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3041 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3042 while (work) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3043 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3044 PanItem *pi; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3045 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3046 pi = work->data; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3047 work = work->next; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3048 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3049 if (pi->fd && |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3050 (pi->type == ITEM_THUMB || pi->type == ITEM_IMAGE)) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3051 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3052 size += pi->fd->size; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3053 count++; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3054 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3055 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3056 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3057 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3058 ss = text_from_size_abrev(size); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3059 buf = g_strdup_printf(_("%d images, %s"), count, ss); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3060 g_free(ss); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3061 gtk_label_set_text(GTK_LABEL(pw->label_message), buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3062 g_free(buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3063 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3064 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3065 static void pan_window_zoom_limit(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3066 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3067 gdouble min; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3068 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3069 switch (pw->size) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3070 { |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
3071 case LAYOUT_SIZE_THUMB_DOTS: |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3072 case LAYOUT_SIZE_THUMB_NONE: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3073 case LAYOUT_SIZE_THUMB_SMALL: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3074 case LAYOUT_SIZE_THUMB_NORMAL: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3075 #if 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3076 /* easily requires > 512mb ram when window size > 1024x768 and zoom is <= -8 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3077 min = -16.0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3078 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3079 #endif |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3080 case LAYOUT_SIZE_THUMB_LARGE: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3081 min = -6.0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3082 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3083 case LAYOUT_SIZE_10: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3084 case LAYOUT_SIZE_25: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3085 min = -4.0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3086 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3087 case LAYOUT_SIZE_33: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3088 case LAYOUT_SIZE_50: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3089 case LAYOUT_SIZE_100: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3090 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3091 min = -2.0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3092 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3093 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3094 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3095 image_zoom_set_limits(pw->imd, min, 32.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3096 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3097 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3098 static gint pan_window_layout_update_idle_cb(gpointer data) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3099 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3100 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3101 gint width; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3102 gint height; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3103 gint scroll_x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3104 gint scroll_y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3105 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3106 if (pw->size > LAYOUT_SIZE_THUMB_LARGE || |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3107 (SORT_BY_EXIF_DATE && (pw->layout == LAYOUT_TIMELINE || pw->layout == LAYOUT_CALENDAR))) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3108 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3109 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
|
3110 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3111 pan_cache_fill(pw, pw->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3112 if (pw->cache_todo) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3113 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3114 pan_window_message(pw, _("Reading dimensions...")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3115 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3116 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3117 } |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3118 if (pw->cache_todo) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3119 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3120 pw->cache_count++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3121 pw->cache_tick++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3122 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
|
3123 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3124 pan_window_message(pw, _("Sorting images...")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3125 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3126 else if (pw->cache_tick > 9) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3127 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3128 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3129 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3130 buf = g_strdup_printf("%s %d", _("Reading dimensions..."), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3131 pw->cache_total - pw->cache_count); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3132 pan_window_message(pw, buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3133 g_free(buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3134 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3135 pw->cache_tick = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3136 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3137 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3138 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
|
3139 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3140 pw->idle_id = -1; |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3141 return FALSE; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3142 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3143 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3144 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3145 pan_window_layout_compute(pw, pw->path, &width, &height, &scroll_x, &scroll_y); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3146 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3147 pan_window_zoom_limit(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3148 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3149 if (width > 0 && height > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3150 { |
13
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3151 gdouble align; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3152 |
32
96ac60a9c0f1
Wed Apr 6 02:43:40 2005 John Ellis <johne@verizon.net>
gqview
parents:
30
diff
changeset
|
3153 printf("Canvas size is %d x %d\n", width, height); |
96ac60a9c0f1
Wed Apr 6 02:43:40 2005 John Ellis <johne@verizon.net>
gqview
parents:
30
diff
changeset
|
3154 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
3155 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
|
3156 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3157 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
|
3158 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
|
3159 pan_window_request_tile_cb, |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3160 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
|
3161 |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3162 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
|
3163 { |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3164 align = 0.0; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3165 } |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3166 else |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3167 { |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3168 align = 0.5; |
ef790149ae21
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
3169 } |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3170 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
|
3171 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3172 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3173 pan_window_message(pw, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3174 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3175 pw->idle_id = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3176 return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3177 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3178 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3179 static void pan_window_layout_update_idle(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3180 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3181 if (pw->idle_id == -1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3182 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3183 pw->idle_id = g_idle_add(pan_window_layout_update_idle_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3184 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3185 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3186 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3187 static void pan_window_layout_update(PanWindow *pw) |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3188 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3189 pan_window_message(pw, _("Sorting images...")); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3190 pan_window_layout_update_idle(pw); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3191 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
3192 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3193 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3194 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3195 * pan window keyboard |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3196 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3197 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3198 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3199 static const gchar *pan_menu_click_path(PanWindow *pw) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3200 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3201 if (pw->click_pi && pw->click_pi->fd) return pw->click_pi->fd->path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3202 return NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3203 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3204 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3205 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
|
3206 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3207 PanWindow *pw = data; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3208 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3209 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
|
3210 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
|
3211 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3212 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3213 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
|
3214 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3215 PanWindow *pw = data; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3216 PixbufRenderer *pr; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3217 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3218 gint stop_signal = FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3219 GtkWidget *menu; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3220 gint x = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3221 gint y = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3222 gint focused; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3223 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3224 pr = PIXBUF_RENDERER(pw->imd->pr); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3225 path = pan_menu_click_path(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3226 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3227 focused = (pw->fs || GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(pw->imd->widget))); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3228 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3229 if (focused) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3230 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3231 switch (event->keyval) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3232 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3233 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
|
3234 x -= 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3235 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3236 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3237 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
|
3238 x += 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3239 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3240 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3241 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
|
3242 y -= 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3243 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3244 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3245 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
|
3246 y += 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3247 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3248 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3249 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
|
3250 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
|
3251 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3252 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
|
3253 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
|
3254 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3255 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
|
3256 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
|
3257 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3258 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
|
3259 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
|
3260 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3261 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3262 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3263 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3264 if (focused && !(event->state & GDK_CONTROL_MASK) ) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3265 switch (event->keyval) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3266 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3267 case '+': case '=': case GDK_KP_Add: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3268 pixbuf_renderer_zoom_adjust(pr, ZOOM_INCREMENT); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3269 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3270 case '-': case GDK_KP_Subtract: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3271 pixbuf_renderer_zoom_adjust(pr, -ZOOM_INCREMENT); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3272 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3273 case 'Z': case 'z': case GDK_KP_Divide: case '1': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3274 pixbuf_renderer_zoom_set(pr, 1.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3275 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3276 case '2': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3277 pixbuf_renderer_zoom_set(pr, 2.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3278 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3279 case '3': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3280 pixbuf_renderer_zoom_set(pr, 3.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3281 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3282 case '4': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3283 pixbuf_renderer_zoom_set(pr, 4.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3284 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3285 case '7': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3286 pixbuf_renderer_zoom_set(pr, -4.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3287 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3288 case '8': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3289 pixbuf_renderer_zoom_set(pr, -3.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3290 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3291 case '9': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3292 pixbuf_renderer_zoom_set(pr, -2.0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3293 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3294 case 'F': case 'f': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3295 case 'V': case 'v': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3296 pan_fullscreen_toggle(pw, FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3297 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3298 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3299 case 'I': case 'i': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3300 #if 0 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3301 pan_overlay_toggle(pw); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3302 #endif |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3303 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3304 case GDK_Delete: case GDK_KP_Delete: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3305 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3306 case '/': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3307 if (!pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3308 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3309 if (GTK_WIDGET_VISIBLE(pw->search_box)) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3310 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3311 gtk_widget_grab_focus(pw->search_entry); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3312 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3313 else |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3314 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3315 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), TRUE); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3316 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3317 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3318 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3319 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3320 case GDK_Escape: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3321 if (pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3322 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3323 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3324 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3325 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3326 else if (GTK_WIDGET_VISIBLE(pw->search_entry)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3327 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3328 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3329 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3330 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3331 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3332 case GDK_Menu: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3333 case GDK_F10: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3334 menu = pan_popup_menu(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3335 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, pan_window_menu_pos_cb, pw, 0, GDK_CURRENT_TIME); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3336 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3337 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3338 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3339 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3340 if (event->state & GDK_CONTROL_MASK) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3341 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3342 gint n = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3343 switch (event->keyval) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3344 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3345 case '1': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3346 n = 0; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3347 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3348 case '2': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3349 n = 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3350 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3351 case '3': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3352 n = 2; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3353 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3354 case '4': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3355 n = 3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3356 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3357 case '5': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3358 n = 4; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3359 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3360 case '6': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3361 n = 5; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3362 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3363 case '7': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3364 n = 6; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3365 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3366 case '8': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3367 n = 7; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3368 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3369 case '9': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3370 n = 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3371 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3372 case '0': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3373 n = 9; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3374 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3375 case 'C': case 'c': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3376 if (path) file_util_copy(path, NULL, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3377 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3378 case 'M': case 'm': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3379 if (path) file_util_move(path, NULL, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3380 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3381 case 'R': case 'r': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3382 if (path) file_util_rename(path, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3383 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3384 case 'D': case 'd': |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3385 if (path) file_util_delete(path, NULL, GTK_WIDGET(pr)); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3386 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3387 case 'P': case 'p': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3388 if (path) info_window_new(path, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3389 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3390 case 'W': case 'w': |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3391 pan_window_close(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3392 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3393 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3394 if (n != -1 && path) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3395 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3396 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3397 start_editor_from_file(n, path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3398 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3399 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3400 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3401 else if (event->state & GDK_SHIFT_MASK) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3402 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3403 x *= 3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3404 y *= 3; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3405 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3406 else if (!focused) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3407 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3408 switch (event->keyval) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3409 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3410 case GDK_Escape: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3411 if (pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3412 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3413 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3414 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3415 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3416 else if (GTK_WIDGET_HAS_FOCUS(pw->search_entry)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3417 { |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3418 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
|
3419 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3420 stop_signal = TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3421 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3422 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3423 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3424 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3425 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3426 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3427 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3428 if (x != 0 || y!= 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3429 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3430 keyboard_scroll_calc(&x, &y, event); |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3431 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
|
3432 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3433 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3434 return stop_signal; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3435 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3436 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3437 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3438 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3439 * info popup |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3440 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3441 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3442 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3443 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
|
3444 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3445 PanItem *pbox; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3446 PanItem *plabel; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3447 PanItem *p; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3448 gchar *buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3449 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
|
3450 gint x, y, w, h; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3451 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3452 if (pw->click_pi == pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3453 if (pi && !pi->fd) pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3454 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3455 while ((p = pan_item_find_by_key(pw, ITEM_NONE, "info"))) pan_item_remove(pw, p); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3456 pw->click_pi = pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3457 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3458 if (!pi) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3459 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
3460 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
|
3461 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3462 pbox = pan_item_new_box(pw, NULL, pi->x + pi->width + 4, pi->y, 10, 10, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3463 PAN_POPUP_BORDER, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3464 PAN_POPUP_COLOR, PAN_POPUP_ALPHA, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3465 PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3466 pan_item_set_key(pbox, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3467 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3468 if (pi->type == ITEM_THUMB && pi->pixbuf) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3469 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3470 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
|
3471 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
|
3472 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3473 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
|
3474 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
|
3475 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3476 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3477 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3478 x1 = pi->x + pi->width - 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3479 y1 = pi->y + 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3480 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3481 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3482 x2 = pbox->x + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3483 y2 = pbox->y + 36; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3484 x3 = pbox->x + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3485 y3 = pbox->y + 12; |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
32
diff
changeset
|
3486 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
|
3487 &x, &y, &w, &h); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3488 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3489 p = pan_item_new_tri(pw, NULL, x, y, w, h, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3490 x1, y1, x2, y2, x3, y3, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3491 PAN_POPUP_COLOR, PAN_POPUP_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3492 pan_item_tri_border(p, BORDER_1 | BORDER_3, PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3493 pan_item_set_key(p, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3494 pan_item_added(pw, p); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3495 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3496 plabel = pan_item_new_text(pw, pbox->x, pbox->y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3497 _("Filename:"), TEXT_ATTR_BOLD, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3498 PAN_POPUP_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3499 pan_item_set_key(plabel, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3500 p = pan_item_new_text(pw, plabel->x + plabel->width, plabel->y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3501 pi->fd->name, TEXT_ATTR_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3502 PAN_POPUP_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3503 pan_item_set_key(p, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3504 pan_item_size_by_item(pbox, p, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3505 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3506 plabel = pan_item_new_text(pw, plabel->x, plabel->y + plabel->height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3507 _("Date:"), TEXT_ATTR_BOLD, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3508 PAN_POPUP_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3509 pan_item_set_key(plabel, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3510 p = pan_item_new_text(pw, plabel->x + plabel->width, plabel->y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3511 text_from_time(pi->fd->date), TEXT_ATTR_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3512 PAN_POPUP_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3513 pan_item_set_key(p, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3514 pan_item_size_by_item(pbox, p, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3515 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3516 plabel = pan_item_new_text(pw, plabel->x, plabel->y + plabel->height, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3517 _("Size:"), TEXT_ATTR_BOLD, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3518 PAN_POPUP_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3519 pan_item_set_key(plabel, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3520 buf = text_from_size(pi->fd->size); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3521 p = pan_item_new_text(pw, plabel->x + plabel->width, plabel->y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3522 buf, TEXT_ATTR_NONE, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3523 PAN_POPUP_TEXT_COLOR, 255); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3524 g_free(buf); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3525 pan_item_set_key(p, "info"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3526 pan_item_size_by_item(pbox, p, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3527 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3528 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
|
3529 pan_item_added(pw, pbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3530 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3531 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3532 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3533 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3534 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3535 * search |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3536 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3537 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3538 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3539 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
|
3540 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3541 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
|
3542 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3543 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3544 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
|
3545 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3546 PanItem *pi; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3547 GList *list; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3548 GList *found; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3549 ItemType type; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3550 gchar *buf; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3551 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3552 type = (pw->size > LAYOUT_SIZE_THUMB_LARGE) ? ITEM_IMAGE : ITEM_THUMB; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3553 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3554 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
|
3555 if (!list) return FALSE; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3556 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3557 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
|
3558 if (found && found->next) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3559 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3560 found = found->next; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3561 pi = found->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3562 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3563 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3564 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3565 pi = list->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3566 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3567 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3568 pan_info_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3569 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
|
3570 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3571 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
|
3572 (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
|
3573 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
|
3574 g_list_length(list)); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3575 pan_search_status(pw, buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3576 g_free(buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3577 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3578 g_list_free(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3579 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3580 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3581 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3582 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3583 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
|
3584 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3585 PanItem *pi; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3586 GList *list; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3587 GList *found; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3588 ItemType type; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3589 gchar *buf; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3590 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3591 type = (pw->size > LAYOUT_SIZE_THUMB_LARGE) ? ITEM_IMAGE : ITEM_THUMB; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3592 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3593 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
|
3594 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
|
3595 if (!list) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3596 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3597 gchar *needle; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3598 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3599 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
|
3600 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
|
3601 g_free(needle); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3602 } |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3603 if (!list) return FALSE; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3604 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3605 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
|
3606 if (found && found->next) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3607 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3608 found = found->next; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3609 pi = found->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3610 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3611 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3612 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3613 pi = list->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3614 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3615 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3616 pan_info_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3617 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
|
3618 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3619 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
|
3620 _("partial match"), |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3621 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
|
3622 g_list_length(list)); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3623 pan_search_status(pw, buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3624 g_free(buf); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3625 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3626 g_list_free(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3627 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3628 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3629 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3630 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3631 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
|
3632 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3633 return (c == '/' || c == '-' || c == ' ' || c == '.' || c == ','); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3634 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3635 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3636 static GList *pan_search_by_date_val(PanWindow *pw, ItemType type, |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3637 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
|
3638 const gchar *key) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3639 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3640 GList *list = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3641 GList *work; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3642 |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
3643 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
|
3644 while (work) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3645 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3646 PanItem *pi; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3647 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3648 pi = work->data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3649 work = work->prev; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3650 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3651 if (pi->fd && (pi->type == type || type == ITEM_NONE) && |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3652 ((!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
|
3653 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3654 struct tm *tl; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3655 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3656 tl = localtime(&pi->fd->date); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3657 if (tl) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3658 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3659 gint match; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3660 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3661 match = (tl->tm_year == year - 1900); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3662 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
|
3663 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
|
3664 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3665 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
|
3666 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3667 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3668 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3669 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3670 return g_list_reverse(list); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3671 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3672 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3673 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
|
3674 { |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3675 PanItem *pi = NULL; |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3676 GList *list = NULL; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3677 GList *found; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3678 gint year; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3679 gint month = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3680 gint day = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3681 gchar *ptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3682 gchar *mptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3683 struct tm *lt; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3684 time_t t; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3685 gchar *message; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3686 gchar *buf; |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3687 gchar *buf_count; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3688 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3689 if (!text) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3690 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3691 ptr = (gchar *)text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3692 while (*ptr != '\0') |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3693 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3694 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
|
3695 ptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3696 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3697 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3698 t = time(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3699 if (t == -1) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3700 lt = localtime(&t); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3701 if (!lt) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3702 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3703 if (valid_date_separator(*text)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3704 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3705 year = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3706 mptr = (gchar *)text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3707 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3708 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3709 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3710 year = (gint)strtol(text, &mptr, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3711 if (mptr == text) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3712 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3713 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3714 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
|
3715 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3716 gchar *dptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3717 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3718 mptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3719 month = strtol(mptr, &dptr, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3720 if (dptr == mptr) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3721 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3722 if (valid_date_separator(*dptr)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3723 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3724 month = lt->tm_mon + 1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3725 dptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3726 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3727 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3728 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3729 month = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3730 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3731 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3732 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
|
3733 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3734 gchar *eptr; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3735 dptr++; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3736 day = strtol(dptr, &eptr, 10); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3737 if (dptr == eptr) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3738 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3739 day = lt->tm_mday; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3740 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3741 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3742 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3743 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3744 if (year == -1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3745 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3746 year = lt->tm_year + 1900; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3747 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3748 else if (year < 100) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3749 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3750 if (year > 70) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3751 year+= 1900; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3752 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3753 year+= 2000; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3754 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3755 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3756 if (year < 1970 || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3757 month < -1 || month == 0 || month > 12 || |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3758 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
|
3759 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3760 t = date_to_time(year, month, day); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3761 if (t < 0) return FALSE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3762 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3763 if (pw->layout == LAYOUT_CALENDAR) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3764 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3765 list = pan_search_by_date_val(pw, ITEM_BOX, year, month, day, "day"); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3766 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3767 else |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3768 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3769 ItemType type; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3770 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3771 type = (pw->size > LAYOUT_SIZE_THUMB_LARGE) ? ITEM_IMAGE : ITEM_THUMB; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3772 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
|
3773 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3774 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3775 if (list) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3776 { |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3777 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
|
3778 if (found && found->next) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3779 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3780 found = found->next; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3781 pi = found->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3782 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3783 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3784 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3785 pi = list->data; |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3786 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3787 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3788 |
20
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3789 pw->search_pi = pi; |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3790 |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3791 if (pw->layout == LAYOUT_CALENDAR && pi && pi->type == ITEM_BOX) |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3792 { |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3793 pan_info_update(pw, NULL); |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3794 pan_calendar_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3795 image_scroll_to_point(pw->imd, |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3796 pi->x + pi->width / 2, |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3797 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
|
3798 } |
b542e45eb053
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
18
diff
changeset
|
3799 else if (pi) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3800 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3801 pan_info_update(pw, pi); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3802 image_scroll_to_point(pw->imd, |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3803 pi->x - PAN_FOLDER_BOX_BORDER * 5 / 2, |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3804 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
|
3805 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3806 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3807 if (month > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3808 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3809 buf = date_value_string(t, DATE_LENGTH_MONTH); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3810 if (day > 0) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3811 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3812 gchar *tmp; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3813 tmp = buf; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3814 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
|
3815 g_free(tmp); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3816 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3817 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3818 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3819 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3820 buf = date_value_string(t, DATE_LENGTH_YEAR); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3821 } |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3822 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3823 if (pi) |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3824 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3825 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
|
3826 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
|
3827 g_list_length(list)); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3828 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3829 else |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3830 { |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3831 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
|
3832 } |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3833 |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3834 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
|
3835 g_free(buf); |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3836 g_free(buf_count); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3837 pan_search_status(pw, message); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3838 g_free(message); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3839 |
17
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3840 g_list_free(list); |
bd9ae48e4eb2
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
15
diff
changeset
|
3841 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3842 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3843 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3844 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3845 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
|
3846 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3847 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3848 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3849 if (!text) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3850 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3851 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
|
3852 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3853 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
|
3854 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3855 if ((pw->layout == LAYOUT_TIMELINE || |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3856 pw->layout == LAYOUT_CALENDAR) && |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3857 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
|
3858 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3859 return; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3860 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3861 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3862 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
|
3863 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3864 pan_search_status(pw, _("no match")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3865 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3866 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3867 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
|
3868 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3869 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3870 gint visible; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3871 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3872 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
|
3873 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
|
3874 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3875 if (visible) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3876 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3877 gtk_widget_hide(pw->search_box); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3878 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
|
3879 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3880 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3881 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3882 gtk_widget_show(pw->search_box); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3883 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
|
3884 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
|
3885 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3886 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3887 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3888 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3889 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3890 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3891 * view window main routines |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3892 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3893 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3894 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3895 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
|
3896 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3897 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3898 PanItem *pi = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3899 GtkWidget *menu; |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3900 gint rx, ry; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3901 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3902 rx = ry = 0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3903 if (pr->scale) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3904 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3905 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
|
3906 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
|
3907 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3908 |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3909 pi = pan_item_find_by_coord(pw, (pw->size > LAYOUT_SIZE_THUMB_LARGE) ? ITEM_IMAGE : ITEM_THUMB, |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3910 rx, ry, NULL); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3911 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3912 switch (event->button) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3913 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3914 case 1: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3915 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
|
3916 |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3917 if (!pi && pw->layout == LAYOUT_CALENDAR) |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3918 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3919 pi = pan_item_find_by_coord(pw, ITEM_BOX, rx, ry, "day"); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3920 pan_calendar_update(pw, pi); |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3921 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3922 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3923 case 2: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3924 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3925 case 3: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3926 pan_info_update(pw, pi); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3927 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
|
3928 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
|
3929 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3930 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3931 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3932 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3933 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3934 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3935 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
|
3936 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3937 #if 0 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3938 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3939 #endif |
18
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3940 gint w, h; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3941 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3942 w = pr->vis_width; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3943 h = pr->vis_height; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3944 |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3945 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
|
3946 { |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3947 w /= 3; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3948 h /= 3; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3949 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3950 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3951 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
|
3952 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3953 switch (event->direction) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3954 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3955 case GDK_SCROLL_UP: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3956 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
|
3957 (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
|
3958 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3959 case GDK_SCROLL_DOWN: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3960 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
|
3961 (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
|
3962 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3963 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3964 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3965 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3966 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3967 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3968 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3969 switch (event->direction) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3970 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3971 case GDK_SCROLL_UP: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3972 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
|
3973 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3974 case GDK_SCROLL_DOWN: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3975 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
|
3976 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3977 case GDK_SCROLL_LEFT: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3978 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
|
3979 break; |
bc5da5b63abd
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
17
diff
changeset
|
3980 case GDK_SCROLL_RIGHT: |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
3981 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
|
3982 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3983 default: |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3984 break; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3985 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3986 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3987 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3988 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3989 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
|
3990 { |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3991 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
|
3992 G_CALLBACK(button_cb), pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
3993 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
|
3994 G_CALLBACK(scroll_cb), pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3995 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3996 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3997 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
|
3998 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
3999 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4000 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4001 pw->fs = NULL; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4002 pw->imd = pw->imd_normal; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4003 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4004 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4005 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
|
4006 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4007 if (force_off && !pw->fs) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4008 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4009 if (pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4010 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4011 fullscreen_stop(pw->fs); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4012 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4013 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4014 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4015 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
|
4016 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
|
4017 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
|
4018 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
|
4019 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4020 pw->imd = pw->fs->imd; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4021 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4022 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4023 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4024 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
|
4025 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4026 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4027 gchar *text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4028 |
27
9c24765c2d3a
Sat Apr 2 17:28:16 2005 John Ellis <johne@verizon.net>
gqview
parents:
24
diff
changeset
|
4029 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
|
4030 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
|
4031 g_free(text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4032 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4033 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4034 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
|
4035 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4036 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4037 GtkAdjustment *adj; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4038 GdkRectangle rect; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4039 gint width, height; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4040 |
29
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
4041 if (pr->scale == 0.0) return; |
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
4042 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4043 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
|
4044 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
|
4045 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4046 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
|
4047 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
|
4048 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
|
4049 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
|
4050 adj->lower = 0.0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4051 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
|
4052 adj->value = (gdouble)rect.x; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4053 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4054 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
|
4055 gtk_adjustment_changed(adj); |
29
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
4056 gtk_adjustment_value_changed(adj); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4057 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
|
4058 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4059 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
|
4060 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
|
4061 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
|
4062 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
|
4063 adj->lower = 0.0; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4064 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
|
4065 adj->value = (gdouble)rect.y; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4066 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4067 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
|
4068 gtk_adjustment_changed(adj); |
29
8a8ec4b3e769
Sun Apr 3 00:36:22 2005 John Ellis <johne@verizon.net>
gqview
parents:
27
diff
changeset
|
4069 gtk_adjustment_value_changed(adj); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4070 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
|
4071 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4072 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4073 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
|
4074 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4075 PanWindow *pw = data; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4076 PixbufRenderer *pr; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4077 gint x; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4078 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4079 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
|
4080 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4081 if (!pr->scale) return; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4082 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4083 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
|
4084 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4085 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
|
4086 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4087 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4088 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
|
4089 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4090 PanWindow *pw = data; |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4091 PixbufRenderer *pr; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4092 gint y; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4093 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4094 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
|
4095 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4096 if (!pr->scale) return; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4097 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4098 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
|
4099 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4100 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
|
4101 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4102 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4103 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
|
4104 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4105 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4106 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4107 pw->layout = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4108 pan_window_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4109 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4110 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4111 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
|
4112 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4113 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4114 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4115 pw->size = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4116 pan_window_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4117 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4118 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4119 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
|
4120 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4121 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4122 gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4123 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4124 path = remove_trailing_slash(new_text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4125 parse_out_relatives(path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4126 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4127 if (!isdir(path)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4128 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4129 warning_dialog(_("Folder not found"), |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4130 _("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
|
4131 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
|
4132 } |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4133 else |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4134 { |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4135 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
|
4136 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4137 g_free(pw->path); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4138 pw->path = g_strdup(path); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4139 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4140 pan_window_layout_update(pw); |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4141 } |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4142 |
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4143 g_free(path); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4144 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4145 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4146 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
|
4147 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4148 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4149 gchar *text; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4150 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4151 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
|
4152 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4153 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
|
4154 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
|
4155 g_free(text); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4156 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4157 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4158 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
|
4159 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4160 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
|
4161 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4162 if (pw->idle_id != -1) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4163 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4164 g_source_remove(pw->idle_id); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4165 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4166 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4167 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4168 gtk_widget_destroy(pw->window); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4169 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4170 pan_window_items_free(pw); |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4171 pan_cache_free(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4172 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4173 g_free(pw->path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4174 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4175 g_free(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4176 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4177 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4178 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
|
4179 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4180 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4181 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4182 pan_window_close(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4183 return TRUE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4184 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4185 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4186 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
|
4187 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4188 PanWindow *pw; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4189 GtkWidget *vbox; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4190 GtkWidget *box; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4191 GtkWidget *combo; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4192 GtkWidget *hbox; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4193 GtkWidget *frame; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4194 GtkWidget *table; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4195 GdkGeometry geometry; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4196 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4197 pw = g_new0(PanWindow, 1); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4198 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4199 pw->path = g_strdup(path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4200 pw->layout = LAYOUT_TIMELINE; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4201 pw->size = LAYOUT_SIZE_THUMB_NORMAL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4202 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
|
4203 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
|
4204 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4205 pw->list = NULL; |
35
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
4206 pw->list_static = NULL; |
e46aedb70f67
Fri Apr 8 15:31:38 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
4207 pw->list_grid = NULL; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4208 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4209 pw->fs = NULL; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4210 pw->overlay_id = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4211 pw->idle_id = -1; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4212 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4213 pw->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4214 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4215 geometry.min_width = 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4216 geometry.min_height = 8; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4217 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
|
4218 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4219 gtk_window_set_resizable(GTK_WINDOW(pw->window), TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4220 gtk_window_set_title (GTK_WINDOW(pw->window), "Pan View - GQview"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4221 gtk_window_set_wmclass(GTK_WINDOW(pw->window), "view", "GQview"); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4222 gtk_container_set_border_width(GTK_CONTAINER(pw->window), 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4223 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4224 window_set_icon(pw->window, NULL, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4225 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4226 vbox = gtk_vbox_new(FALSE, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4227 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
|
4228 gtk_widget_show(vbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4229 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4230 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
|
4231 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4232 pref_spacer(box, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4233 pref_label_new(box, _("Location:")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4234 combo = tab_completion_new_with_history(&pw->path_entry, path, "pan_view", -1, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4235 pan_window_entry_activate_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4236 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
|
4237 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
|
4238 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
|
4239 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4240 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4241 combo = gtk_combo_box_new_text(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4242 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
|
4243 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
|
4244 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
|
4245 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
|
4246 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
|
4247 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4248 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
|
4249 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
|
4250 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
|
4251 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
|
4252 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4253 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4254 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
|
4255 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
|
4256 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
|
4257 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
|
4258 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
|
4259 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
|
4260 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
|
4261 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
|
4262 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
|
4263 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
|
4264 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
|
4265 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4266 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
|
4267 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
|
4268 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
|
4269 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
|
4270 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4271 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4272 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
|
4273 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
|
4274 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
|
4275 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4276 pw->imd = image_new(TRUE); |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4277 pw->imd_normal = pw->imd; |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4278 |
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4279 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
|
4280 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
|
4281 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
|
4282 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
|
4283 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4284 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
|
4285 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
|
4286 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
|
4287 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4288 pan_window_dnd_init(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4289 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4290 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
|
4291 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4292 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
|
4293 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
|
4294 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
|
4295 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
|
4296 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
|
4297 gtk_widget_show(pw->scrollbar_h); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4298 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4299 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
|
4300 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
|
4301 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
|
4302 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
|
4303 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
|
4304 gtk_widget_show(pw->scrollbar_v); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4305 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4306 /* find bar */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4307 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4308 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
|
4309 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
|
4310 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4311 pref_spacer(pw->search_box, 0); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4312 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
|
4313 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4314 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
|
4315 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
|
4316 gtk_widget_show(hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4317 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4318 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
|
4319 pan_search_activate_cb, pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4320 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
|
4321 gtk_widget_show(combo); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4322 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4323 pw->search_label = gtk_label_new(""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4324 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
|
4325 gtk_widget_show(pw->search_label); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4326 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4327 /* status bar */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4328 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4329 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
|
4330 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4331 frame = gtk_frame_new(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4332 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
|
4333 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
|
4334 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
|
4335 gtk_widget_show(frame); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4336 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4337 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
|
4338 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
|
4339 gtk_widget_show(hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4340 |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4341 pref_spacer(hbox, 0); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4342 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
|
4343 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4344 frame = gtk_frame_new(NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4345 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
|
4346 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
|
4347 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
|
4348 gtk_widget_show(frame); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4349 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4350 pw->label_zoom = gtk_label_new(""); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4351 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
|
4352 gtk_widget_show(pw->label_zoom); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4353 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4354 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
|
4355 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
|
4356 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
|
4357 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
|
4358 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
|
4359 gtk_widget_show(hbox); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4360 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
|
4361 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
|
4362 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
|
4363 pref_label_new(hbox, _("Find")); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4364 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4365 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
|
4366 gtk_widget_show(pw->search_button); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4367 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
|
4368 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
|
4369 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4370 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
|
4371 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
|
4372 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
|
4373 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
|
4374 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4375 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
|
4376 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4377 pan_window_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4378 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4379 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
|
4380 gtk_widget_show(pw->window); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4381 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4382 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
|
4383 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4384 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4385 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4386 *----------------------------------------------------------------------------- |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4387 * peformance warnings |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4388 *----------------------------------------------------------------------------- |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4389 */ |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4390 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4391 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
|
4392 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4393 gchar *path = data; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4394 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4395 generic_dialog_close(gd); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4396 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4397 pan_window_new_real(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4398 g_free(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4399 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4400 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4401 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
|
4402 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4403 gint hide_dlg; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4404 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4405 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
|
4406 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
|
4407 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4408 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4409 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
|
4410 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4411 GenericDialog *gd; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4412 GtkWidget *box; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4413 GtkWidget *group; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4414 GtkWidget *button; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4415 GtkWidget *ct_button; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4416 gint hide_dlg; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4417 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4418 if (enable_thumb_caching && |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4419 thumbnail_spec_standard) return FALSE; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4420 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4421 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
|
4422 if (hide_dlg) return FALSE; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4423 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4424 gd = generic_dialog_new(_("Pan View Performance"), "GQview", "pan_view_warning", NULL, FALSE, |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4425 NULL, NULL); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4426 gd->data = g_strdup(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4427 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
|
4428 pan_warning_ok_cb, TRUE); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4429 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4430 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
|
4431 _("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
|
4432 _("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
|
4433 " 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
|
4434 " 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
|
4435 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4436 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
|
4437 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
|
4438 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
|
4439 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4440 ct_button = pref_checkbox_new_int(group, _("Cache thumbnails"), |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4441 enable_thumb_caching, &enable_thumb_caching); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4442 button = pref_checkbox_new_int(group, _("Use shared thumbnail cache"), |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4443 thumbnail_spec_standard, &thumbnail_spec_standard); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4444 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
|
4445 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4446 pref_line(box, 0); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4447 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4448 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
|
4449 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
|
4450 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4451 gtk_widget_show(gd->dialog); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4452 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4453 return TRUE; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4454 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4455 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4456 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4457 /* |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4458 *----------------------------------------------------------------------------- |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4459 * public |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4460 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4461 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4462 |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4463 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
|
4464 { |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4465 if (pan_warning(path)) return; |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4466 |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4467 pan_window_new_real(path); |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4468 } |
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4469 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4470 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4471 *----------------------------------------------------------------------------- |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4472 * menus |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4473 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4474 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4475 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4476 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
|
4477 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4478 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4479 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4480 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4481 path = pan_menu_click_path(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4482 if (path) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4483 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4484 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4485 view_window_new(path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4486 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4487 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4488 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4489 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
|
4490 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4491 PanWindow *pw; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4492 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4493 gint n; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4494 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4495 pw = submenu_item_get_data(widget); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4496 n = GPOINTER_TO_INT(data); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4497 if (!pw) return; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4498 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4499 path = pan_menu_click_path(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4500 if (path) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4501 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4502 pan_fullscreen_toggle(pw, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4503 start_editor_from_file(n, path); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4504 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4505 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4506 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4507 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
|
4508 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4509 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4510 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4511 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4512 path = pan_menu_click_path(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4513 if (path) info_window_new(path, NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4514 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4515 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4516 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
|
4517 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4518 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4519 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4520 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
|
4521 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4522 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4523 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
|
4524 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4525 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4526 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4527 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
|
4528 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4529 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4530 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
|
4531 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4532 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4533 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4534 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
|
4535 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4536 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4537 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
|
4538 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4539 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4540 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4541 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4542 path = pan_menu_click_path(pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4543 if (path) file_util_copy(path, NULL, NULL, pw->imd->widget); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4544 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4545 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4546 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
|
4547 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4548 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4549 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4550 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4551 path = pan_menu_click_path(pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4552 if (path) file_util_move(path, NULL, NULL, pw->imd->widget); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4553 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4554 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4555 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
|
4556 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4557 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4558 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4559 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4560 path = pan_menu_click_path(pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4561 if (path) file_util_rename(path, NULL, pw->imd->widget); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4562 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4563 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4564 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
|
4565 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4566 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4567 const gchar *path; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4568 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4569 path = pan_menu_click_path(pw); |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4570 if (path) file_util_delete(path, NULL, pw->imd->widget); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4571 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4572 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4573 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
|
4574 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4575 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4576 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4577 pan_fullscreen_toggle(pw, FALSE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4578 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4579 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4580 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
|
4581 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4582 PanWindow *pw = data; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4583 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4584 pan_window_close(pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4585 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4586 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4587 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
|
4588 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4589 GtkWidget *menu; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4590 GtkWidget *item; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4591 gint active; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4592 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4593 active = (pw->click_pi != NULL); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4594 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4595 menu = popup_menu_short_lived(); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4596 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4597 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
|
4598 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
|
4599 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
|
4600 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
|
4601 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
|
4602 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
|
4603 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4604 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4605 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
|
4606 gtk_widget_set_sensitive(item, active); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4607 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4608 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
|
4609 G_CALLBACK(pan_info_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4610 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4611 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
|
4612 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
|
4613 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4614 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4615 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
|
4616 G_CALLBACK(pan_copy_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4617 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
|
4618 G_CALLBACK(pan_move_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4619 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
|
4620 G_CALLBACK(pan_rename_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4621 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
|
4622 G_CALLBACK(pan_delete_cb), pw); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4623 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4624 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4625 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4626 if (pw->fs) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4627 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4628 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
|
4629 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4630 else |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4631 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4632 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
|
4633 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4634 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4635 menu_item_add_divider(menu); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4636 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
|
4637 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4638 return menu; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4639 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4640 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4641 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4642 *----------------------------------------------------------------------------- |
15
3263965d5f9e
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
4643 * drag and drop |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4644 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4645 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4646 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4647 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
|
4648 gint x, gint y, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4649 GtkSelectionData *selection_data, guint info, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4650 guint time, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4651 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4652 PanWindow *pw = data; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4653 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4654 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
|
4655 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4656 if (info == TARGET_URI_LIST) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4657 { |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4658 GList *list; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4659 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4660 list = uri_list_from_text(selection_data->data, TRUE); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4661 if (list && isdir((gchar *)list->data)) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4662 { |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4663 gchar *path = list->data; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4664 |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4665 g_free(pw->path); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4666 pw->path = g_strdup(path); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4667 |
37
67ba4381497e
Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net>
gqview
parents:
36
diff
changeset
|
4668 pan_window_layout_update(pw); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4669 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4670 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4671 path_list_free(list); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4672 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4673 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4674 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4675 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
|
4676 GtkSelectionData *selection_data, guint info, |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4677 guint time, gpointer data) |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4678 { |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4679 PanWindow *pw = data; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4680 const gchar *path; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4681 |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4682 path = pan_menu_click_path(pw); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4683 if (path) |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4684 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4685 gchar *text = NULL; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4686 gint len; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4687 gint plain_text; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4688 GList *list; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4689 |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4690 switch (info) |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4691 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4692 case TARGET_URI_LIST: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4693 plain_text = FALSE; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4694 break; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4695 case TARGET_TEXT_PLAIN: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4696 default: |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4697 plain_text = TRUE; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4698 break; |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4699 } |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4700 list = g_list_append(NULL, (gchar *)path); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4701 text = uri_text_from_list(list, &len, plain_text); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4702 g_list_free(list); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4703 if (text) |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4704 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4705 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
|
4706 8, text, len); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4707 g_free(text); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4708 } |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4709 } |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4710 else |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4711 { |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4712 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
|
4713 8, NULL, 0); |
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
13
diff
changeset
|
4714 } |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4715 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4716 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4717 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
|
4718 { |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4719 GtkWidget *widget; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4720 |
24
104e34f9ab1f
Wed Mar 23 00:22:28 2005 John Ellis <johne@verizon.net>
gqview
parents:
23
diff
changeset
|
4721 widget = pw->imd->pr; |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4722 |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4723 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
|
4724 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
|
4725 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
|
4726 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
|
4727 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
|
4728 |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
20
diff
changeset
|
4729 gtk_drag_dest_set(widget, |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4730 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
|
4731 dnd_file_drop_types, dnd_file_drop_types_count, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4732 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
|
4733 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
|
4734 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
|
4735 } |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4736 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4737 /* |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4738 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4739 * maintenance (for rename, move, remove) |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4740 *----------------------------------------------------------------------------- |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4741 */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
diff
changeset
|
4742 |