1 /* $Id$ */
2 /* Copyright (c) 2010 Sébastien Bocahu <zecrazytux@zecrazytux.net> */
3 /* Copyright (c) 2011-2013 Pierre Pronchery <khorben@defora.org> */
4 /* This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, version 3 of the License.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>. */
15 
16 
17 
18 #include <stdlib.h>
19 #include <libintl.h>
20 #include <Desktop.h>
21 #include "pdfviewer.h"
22 #include "callbacks.h"
23 #include "../config.h"
24 
25 /* constants */
26 #ifndef PROGNAME
27 # define PROGNAME	"pdfviewer"
28 #endif
29 
30 
31 /* public */
32 /* functions */
33 /* on_closex */
on_closex(gpointer data)34 gboolean on_closex(gpointer data)
35 {
36 	PDFviewer * pdfviewer = data;
37 
38 	on_close(pdfviewer);
39 	return TRUE;
40 }
41 
42 
43 /* on_contents */
on_contents(gpointer data)44 void on_contents(gpointer data)
45 {
46 	desktop_help_contents(PACKAGE, PROGNAME);
47 }
48 
49 
50 /* on_edit_preferences */
on_edit_preferences(gpointer data)51 void on_edit_preferences(gpointer data)
52 {
53 	PDFviewer * pdfviewer = data;
54 
55 	pdfviewer_show_preferences(pdfviewer, TRUE);
56 }
57 
58 
59 /* on_file_close */
on_file_close(gpointer data)60 void on_file_close(gpointer data)
61 {
62 	PDFviewer * pdfviewer = data;
63 
64 	on_close(pdfviewer);
65 }
66 
67 
68 /* on_file_new */
on_file_new(gpointer data)69 void on_file_new(gpointer data)
70 {
71 	PDFviewer * pdfviewer = data;
72 
73 	pdfviewer_open(pdfviewer, NULL);
74 }
75 
76 
77 /* on_file_open */
on_file_open(gpointer data)78 void on_file_open(gpointer data)
79 {
80 	PDFviewer * pdfviewer = data;
81 
82 	pdfviewer_open_dialog(pdfviewer);
83 }
84 
85 
86 /* on_file_properties */
on_file_properties(gpointer data)87 void on_file_properties(gpointer data)
88 {
89 	PDFviewer * pdfviewer = data;
90 
91 	pdfviewer_properties(pdfviewer);
92 }
93 
94 
95 /* on_view_fullscreen */
on_view_fullscreen(gpointer data)96 void on_view_fullscreen(gpointer data)
97 {
98 	PDFviewer * pdfviewer = data;
99 
100 	on_fullscreen(pdfviewer);
101 }
102 
103 
104 /* on_view_normal_size */
on_view_normal_size(gpointer data)105 void on_view_normal_size(gpointer data)
106 {
107 	PDFviewer * pdfviewer = data;
108 
109 	pdf_update_scale(pdfviewer, '=', 1.0);
110 }
111 
112 
113 /* on_view_zoom_in */
on_view_zoom_in(gpointer data)114 void on_view_zoom_in(gpointer data)
115 {
116 	on_zoom_in(data);
117 }
118 
119 
120 /* on_view_zoom_out */
on_view_zoom_out(gpointer data)121 void on_view_zoom_out(gpointer data)
122 {
123 	on_zoom_out(data);
124 }
125 
126 
127 /* on_help_contents */
on_help_contents(gpointer data)128 void on_help_contents(gpointer data)
129 {
130 	PDFviewer * pdfviewer = data;
131 
132 	on_contents(pdfviewer);
133 }
134 
135 
136 /* on_help_about */
on_help_about(gpointer data)137 void on_help_about(gpointer data)
138 {
139 	PDFviewer * pdfviewer = data;
140 
141 	pdfviewer_about(pdfviewer);
142 }
143 
144 
145 /* toolbar */
146 /* on_close */
on_close(gpointer data)147 void on_close(gpointer data)
148 {
149 	PDFviewer * pdfviewer = data;
150 
151 	pdfviewer_close(pdfviewer);
152 }
153 
154 
155 /* on_fullscreen */
on_fullscreen(gpointer data)156 void on_fullscreen(gpointer data)
157 {
158 	PDFviewer * pdfviewer = data;
159 
160 	pdfviewer_fullscreen_toggle(pdfviewer);
161 }
162 
163 
164 /* on_new */
on_new(gpointer data)165 void on_new(gpointer data)
166 {
167 	PDFviewer * pdfviewer = data;
168 
169 	pdfviewer_open(pdfviewer, NULL);
170 }
171 
172 
173 /* on_open */
on_open(gpointer data)174 void on_open(gpointer data)
175 {
176 	PDFviewer * pdfviewer = data;
177 
178 	pdfviewer_open_dialog(pdfviewer);
179 }
180 
181 
182 /* on_preferences */
on_preferences(gpointer data)183 void on_preferences(gpointer data)
184 {
185 	PDFviewer * pdfviewer = data;
186 
187 	on_edit_preferences(pdfviewer);
188 }
189 
190 
191 /* on_previous */
on_previous(gpointer data)192 void on_previous(gpointer data)
193 {
194 	PDFviewer * pdfviewer = data;
195 
196 	pdf_update_current(pdfviewer, '-', 1);
197 	pdf_load_page(pdfviewer);
198 }
199 
200 
201 /* on_next */
on_next(gpointer data)202 void on_next(gpointer data)
203 {
204 	PDFviewer * pdfviewer = data;
205 
206 	pdf_update_current(pdfviewer, '+', 1);
207 	pdf_load_page(pdfviewer);
208 }
209 
210 
211 /* on_far_before */
on_far_before(gpointer data)212 void on_far_before(gpointer data)
213 {
214 	PDFviewer * pdfviewer = data;
215 
216 	/* should be set in preferences */
217 	pdf_update_current(pdfviewer, '-', 5);
218 	pdf_load_page(pdfviewer);
219 }
220 
221 
222 /* on_far_after */
on_far_after(gpointer data)223 void on_far_after(gpointer data)
224 {
225 	PDFviewer * pdfviewer = data;
226 
227 	pdf_update_current(pdfviewer, '+', 5);
228 	pdf_load_page(pdfviewer);
229 }
230 
231 
232 /* on_pdf_close */
on_pdf_close(gpointer data)233 void on_pdf_close(gpointer data)
234 {
235 	PDFviewer * pdfviewer = data;
236 
237 	pdf_close(pdfviewer);
238 }
239 
240 
241 /* on_zoom_in */
on_zoom_in(gpointer data)242 void on_zoom_in(gpointer data)
243 {
244 	PDFviewer * pdfviewer = data;
245 
246 	pdf_update_scale(pdfviewer, '+', 0.1);
247 }
248 
249 
250 /* on_zoom_out */
on_zoom_out(gpointer data)251 void on_zoom_out(gpointer data)
252 {
253 	PDFviewer * pdfviewer = data;
254 
255 	pdf_update_scale(pdfviewer, '-', 0.1);
256 }
257