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