Initial commit
[fillmore] / src / marina / marina / MultiFileProgress.c
1 /* MultiFileProgress.c generated by valac, the Vala compiler
2  * generated from MultiFileProgress.vala, do not modify */
3
4 /* Copyright 2009 Yorba Foundation
5  *
6  * This software is licensed under the GNU Lesser General Public License
7  * (version 2.1 or later).  See the COPYING file in this distribution. 
8  */
9
10 #include <glib.h>
11 #include <glib-object.h>
12 #include <float.h>
13 #include <math.h>
14 #include <stdlib.h>
15 #include <string.h>
16 #include <gtk/gtk.h>
17
18
19 #define TYPE_MULTI_FILE_PROGRESS_INTERFACE (multi_file_progress_interface_get_type ())
20 #define MULTI_FILE_PROGRESS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_FILE_PROGRESS_INTERFACE, MultiFileProgressInterface))
21 #define IS_MULTI_FILE_PROGRESS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_FILE_PROGRESS_INTERFACE))
22 #define MULTI_FILE_PROGRESS_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MULTI_FILE_PROGRESS_INTERFACE, MultiFileProgressInterfaceIface))
23
24 typedef struct _MultiFileProgressInterface MultiFileProgressInterface;
25 typedef struct _MultiFileProgressInterfaceIface MultiFileProgressInterfaceIface;
26
27 #define TYPE_MULTI_FILE_PROGRESS (multi_file_progress_get_type ())
28 #define MULTI_FILE_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_FILE_PROGRESS, MultiFileProgress))
29 #define MULTI_FILE_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_FILE_PROGRESS, MultiFileProgressClass))
30 #define IS_MULTI_FILE_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_FILE_PROGRESS))
31 #define IS_MULTI_FILE_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_FILE_PROGRESS))
32 #define MULTI_FILE_PROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_FILE_PROGRESS, MultiFileProgressClass))
33
34 typedef struct _MultiFileProgress MultiFileProgress;
35 typedef struct _MultiFileProgressClass MultiFileProgressClass;
36 typedef struct _MultiFileProgressPrivate MultiFileProgressPrivate;
37 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
38 #define _g_free0(var) (var = (g_free (var), NULL))
39
40 #define LOGGING_TYPE_FACILITY (logging_facility_get_type ())
41
42 #define LOGGING_TYPE_LEVEL (logging_level_get_type ())
43
44 struct _MultiFileProgressInterfaceIface {
45         GTypeInterface parent_iface;
46         void (*cancel) (MultiFileProgressInterface* self);
47         void (*complete) (MultiFileProgressInterface* self);
48 };
49
50 struct _MultiFileProgress {
51         GtkWindow parent_instance;
52         MultiFileProgressPrivate * priv;
53 };
54
55 struct _MultiFileProgressClass {
56         GtkWindowClass parent_class;
57 };
58
59 struct _MultiFileProgressPrivate {
60         GtkProgressBar* progress_bar;
61         GtkLabel* file_label;
62         GtkLabel* number_label;
63         GtkButton* cancel_button;
64         gint num_files;
65         gboolean needs_show;
66         MultiFileProgressInterface* provider_interface;
67         char* dialog_title;
68 };
69
70 typedef enum  {
71         LOGGING_FACILITY_SIGNAL_HANDLERS,
72         LOGGING_FACILITY_DEVELOPER_WARNINGS,
73         LOGGING_FACILITY_GRAPH,
74         LOGGING_FACILITY_LOADING,
75         LOGGING_FACILITY_IMPORT,
76         LOGGING_FACILITY_SINGLEDECODEBIN
77 } LoggingFacility;
78
79 typedef enum  {
80         LOGGING_LEVEL_CRITICAL,
81         LOGGING_LEVEL_HIGH,
82         LOGGING_LEVEL_MEDIUM,
83         LOGGING_LEVEL_LOW,
84         LOGGING_LEVEL_INFO,
85         LOGGING_LEVEL_VERBOSE
86 } LoggingLevel;
87
88
89 static gpointer multi_file_progress_parent_class = NULL;
90
91 GType multi_file_progress_interface_get_type (void);
92 void multi_file_progress_interface_cancel (MultiFileProgressInterface* self);
93 void multi_file_progress_interface_complete (MultiFileProgressInterface* self);
94 GType multi_file_progress_get_type (void);
95 #define MULTI_FILE_PROGRESS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTI_FILE_PROGRESS, MultiFileProgressPrivate))
96 enum  {
97         MULTI_FILE_PROGRESS_DUMMY_PROPERTY
98 };
99 static void multi_file_progress_on_cancel_clicked (MultiFileProgress* self);
100 static void _multi_file_progress_on_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
101 static void multi_file_progress_on_fraction_updated (MultiFileProgress* self, double d);
102 static void _multi_file_progress_on_fraction_updated_multi_file_progress_interface_fraction_updated (MultiFileProgressInterface* _sender, double d, gpointer self);
103 static void multi_file_progress_on_file_updated (MultiFileProgress* self, const char* filename, gint index);
104 static void _multi_file_progress_on_file_updated_multi_file_progress_interface_file_updated (MultiFileProgressInterface* _sender, const char* filename, gint index, gpointer self);
105 static void multi_file_progress_on_done (MultiFileProgress* self);
106 static void _multi_file_progress_on_done_multi_file_progress_interface_done (MultiFileProgressInterface* _sender, gpointer self);
107 MultiFileProgress* multi_file_progress_new (GtkWindow* parent, gint num_files, const char* dialog_title, MultiFileProgressInterface* provider);
108 MultiFileProgress* multi_file_progress_construct (GType object_type, GtkWindow* parent, gint num_files, const char* dialog_title, MultiFileProgressInterface* provider);
109 GType logging_facility_get_type (void);
110 GType logging_level_get_type (void);
111 void logging_emit (GObject* object, LoggingFacility facility, LoggingLevel level, const char* message);
112 static void multi_file_progress_on_destroy (MultiFileProgress* self);
113 static void _multi_file_progress_on_destroy_gtk_object_destroy (GtkObject* _sender, gpointer self);
114 static void multi_file_progress_finalize (GObject* obj);
115
116
117 static void g_cclosure_user_marshal_VOID__STRING_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
118
119 #line 14 "MultiFileProgress.vala"
120 void multi_file_progress_interface_cancel (MultiFileProgressInterface* self) {
121 #line 14 "MultiFileProgress.vala"
122         MULTI_FILE_PROGRESS_INTERFACE_GET_INTERFACE (self)->cancel (self);
123 #line 124 "MultiFileProgress.c"
124 }
125
126
127 #line 15 "MultiFileProgress.vala"
128 void multi_file_progress_interface_complete (MultiFileProgressInterface* self) {
129 #line 15 "MultiFileProgress.vala"
130         MULTI_FILE_PROGRESS_INTERFACE_GET_INTERFACE (self)->complete (self);
131 #line 132 "MultiFileProgress.c"
132 }
133
134
135 static void multi_file_progress_interface_base_init (MultiFileProgressInterfaceIface * iface) {
136         static gboolean initialized = FALSE;
137         if (!initialized) {
138                 initialized = TRUE;
139                 g_signal_new ("fraction_updated", TYPE_MULTI_FILE_PROGRESS_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__DOUBLE, G_TYPE_NONE, 1, G_TYPE_DOUBLE);
140                 g_signal_new ("file_updated", TYPE_MULTI_FILE_PROGRESS_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_INT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT);
141                 g_signal_new ("done", TYPE_MULTI_FILE_PROGRESS_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
142         }
143 }
144
145
146 GType multi_file_progress_interface_get_type (void) {
147         static volatile gsize multi_file_progress_interface_type_id__volatile = 0;
148         if (g_once_init_enter (&multi_file_progress_interface_type_id__volatile)) {
149                 static const GTypeInfo g_define_type_info = { sizeof (MultiFileProgressInterfaceIface), (GBaseInitFunc) multi_file_progress_interface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
150                 GType multi_file_progress_interface_type_id;
151                 multi_file_progress_interface_type_id = g_type_register_static (G_TYPE_INTERFACE, "MultiFileProgressInterface", &g_define_type_info, 0);
152                 g_type_interface_add_prerequisite (multi_file_progress_interface_type_id, G_TYPE_OBJECT);
153                 g_once_init_leave (&multi_file_progress_interface_type_id__volatile, multi_file_progress_interface_type_id);
154         }
155         return multi_file_progress_interface_type_id__volatile;
156 }
157
158
159 #line 71 "MultiFileProgress.vala"
160 static void _multi_file_progress_on_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
161 #line 162 "MultiFileProgress.c"
162         multi_file_progress_on_cancel_clicked (self);
163 }
164
165
166 static gpointer _g_object_ref0 (gpointer self) {
167         return self ? g_object_ref (self) : NULL;
168 }
169
170
171 #line 84 "MultiFileProgress.vala"
172 static void _multi_file_progress_on_fraction_updated_multi_file_progress_interface_fraction_updated (MultiFileProgressInterface* _sender, double d, gpointer self) {
173 #line 174 "MultiFileProgress.c"
174         multi_file_progress_on_fraction_updated (self, d);
175 }
176
177
178 #line 107 "MultiFileProgress.vala"
179 static void _multi_file_progress_on_file_updated_multi_file_progress_interface_file_updated (MultiFileProgressInterface* _sender, const char* filename, gint index, gpointer self) {
180 #line 181 "MultiFileProgress.c"
181         multi_file_progress_on_file_updated (self, filename, index);
182 }
183
184
185 #line 66 "MultiFileProgress.vala"
186 static void _multi_file_progress_on_done_multi_file_progress_interface_done (MultiFileProgressInterface* _sender, gpointer self) {
187 #line 188 "MultiFileProgress.c"
188         multi_file_progress_on_done (self);
189 }
190
191
192 #line 30 "MultiFileProgress.vala"
193 MultiFileProgress* multi_file_progress_construct (GType object_type, GtkWindow* parent, gint num_files, const char* dialog_title, MultiFileProgressInterface* provider) {
194 #line 195 "MultiFileProgress.c"
195         MultiFileProgress * self;
196         GtkLabel* _tmp0_;
197         GtkLabel* _tmp1_;
198         GtkProgressBar* _tmp2_;
199         GtkVBox* vbox;
200         GtkHButtonBox* button_area;
201         GtkButton* _tmp3_;
202         char* _tmp4_;
203         MultiFileProgressInterface* _tmp5_;
204 #line 30 "MultiFileProgress.vala"
205         g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL);
206 #line 30 "MultiFileProgress.vala"
207         g_return_val_if_fail (dialog_title != NULL, NULL);
208 #line 30 "MultiFileProgress.vala"
209         g_return_val_if_fail (IS_MULTI_FILE_PROGRESS_INTERFACE (provider), NULL);
210 #line 211 "MultiFileProgress.c"
211         self = g_object_newv (object_type, 0, NULL);
212 #line 32 "MultiFileProgress.vala"
213         self->priv->num_files = num_files;
214 #line 33 "MultiFileProgress.vala"
215         self->priv->needs_show = TRUE;
216 #line 34 "MultiFileProgress.vala"
217         self->priv->file_label = (_tmp0_ = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")), _g_object_unref0 (self->priv->file_label), _tmp0_);
218 #line 35 "MultiFileProgress.vala"
219         self->priv->number_label = (_tmp1_ = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")), _g_object_unref0 (self->priv->number_label), _tmp1_);
220 #line 36 "MultiFileProgress.vala"
221         self->priv->progress_bar = (_tmp2_ = g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()), _g_object_unref0 (self->priv->progress_bar), _tmp2_);
222 #line 38 "MultiFileProgress.vala"
223         vbox = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (TRUE, 0));
224 #line 40 "MultiFileProgress.vala"
225         gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (self->priv->number_label), FALSE, FALSE, (guint) 0);
226 #line 41 "MultiFileProgress.vala"
227         gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (self->priv->file_label), FALSE, FALSE, (guint) 0);
228 #line 42 "MultiFileProgress.vala"
229         gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (self->priv->progress_bar), FALSE, FALSE, (guint) 0);
230 #line 44 "MultiFileProgress.vala"
231         button_area = g_object_ref_sink ((GtkHButtonBox*) gtk_hbutton_box_new ());
232 #line 45 "MultiFileProgress.vala"
233         g_object_set (G_OBJECT (button_area), "layout-style", GTK_BUTTONBOX_CENTER, NULL);
234 #line 47 "MultiFileProgress.vala"
235         self->priv->cancel_button = (_tmp3_ = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock (GTK_STOCK_CANCEL)), _g_object_unref0 (self->priv->cancel_button), _tmp3_);
236 #line 48 "MultiFileProgress.vala"
237         g_signal_connect_object (self->priv->cancel_button, "clicked", (GCallback) _multi_file_progress_on_cancel_clicked_gtk_button_clicked, self, 0);
238 #line 50 "MultiFileProgress.vala"
239         gtk_container_add (GTK_CONTAINER (button_area), GTK_WIDGET (self->priv->cancel_button));
240 #line 52 "MultiFileProgress.vala"
241         gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button_area), FALSE, FALSE, (guint) 0);
242 #line 53 "MultiFileProgress.vala"
243         gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (vbox));
244 #line 55 "MultiFileProgress.vala"
245         gtk_window_set_transient_for (GTK_WINDOW (self), parent);
246 #line 56 "MultiFileProgress.vala"
247         gtk_window_set_title (GTK_WINDOW (self), dialog_title);
248 #line 57 "MultiFileProgress.vala"
249         self->priv->dialog_title = (_tmp4_ = g_strdup (dialog_title), _g_free0 (self->priv->dialog_title), _tmp4_);
250 #line 59 "MultiFileProgress.vala"
251         self->priv->provider_interface = (_tmp5_ = _g_object_ref0 (provider), _g_object_unref0 (self->priv->provider_interface), _tmp5_);
252 #line 61 "MultiFileProgress.vala"
253         g_signal_connect_object (self->priv->provider_interface, "fraction-updated", (GCallback) _multi_file_progress_on_fraction_updated_multi_file_progress_interface_fraction_updated, self, 0);
254 #line 62 "MultiFileProgress.vala"
255         g_signal_connect_object (self->priv->provider_interface, "file-updated", (GCallback) _multi_file_progress_on_file_updated_multi_file_progress_interface_file_updated, self, 0);
256 #line 63 "MultiFileProgress.vala"
257         g_signal_connect_object (self->priv->provider_interface, "done", (GCallback) _multi_file_progress_on_done_multi_file_progress_interface_done, self, 0);
258 #line 259 "MultiFileProgress.c"
259         _g_object_unref0 (vbox);
260         _g_object_unref0 (button_area);
261         return self;
262 }
263
264
265 #line 30 "MultiFileProgress.vala"
266 MultiFileProgress* multi_file_progress_new (GtkWindow* parent, gint num_files, const char* dialog_title, MultiFileProgressInterface* provider) {
267 #line 30 "MultiFileProgress.vala"
268         return multi_file_progress_construct (TYPE_MULTI_FILE_PROGRESS, parent, num_files, dialog_title, provider);
269 #line 270 "MultiFileProgress.c"
270 }
271
272
273 #line 66 "MultiFileProgress.vala"
274 static void multi_file_progress_on_done (MultiFileProgress* self) {
275 #line 66 "MultiFileProgress.vala"
276         g_return_if_fail (IS_MULTI_FILE_PROGRESS (self));
277 #line 67 "MultiFileProgress.vala"
278         logging_emit (G_OBJECT (self), LOGGING_FACILITY_SIGNAL_HANDLERS, LOGGING_LEVEL_INFO, "on_done");
279 #line 68 "MultiFileProgress.vala"
280         gtk_object_destroy (GTK_OBJECT (self));
281 #line 282 "MultiFileProgress.c"
282 }
283
284
285 #line 71 "MultiFileProgress.vala"
286 static void multi_file_progress_on_cancel_clicked (MultiFileProgress* self) {
287 #line 71 "MultiFileProgress.vala"
288         g_return_if_fail (IS_MULTI_FILE_PROGRESS (self));
289 #line 72 "MultiFileProgress.vala"
290         logging_emit (G_OBJECT (self), LOGGING_FACILITY_SIGNAL_HANDLERS, LOGGING_LEVEL_INFO, "on_cancel_clicked");
291 #line 73 "MultiFileProgress.vala"
292         gtk_object_destroy (GTK_OBJECT (self));
293 #line 294 "MultiFileProgress.c"
294 }
295
296
297 #line 76 "MultiFileProgress.vala"
298 static void multi_file_progress_on_destroy (MultiFileProgress* self) {
299 #line 76 "MultiFileProgress.vala"
300         g_return_if_fail (IS_MULTI_FILE_PROGRESS (self));
301 #line 77 "MultiFileProgress.vala"
302         logging_emit (G_OBJECT (self), LOGGING_FACILITY_SIGNAL_HANDLERS, LOGGING_LEVEL_INFO, "on_destroy");
303 #line 78 "MultiFileProgress.vala"
304         if (gtk_progress_bar_get_fraction (self->priv->progress_bar) < 1.0) {
305 #line 79 "MultiFileProgress.vala"
306                 multi_file_progress_interface_cancel (self->priv->provider_interface);
307 #line 308 "MultiFileProgress.c"
308         } else {
309 #line 81 "MultiFileProgress.vala"
310                 multi_file_progress_interface_complete (self->priv->provider_interface);
311 #line 312 "MultiFileProgress.c"
312         }
313 }
314
315
316 #line 76 "MultiFileProgress.vala"
317 static void _multi_file_progress_on_destroy_gtk_object_destroy (GtkObject* _sender, gpointer self) {
318 #line 319 "MultiFileProgress.c"
319         multi_file_progress_on_destroy (self);
320 }
321
322
323 #line 84 "MultiFileProgress.vala"
324 static void multi_file_progress_on_fraction_updated (MultiFileProgress* self, double d) {
325 #line 84 "MultiFileProgress.vala"
326         g_return_if_fail (IS_MULTI_FILE_PROGRESS (self));
327 #line 85 "MultiFileProgress.vala"
328         logging_emit (G_OBJECT (self), LOGGING_FACILITY_SIGNAL_HANDLERS, LOGGING_LEVEL_INFO, "on_fraction_updated");
329 #line 86 "MultiFileProgress.vala"
330         if (self->priv->needs_show) {
331 #line 87 "MultiFileProgress.vala"
332                 self->priv->needs_show = FALSE;
333 #line 88 "MultiFileProgress.vala"
334                 gtk_container_set_border_width (GTK_CONTAINER (self), (guint) 8);
335 #line 89 "MultiFileProgress.vala"
336                 gtk_window_set_resizable (GTK_WINDOW (self), FALSE);
337 #line 90 "MultiFileProgress.vala"
338                 gtk_window_set_modal (GTK_WINDOW (self), TRUE);
339 #line 92 "MultiFileProgress.vala"
340                 g_signal_connect_object (GTK_OBJECT (self), "destroy", (GCallback) _multi_file_progress_on_destroy_gtk_object_destroy, self, 0);
341 #line 94 "MultiFileProgress.vala"
342                 gtk_widget_show_all (GTK_WIDGET (self));
343 #line 344 "MultiFileProgress.c"
344         }
345 #line 97 "MultiFileProgress.vala"
346         gtk_progress_bar_set_fraction (self->priv->progress_bar, d);
347 #line 99 "MultiFileProgress.vala"
348         if (gtk_progress_bar_get_fraction (self->priv->progress_bar) == 1.0) {
349 #line 100 "MultiFileProgress.vala"
350                 gtk_object_destroy (GTK_OBJECT (self));
351 #line 352 "MultiFileProgress.c"
352         } else {
353 #line 102 "MultiFileProgress.vala"
354                 gtk_widget_show_all (GTK_WIDGET (self));
355 #line 103 "MultiFileProgress.vala"
356                 gtk_widget_queue_draw (GTK_WIDGET (self));
357 #line 358 "MultiFileProgress.c"
358         }
359 }
360
361
362 #line 107 "MultiFileProgress.vala"
363 static void multi_file_progress_on_file_updated (MultiFileProgress* self, const char* filename, gint index) {
364 #line 365 "MultiFileProgress.c"
365         char* _tmp0_;
366         char* _tmp1_;
367 #line 107 "MultiFileProgress.vala"
368         g_return_if_fail (IS_MULTI_FILE_PROGRESS (self));
369 #line 107 "MultiFileProgress.vala"
370         g_return_if_fail (filename != NULL);
371 #line 108 "MultiFileProgress.vala"
372         logging_emit (G_OBJECT (self), LOGGING_FACILITY_SIGNAL_HANDLERS, LOGGING_LEVEL_INFO, "on_file_updated");
373 #line 109 "MultiFileProgress.vala"
374         gtk_label_set_text (self->priv->number_label, _tmp0_ = g_strdup_printf ("%sing %d of %d", self->priv->dialog_title, index + 1, self->priv->num_files));
375 #line 376 "MultiFileProgress.c"
376         _g_free0 (_tmp0_);
377 #line 110 "MultiFileProgress.vala"
378         gtk_label_set_text (self->priv->file_label, _tmp1_ = g_strdup_printf ("%s", filename));
379 #line 380 "MultiFileProgress.c"
380         _g_free0 (_tmp1_);
381 }
382
383
384 static void multi_file_progress_class_init (MultiFileProgressClass * klass) {
385         multi_file_progress_parent_class = g_type_class_peek_parent (klass);
386         g_type_class_add_private (klass, sizeof (MultiFileProgressPrivate));
387         G_OBJECT_CLASS (klass)->finalize = multi_file_progress_finalize;
388 }
389
390
391 static void multi_file_progress_instance_init (MultiFileProgress * self) {
392         self->priv = MULTI_FILE_PROGRESS_GET_PRIVATE (self);
393 }
394
395
396 static void multi_file_progress_finalize (GObject* obj) {
397         MultiFileProgress * self;
398         self = MULTI_FILE_PROGRESS (obj);
399         _g_object_unref0 (self->priv->progress_bar);
400         _g_object_unref0 (self->priv->file_label);
401         _g_object_unref0 (self->priv->number_label);
402         _g_object_unref0 (self->priv->cancel_button);
403         _g_object_unref0 (self->priv->provider_interface);
404         _g_free0 (self->priv->dialog_title);
405         G_OBJECT_CLASS (multi_file_progress_parent_class)->finalize (obj);
406 }
407
408
409 GType multi_file_progress_get_type (void) {
410         static volatile gsize multi_file_progress_type_id__volatile = 0;
411         if (g_once_init_enter (&multi_file_progress_type_id__volatile)) {
412                 static const GTypeInfo g_define_type_info = { sizeof (MultiFileProgressClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multi_file_progress_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultiFileProgress), 0, (GInstanceInitFunc) multi_file_progress_instance_init, NULL };
413                 GType multi_file_progress_type_id;
414                 multi_file_progress_type_id = g_type_register_static (GTK_TYPE_WINDOW, "MultiFileProgress", &g_define_type_info, 0);
415                 g_once_init_leave (&multi_file_progress_type_id__volatile, multi_file_progress_type_id);
416         }
417         return multi_file_progress_type_id__volatile;
418 }
419
420
421
422 static void g_cclosure_user_marshal_VOID__STRING_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
423         typedef void (*GMarshalFunc_VOID__STRING_INT) (gpointer data1, const char* arg_1, gint arg_2, gpointer data2);
424         register GMarshalFunc_VOID__STRING_INT callback;
425         register GCClosure * cc;
426         register gpointer data1, data2;
427         cc = (GCClosure *) closure;
428         g_return_if_fail (n_param_values == 3);
429         if (G_CCLOSURE_SWAP_DATA (closure)) {
430                 data1 = closure->data;
431                 data2 = param_values->data[0].v_pointer;
432         } else {
433                 data1 = param_values->data[0].v_pointer;
434                 data2 = closure->data;
435         }
436         callback = (GMarshalFunc_VOID__STRING_INT) (marshal_data ? marshal_data : cc->callback);
437         callback (data1, g_value_get_string (param_values + 1), g_value_get_int (param_values + 2), data2);
438 }
439
440
441