~ubuntu-branches/debian/jessie/cheese/jessie

« back to all changes in this revision

Viewing changes to src/cheese-window.c

  • Committer: Package Import Robot
  • Author(s): Andreas Henriksson
  • Date: 2014-04-02 21:39:33 UTC
  • mfrom: (1.5.1) (15.1.7 experimental)
  • Revision ID: package-import@ubuntu.com-20140402213933-r0w3gna0pv7q7085
Tags: 3.12.0-1
* New upstream release.
* Revert changes done in 3.10.1-3
  - i.e. lower gnome-desktop build-dependency again.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* cheese-window.c generated by valac 0.21.2.4-6740f, the Vala compiler
 
1
/* cheese-window.c generated by valac 0.23.3.20-47868, the Vala compiler
2
2
 * generated from cheese-window.vala, do not modify */
3
3
 
4
4
/*
41
41
#include <cheese-camera-device.h>
42
42
#include <canberra-gtk.h>
43
43
#include <canberra.h>
44
 
#include <cheese-config.h>
45
 
#include <stdio.h>
46
44
 
47
45
 
48
46
#define CHEESE_TYPE_MAIN_WINDOW (cheese_main_window_get_type ())
83
81
#define _gtk_tree_path_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL)))
84
82
#define _g_free0(var) (var = (g_free (var), NULL))
85
83
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
 
84
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
86
85
typedef struct _CheeseCountdownPrivate CheeseCountdownPrivate;
87
86
typedef struct _CheeseEffectsManagerPrivate CheeseEffectsManagerPrivate;
88
 
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
89
87
 
90
88
struct _CheeseMainWindow {
91
89
        GtkApplicationWindow parent_instance;
98
96
 
99
97
struct _CheeseMainWindowPrivate {
100
98
        CheeseMediaMode current_mode;
101
 
        GtkBuilder* gtk_builder;
102
99
        ClutterScript* clutter_builder;
 
100
        GtkHeaderBar* header_bar;
103
101
        GSettings* settings;
104
 
        GtkWidget* thumbnails;
105
102
        GtkClutterEmbed* viewport_widget;
106
 
        GtkGrid* main_vbox;
 
103
        GtkWidget* main_vbox;
107
104
        EogThumbNav* thumb_nav;
108
105
        CheeseThumbView* thumb_view;
109
106
        GtkAlignment* thumbnails_right;
110
107
        GtkAlignment* thumbnails_bottom;
111
 
        GtkGrid* leave_fullscreen_button_container;
112
 
        GtkToggleButton* photo_toggle_button;
113
 
        GtkToggleButton* video_toggle_button;
114
 
        GtkToggleButton* burst_toggle_button;
 
108
        GtkWidget* leave_fullscreen_button_box;
115
109
        GtkButton* take_action_button;
116
 
        GtkLabel* take_action_button_label;
117
110
        GtkImage* take_action_button_image;
118
111
        GtkToggleButton* effects_toggle_button;
119
 
        GtkButton* leave_fullscreen_button;
120
 
        GtkGrid* buttons_area;
 
112
        GtkImage* effects_prev_page_button_image;
 
113
        GtkImage* effects_next_page_button_image;
 
114
        GtkWidget* buttons_area;
121
115
        GtkMenu* thumbnail_popup;
122
116
        ClutterStage* viewport;
123
117
        ClutterActor* viewport_layout;
130
124
        ClutterActor* current_effects_grid;
131
125
        guint current_effects_page;
132
126
        GList* effects_grids;
133
 
        GtkAction* countdown_action;
134
127
        gboolean is_fullscreen;
135
128
        gboolean is_wide_mode;
136
129
        gboolean is_recording;
137
130
        gboolean is_bursting;
138
131
        gboolean is_effects_selector_active;
139
132
        gboolean action_cancelled;
140
 
        GtkButton** buttons;
141
 
        gint buttons_length1;
142
 
        gint _buttons_size_;
 
133
        gboolean was_maximized;
143
134
        CheeseCamera* camera;
144
135
        CheeseFileUtil* fileutil;
145
136
        CheeseFlash* flash;
206
197
static void _cheese_main_window_on_effects_previous_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
207
198
CheeseMainWindow* cheese_main_window_new (GtkApplication* application);
208
199
CheeseMainWindow* cheese_main_window_construct (GType object_type, GtkApplication* application);
 
200
static gboolean cheese_main_window_on_window_state_change_event (CheeseMainWindow* self, GtkWidget* widget, GdkEventWindowState* event);
 
201
static gboolean _cheese_main_window_on_window_state_change_event_gtk_widget_window_state_event (GtkWidget* _sender, GdkEventWindowState* event, gpointer self);
209
202
gboolean cheese_main_window_on_thumbnail_button_press_event (CheeseMainWindow* self, GtkWidget* iconview, GdkEventButton* event);
210
203
void cheese_main_window_set_fullscreen (CheeseMainWindow* self, gboolean fullscreen);
211
204
static void cheese_main_window_set_fullscreen_mode (CheeseMainWindow* self, gboolean fullscreen);
212
205
static void cheese_main_window_enable_mode_change (CheeseMainWindow* self);
213
206
static void cheese_main_window_disable_mode_change (CheeseMainWindow* self);
214
207
static void cheese_main_window_set_resolution (CheeseMainWindow* self, CheeseMediaMode mode);
215
 
static void cheese_main_window_set_mode (CheeseMainWindow* self, CheeseMediaMode mode);
216
208
static void cheese_main_window_clear_fullscreen_timeout (CheeseMainWindow* self);
217
209
static void cheese_main_window_set_fullscreen_timeout (CheeseMainWindow* self);
218
 
static gboolean __lambda2_ (CheeseMainWindow* self);
219
 
static gboolean ___lambda2__gsource_func (gpointer self);
 
210
static gboolean __lambda3_ (CheeseMainWindow* self);
 
211
static gboolean ___lambda3__gsource_func (gpointer self);
220
212
static gboolean cheese_main_window_fullscreen_motion_notify_callback (CheeseMainWindow* self, GtkWidget* viewport, GdkEventMotion* e);
221
213
static gboolean _cheese_main_window_fullscreen_motion_notify_callback_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self);
222
214
void cheese_main_window_set_wide_mode (CheeseMainWindow* self, gboolean wide_mode);
223
215
void cheese_main_window_on_stage_resize (CheeseMainWindow* self, ClutterActor* actor, ClutterActorBox* box, ClutterAllocationFlags flags);
224
 
void cheese_main_window_on_countdown_toggle (GtkToggleAction* action, CheeseMainWindow* self);
225
216
static void cheese_main_window_finish_countdown_callback (CheeseMainWindow* self);
226
217
void cheese_main_window_take_photo (CheeseMainWindow* self);
227
218
CheeseCountdown* cheese_countdown_new (ClutterText* countdown_actor);
241
232
void cheese_main_window_set_effects (CheeseMainWindow* self, gboolean effects);
242
233
static void cheese_main_window_toggle_effects_selector (CheeseMainWindow* self, gboolean active);
243
234
void cheese_main_window_on_selected_effect_change (CheeseMainWindow* self, ClutterTapAction* tap, ClutterActor* source);
 
235
static gboolean cheese_main_window_is_previous_effects_page (CheeseMainWindow* self);
244
236
static void cheese_main_window_activate_effects_page (CheeseMainWindow* self, gint number);
 
237
static gboolean cheese_main_window_is_next_effects_page (CheeseMainWindow* self);
245
238
static void cheese_main_window_setup_effects_page_switch_sensitivity (CheeseMainWindow* self);
 
239
static void cheese_main_window_update_header_bar_title (CheeseMainWindow* self);
246
240
static void cheese_main_window_setup_effects_selector (CheeseMainWindow* self);
247
241
CheeseEffectsManager* cheese_effects_manager_new (void);
248
242
CheeseEffectsManager* cheese_effects_manager_construct (GType object_type);
260
254
void cheese_main_window_set_current_mode (CheeseMainWindow* self, CheeseMediaMode mode);
261
255
void cheese_main_window_set_camera (CheeseMainWindow* self, CheeseCamera* camera);
262
256
static void cheese_main_window_finalize (GObject* obj);
263
 
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
264
 
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
265
257
 
266
258
static const GActionEntry CHEESE_MAIN_WINDOW_actions[6] = {{"file-open", _cheese_main_window_on_file_open_gsimple_action_activate_callback}, {"file-saveas", _cheese_main_window_on_file_saveas_gsimple_action_activate_callback}, {"file-trash", _cheese_main_window_on_file_trash_gsimple_action_activate_callback}, {"file-delete", _cheese_main_window_on_file_delete_gsimple_action_activate_callback}, {"effects-next", _cheese_main_window_on_effects_next_gsimple_action_activate_callback}, {"effects-previous", _cheese_main_window_on_effects_previous_gsimple_action_activate_callback}};
267
259
 
295
287
 
296
288
 
297
289
static void _cheese_main_window_on_file_open_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
298
 
        cheese_main_window_on_file_open (self);
 
290
        cheese_main_window_on_file_open ((CheeseMainWindow*) self);
299
291
}
300
292
 
301
293
 
302
294
static void _cheese_main_window_on_file_saveas_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
303
 
        cheese_main_window_on_file_saveas (self);
 
295
        cheese_main_window_on_file_saveas ((CheeseMainWindow*) self);
304
296
}
305
297
 
306
298
 
307
299
static void _cheese_main_window_on_file_trash_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
308
 
        cheese_main_window_on_file_trash (self);
 
300
        cheese_main_window_on_file_trash ((CheeseMainWindow*) self);
309
301
}
310
302
 
311
303
 
312
304
static void _cheese_main_window_on_file_delete_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
313
 
        cheese_main_window_on_file_delete (self);
 
305
        cheese_main_window_on_file_delete ((CheeseMainWindow*) self);
314
306
}
315
307
 
316
308
 
317
309
static void _cheese_main_window_on_effects_next_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
318
 
        cheese_main_window_on_effects_next (self);
 
310
        cheese_main_window_on_effects_next ((CheeseMainWindow*) self);
319
311
}
320
312
 
321
313
 
322
314
static void _cheese_main_window_on_effects_previous_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
323
 
        cheese_main_window_on_effects_previous (self);
 
315
        cheese_main_window_on_effects_previous ((CheeseMainWindow*) self);
324
316
}
325
317
 
326
318
 
327
319
CheeseMainWindow* cheese_main_window_construct (GType object_type, GtkApplication* application) {
328
320
        CheeseMainWindow * self = NULL;
329
321
        GtkApplication* _tmp0_ = NULL;
 
322
        GtkTextDirection _tmp1_ = 0;
330
323
        g_return_val_if_fail (application != NULL, NULL);
331
324
        _tmp0_ = application;
332
325
        self = (CheeseMainWindow*) g_object_new (object_type, "application", _tmp0_, NULL);
 
326
        _tmp1_ = gtk_widget_get_direction ((GtkWidget*) self);
 
327
        if (_tmp1_ == GTK_TEXT_DIR_RTL) {
 
328
                GtkImage* _tmp2_ = NULL;
 
329
                GtkImage* _tmp3_ = NULL;
 
330
                _tmp2_ = self->priv->effects_prev_page_button_image;
 
331
                g_object_set (_tmp2_, "icon-name", "go-previous-rtl-symbolic", NULL);
 
332
                _tmp3_ = self->priv->effects_next_page_button_image;
 
333
                g_object_set (_tmp3_, "icon-name", "go-next-rtl-symbolic", NULL);
 
334
        } else {
 
335
                GtkImage* _tmp4_ = NULL;
 
336
                GtkImage* _tmp5_ = NULL;
 
337
                _tmp4_ = self->priv->effects_prev_page_button_image;
 
338
                g_object_set (_tmp4_, "icon-name", "go-previous-symbolic", NULL);
 
339
                _tmp5_ = self->priv->effects_next_page_button_image;
 
340
                g_object_set (_tmp5_, "icon-name", "go-next-symbolic", NULL);
 
341
        }
333
342
        return self;
334
343
}
335
344
 
339
348
}
340
349
 
341
350
 
 
351
static gboolean _cheese_main_window_on_window_state_change_event_gtk_widget_window_state_event (GtkWidget* _sender, GdkEventWindowState* event, gpointer self) {
 
352
        gboolean result;
 
353
        result = cheese_main_window_on_window_state_change_event ((CheeseMainWindow*) self, _sender, event);
 
354
        return result;
 
355
}
 
356
 
 
357
 
 
358
static gboolean cheese_main_window_on_window_state_change_event (CheeseMainWindow* self, GtkWidget* widget, GdkEventWindowState* event) {
 
359
        gboolean result = FALSE;
 
360
        GdkEventWindowState* _tmp0_ = NULL;
 
361
        GdkWindowState _tmp1_ = 0;
 
362
        GdkEventWindowState* _tmp2_ = NULL;
 
363
        GdkWindowState _tmp3_ = 0;
 
364
        guint _tmp4_ = 0U;
 
365
        g_return_val_if_fail (self != NULL, FALSE);
 
366
        g_return_val_if_fail (widget != NULL, FALSE);
 
367
        g_return_val_if_fail (event != NULL, FALSE);
 
368
        _tmp0_ = event;
 
369
        _tmp1_ = _tmp0_->new_window_state;
 
370
        _tmp2_ = event;
 
371
        _tmp3_ = _tmp2_->changed_mask;
 
372
        self->priv->was_maximized = ((_tmp1_ - _tmp3_) & GDK_WINDOW_STATE_MAXIMIZED) != 0;
 
373
        g_signal_parse_name ("window-state-event", GTK_TYPE_WIDGET, &_tmp4_, NULL, FALSE);
 
374
        g_signal_handlers_disconnect_matched ((GtkWidget*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _cheese_main_window_on_window_state_change_event_gtk_widget_window_state_event, self);
 
375
        result = FALSE;
 
376
        return result;
 
377
}
 
378
 
 
379
 
342
380
/**
343
381
    * Popup a context menu when right-clicking on a thumbnail.
344
382
    *
356
394
        gboolean result = FALSE;
357
395
        GtkTreePath* path = NULL;
358
396
        CheeseThumbView* _tmp0_ = NULL;
359
 
        GdkEventButton _tmp1_ = {0};
 
397
        GdkEventButton* _tmp1_ = NULL;
360
398
        gdouble _tmp2_ = 0.0;
361
 
        GdkEventButton _tmp3_ = {0};
 
399
        GdkEventButton* _tmp3_ = NULL;
362
400
        gdouble _tmp4_ = 0.0;
363
401
        GtkTreePath* _tmp5_ = NULL;
364
402
        GtkTreePath* _tmp6_ = NULL;
366
404
        CheeseThumbView* _tmp8_ = NULL;
367
405
        GtkTreePath* _tmp9_ = NULL;
368
406
        gboolean _tmp10_ = FALSE;
369
 
        GdkEventButton _tmp16_ = {0};
 
407
        GdkEventButton* _tmp16_ = NULL;
370
408
        GdkEventType _tmp17_ = 0;
371
409
        g_return_val_if_fail (self != NULL, FALSE);
372
410
        g_return_val_if_fail (iconview != NULL, FALSE);
373
411
        g_return_val_if_fail (event != NULL, FALSE);
374
412
        _tmp0_ = self->priv->thumb_view;
375
 
        _tmp1_ = *event;
376
 
        _tmp2_ = _tmp1_.x;
377
 
        _tmp3_ = *event;
378
 
        _tmp4_ = _tmp3_.y;
 
413
        _tmp1_ = event;
 
414
        _tmp2_ = _tmp1_->x;
 
415
        _tmp3_ = event;
 
416
        _tmp4_ = _tmp3_->y;
379
417
        _tmp5_ = gtk_icon_view_get_path_at_pos ((GtkIconView*) _tmp0_, (gint) _tmp2_, (gint) _tmp4_);
380
418
        _tmp6_ = _gtk_tree_path_copy0 (_tmp5_);
381
419
        _gtk_tree_path_free0 (path);
404
442
                _tmp15_ = path;
405
443
                gtk_icon_view_set_cursor ((GtkIconView*) _tmp14_, _tmp15_, NULL, FALSE);
406
444
        }
407
 
        _tmp16_ = *event;
408
 
        _tmp17_ = _tmp16_.type;
 
445
        _tmp16_ = event;
 
446
        _tmp17_ = _tmp16_->type;
409
447
        if (_tmp17_ == GDK_BUTTON_PRESS) {
410
448
                GdkEvent* button_press = NULL;
411
449
                GdkEvent* _tmp18_ = NULL;
412
450
                gboolean _tmp19_ = FALSE;
413
 
                button_press = (GdkEvent*) (event);
 
451
                button_press = (GdkEvent*) (&event);
414
452
                _tmp18_ = button_press;
415
453
                _tmp19_ = gdk_event_triggers_context_menu (_tmp18_);
416
454
                if (_tmp19_) {
417
455
                        GtkMenu* _tmp20_ = NULL;
418
456
                        CheeseThumbView* _tmp21_ = NULL;
419
 
                        GdkEventButton _tmp22_ = {0};
 
457
                        GdkEventButton* _tmp22_ = NULL;
420
458
                        guint _tmp23_ = 0U;
421
 
                        GdkEventButton _tmp24_ = {0};
 
459
                        GdkEventButton* _tmp24_ = NULL;
422
460
                        guint32 _tmp25_ = 0U;
423
461
                        _tmp20_ = self->priv->thumbnail_popup;
424
462
                        _tmp21_ = self->priv->thumb_view;
425
 
                        _tmp22_ = *event;
426
 
                        _tmp23_ = _tmp22_.button;
427
 
                        _tmp24_ = *event;
428
 
                        _tmp25_ = _tmp24_.time;
 
463
                        _tmp22_ = event;
 
464
                        _tmp23_ = _tmp22_->button;
 
465
                        _tmp24_ = event;
 
466
                        _tmp25_ = _tmp24_->time;
429
467
                        gtk_menu_popup (_tmp20_, NULL, (GtkWidget*) _tmp21_, NULL, NULL, _tmp23_, _tmp25_);
430
468
                } else {
431
 
                        GdkEventButton _tmp26_ = {0};
 
469
                        GdkEventButton* _tmp26_ = NULL;
432
470
                        GdkEventType _tmp27_ = 0;
433
 
                        _tmp26_ = *event;
434
 
                        _tmp27_ = _tmp26_.type;
 
471
                        _tmp26_ = event;
 
472
                        _tmp27_ = _tmp26_->type;
435
473
                        if (_tmp27_ == GDK_2BUTTON_PRESS) {
436
474
                                cheese_main_window_on_file_open (self);
437
475
                        }
478
516
                gchar* _tmp3_ = NULL;
479
517
                const gchar* _tmp4_ = NULL;
480
518
                gchar* _tmp5_ = NULL;
481
 
                GdkScreen* _tmp6_ = NULL;
 
519
                gchar* _tmp6_ = NULL;
482
520
                GdkScreen* _tmp7_ = NULL;
483
521
                GdkScreen* _tmp8_ = NULL;
484
 
                const gchar* _tmp9_ = NULL;
485
 
                guint32 _tmp10_ = 0U;
 
522
                GdkScreen* _tmp9_ = NULL;
 
523
                const gchar* _tmp10_ = NULL;
 
524
                guint32 _tmp11_ = 0U;
486
525
                _tmp4_ = filename;
487
526
                _tmp5_ = g_filename_to_uri (_tmp4_, NULL, &_inner_error_);
488
527
                _tmp3_ = _tmp5_;
489
528
                if (_inner_error_ != NULL) {
490
 
                        goto __catch7_g_error;
 
529
                        goto __catch4_g_error;
491
530
                }
 
531
                _tmp6_ = _tmp3_;
 
532
                _tmp3_ = NULL;
492
533
                _g_free0 (uri);
493
 
                uri = _tmp3_;
494
 
                _tmp6_ = gtk_window_get_screen ((GtkWindow*) self);
495
 
                _tmp7_ = _g_object_ref0 (_tmp6_);
 
534
                uri = _tmp6_;
 
535
                _tmp7_ = gtk_window_get_screen ((GtkWindow*) self);
 
536
                _tmp8_ = _g_object_ref0 (_tmp7_);
496
537
                _g_object_unref0 (screen);
497
 
                screen = _tmp7_;
498
 
                _tmp8_ = screen;
499
 
                _tmp9_ = uri;
500
 
                _tmp10_ = gtk_get_current_event_time ();
501
 
                gtk_show_uri (_tmp8_, _tmp9_, _tmp10_, &_inner_error_);
 
538
                screen = _tmp8_;
 
539
                _tmp9_ = screen;
 
540
                _tmp10_ = uri;
 
541
                _tmp11_ = gtk_get_current_event_time ();
 
542
                gtk_show_uri (_tmp9_, _tmp10_, _tmp11_, &_inner_error_);
502
543
                if (_inner_error_ != NULL) {
503
 
                        goto __catch7_g_error;
 
544
                        _g_free0 (_tmp3_);
 
545
                        goto __catch4_g_error;
504
546
                }
 
547
                _g_free0 (_tmp3_);
505
548
        }
506
 
        goto __finally7;
507
 
        __catch7_g_error:
 
549
        goto __finally4;
 
550
        __catch4_g_error:
508
551
        {
509
552
                GError* err = NULL;
510
553
                GtkMessageDialog* error_dialog = NULL;
511
 
                const gchar* _tmp11_ = NULL;
512
554
                const gchar* _tmp12_ = NULL;
513
 
                GtkMessageDialog* _tmp13_ = NULL;
 
555
                const gchar* _tmp13_ = NULL;
514
556
                GtkMessageDialog* _tmp14_ = NULL;
515
557
                GtkMessageDialog* _tmp15_ = NULL;
 
558
                GtkMessageDialog* _tmp16_ = NULL;
516
559
                err = _inner_error_;
517
560
                _inner_error_ = NULL;
518
 
                _tmp11_ = _ ("Could not open %s");
519
 
                _tmp12_ = filename;
520
 
                _tmp13_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _tmp11_, _tmp12_);
521
 
                g_object_ref_sink (_tmp13_);
522
 
                error_dialog = _tmp13_;
523
 
                _tmp14_ = error_dialog;
524
 
                gtk_dialog_run ((GtkDialog*) _tmp14_);
 
561
                _tmp12_ = _ ("Could not open %s");
 
562
                _tmp13_ = filename;
 
563
                _tmp14_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _tmp12_, _tmp13_);
 
564
                g_object_ref_sink (_tmp14_);
 
565
                error_dialog = _tmp14_;
525
566
                _tmp15_ = error_dialog;
526
 
                gtk_widget_destroy ((GtkWidget*) _tmp15_);
 
567
                gtk_dialog_run ((GtkDialog*) _tmp15_);
 
568
                _tmp16_ = error_dialog;
 
569
                gtk_widget_destroy ((GtkWidget*) _tmp16_);
527
570
                _g_object_unref0 (error_dialog);
528
571
                _g_error_free0 (err);
529
572
        }
530
 
        __finally7:
 
573
        __finally4:
531
574
        if (_inner_error_ != NULL) {
532
575
                _g_object_unref0 (screen);
533
576
                _g_free0 (uri);
563
606
        guint _tmp6_ = 0U;
564
607
        GtkMessageDialog* _tmp7_ = NULL;
565
608
        GtkMessageDialog* _tmp8_ = NULL;
566
 
        GtkMessageDialog* _tmp9_ = NULL;
 
609
        const gchar* _tmp9_ = NULL;
567
610
        GtkMessageDialog* _tmp10_ = NULL;
568
 
        guint _tmp11_ = 0U;
569
 
        const gchar* _tmp12_ = NULL;
570
 
        GtkMessageDialog* _tmp13_ = NULL;
571
 
        gint _tmp14_ = 0;
572
 
        gint _tmp15_ = 0;
573
 
        GtkMessageDialog* _tmp36_ = NULL;
 
611
        const gchar* _tmp11_ = NULL;
 
612
        GtkMessageDialog* _tmp12_ = NULL;
 
613
        guint _tmp13_ = 0U;
 
614
        const gchar* _tmp14_ = NULL;
 
615
        GtkMessageDialog* _tmp15_ = NULL;
 
616
        gint _tmp16_ = 0;
 
617
        gint _tmp17_ = 0;
 
618
        GtkMessageDialog* _tmp39_ = NULL;
574
619
        GError * _inner_error_ = NULL;
575
620
        g_return_if_fail (self != NULL);
576
621
        skip_all_errors = FALSE;
587
632
        g_object_ref_sink (_tmp7_);
588
633
        confirmation_dialog = _tmp7_;
589
634
        _tmp8_ = confirmation_dialog;
590
 
        gtk_dialog_add_button ((GtkDialog*) _tmp8_, GTK_STOCK_CANCEL, (gint) GTK_RESPONSE_CANCEL);
591
 
        _tmp9_ = confirmation_dialog;
592
 
        gtk_dialog_add_button ((GtkDialog*) _tmp9_, GTK_STOCK_DELETE, (gint) GTK_RESPONSE_ACCEPT);
 
635
        _tmp9_ = _ ("_Cancel");
 
636
        gtk_dialog_add_button ((GtkDialog*) _tmp8_, _tmp9_, (gint) GTK_RESPONSE_CANCEL);
593
637
        _tmp10_ = confirmation_dialog;
594
 
        _tmp11_ = files_length;
595
 
        _tmp12_ = ngettext ("If you delete an item, it will be permanently lost", "If you delete the items, they will be permanently lost", (gulong) _tmp11_);
596
 
        gtk_message_dialog_format_secondary_text (_tmp10_, "%s", _tmp12_);
597
 
        _tmp13_ = confirmation_dialog;
598
 
        _tmp14_ = gtk_dialog_run ((GtkDialog*) _tmp13_);
599
 
        response = _tmp14_;
600
 
        _tmp15_ = response;
601
 
        if (_tmp15_ == ((gint) GTK_RESPONSE_ACCEPT)) {
602
 
                GList* _tmp16_ = NULL;
603
 
                _tmp16_ = files;
 
638
        _tmp11_ = _ ("_Delete");
 
639
        gtk_dialog_add_button ((GtkDialog*) _tmp10_, _tmp11_, (gint) GTK_RESPONSE_ACCEPT);
 
640
        _tmp12_ = confirmation_dialog;
 
641
        _tmp13_ = files_length;
 
642
        _tmp14_ = ngettext ("If you delete an item, it will be permanently lost", "If you delete the items, they will be permanently lost", (gulong) _tmp13_);
 
643
        gtk_message_dialog_format_secondary_text (_tmp12_, "%s", _tmp14_);
 
644
        _tmp15_ = confirmation_dialog;
 
645
        _tmp16_ = gtk_dialog_run ((GtkDialog*) _tmp15_);
 
646
        response = _tmp16_;
 
647
        _tmp17_ = response;
 
648
        if (_tmp17_ == ((gint) GTK_RESPONSE_ACCEPT)) {
 
649
                GList* _tmp18_ = NULL;
 
650
                _tmp18_ = files;
604
651
                {
605
652
                        GList* file_collection = NULL;
606
653
                        GList* file_it = NULL;
607
 
                        file_collection = _tmp16_;
 
654
                        file_collection = _tmp18_;
608
655
                        for (file_it = file_collection; file_it != NULL; file_it = file_it->next) {
609
 
                                GFile* _tmp17_ = NULL;
 
656
                                GFile* _tmp19_ = NULL;
610
657
                                GFile* file = NULL;
611
 
                                _tmp17_ = _g_object_ref0 ((GFile*) file_it->data);
612
 
                                file = _tmp17_;
 
658
                                _tmp19_ = _g_object_ref0 ((GFile*) file_it->data);
 
659
                                file = _tmp19_;
613
660
                                {
614
 
                                        GFile* _tmp18_ = NULL;
615
 
                                        _tmp18_ = file;
616
 
                                        if (_tmp18_ == NULL) {
 
661
                                        GFile* _tmp20_ = NULL;
 
662
                                        _tmp20_ = file;
 
663
                                        if (_tmp20_ == NULL) {
617
664
                                                _g_object_unref0 (file);
618
665
                                                _g_object_unref0 (confirmation_dialog);
619
666
                                                __g_list_free__g_object_unref0_0 (files);
620
667
                                                return;
621
668
                                        }
622
669
                                        {
623
 
                                                GFile* _tmp19_ = NULL;
624
 
                                                _tmp19_ = file;
625
 
                                                g_file_delete (_tmp19_, NULL, &_inner_error_);
 
670
                                                GFile* _tmp21_ = NULL;
 
671
                                                _tmp21_ = file;
 
672
                                                g_file_delete (_tmp21_, NULL, &_inner_error_);
626
673
                                                if (_inner_error_ != NULL) {
627
 
                                                        goto __catch8_g_error;
 
674
                                                        goto __catch5_g_error;
628
675
                                                }
629
676
                                        }
630
 
                                        goto __finally8;
631
 
                                        __catch8_g_error:
 
677
                                        goto __finally5;
 
678
                                        __catch5_g_error:
632
679
                                        {
633
680
                                                GError* err = NULL;
634
 
                                                GError* _tmp20_ = NULL;
635
 
                                                const gchar* _tmp21_ = NULL;
636
 
                                                gboolean _tmp22_ = FALSE;
 
681
                                                GError* _tmp22_ = NULL;
 
682
                                                const gchar* _tmp23_ = NULL;
 
683
                                                gboolean _tmp24_ = FALSE;
637
684
                                                err = _inner_error_;
638
685
                                                _inner_error_ = NULL;
639
 
                                                _tmp20_ = err;
640
 
                                                _tmp21_ = _tmp20_->message;
641
 
                                                g_warning ("cheese-window.vala:241: Unable to delete file: %s", _tmp21_);
642
 
                                                _tmp22_ = skip_all_errors;
643
 
                                                if (!_tmp22_) {
 
686
                                                _tmp22_ = err;
 
687
                                                _tmp23_ = _tmp22_->message;
 
688
                                                g_warning ("cheese-window.vala:269: Unable to delete file: %s", _tmp23_);
 
689
                                                _tmp24_ = skip_all_errors;
 
690
                                                if (!_tmp24_) {
644
691
                                                        GtkMessageDialog* error_dialog = NULL;
645
 
                                                        GFile* _tmp23_ = NULL;
646
 
                                                        gchar* _tmp24_ = NULL;
647
 
                                                        gchar* _tmp25_ = NULL;
648
 
                                                        GtkMessageDialog* _tmp26_ = NULL;
649
 
                                                        GtkMessageDialog* _tmp27_ = NULL;
 
692
                                                        GFile* _tmp25_ = NULL;
 
693
                                                        gchar* _tmp26_ = NULL;
 
694
                                                        gchar* _tmp27_ = NULL;
650
695
                                                        GtkMessageDialog* _tmp28_ = NULL;
651
696
                                                        GtkMessageDialog* _tmp29_ = NULL;
652
697
                                                        GtkMessageDialog* _tmp30_ = NULL;
653
 
                                                        GtkMessageDialog* _tmp31_ = NULL;
654
 
                                                        gint _tmp32_ = 0;
655
 
                                                        gint _tmp33_ = 0;
656
 
                                                        GtkMessageDialog* _tmp35_ = NULL;
657
 
                                                        _tmp23_ = file;
658
 
                                                        _tmp24_ = g_file_get_path (_tmp23_);
659
 
                                                        _tmp25_ = _tmp24_;
660
 
                                                        _tmp26_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, "Could not delete %s", _tmp25_);
661
 
                                                        g_object_ref_sink (_tmp26_);
 
698
                                                        const gchar* _tmp31_ = NULL;
 
699
                                                        GtkMessageDialog* _tmp32_ = NULL;
 
700
                                                        GtkMessageDialog* _tmp33_ = NULL;
 
701
                                                        GtkMessageDialog* _tmp34_ = NULL;
 
702
                                                        gint _tmp35_ = 0;
 
703
                                                        gint _tmp36_ = 0;
 
704
                                                        GtkMessageDialog* _tmp38_ = NULL;
 
705
                                                        _tmp25_ = file;
 
706
                                                        _tmp26_ = g_file_get_path (_tmp25_);
662
707
                                                        _tmp27_ = _tmp26_;
663
 
                                                        _g_free0 (_tmp25_);
664
 
                                                        error_dialog = _tmp27_;
665
 
                                                        _tmp28_ = error_dialog;
666
 
                                                        gtk_dialog_add_button ((GtkDialog*) _tmp28_, GTK_STOCK_CANCEL, (gint) GTK_RESPONSE_CANCEL);
667
 
                                                        _tmp29_ = error_dialog;
668
 
                                                        gtk_dialog_add_button ((GtkDialog*) _tmp29_, "Skip", (gint) CHEESE_MAIN_WINDOW_DELETE_RESPONSE_SKIP);
 
708
                                                        _tmp28_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, "Could not delete %s", _tmp27_);
 
709
                                                        g_object_ref_sink (_tmp28_);
 
710
                                                        _tmp29_ = _tmp28_;
 
711
                                                        _g_free0 (_tmp27_);
 
712
                                                        error_dialog = _tmp29_;
669
713
                                                        _tmp30_ = error_dialog;
670
 
                                                        gtk_dialog_add_button ((GtkDialog*) _tmp30_, "Skip all", (gint) CHEESE_MAIN_WINDOW_DELETE_RESPONSE_SKIP_ALL);
671
 
                                                        _tmp31_ = error_dialog;
672
 
                                                        _tmp32_ = gtk_dialog_run ((GtkDialog*) _tmp31_);
673
 
                                                        error_response = _tmp32_;
674
 
                                                        _tmp33_ = error_response;
675
 
                                                        if (_tmp33_ == ((gint) CHEESE_MAIN_WINDOW_DELETE_RESPONSE_SKIP_ALL)) {
 
714
                                                        _tmp31_ = _ ("_Cancel");
 
715
                                                        gtk_dialog_add_button ((GtkDialog*) _tmp30_, _tmp31_, (gint) GTK_RESPONSE_CANCEL);
 
716
                                                        _tmp32_ = error_dialog;
 
717
                                                        gtk_dialog_add_button ((GtkDialog*) _tmp32_, "Skip", (gint) CHEESE_MAIN_WINDOW_DELETE_RESPONSE_SKIP);
 
718
                                                        _tmp33_ = error_dialog;
 
719
                                                        gtk_dialog_add_button ((GtkDialog*) _tmp33_, "Skip all", (gint) CHEESE_MAIN_WINDOW_DELETE_RESPONSE_SKIP_ALL);
 
720
                                                        _tmp34_ = error_dialog;
 
721
                                                        _tmp35_ = gtk_dialog_run ((GtkDialog*) _tmp34_);
 
722
                                                        error_response = _tmp35_;
 
723
                                                        _tmp36_ = error_response;
 
724
                                                        if (_tmp36_ == ((gint) CHEESE_MAIN_WINDOW_DELETE_RESPONSE_SKIP_ALL)) {
676
725
                                                                skip_all_errors = TRUE;
677
726
                                                        } else {
678
 
                                                                gint _tmp34_ = 0;
679
 
                                                                _tmp34_ = error_response;
680
 
                                                                if (_tmp34_ == ((gint) GTK_RESPONSE_CANCEL)) {
 
727
                                                                gint _tmp37_ = 0;
 
728
                                                                _tmp37_ = error_response;
 
729
                                                                if (_tmp37_ == ((gint) GTK_RESPONSE_CANCEL)) {
681
730
                                                                        _g_object_unref0 (error_dialog);
682
731
                                                                        _g_error_free0 (err);
683
732
                                                                        _g_object_unref0 (file);
684
733
                                                                        break;
685
734
                                                                }
686
735
                                                        }
687
 
                                                        _tmp35_ = error_dialog;
688
 
                                                        gtk_widget_destroy ((GtkWidget*) _tmp35_);
 
736
                                                        _tmp38_ = error_dialog;
 
737
                                                        gtk_widget_destroy ((GtkWidget*) _tmp38_);
689
738
                                                        _g_object_unref0 (error_dialog);
690
739
                                                }
691
740
                                                _g_error_free0 (err);
692
741
                                        }
693
 
                                        __finally8:
 
742
                                        __finally5:
694
743
                                        if (_inner_error_ != NULL) {
695
744
                                                _g_object_unref0 (file);
696
745
                                                _g_object_unref0 (confirmation_dialog);
704
753
                        }
705
754
                }
706
755
        }
707
 
        _tmp36_ = confirmation_dialog;
708
 
        gtk_widget_destroy ((GtkWidget*) _tmp36_);
 
756
        _tmp39_ = confirmation_dialog;
 
757
        gtk_widget_destroy ((GtkWidget*) _tmp39_);
709
758
        _g_object_unref0 (confirmation_dialog);
710
759
        __g_list_free__g_object_unref0_0 (files);
711
760
}
733
782
                        gboolean _tmp2_ = FALSE;
734
783
                        _tmp2_ = TRUE;
735
784
                        while (TRUE) {
736
 
                                gboolean _tmp3_ = FALSE;
737
 
                                gint _tmp5_ = 0;
738
 
                                GList* _tmp6_ = NULL;
739
 
                                guint _tmp7_ = 0U;
740
 
                                GList* _tmp8_ = NULL;
741
 
                                gint _tmp9_ = 0;
742
 
                                GList* _tmp10_ = NULL;
743
 
                                gconstpointer _tmp11_ = NULL;
 
785
                                gint _tmp4_ = 0;
 
786
                                GList* _tmp5_ = NULL;
 
787
                                guint _tmp6_ = 0U;
 
788
                                GList* _tmp7_ = NULL;
 
789
                                gint _tmp8_ = 0;
 
790
                                GList* _tmp9_ = NULL;
 
791
                                gconstpointer _tmp10_ = NULL;
 
792
                                GFile* _tmp11_ = NULL;
744
793
                                GFile* _tmp12_ = NULL;
745
 
                                GFile* _tmp13_ = NULL;
746
 
                                _tmp3_ = _tmp2_;
747
 
                                if (!_tmp3_) {
748
 
                                        gint _tmp4_ = 0;
749
 
                                        _tmp4_ = i;
750
 
                                        i = _tmp4_ + 1;
 
794
                                if (!_tmp2_) {
 
795
                                        gint _tmp3_ = 0;
 
796
                                        _tmp3_ = i;
 
797
                                        i = _tmp3_ + 1;
751
798
                                }
752
799
                                _tmp2_ = FALSE;
753
 
                                _tmp5_ = i;
754
 
                                _tmp6_ = files;
755
 
                                _tmp7_ = g_list_length (_tmp6_);
756
 
                                if (!(((guint) _tmp5_) < _tmp7_)) {
 
800
                                _tmp4_ = i;
 
801
                                _tmp5_ = files;
 
802
                                _tmp6_ = g_list_length (_tmp5_);
 
803
                                if (!(((guint) _tmp4_) < _tmp6_)) {
757
804
                                        break;
758
805
                                }
759
 
                                _tmp8_ = files;
760
 
                                _tmp9_ = i;
761
 
                                _tmp10_ = g_list_nth (_tmp8_, (guint) _tmp9_);
762
 
                                _tmp11_ = _tmp10_->data;
763
 
                                _tmp12_ = _g_object_ref0 ((GFile*) _tmp11_);
 
806
                                _tmp7_ = files;
 
807
                                _tmp8_ = i;
 
808
                                _tmp9_ = g_list_nth (_tmp7_, (guint) _tmp8_);
 
809
                                _tmp10_ = _tmp9_->data;
 
810
                                _tmp11_ = _g_object_ref0 ((GFile*) _tmp10_);
764
811
                                _g_object_unref0 (file);
765
 
                                file = _tmp12_;
766
 
                                _tmp13_ = file;
767
 
                                if (_tmp13_ == NULL) {
 
812
                                file = _tmp11_;
 
813
                                _tmp12_ = file;
 
814
                                if (_tmp12_ == NULL) {
768
815
                                        __g_list_free__g_object_unref0_0 (files);
769
816
                                        _g_object_unref0 (file);
770
817
                                        return;
771
818
                                }
772
819
                                {
773
 
                                        GFile* _tmp14_ = NULL;
774
 
                                        _tmp14_ = file;
775
 
                                        g_file_trash (_tmp14_, NULL, &_inner_error_);
 
820
                                        GFile* _tmp13_ = NULL;
 
821
                                        _tmp13_ = file;
 
822
                                        g_file_trash (_tmp13_, NULL, &_inner_error_);
776
823
                                        if (_inner_error_ != NULL) {
777
 
                                                goto __catch9_g_error;
 
824
                                                goto __catch6_g_error;
778
825
                                        }
779
826
                                }
780
 
                                goto __finally9;
781
 
                                __catch9_g_error:
 
827
                                goto __finally6;
 
828
                                __catch6_g_error:
782
829
                                {
783
830
                                        GError* err = NULL;
784
831
                                        GtkMessageDialog* error_dialog = NULL;
785
 
                                        const gchar* _tmp15_ = NULL;
786
 
                                        GFile* _tmp16_ = NULL;
 
832
                                        const gchar* _tmp14_ = NULL;
 
833
                                        GFile* _tmp15_ = NULL;
 
834
                                        gchar* _tmp16_ = NULL;
787
835
                                        gchar* _tmp17_ = NULL;
788
 
                                        gchar* _tmp18_ = NULL;
 
836
                                        GtkMessageDialog* _tmp18_ = NULL;
789
837
                                        GtkMessageDialog* _tmp19_ = NULL;
790
838
                                        GtkMessageDialog* _tmp20_ = NULL;
791
839
                                        GtkMessageDialog* _tmp21_ = NULL;
792
 
                                        GtkMessageDialog* _tmp22_ = NULL;
793
840
                                        err = _inner_error_;
794
841
                                        _inner_error_ = NULL;
795
 
                                        _tmp15_ = _ ("Could not move %s to trash");
796
 
                                        _tmp16_ = file;
797
 
                                        _tmp17_ = g_file_get_path (_tmp16_);
798
 
                                        _tmp18_ = _tmp17_;
799
 
                                        _tmp19_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _tmp15_, _tmp18_);
800
 
                                        g_object_ref_sink (_tmp19_);
801
 
                                        _tmp20_ = _tmp19_;
802
 
                                        _g_free0 (_tmp18_);
803
 
                                        error_dialog = _tmp20_;
 
842
                                        _tmp14_ = _ ("Could not move %s to trash");
 
843
                                        _tmp15_ = file;
 
844
                                        _tmp16_ = g_file_get_path (_tmp15_);
 
845
                                        _tmp17_ = _tmp16_;
 
846
                                        _tmp18_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _tmp14_, _tmp17_);
 
847
                                        g_object_ref_sink (_tmp18_);
 
848
                                        _tmp19_ = _tmp18_;
 
849
                                        _g_free0 (_tmp17_);
 
850
                                        error_dialog = _tmp19_;
 
851
                                        _tmp20_ = error_dialog;
 
852
                                        gtk_dialog_run ((GtkDialog*) _tmp20_);
804
853
                                        _tmp21_ = error_dialog;
805
 
                                        gtk_dialog_run ((GtkDialog*) _tmp21_);
806
 
                                        _tmp22_ = error_dialog;
807
 
                                        gtk_widget_destroy ((GtkWidget*) _tmp22_);
 
854
                                        gtk_widget_destroy ((GtkWidget*) _tmp21_);
808
855
                                        _g_object_unref0 (error_dialog);
809
856
                                        _g_error_free0 (err);
810
857
                                }
811
 
                                __finally9:
 
858
                                __finally6:
812
859
                                if (_inner_error_ != NULL) {
813
860
                                        __g_list_free__g_object_unref0_0 (files);
814
861
                                        _g_object_unref0 (file);
839
886
        gchar* _tmp1_ = NULL;
840
887
        const gchar* _tmp2_ = NULL;
841
888
        const gchar* _tmp3_ = NULL;
842
 
        GtkFileChooserDialog* _tmp4_ = NULL;
843
 
        GtkFileChooserDialog* _tmp5_ = NULL;
844
 
        const gchar* _tmp6_ = NULL;
845
 
        gchar* _tmp7_ = NULL;
846
 
        GtkFileChooserDialog* _tmp8_ = NULL;
847
 
        const gchar* _tmp9_ = NULL;
 
889
        const gchar* _tmp4_ = NULL;
 
890
        const gchar* _tmp5_ = NULL;
 
891
        GtkFileChooserDialog* _tmp6_ = NULL;
 
892
        GtkFileChooserDialog* _tmp7_ = NULL;
 
893
        const gchar* _tmp8_ = NULL;
 
894
        gchar* _tmp9_ = NULL;
848
895
        GtkFileChooserDialog* _tmp10_ = NULL;
849
896
        const gchar* _tmp11_ = NULL;
850
897
        GtkFileChooserDialog* _tmp12_ = NULL;
851
 
        gint _tmp13_ = 0;
 
898
        const gchar* _tmp13_ = NULL;
852
899
        GtkFileChooserDialog* _tmp14_ = NULL;
853
900
        gint _tmp15_ = 0;
854
 
        GtkFileChooserDialog* _tmp29_ = NULL;
 
901
        GtkFileChooserDialog* _tmp16_ = NULL;
 
902
        gint _tmp17_ = 0;
 
903
        GtkFileChooserDialog* _tmp31_ = NULL;
855
904
        GError * _inner_error_ = NULL;
856
905
        g_return_if_fail (self != NULL);
857
906
        _tmp0_ = self->priv->thumb_view;
866
915
                return;
867
916
        }
868
917
        _tmp3_ = _ ("Save File");
869
 
        _tmp4_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp3_, (GtkWindow*) self, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL, NULL);
870
 
        g_object_ref_sink (_tmp4_);
 
918
        _tmp4_ = _ ("_Cancel");
 
919
        _tmp5_ = _ ("Save");
 
920
        _tmp6_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp3_, (GtkWindow*) self, GTK_FILE_CHOOSER_ACTION_SAVE, _tmp4_, GTK_RESPONSE_CANCEL, _tmp5_, GTK_RESPONSE_ACCEPT, NULL, NULL);
 
921
        g_object_ref_sink (_tmp6_);
871
922
        _g_object_unref0 (save_as_dialog);
872
 
        save_as_dialog = _tmp4_;
873
 
        _tmp5_ = save_as_dialog;
874
 
        gtk_file_chooser_set_do_overwrite_confirmation ((GtkFileChooser*) _tmp5_, TRUE);
875
 
        _tmp6_ = filename;
876
 
        _tmp7_ = g_filename_display_basename (_tmp6_);
 
923
        save_as_dialog = _tmp6_;
 
924
        _tmp7_ = save_as_dialog;
 
925
        gtk_file_chooser_set_do_overwrite_confirmation ((GtkFileChooser*) _tmp7_, TRUE);
 
926
        _tmp8_ = filename;
 
927
        _tmp9_ = g_filename_display_basename (_tmp8_);
877
928
        _g_free0 (basename);
878
 
        basename = _tmp7_;
879
 
        _tmp8_ = save_as_dialog;
880
 
        _tmp9_ = basename;
881
 
        gtk_file_chooser_set_current_name ((GtkFileChooser*) _tmp8_, _tmp9_);
 
929
        basename = _tmp9_;
882
930
        _tmp10_ = save_as_dialog;
883
 
        _tmp11_ = g_get_home_dir ();
884
 
        gtk_file_chooser_set_current_folder ((GtkFileChooser*) _tmp10_, _tmp11_);
 
931
        _tmp11_ = basename;
 
932
        gtk_file_chooser_set_current_name ((GtkFileChooser*) _tmp10_, _tmp11_);
885
933
        _tmp12_ = save_as_dialog;
886
 
        _tmp13_ = gtk_dialog_run ((GtkDialog*) _tmp12_);
887
 
        response = _tmp13_;
 
934
        _tmp13_ = g_get_home_dir ();
 
935
        gtk_file_chooser_set_current_folder ((GtkFileChooser*) _tmp12_, _tmp13_);
888
936
        _tmp14_ = save_as_dialog;
889
 
        gtk_widget_hide ((GtkWidget*) _tmp14_);
890
 
        _tmp15_ = response;
891
 
        if (_tmp15_ == ((gint) GTK_RESPONSE_ACCEPT)) {
 
937
        _tmp15_ = gtk_dialog_run ((GtkDialog*) _tmp14_);
 
938
        response = _tmp15_;
 
939
        _tmp16_ = save_as_dialog;
 
940
        gtk_widget_hide ((GtkWidget*) _tmp16_);
 
941
        _tmp17_ = response;
 
942
        if (_tmp17_ == ((gint) GTK_RESPONSE_ACCEPT)) {
892
943
                gchar* target_filename = NULL;
893
 
                GtkFileChooserDialog* _tmp16_ = NULL;
894
 
                gchar* _tmp17_ = NULL;
 
944
                GtkFileChooserDialog* _tmp18_ = NULL;
 
945
                gchar* _tmp19_ = NULL;
895
946
                GFile* src = NULL;
896
 
                const gchar* _tmp18_ = NULL;
897
 
                GFile* _tmp19_ = NULL;
898
 
                GFile* dest = NULL;
899
947
                const gchar* _tmp20_ = NULL;
900
948
                GFile* _tmp21_ = NULL;
901
 
                _tmp16_ = save_as_dialog;
902
 
                _tmp17_ = gtk_file_chooser_get_filename ((GtkFileChooser*) _tmp16_);
 
949
                GFile* dest = NULL;
 
950
                const gchar* _tmp22_ = NULL;
 
951
                GFile* _tmp23_ = NULL;
 
952
                _tmp18_ = save_as_dialog;
 
953
                _tmp19_ = gtk_file_chooser_get_filename ((GtkFileChooser*) _tmp18_);
903
954
                _g_free0 (target_filename);
904
 
                target_filename = _tmp17_;
905
 
                _tmp18_ = filename;
906
 
                _tmp19_ = g_file_new_for_path (_tmp18_);
907
 
                src = _tmp19_;
908
 
                _tmp20_ = target_filename;
 
955
                target_filename = _tmp19_;
 
956
                _tmp20_ = filename;
909
957
                _tmp21_ = g_file_new_for_path (_tmp20_);
910
 
                dest = _tmp21_;
 
958
                src = _tmp21_;
 
959
                _tmp22_ = target_filename;
 
960
                _tmp23_ = g_file_new_for_path (_tmp22_);
 
961
                dest = _tmp23_;
911
962
                {
912
 
                        GFile* _tmp22_ = NULL;
913
 
                        GFile* _tmp23_ = NULL;
914
 
                        _tmp22_ = src;
915
 
                        _tmp23_ = dest;
916
 
                        g_file_copy (_tmp22_, _tmp23_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_);
 
963
                        GFile* _tmp24_ = NULL;
 
964
                        GFile* _tmp25_ = NULL;
 
965
                        _tmp24_ = src;
 
966
                        _tmp25_ = dest;
 
967
                        g_file_copy (_tmp24_, _tmp25_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_);
917
968
                        if (_inner_error_ != NULL) {
918
 
                                goto __catch10_g_error;
 
969
                                goto __catch7_g_error;
919
970
                        }
920
971
                }
921
 
                goto __finally10;
922
 
                __catch10_g_error:
 
972
                goto __finally7;
 
973
                __catch7_g_error:
923
974
                {
924
975
                        GError* err = NULL;
925
976
                        GtkMessageDialog* error_dialog = NULL;
926
 
                        const gchar* _tmp24_ = NULL;
927
 
                        const gchar* _tmp25_ = NULL;
928
 
                        GtkMessageDialog* _tmp26_ = NULL;
929
 
                        GtkMessageDialog* _tmp27_ = NULL;
 
977
                        const gchar* _tmp26_ = NULL;
 
978
                        const gchar* _tmp27_ = NULL;
930
979
                        GtkMessageDialog* _tmp28_ = NULL;
 
980
                        GtkMessageDialog* _tmp29_ = NULL;
 
981
                        GtkMessageDialog* _tmp30_ = NULL;
931
982
                        err = _inner_error_;
932
983
                        _inner_error_ = NULL;
933
 
                        _tmp24_ = _ ("Could not save %s");
934
 
                        _tmp25_ = target_filename;
935
 
                        _tmp26_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _tmp24_, _tmp25_);
936
 
                        g_object_ref_sink (_tmp26_);
937
 
                        error_dialog = _tmp26_;
938
 
                        _tmp27_ = error_dialog;
939
 
                        gtk_dialog_run ((GtkDialog*) _tmp27_);
940
 
                        _tmp28_ = error_dialog;
941
 
                        gtk_widget_destroy ((GtkWidget*) _tmp28_);
 
984
                        _tmp26_ = _ ("Could not save %s");
 
985
                        _tmp27_ = target_filename;
 
986
                        _tmp28_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _tmp26_, _tmp27_);
 
987
                        g_object_ref_sink (_tmp28_);
 
988
                        error_dialog = _tmp28_;
 
989
                        _tmp29_ = error_dialog;
 
990
                        gtk_dialog_run ((GtkDialog*) _tmp29_);
 
991
                        _tmp30_ = error_dialog;
 
992
                        gtk_widget_destroy ((GtkWidget*) _tmp30_);
942
993
                        _g_object_unref0 (error_dialog);
943
994
                        _g_error_free0 (err);
944
995
                }
945
 
                __finally10:
 
996
                __finally7:
946
997
                if (_inner_error_ != NULL) {
947
998
                        _g_object_unref0 (dest);
948
999
                        _g_object_unref0 (src);
958
1009
                _g_object_unref0 (src);
959
1010
                _g_free0 (target_filename);
960
1011
        }
961
 
        _tmp29_ = save_as_dialog;
962
 
        gtk_widget_destroy ((GtkWidget*) _tmp29_);
 
1012
        _tmp31_ = save_as_dialog;
 
1013
        gtk_widget_destroy ((GtkWidget*) _tmp31_);
963
1014
        _g_object_unref0 (save_as_dialog);
964
1015
        _g_free0 (basename);
965
1016
        _g_free0 (filename);
1092
1143
        formats = _tmp2_;
1093
1144
        _tmp3_ = formats;
1094
1145
        if (_tmp3_ == NULL) {
 
1146
                _g_list_free0 (formats);
1095
1147
                return;
1096
1148
        }
1097
1149
        width = 0;
1137
1189
                        gboolean _tmp13_ = FALSE;
1138
1190
                        _tmp13_ = TRUE;
1139
1191
                        while (TRUE) {
1140
 
                                gboolean _tmp14_ = FALSE;
1141
 
                                gint _tmp16_ = 0;
1142
 
                                GList* _tmp17_ = NULL;
1143
 
                                guint _tmp18_ = 0U;
1144
 
                                GList* _tmp19_ = NULL;
1145
 
                                gint _tmp20_ = 0;
1146
 
                                GList* _tmp21_ = NULL;
1147
 
                                gconstpointer _tmp22_ = NULL;
1148
 
                                gboolean _tmp23_ = FALSE;
1149
 
                                gint _tmp24_ = 0;
1150
 
                                CheeseVideoFormat* _tmp25_ = NULL;
1151
 
                                gint _tmp26_ = 0;
1152
 
                                gboolean _tmp30_ = FALSE;
1153
 
                                _tmp14_ = _tmp13_;
1154
 
                                if (!_tmp14_) {
1155
 
                                        gint _tmp15_ = 0;
1156
 
                                        _tmp15_ = i;
1157
 
                                        i = _tmp15_ + 1;
 
1192
                                gint _tmp15_ = 0;
 
1193
                                GList* _tmp16_ = NULL;
 
1194
                                guint _tmp17_ = 0U;
 
1195
                                GList* _tmp18_ = NULL;
 
1196
                                gint _tmp19_ = 0;
 
1197
                                GList* _tmp20_ = NULL;
 
1198
                                gconstpointer _tmp21_ = NULL;
 
1199
                                gboolean _tmp22_ = FALSE;
 
1200
                                gint _tmp23_ = 0;
 
1201
                                CheeseVideoFormat* _tmp24_ = NULL;
 
1202
                                gint _tmp25_ = 0;
 
1203
                                if (!_tmp13_) {
 
1204
                                        gint _tmp14_ = 0;
 
1205
                                        _tmp14_ = i;
 
1206
                                        i = _tmp14_ + 1;
1158
1207
                                }
1159
1208
                                _tmp13_ = FALSE;
1160
 
                                _tmp16_ = i;
1161
 
                                _tmp17_ = formats;
1162
 
                                _tmp18_ = g_list_length (_tmp17_);
1163
 
                                if (!(((guint) _tmp16_) < _tmp18_)) {
 
1209
                                _tmp15_ = i;
 
1210
                                _tmp16_ = formats;
 
1211
                                _tmp17_ = g_list_length (_tmp16_);
 
1212
                                if (!(((guint) _tmp15_) < _tmp17_)) {
1164
1213
                                        break;
1165
1214
                                }
1166
 
                                _tmp19_ = formats;
1167
 
                                _tmp20_ = i;
1168
 
                                _tmp21_ = g_list_nth (_tmp19_, (guint) _tmp20_);
1169
 
                                _tmp22_ = _tmp21_->data;
1170
 
                                format = (CheeseVideoFormat*) _tmp22_;
1171
 
                                _tmp24_ = width;
1172
 
                                _tmp25_ = format;
1173
 
                                _tmp26_ = _tmp25_->width;
1174
 
                                if (_tmp24_ == _tmp26_) {
1175
 
                                        gint _tmp27_ = 0;
1176
 
                                        CheeseVideoFormat* _tmp28_ = NULL;
1177
 
                                        gint _tmp29_ = 0;
1178
 
                                        _tmp27_ = height;
1179
 
                                        _tmp28_ = format;
1180
 
                                        _tmp29_ = _tmp28_->height;
1181
 
                                        _tmp23_ = _tmp27_ == _tmp29_;
 
1215
                                _tmp18_ = formats;
 
1216
                                _tmp19_ = i;
 
1217
                                _tmp20_ = g_list_nth (_tmp18_, (guint) _tmp19_);
 
1218
                                _tmp21_ = _tmp20_->data;
 
1219
                                format = (CheeseVideoFormat*) _tmp21_;
 
1220
                                _tmp23_ = width;
 
1221
                                _tmp24_ = format;
 
1222
                                _tmp25_ = _tmp24_->width;
 
1223
                                if (_tmp23_ == _tmp25_) {
 
1224
                                        gint _tmp26_ = 0;
 
1225
                                        CheeseVideoFormat* _tmp27_ = NULL;
 
1226
                                        gint _tmp28_ = 0;
 
1227
                                        _tmp26_ = height;
 
1228
                                        _tmp27_ = format;
 
1229
                                        _tmp28_ = _tmp27_->height;
 
1230
                                        _tmp22_ = _tmp26_ == _tmp28_;
1182
1231
                                } else {
1183
 
                                        _tmp23_ = FALSE;
 
1232
                                        _tmp22_ = FALSE;
1184
1233
                                }
1185
 
                                _tmp30_ = _tmp23_;
1186
 
                                if (_tmp30_) {
1187
 
                                        CheeseCamera* _tmp31_ = NULL;
1188
 
                                        CheeseVideoFormat* _tmp32_ = NULL;
1189
 
                                        _tmp31_ = self->priv->camera;
1190
 
                                        _tmp32_ = format;
1191
 
                                        cheese_camera_set_video_format (_tmp31_, _tmp32_);
 
1234
                                if (_tmp22_) {
 
1235
                                        CheeseCamera* _tmp29_ = NULL;
 
1236
                                        CheeseVideoFormat* _tmp30_ = NULL;
 
1237
                                        _tmp29_ = self->priv->camera;
 
1238
                                        _tmp30_ = format;
 
1239
                                        cheese_camera_set_video_format (_tmp29_, _tmp30_);
1192
1240
                                        break;
1193
1241
                                }
1194
1242
                        }
1195
1243
                }
1196
1244
        }
1197
 
}
1198
 
 
1199
 
 
1200
 
/**
1201
 
   * Set the current media capture mode, and update the UI sensitivities.
1202
 
   *
1203
 
   * @param mode the new capture mode to set
1204
 
   */
1205
 
static void cheese_main_window_set_mode (CheeseMainWindow* self, CheeseMediaMode mode) {
1206
 
        g_return_if_fail (self != NULL);
 
1245
        _g_list_free0 (formats);
1207
1246
}
1208
1247
 
1209
1248
 
1228
1267
   * Set the fullscreen timeout, for hiding the UI if there is no mouse
1229
1268
   * movement.
1230
1269
   */
1231
 
static gboolean __lambda2_ (CheeseMainWindow* self) {
 
1270
static gboolean __lambda3_ (CheeseMainWindow* self) {
1232
1271
        gboolean result = FALSE;
1233
 
        GtkGrid* _tmp0_ = NULL;
 
1272
        GtkWidget* _tmp0_ = NULL;
1234
1273
        _tmp0_ = self->priv->buttons_area;
1235
 
        gtk_widget_hide ((GtkWidget*) _tmp0_);
 
1274
        gtk_widget_hide (_tmp0_);
1236
1275
        cheese_main_window_clear_fullscreen_timeout (self);
 
1276
        gtk_window_fullscreen ((GtkWindow*) self);
1237
1277
        result = TRUE;
1238
1278
        return result;
1239
1279
}
1240
1280
 
1241
1281
 
1242
 
static gboolean ___lambda2__gsource_func (gpointer self) {
 
1282
static gboolean ___lambda3__gsource_func (gpointer self) {
1243
1283
        gboolean result;
1244
 
        result = __lambda2_ (self);
 
1284
        result = __lambda3_ ((CheeseMainWindow*) self);
1245
1285
        return result;
1246
1286
}
1247
1287
 
1257
1297
        _tmp1_ = self->priv->fullscreen_timeout;
1258
1298
        g_source_attach (_tmp1_, NULL);
1259
1299
        _tmp2_ = self->priv->fullscreen_timeout;
1260
 
        g_source_set_callback (_tmp2_, ___lambda2__gsource_func, g_object_ref (self), g_object_unref);
 
1300
        g_source_set_callback (_tmp2_, ___lambda3__gsource_func, g_object_ref (self), g_object_unref);
1261
1301
}
1262
1302
 
1263
1303
 
1264
1304
/**
1265
 
   * Show the UI in fullscreen if there is any mouse activity.
1266
 
   *
1267
 
   * Start a new timeout at the end of every mouse pointer movement. All
1268
 
   * timeouts will be cancelled, except one created during the last movement
1269
 
   * event. Show() is called even if the button is not hidden.
1270
 
   *
1271
 
   * @param viewport the widget to check for mouse activity on
1272
 
   * @param e the (unused) event
1273
 
   */
 
1305
     * Show the UI in fullscreen if there is any mouse activity.
 
1306
     *
 
1307
     * Start a new timeout at the end of every mouse pointer movement. All
 
1308
     * timeouts will be cancelled, except one created during the last movement
 
1309
     * event. Show() is called even if the button is not hidden.
 
1310
     *
 
1311
     * @param viewport the widget to check for mouse activity on
 
1312
     * @param e the (unused) event
 
1313
     */
1274
1314
static gboolean cheese_main_window_fullscreen_motion_notify_callback (CheeseMainWindow* self, GtkWidget* viewport, GdkEventMotion* e) {
1275
1315
        gboolean result = FALSE;
1276
 
        GtkGrid* _tmp0_ = NULL;
 
1316
        GtkWidget* _tmp0_ = NULL;
1277
1317
        g_return_val_if_fail (self != NULL, FALSE);
1278
1318
        g_return_val_if_fail (viewport != NULL, FALSE);
1279
1319
        g_return_val_if_fail (e != NULL, FALSE);
1280
1320
        cheese_main_window_clear_fullscreen_timeout (self);
 
1321
        gtk_window_unfullscreen ((GtkWindow*) self);
 
1322
        gtk_window_maximize ((GtkWindow*) self);
1281
1323
        _tmp0_ = self->priv->buttons_area;
1282
 
        gtk_widget_show ((GtkWidget*) _tmp0_);
 
1324
        gtk_widget_show (_tmp0_);
1283
1325
        cheese_main_window_set_fullscreen_timeout (self);
1284
1326
        result = TRUE;
1285
1327
        return result;
1293
1335
   */
1294
1336
static gboolean _cheese_main_window_fullscreen_motion_notify_callback_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self) {
1295
1337
        gboolean result;
1296
 
        result = cheese_main_window_fullscreen_motion_notify_callback (self, _sender, event);
 
1338
        result = cheese_main_window_fullscreen_motion_notify_callback ((CheeseMainWindow*) self, _sender, event);
1297
1339
        return result;
1298
1340
}
1299
1341
 
1307
1349
        _tmp1_ = fullscreen;
1308
1350
        if (_tmp1_) {
1309
1351
                gboolean _tmp2_ = FALSE;
1310
 
                GtkGrid* _tmp5_ = NULL;
1311
 
                GtkGrid* _tmp6_ = NULL;
1312
 
                GtkButton** _tmp7_ = NULL;
1313
 
                gint _tmp7__length1 = 0;
1314
 
                GtkClutterEmbed* _tmp12_ = NULL;
 
1352
                GtkWidget* _tmp5_ = NULL;
 
1353
                GtkWidget* _tmp6_ = NULL;
 
1354
                GtkClutterEmbed* _tmp7_ = NULL;
 
1355
                g_signal_connect_object ((GtkWidget*) self, "window-state-event", (GCallback) _cheese_main_window_on_window_state_change_event_gtk_widget_window_state_event, self, 0);
1315
1356
                _tmp2_ = self->priv->is_wide_mode;
1316
1357
                if (_tmp2_) {
1317
1358
                        GtkAlignment* _tmp3_ = NULL;
1322
1363
                        _tmp4_ = self->priv->thumbnails_bottom;
1323
1364
                        gtk_widget_hide ((GtkWidget*) _tmp4_);
1324
1365
                }
1325
 
                _tmp5_ = self->priv->leave_fullscreen_button_container;
1326
 
                gtk_widget_set_no_show_all ((GtkWidget*) _tmp5_, FALSE);
1327
 
                _tmp6_ = self->priv->leave_fullscreen_button_container;
1328
 
                gtk_widget_show_all ((GtkWidget*) _tmp6_);
1329
 
                _tmp7_ = self->priv->buttons;
1330
 
                _tmp7__length1 = self->priv->buttons_length1;
1331
 
                {
1332
 
                        GtkButton** b_collection = NULL;
1333
 
                        gint b_collection_length1 = 0;
1334
 
                        gint _b_collection_size_ = 0;
1335
 
                        gint b_it = 0;
1336
 
                        b_collection = _tmp7_;
1337
 
                        b_collection_length1 = _tmp7__length1;
1338
 
                        for (b_it = 0; b_it < _tmp7__length1; b_it = b_it + 1) {
1339
 
                                GtkButton* _tmp8_ = NULL;
1340
 
                                GtkButton* b = NULL;
1341
 
                                _tmp8_ = _g_object_ref0 (b_collection[b_it]);
1342
 
                                b = _tmp8_;
1343
 
                                {
1344
 
                                        GtkButton* _tmp9_ = NULL;
1345
 
                                        const gchar* _tmp10_ = NULL;
1346
 
                                        _tmp9_ = b;
1347
 
                                        _tmp10_ = gtk_buildable_get_name ((GtkBuildable*) _tmp9_);
1348
 
                                        if (g_strcmp0 (_tmp10_, "take_action_button") != 0) {
1349
 
                                                GtkButton* _tmp11_ = NULL;
1350
 
                                                _tmp11_ = b;
1351
 
                                                gtk_button_set_relief (_tmp11_, GTK_RELIEF_NONE);
1352
 
                                        }
1353
 
                                        _g_object_unref0 (b);
1354
 
                                }
1355
 
                        }
1356
 
                }
 
1366
                _tmp5_ = self->priv->leave_fullscreen_button_box;
 
1367
                gtk_widget_set_no_show_all (_tmp5_, FALSE);
 
1368
                _tmp6_ = self->priv->leave_fullscreen_button_box;
 
1369
                gtk_widget_show_all (_tmp6_);
1357
1370
                gtk_window_fullscreen ((GtkWindow*) self);
1358
 
                _tmp12_ = self->priv->viewport_widget;
1359
 
                g_signal_connect_object ((GtkWidget*) _tmp12_, "motion-notify-event", (GCallback) _cheese_main_window_fullscreen_motion_notify_callback_gtk_widget_motion_notify_event, self, 0);
 
1371
                _tmp7_ = self->priv->viewport_widget;
 
1372
                g_signal_connect_object ((GtkWidget*) _tmp7_, "motion-notify-event", (GCallback) _cheese_main_window_fullscreen_motion_notify_callback_gtk_widget_motion_notify_event, self, 0);
1360
1373
                cheese_main_window_set_fullscreen_timeout (self);
1361
1374
        } else {
1362
 
                gboolean _tmp13_ = FALSE;
1363
 
                GtkGrid* _tmp16_ = NULL;
1364
 
                GtkButton** _tmp17_ = NULL;
1365
 
                gint _tmp17__length1 = 0;
1366
 
                GtkGrid* _tmp22_ = NULL;
1367
 
                GtkClutterEmbed* _tmp23_ = NULL;
1368
 
                guint _tmp24_ = 0U;
1369
 
                _tmp13_ = self->priv->is_wide_mode;
1370
 
                if (_tmp13_) {
1371
 
                        GtkAlignment* _tmp14_ = NULL;
1372
 
                        _tmp14_ = self->priv->thumbnails_right;
1373
 
                        gtk_widget_show_all ((GtkWidget*) _tmp14_);
 
1375
                gboolean _tmp8_ = FALSE;
 
1376
                GtkWidget* _tmp11_ = NULL;
 
1377
                GtkWidget* _tmp12_ = NULL;
 
1378
                GtkClutterEmbed* _tmp13_ = NULL;
 
1379
                guint _tmp14_ = 0U;
 
1380
                gboolean _tmp15_ = FALSE;
 
1381
                _tmp8_ = self->priv->is_wide_mode;
 
1382
                if (_tmp8_) {
 
1383
                        GtkAlignment* _tmp9_ = NULL;
 
1384
                        _tmp9_ = self->priv->thumbnails_right;
 
1385
                        gtk_widget_show_all ((GtkWidget*) _tmp9_);
1374
1386
                } else {
1375
 
                        GtkAlignment* _tmp15_ = NULL;
1376
 
                        _tmp15_ = self->priv->thumbnails_bottom;
1377
 
                        gtk_widget_show_all ((GtkWidget*) _tmp15_);
1378
 
                }
1379
 
                _tmp16_ = self->priv->leave_fullscreen_button_container;
1380
 
                gtk_widget_hide ((GtkWidget*) _tmp16_);
1381
 
                _tmp17_ = self->priv->buttons;
1382
 
                _tmp17__length1 = self->priv->buttons_length1;
1383
 
                {
1384
 
                        GtkButton** b_collection = NULL;
1385
 
                        gint b_collection_length1 = 0;
1386
 
                        gint _b_collection_size_ = 0;
1387
 
                        gint b_it = 0;
1388
 
                        b_collection = _tmp17_;
1389
 
                        b_collection_length1 = _tmp17__length1;
1390
 
                        for (b_it = 0; b_it < _tmp17__length1; b_it = b_it + 1) {
1391
 
                                GtkButton* _tmp18_ = NULL;
1392
 
                                GtkButton* b = NULL;
1393
 
                                _tmp18_ = _g_object_ref0 (b_collection[b_it]);
1394
 
                                b = _tmp18_;
1395
 
                                {
1396
 
                                        GtkButton* _tmp19_ = NULL;
1397
 
                                        const gchar* _tmp20_ = NULL;
1398
 
                                        _tmp19_ = b;
1399
 
                                        _tmp20_ = gtk_buildable_get_name ((GtkBuildable*) _tmp19_);
1400
 
                                        if (g_strcmp0 (_tmp20_, "take_action_button") != 0) {
1401
 
                                                GtkButton* _tmp21_ = NULL;
1402
 
                                                _tmp21_ = b;
1403
 
                                                gtk_button_set_relief (_tmp21_, GTK_RELIEF_NORMAL);
1404
 
                                        }
1405
 
                                        _g_object_unref0 (b);
1406
 
                                }
1407
 
                        }
1408
 
                }
 
1387
                        GtkAlignment* _tmp10_ = NULL;
 
1388
                        _tmp10_ = self->priv->thumbnails_bottom;
 
1389
                        gtk_widget_show_all ((GtkWidget*) _tmp10_);
 
1390
                }
 
1391
                _tmp11_ = self->priv->leave_fullscreen_button_box;
 
1392
                gtk_widget_hide (_tmp11_);
1409
1393
                cheese_main_window_clear_fullscreen_timeout (self);
1410
 
                _tmp22_ = self->priv->buttons_area;
1411
 
                gtk_widget_show ((GtkWidget*) _tmp22_);
1412
 
                _tmp23_ = self->priv->viewport_widget;
1413
 
                g_signal_parse_name ("motion-notify-event", GTK_TYPE_WIDGET, &_tmp24_, NULL, FALSE);
1414
 
                g_signal_handlers_disconnect_matched ((GtkWidget*) _tmp23_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp24_, 0, NULL, (GCallback) _cheese_main_window_fullscreen_motion_notify_callback_gtk_widget_motion_notify_event, self);
 
1394
                _tmp12_ = self->priv->buttons_area;
 
1395
                gtk_widget_show (_tmp12_);
 
1396
                _tmp13_ = self->priv->viewport_widget;
 
1397
                g_signal_parse_name ("motion-notify-event", GTK_TYPE_WIDGET, &_tmp14_, NULL, FALSE);
 
1398
                g_signal_handlers_disconnect_matched ((GtkWidget*) _tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _cheese_main_window_fullscreen_motion_notify_callback_gtk_widget_motion_notify_event, self);
1415
1399
                gtk_window_unfullscreen ((GtkWindow*) self);
 
1400
                _tmp15_ = self->priv->was_maximized;
 
1401
                if (_tmp15_) {
 
1402
                        gtk_window_maximize ((GtkWindow*) self);
 
1403
                } else {
 
1404
                        gtk_window_unmaximize ((GtkWindow*) self);
 
1405
                }
1416
1406
        }
1417
1407
}
1418
1408
 
1600
1590
 
1601
1591
 
1602
1592
/**
1603
 
   * Toggle whether the countdown is active.
1604
 
   *
1605
 
   * @param action the action that emitted the signal
1606
 
   */
1607
 
void cheese_main_window_on_countdown_toggle (GtkToggleAction* action, CheeseMainWindow* self) {
1608
 
        GSettings* _tmp0_ = NULL;
1609
 
        GtkToggleAction* _tmp1_ = NULL;
1610
 
        gboolean _tmp2_ = FALSE;
1611
 
        gboolean _tmp3_ = FALSE;
1612
 
        g_return_if_fail (self != NULL);
1613
 
        g_return_if_fail (action != NULL);
1614
 
        _tmp0_ = self->priv->settings;
1615
 
        _tmp1_ = action;
1616
 
        _tmp2_ = gtk_toggle_action_get_active (_tmp1_);
1617
 
        _tmp3_ = _tmp2_;
1618
 
        g_settings_set_boolean (_tmp0_, "countdown", _tmp3_);
1619
 
}
1620
 
 
1621
 
 
1622
 
/**
1623
1593
   * The method to call when the countdown is finished.
1624
1594
   */
1625
1595
static void cheese_main_window_finish_countdown_callback (CheeseMainWindow* self) {
1626
1596
        gboolean _tmp0_ = FALSE;
1627
 
        CheeseMediaMode _tmp12_ = 0;
 
1597
        CheeseMediaMode _tmp11_ = 0;
1628
1598
        g_return_if_fail (self != NULL);
1629
1599
        _tmp0_ = self->priv->action_cancelled;
1630
1600
        if (_tmp0_ == FALSE) {
1631
1601
                gchar* file_name = NULL;
1632
1602
                CheeseFileUtil* _tmp1_ = NULL;
1633
1603
                CheeseMediaMode _tmp2_ = 0;
1634
 
                const gchar* _tmp3_ = NULL;
1635
 
                gchar* _tmp4_ = NULL;
1636
 
                GSettings* _tmp5_ = NULL;
1637
 
                gboolean _tmp6_ = FALSE;
1638
 
                GtkGrid* _tmp8_ = NULL;
1639
 
                const gchar* _tmp9_ = NULL;
1640
 
                CheeseCamera* _tmp10_ = NULL;
1641
 
                const gchar* _tmp11_ = NULL;
 
1604
                gchar* _tmp3_ = NULL;
 
1605
                GSettings* _tmp4_ = NULL;
 
1606
                gboolean _tmp5_ = FALSE;
 
1607
                GtkWidget* _tmp7_ = NULL;
 
1608
                const gchar* _tmp8_ = NULL;
 
1609
                CheeseCamera* _tmp9_ = NULL;
 
1610
                const gchar* _tmp10_ = NULL;
1642
1611
                _tmp1_ = self->priv->fileutil;
1643
1612
                _tmp2_ = self->priv->current_mode;
1644
1613
                _tmp3_ = cheese_fileutil_get_new_media_filename (_tmp1_, _tmp2_);
1645
 
                _tmp4_ = g_strdup (_tmp3_);
1646
 
                file_name = _tmp4_;
1647
 
                _tmp5_ = self->priv->settings;
1648
 
                _tmp6_ = g_settings_get_boolean (_tmp5_, "flash");
1649
 
                if (_tmp6_) {
1650
 
                        CheeseFlash* _tmp7_ = NULL;
1651
 
                        _tmp7_ = self->priv->flash;
1652
 
                        cheese_flash_fire (_tmp7_);
 
1614
                file_name = _tmp3_;
 
1615
                _tmp4_ = self->priv->settings;
 
1616
                _tmp5_ = g_settings_get_boolean (_tmp4_, "flash");
 
1617
                if (_tmp5_) {
 
1618
                        CheeseFlash* _tmp6_ = NULL;
 
1619
                        _tmp6_ = self->priv->flash;
 
1620
                        cheese_flash_fire (_tmp6_);
1653
1621
                }
1654
 
                _tmp8_ = self->priv->main_vbox;
1655
 
                _tmp9_ = _ ("Shutter sound");
1656
 
                ca_gtk_play_for_widget ((GtkWidget*) _tmp8_, (guint32) 0, CA_PROP_EVENT_ID, "camera-shutter", CA_PROP_MEDIA_ROLE, "event", CA_PROP_EVENT_DESCRIPTION, _tmp9_, NULL, NULL);
1657
 
                _tmp10_ = self->priv->camera;
1658
 
                _tmp11_ = file_name;
1659
 
                cheese_camera_take_photo (_tmp10_, _tmp11_);
 
1622
                _tmp7_ = self->priv->main_vbox;
 
1623
                _tmp8_ = _ ("Shutter sound");
 
1624
                ca_gtk_play_for_widget (_tmp7_, (guint32) 0, CA_PROP_EVENT_ID, "camera-shutter", CA_PROP_MEDIA_ROLE, "event", CA_PROP_EVENT_DESCRIPTION, _tmp8_, NULL, NULL);
 
1625
                _tmp9_ = self->priv->camera;
 
1626
                _tmp10_ = file_name;
 
1627
                cheese_camera_take_photo (_tmp9_, _tmp10_);
1660
1628
                _g_free0 (file_name);
1661
1629
        }
1662
 
        _tmp12_ = self->priv->current_mode;
1663
 
        if (_tmp12_ == CHEESE_MEDIA_MODE_PHOTO) {
 
1630
        _tmp11_ = self->priv->current_mode;
 
1631
        if (_tmp11_ == CHEESE_MEDIA_MODE_PHOTO) {
1664
1632
                cheese_main_window_enable_mode_change (self);
1665
1633
        }
1666
1634
}
1670
1638
   * Start to take a photo, starting a countdown if it is enabled.
1671
1639
   */
1672
1640
static void _cheese_main_window_finish_countdown_callback_cheese_countdown_countdown_callback (gpointer self) {
1673
 
        cheese_main_window_finish_countdown_callback (self);
 
1641
        cheese_main_window_finish_countdown_callback ((CheeseMainWindow*) self);
1674
1642
}
1675
1643
 
1676
1644
 
1711
1679
        gboolean result = FALSE;
1712
1680
        gboolean _tmp0_ = FALSE;
1713
1681
        gboolean _tmp1_ = FALSE;
1714
 
        gboolean _tmp5_ = FALSE;
1715
1682
        g_return_val_if_fail (self != NULL, FALSE);
1716
1683
        _tmp1_ = self->priv->is_bursting;
1717
1684
        if (_tmp1_) {
1725
1692
        } else {
1726
1693
                _tmp0_ = FALSE;
1727
1694
        }
1728
 
        _tmp5_ = _tmp0_;
1729
 
        if (_tmp5_) {
1730
 
                gint _tmp6_ = 0;
 
1695
        if (_tmp0_) {
 
1696
                gint _tmp5_ = 0;
1731
1697
                cheese_main_window_take_photo (self);
1732
 
                _tmp6_ = self->priv->burst_count;
1733
 
                self->priv->burst_count = _tmp6_ + 1;
 
1698
                _tmp5_ = self->priv->burst_count;
 
1699
                self->priv->burst_count = _tmp5_ + 1;
1734
1700
                result = TRUE;
1735
1701
                return result;
1736
1702
        } else {
1750
1716
static gboolean cheese_main_window_on_key_release (CheeseMainWindow* self, GdkEventKey* event) {
1751
1717
        gboolean result = FALSE;
1752
1718
        gchar* key = NULL;
1753
 
        GdkEventKey _tmp0_ = {0};
 
1719
        GdkEventKey* _tmp0_ = NULL;
1754
1720
        guint _tmp1_ = 0U;
1755
1721
        const gchar* _tmp2_ = NULL;
1756
1722
        gchar* _tmp3_ = NULL;
1759
1725
        gint _tmp6_ = 0;
1760
1726
        g_return_val_if_fail (self != NULL, FALSE);
1761
1727
        g_return_val_if_fail (event != NULL, FALSE);
1762
 
        _tmp0_ = *event;
1763
 
        _tmp1_ = _tmp0_.keyval;
 
1728
        _tmp0_ = event;
 
1729
        _tmp1_ = _tmp0_->keyval;
1764
1730
        _tmp2_ = gdk_keyval_name (_tmp1_);
1765
1731
        _tmp3_ = g_strdup (_tmp2_);
1766
1732
        _g_free0 (key);
1773
1739
                gboolean _tmp8_ = FALSE;
1774
1740
                gboolean _tmp9_ = FALSE;
1775
1741
                CheeseCountdown* _tmp10_ = NULL;
1776
 
                gboolean _tmp13_ = FALSE;
1777
 
                gboolean _tmp15_ = FALSE;
1778
 
                gboolean _tmp17_ = FALSE;
1779
1742
                _tmp10_ = self->priv->current_countdown;
1780
1743
                if (_tmp10_ != NULL) {
1781
1744
                        CheeseCountdown* _tmp11_ = NULL;
1786
1749
                } else {
1787
1750
                        _tmp9_ = FALSE;
1788
1751
                }
1789
 
                _tmp13_ = _tmp9_;
1790
 
                if (_tmp13_) {
 
1752
                if (_tmp9_) {
1791
1753
                        _tmp8_ = TRUE;
1792
1754
                } else {
 
1755
                        gboolean _tmp13_ = FALSE;
 
1756
                        _tmp13_ = self->priv->is_bursting;
 
1757
                        _tmp8_ = _tmp13_;
 
1758
                }
 
1759
                if (_tmp8_) {
 
1760
                        _tmp7_ = TRUE;
 
1761
                } else {
1793
1762
                        gboolean _tmp14_ = FALSE;
1794
 
                        _tmp14_ = self->priv->is_bursting;
1795
 
                        _tmp8_ = _tmp14_;
1796
 
                }
1797
 
                _tmp15_ = _tmp8_;
1798
 
                if (_tmp15_) {
1799
 
                        _tmp7_ = TRUE;
1800
 
                } else {
1801
 
                        gboolean _tmp16_ = FALSE;
1802
 
                        _tmp16_ = self->priv->is_recording;
1803
 
                        _tmp7_ = _tmp16_;
1804
 
                }
1805
 
                _tmp17_ = _tmp7_;
1806
 
                if (_tmp17_) {
1807
 
                        CheeseMediaMode _tmp18_ = 0;
 
1763
                        _tmp14_ = self->priv->is_recording;
 
1764
                        _tmp7_ = _tmp14_;
 
1765
                }
 
1766
                if (_tmp7_) {
 
1767
                        CheeseMediaMode _tmp15_ = 0;
1808
1768
                        self->priv->action_cancelled = TRUE;
1809
 
                        _tmp18_ = self->priv->current_mode;
1810
 
                        switch (_tmp18_) {
 
1769
                        _tmp15_ = self->priv->current_mode;
 
1770
                        switch (_tmp15_) {
1811
1771
                                case CHEESE_MEDIA_MODE_PHOTO:
1812
1772
                                {
1813
 
                                        CheeseCountdown* _tmp19_ = NULL;
1814
 
                                        _tmp19_ = self->priv->current_countdown;
1815
 
                                        cheese_countdown_stop (_tmp19_);
 
1773
                                        CheeseCountdown* _tmp16_ = NULL;
 
1774
                                        _tmp16_ = self->priv->current_countdown;
 
1775
                                        cheese_countdown_stop (_tmp16_);
1816
1776
                                        cheese_main_window_finish_countdown_callback (self);
1817
1777
                                        break;
1818
1778
                                }
1831
1791
                        }
1832
1792
                        self->priv->action_cancelled = FALSE;
1833
1793
                } else {
1834
 
                        gboolean _tmp20_ = FALSE;
1835
 
                        _tmp20_ = self->priv->is_effects_selector_active;
1836
 
                        if (_tmp20_) {
1837
 
                                GtkToggleButton* _tmp21_ = NULL;
1838
 
                                _tmp21_ = self->priv->effects_toggle_button;
1839
 
                                gtk_toggle_button_set_active (_tmp21_, FALSE);
 
1794
                        gboolean _tmp17_ = FALSE;
 
1795
                        _tmp17_ = self->priv->is_effects_selector_active;
 
1796
                        if (_tmp17_) {
 
1797
                                GtkToggleButton* _tmp18_ = NULL;
 
1798
                                _tmp18_ = self->priv->effects_toggle_button;
 
1799
                                gtk_toggle_button_set_active (_tmp18_, FALSE);
1840
1800
                        }
1841
1801
                }
1842
1802
        }
1853
1813
   */
1854
1814
static gboolean _cheese_main_window_update_timeout_layer_gsource_func (gpointer self) {
1855
1815
        gboolean result;
1856
 
        result = cheese_main_window_update_timeout_layer (self);
 
1816
        result = cheese_main_window_update_timeout_layer ((CheeseMainWindow*) self);
1857
1817
        return result;
1858
1818
}
1859
1819
 
1866
1826
                CheeseCamera* _tmp1_ = NULL;
1867
1827
                CheeseFileUtil* _tmp2_ = NULL;
1868
1828
                CheeseMediaMode _tmp3_ = 0;
1869
 
                const gchar* _tmp4_ = NULL;
1870
 
                GtkLabel* _tmp5_ = NULL;
1871
 
                const gchar* _tmp6_ = NULL;
1872
 
                gchar* _tmp7_ = NULL;
1873
 
                gchar* _tmp8_ = NULL;
1874
 
                gchar* _tmp9_ = NULL;
1875
 
                gchar* _tmp10_ = NULL;
1876
 
                GtkButton* _tmp11_ = NULL;
1877
 
                const gchar* _tmp12_ = NULL;
1878
 
                GtkImage* _tmp13_ = NULL;
 
1829
                gchar* _tmp4_ = NULL;
 
1830
                gchar* _tmp5_ = NULL;
 
1831
                GtkButton* _tmp6_ = NULL;
 
1832
                const gchar* _tmp7_ = NULL;
 
1833
                GtkImage* _tmp8_ = NULL;
1879
1834
                _tmp1_ = self->priv->camera;
1880
1835
                _tmp2_ = self->priv->fileutil;
1881
1836
                _tmp3_ = self->priv->current_mode;
1882
1837
                _tmp4_ = cheese_fileutil_get_new_media_filename (_tmp2_, _tmp3_);
1883
 
                cheese_camera_start_video_recording (_tmp1_, _tmp4_);
 
1838
                _tmp5_ = _tmp4_;
 
1839
                cheese_camera_start_video_recording (_tmp1_, _tmp5_);
 
1840
                _g_free0 (_tmp5_);
1884
1841
                g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 1, _cheese_main_window_update_timeout_layer_gsource_func, g_object_ref (self), g_object_unref);
1885
 
                _tmp5_ = self->priv->take_action_button_label;
1886
 
                _tmp6_ = _ ("Stop _Recording");
1887
 
                _tmp7_ = g_strconcat ("<b>", _tmp6_, NULL);
1888
 
                _tmp8_ = _tmp7_;
1889
 
                _tmp9_ = g_strconcat (_tmp8_, "</b>", NULL);
1890
 
                _tmp10_ = _tmp9_;
1891
 
                gtk_label_set_label (_tmp5_, _tmp10_);
1892
 
                _g_free0 (_tmp10_);
1893
 
                _g_free0 (_tmp8_);
 
1842
                _tmp6_ = self->priv->take_action_button;
 
1843
                _tmp7_ = _ ("Stop recording");
 
1844
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp6_, _tmp7_);
 
1845
                _tmp8_ = self->priv->take_action_button_image;
 
1846
                gtk_image_set_from_icon_name (_tmp8_, "media-playback-stop-symbolic", GTK_ICON_SIZE_BUTTON);
 
1847
                self->priv->is_recording = TRUE;
 
1848
                cheese_main_window_disable_mode_change (self);
 
1849
        } else {
 
1850
                CheeseCamera* _tmp9_ = NULL;
 
1851
                ClutterText* _tmp10_ = NULL;
 
1852
                GtkButton* _tmp11_ = NULL;
 
1853
                const gchar* _tmp12_ = NULL;
 
1854
                GtkImage* _tmp13_ = NULL;
 
1855
                _tmp9_ = self->priv->camera;
 
1856
                cheese_camera_stop_video_recording (_tmp9_);
 
1857
                _tmp10_ = self->priv->timeout_layer;
 
1858
                clutter_text_set_text (_tmp10_, "00:00:00");
1894
1859
                _tmp11_ = self->priv->take_action_button;
1895
 
                _tmp12_ = _ ("Stop recording");
 
1860
                _tmp12_ = _ ("Record a video");
1896
1861
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp11_, _tmp12_);
1897
1862
                _tmp13_ = self->priv->take_action_button_image;
1898
 
                gtk_image_set_from_stock (_tmp13_, GTK_STOCK_MEDIA_STOP, GTK_ICON_SIZE_BUTTON);
1899
 
                self->priv->is_recording = TRUE;
1900
 
                cheese_main_window_disable_mode_change (self);
1901
 
        } else {
1902
 
                CheeseCamera* _tmp14_ = NULL;
1903
 
                ClutterText* _tmp15_ = NULL;
1904
 
                GtkLabel* _tmp16_ = NULL;
1905
 
                const gchar* _tmp17_ = NULL;
1906
 
                gchar* _tmp18_ = NULL;
1907
 
                gchar* _tmp19_ = NULL;
1908
 
                gchar* _tmp20_ = NULL;
1909
 
                gchar* _tmp21_ = NULL;
1910
 
                GtkButton* _tmp22_ = NULL;
1911
 
                const gchar* _tmp23_ = NULL;
1912
 
                GtkImage* _tmp24_ = NULL;
1913
 
                _tmp14_ = self->priv->camera;
1914
 
                cheese_camera_stop_video_recording (_tmp14_);
1915
 
                _tmp15_ = self->priv->timeout_layer;
1916
 
                clutter_text_set_text (_tmp15_, "00:00:00");
1917
 
                _tmp16_ = self->priv->take_action_button_label;
1918
 
                _tmp17_ = _ ("_Record a Video");
1919
 
                _tmp18_ = g_strconcat ("<b>", _tmp17_, NULL);
1920
 
                _tmp19_ = _tmp18_;
1921
 
                _tmp20_ = g_strconcat (_tmp19_, "</b>", NULL);
1922
 
                _tmp21_ = _tmp20_;
1923
 
                gtk_label_set_label (_tmp16_, _tmp21_);
1924
 
                _g_free0 (_tmp21_);
1925
 
                _g_free0 (_tmp19_);
1926
 
                _tmp22_ = self->priv->take_action_button;
1927
 
                _tmp23_ = _ ("Record a video");
1928
 
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp22_, _tmp23_);
1929
 
                _tmp24_ = self->priv->take_action_button_image;
1930
 
                gtk_image_set_from_stock (_tmp24_, GTK_STOCK_MEDIA_RECORD, GTK_ICON_SIZE_BUTTON);
 
1863
                gtk_image_set_from_icon_name (_tmp13_, "camera-web-symbolic", GTK_ICON_SIZE_BUTTON);
1931
1864
                self->priv->is_recording = FALSE;
1932
1865
                cheese_main_window_enable_mode_change (self);
1933
1866
        }
1972
1905
   */
1973
1906
static gboolean _cheese_main_window_burst_take_photo_gsource_func (gpointer self) {
1974
1907
        gboolean result;
1975
 
        result = cheese_main_window_burst_take_photo (self);
 
1908
        result = cheese_main_window_burst_take_photo ((CheeseMainWindow*) self);
1976
1909
        return result;
1977
1910
}
1978
1911
 
1982
1915
        g_return_if_fail (self != NULL);
1983
1916
        _tmp0_ = is_start;
1984
1917
        if (_tmp0_) {
1985
 
                GtkLabel* _tmp1_ = NULL;
 
1918
                GtkButton* _tmp1_ = NULL;
1986
1919
                const gchar* _tmp2_ = NULL;
1987
 
                gchar* _tmp3_ = NULL;
1988
 
                gchar* _tmp4_ = NULL;
1989
 
                gchar* _tmp5_ = NULL;
1990
 
                gchar* _tmp6_ = NULL;
1991
 
                GtkButton* _tmp7_ = NULL;
1992
 
                const gchar* _tmp8_ = NULL;
1993
1920
                gint burst_delay = 0;
1994
 
                GSettings* _tmp9_ = NULL;
1995
 
                gint _tmp10_ = 0;
 
1921
                GSettings* _tmp3_ = NULL;
 
1922
                gint _tmp4_ = 0;
1996
1923
                gint countdown_duration = 0;
1997
 
                GSettings* _tmp11_ = NULL;
1998
 
                gint _tmp12_ = 0;
1999
 
                gboolean _tmp13_ = FALSE;
2000
 
                gint _tmp14_ = 0;
2001
 
                gint _tmp15_ = 0;
2002
 
                gboolean _tmp18_ = FALSE;
 
1924
                GSettings* _tmp5_ = NULL;
 
1925
                gint _tmp6_ = 0;
 
1926
                gboolean _tmp7_ = FALSE;
 
1927
                gint _tmp8_ = 0;
 
1928
                gint _tmp9_ = 0;
2003
1929
                self->priv->is_bursting = TRUE;
2004
1930
                cheese_main_window_disable_mode_change (self);
2005
 
                _tmp1_ = self->priv->take_action_button_label;
2006
 
                _tmp2_ = _ ("Stop _Taking Pictures");
2007
 
                _tmp3_ = g_strconcat ("<b>", _tmp2_, NULL);
2008
 
                _tmp4_ = _tmp3_;
2009
 
                _tmp5_ = g_strconcat (_tmp4_, "</b>", NULL);
2010
 
                _tmp6_ = _tmp5_;
2011
 
                gtk_label_set_label (_tmp1_, _tmp6_);
2012
 
                _g_free0 (_tmp6_);
2013
 
                _g_free0 (_tmp4_);
2014
 
                _tmp7_ = self->priv->take_action_button;
2015
 
                _tmp8_ = _ ("Stop taking pictures");
2016
 
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp7_, _tmp8_);
 
1931
                _tmp1_ = self->priv->take_action_button;
 
1932
                _tmp2_ = _ ("Stop taking pictures");
 
1933
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp1_, _tmp2_);
2017
1934
                cheese_main_window_burst_take_photo (self);
2018
 
                _tmp9_ = self->priv->settings;
2019
 
                _tmp10_ = g_settings_get_int (_tmp9_, "burst-delay");
2020
 
                burst_delay = _tmp10_;
2021
 
                _tmp11_ = self->priv->settings;
2022
 
                _tmp12_ = g_settings_get_int (_tmp11_, "countdown-duration");
2023
 
                countdown_duration = 500 + (_tmp12_ * 1000);
2024
 
                _tmp14_ = burst_delay;
2025
 
                _tmp15_ = countdown_duration;
2026
 
                if ((_tmp14_ - _tmp15_) < 1000) {
2027
 
                        GSettings* _tmp16_ = NULL;
2028
 
                        gboolean _tmp17_ = FALSE;
2029
 
                        _tmp16_ = self->priv->settings;
2030
 
                        _tmp17_ = g_settings_get_boolean (_tmp16_, "countdown");
2031
 
                        _tmp13_ = _tmp17_;
 
1935
                _tmp3_ = self->priv->settings;
 
1936
                _tmp4_ = g_settings_get_int (_tmp3_, "burst-delay");
 
1937
                burst_delay = _tmp4_;
 
1938
                _tmp5_ = self->priv->settings;
 
1939
                _tmp6_ = g_settings_get_int (_tmp5_, "countdown-duration");
 
1940
                countdown_duration = 500 + (_tmp6_ * 1000);
 
1941
                _tmp8_ = burst_delay;
 
1942
                _tmp9_ = countdown_duration;
 
1943
                if ((_tmp8_ - _tmp9_) < 1000) {
 
1944
                        GSettings* _tmp10_ = NULL;
 
1945
                        gboolean _tmp11_ = FALSE;
 
1946
                        _tmp10_ = self->priv->settings;
 
1947
                        _tmp11_ = g_settings_get_boolean (_tmp10_, "countdown");
 
1948
                        _tmp7_ = _tmp11_;
2032
1949
                } else {
2033
 
                        _tmp13_ = FALSE;
 
1950
                        _tmp7_ = FALSE;
2034
1951
                }
2035
 
                _tmp18_ = _tmp13_;
2036
 
                if (_tmp18_) {
2037
 
                        gint _tmp19_ = 0;
2038
 
                        guint _tmp20_ = 0U;
2039
 
                        _tmp19_ = countdown_duration;
2040
 
                        _tmp20_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp19_, _cheese_main_window_burst_take_photo_gsource_func, g_object_ref (self), g_object_unref);
2041
 
                        self->priv->burst_callback_id = _tmp20_;
 
1952
                if (_tmp7_) {
 
1953
                        gint _tmp12_ = 0;
 
1954
                        guint _tmp13_ = 0U;
 
1955
                        _tmp12_ = countdown_duration;
 
1956
                        _tmp13_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp12_, _cheese_main_window_burst_take_photo_gsource_func, g_object_ref (self), g_object_unref);
 
1957
                        self->priv->burst_callback_id = _tmp13_;
2042
1958
                } else {
2043
 
                        gint _tmp21_ = 0;
2044
 
                        guint _tmp22_ = 0U;
2045
 
                        _tmp21_ = burst_delay;
2046
 
                        _tmp22_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp21_, _cheese_main_window_burst_take_photo_gsource_func, g_object_ref (self), g_object_unref);
2047
 
                        self->priv->burst_callback_id = _tmp22_;
 
1959
                        gint _tmp14_ = 0;
 
1960
                        guint _tmp15_ = 0U;
 
1961
                        _tmp14_ = burst_delay;
 
1962
                        _tmp15_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp14_, _cheese_main_window_burst_take_photo_gsource_func, g_object_ref (self), g_object_unref);
 
1963
                        self->priv->burst_callback_id = _tmp15_;
2048
1964
                }
2049
1965
        } else {
2050
 
                gboolean _tmp23_ = FALSE;
2051
 
                CheeseCountdown* _tmp24_ = NULL;
2052
 
                gboolean _tmp27_ = FALSE;
2053
 
                GtkLabel* _tmp29_ = NULL;
2054
 
                const gchar* _tmp30_ = NULL;
2055
 
                gchar* _tmp31_ = NULL;
2056
 
                gchar* _tmp32_ = NULL;
2057
 
                gchar* _tmp33_ = NULL;
2058
 
                gchar* _tmp34_ = NULL;
2059
 
                GtkButton* _tmp35_ = NULL;
2060
 
                const gchar* _tmp36_ = NULL;
2061
 
                CheeseFileUtil* _tmp37_ = NULL;
2062
 
                guint _tmp38_ = 0U;
2063
 
                _tmp24_ = self->priv->current_countdown;
2064
 
                if (_tmp24_ != NULL) {
2065
 
                        CheeseCountdown* _tmp25_ = NULL;
2066
 
                        gboolean _tmp26_ = FALSE;
2067
 
                        _tmp25_ = self->priv->current_countdown;
2068
 
                        _tmp26_ = _tmp25_->running;
2069
 
                        _tmp23_ = _tmp26_;
 
1966
                gboolean _tmp16_ = FALSE;
 
1967
                CheeseCountdown* _tmp17_ = NULL;
 
1968
                GtkButton* _tmp21_ = NULL;
 
1969
                const gchar* _tmp22_ = NULL;
 
1970
                CheeseFileUtil* _tmp23_ = NULL;
 
1971
                guint _tmp24_ = 0U;
 
1972
                _tmp17_ = self->priv->current_countdown;
 
1973
                if (_tmp17_ != NULL) {
 
1974
                        CheeseCountdown* _tmp18_ = NULL;
 
1975
                        gboolean _tmp19_ = FALSE;
 
1976
                        _tmp18_ = self->priv->current_countdown;
 
1977
                        _tmp19_ = _tmp18_->running;
 
1978
                        _tmp16_ = _tmp19_;
2070
1979
                } else {
2071
 
                        _tmp23_ = FALSE;
 
1980
                        _tmp16_ = FALSE;
2072
1981
                }
2073
 
                _tmp27_ = _tmp23_;
2074
 
                if (_tmp27_) {
2075
 
                        CheeseCountdown* _tmp28_ = NULL;
2076
 
                        _tmp28_ = self->priv->current_countdown;
2077
 
                        cheese_countdown_stop (_tmp28_);
 
1982
                if (_tmp16_) {
 
1983
                        CheeseCountdown* _tmp20_ = NULL;
 
1984
                        _tmp20_ = self->priv->current_countdown;
 
1985
                        cheese_countdown_stop (_tmp20_);
2078
1986
                }
2079
1987
                self->priv->is_bursting = FALSE;
2080
1988
                cheese_main_window_enable_mode_change (self);
2081
 
                _tmp29_ = self->priv->take_action_button_label;
2082
 
                _tmp30_ = _ ("Take Multiple Photos");
2083
 
                _tmp31_ = g_strconcat ("<b>", _tmp30_, NULL);
2084
 
                _tmp32_ = _tmp31_;
2085
 
                _tmp33_ = g_strconcat (_tmp32_, "</b>", NULL);
2086
 
                _tmp34_ = _tmp33_;
2087
 
                gtk_label_set_label (_tmp29_, _tmp34_);
2088
 
                _g_free0 (_tmp34_);
2089
 
                _g_free0 (_tmp32_);
2090
 
                _tmp35_ = self->priv->take_action_button;
2091
 
                _tmp36_ = _ ("Take multiple photos");
2092
 
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp35_, _tmp36_);
 
1989
                _tmp21_ = self->priv->take_action_button;
 
1990
                _tmp22_ = _ ("Take multiple photos");
 
1991
                gtk_widget_set_tooltip_text ((GtkWidget*) _tmp21_, _tmp22_);
2093
1992
                self->priv->burst_count = 0;
2094
 
                _tmp37_ = self->priv->fileutil;
2095
 
                cheese_fileutil_reset_burst (_tmp37_);
2096
 
                _tmp38_ = self->priv->burst_callback_id;
2097
 
                g_source_remove (_tmp38_);
 
1993
                _tmp23_ = self->priv->fileutil;
 
1994
                cheese_fileutil_reset_burst (_tmp23_);
 
1995
                _tmp24_ = self->priv->burst_callback_id;
 
1996
                g_source_remove (_tmp24_);
2098
1997
        }
2099
1998
}
2100
1999
 
2233
2132
     * Navigate back one page of effects.
2234
2133
     */
2235
2134
static void cheese_main_window_on_effects_previous (CheeseMainWindow* self) {
2236
 
        guint _tmp0_ = 0U;
 
2135
        gboolean _tmp0_ = FALSE;
2237
2136
        g_return_if_fail (self != NULL);
2238
 
        _tmp0_ = self->priv->current_effects_page;
2239
 
        if (_tmp0_ != ((guint) 0)) {
 
2137
        _tmp0_ = cheese_main_window_is_previous_effects_page (self);
 
2138
        if (_tmp0_) {
2240
2139
                guint _tmp1_ = 0U;
2241
2140
                _tmp1_ = self->priv->current_effects_page;
2242
2141
                cheese_main_window_activate_effects_page (self, ((gint) _tmp1_) - 1);
2248
2147
     * Navigate forward one page of effects.
2249
2148
     */
2250
2149
static void cheese_main_window_on_effects_next (CheeseMainWindow* self) {
2251
 
        guint _tmp0_ = 0U;
2252
 
        CheeseEffectsManager* _tmp1_ = NULL;
2253
 
        GList* _tmp2_ = NULL;
2254
 
        guint _tmp3_ = 0U;
 
2150
        gboolean _tmp0_ = FALSE;
2255
2151
        g_return_if_fail (self != NULL);
2256
 
        _tmp0_ = self->priv->current_effects_page;
2257
 
        _tmp1_ = self->priv->effects_manager;
2258
 
        _tmp2_ = _tmp1_->effects;
2259
 
        _tmp3_ = g_list_length (_tmp2_);
2260
 
        if (_tmp0_ != (_tmp3_ / EFFECTS_PER_PAGE)) {
2261
 
                guint _tmp4_ = 0U;
2262
 
                _tmp4_ = self->priv->current_effects_page;
2263
 
                cheese_main_window_activate_effects_page (self, ((gint) _tmp4_) + 1);
 
2152
        _tmp0_ = cheese_main_window_is_next_effects_page (self);
 
2153
        if (_tmp0_) {
 
2154
                guint _tmp1_ = 0U;
 
2155
                _tmp1_ = self->priv->current_effects_page;
 
2156
                cheese_main_window_activate_effects_page (self, ((gint) _tmp1_) + 1);
2264
2157
        }
2265
2158
}
2266
2159
 
2417
2310
        GSimpleAction* _tmp3_ = NULL;
2418
2311
        gboolean _tmp4_ = FALSE;
2419
2312
        gboolean _tmp5_ = FALSE;
2420
 
        GSimpleAction* _tmp10_ = NULL;
2421
 
        gboolean _tmp11_ = FALSE;
2422
 
        gboolean _tmp12_ = FALSE;
2423
 
        gboolean _tmp13_ = FALSE;
2424
 
        GSimpleAction* _tmp15_ = NULL;
2425
 
        gboolean _tmp16_ = FALSE;
 
2313
        GSimpleAction* _tmp7_ = NULL;
 
2314
        gboolean _tmp8_ = FALSE;
 
2315
        gboolean _tmp9_ = FALSE;
 
2316
        GSimpleAction* _tmp11_ = NULL;
2426
2317
        g_return_if_fail (self != NULL);
2427
2318
        _tmp0_ = g_action_map_lookup_action ((GActionMap*) self, "effects-next");
2428
2319
        _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp0_) : NULL);
2432
2323
        effects_previous = _tmp3_;
2433
2324
        _tmp5_ = self->priv->is_effects_selector_active;
2434
2325
        if (_tmp5_) {
2435
 
                guint _tmp6_ = 0U;
2436
 
                CheeseEffectsManager* _tmp7_ = NULL;
2437
 
                GList* _tmp8_ = NULL;
2438
 
                guint _tmp9_ = 0U;
2439
 
                _tmp6_ = self->priv->current_effects_page;
2440
 
                _tmp7_ = self->priv->effects_manager;
2441
 
                _tmp8_ = _tmp7_->effects;
2442
 
                _tmp9_ = g_list_length (_tmp8_);
2443
 
                _tmp4_ = _tmp6_ != (_tmp9_ / EFFECTS_PER_PAGE);
 
2326
                gboolean _tmp6_ = FALSE;
 
2327
                _tmp6_ = cheese_main_window_is_next_effects_page (self);
 
2328
                _tmp4_ = _tmp6_;
2444
2329
        } else {
2445
2330
                _tmp4_ = FALSE;
2446
2331
        }
2447
 
        _tmp10_ = effects_next;
2448
 
        _tmp11_ = _tmp4_;
2449
 
        g_simple_action_set_enabled (_tmp10_, _tmp11_);
2450
 
        _tmp13_ = self->priv->is_effects_selector_active;
2451
 
        if (_tmp13_) {
2452
 
                guint _tmp14_ = 0U;
2453
 
                _tmp14_ = self->priv->current_effects_page;
2454
 
                _tmp12_ = _tmp14_ != ((guint) 0);
 
2332
        _tmp7_ = effects_next;
 
2333
        g_simple_action_set_enabled (_tmp7_, _tmp4_);
 
2334
        _tmp9_ = self->priv->is_effects_selector_active;
 
2335
        if (_tmp9_) {
 
2336
                gboolean _tmp10_ = FALSE;
 
2337
                _tmp10_ = cheese_main_window_is_previous_effects_page (self);
 
2338
                _tmp8_ = _tmp10_;
2455
2339
        } else {
2456
 
                _tmp12_ = FALSE;
 
2340
                _tmp8_ = FALSE;
2457
2341
        }
2458
 
        _tmp15_ = effects_previous;
2459
 
        _tmp16_ = _tmp12_;
2460
 
        g_simple_action_set_enabled (_tmp15_, _tmp16_);
 
2342
        _tmp11_ = effects_previous;
 
2343
        g_simple_action_set_enabled (_tmp11_, _tmp8_);
2461
2344
        _g_object_unref0 (effects_previous);
2462
2345
        _g_object_unref0 (effects_next);
2463
2346
}
2464
2347
 
2465
2348
 
 
2349
static gboolean cheese_main_window_is_next_effects_page (CheeseMainWindow* self) {
 
2350
        gboolean result = FALSE;
 
2351
        guint _tmp0_ = 0U;
 
2352
        CheeseEffectsManager* _tmp1_ = NULL;
 
2353
        GList* _tmp2_ = NULL;
 
2354
        guint _tmp3_ = 0U;
 
2355
        g_return_val_if_fail (self != NULL, FALSE);
 
2356
        _tmp0_ = self->priv->current_effects_page;
 
2357
        _tmp1_ = self->priv->effects_manager;
 
2358
        _tmp2_ = _tmp1_->effects;
 
2359
        _tmp3_ = g_list_length (_tmp2_);
 
2360
        result = ((_tmp0_ + 1) * EFFECTS_PER_PAGE) < _tmp3_;
 
2361
        return result;
 
2362
}
 
2363
 
 
2364
 
 
2365
static gboolean cheese_main_window_is_previous_effects_page (CheeseMainWindow* self) {
 
2366
        gboolean result = FALSE;
 
2367
        guint _tmp0_ = 0U;
 
2368
        g_return_val_if_fail (self != NULL, FALSE);
 
2369
        _tmp0_ = self->priv->current_effects_page;
 
2370
        result = _tmp0_ != ((guint) 0);
 
2371
        return result;
 
2372
}
 
2373
 
 
2374
 
2466
2375
/**
2467
2376
     * Toggle the visibility of the effects selector.
2468
2377
     *
2472
2381
        gboolean _tmp0_ = FALSE;
2473
2382
        GList* _tmp1_ = NULL;
2474
2383
        guint _tmp2_ = 0U;
2475
 
        CheeseCamera* _tmp13_ = NULL;
2476
 
        gboolean _tmp14_ = FALSE;
 
2384
        CheeseCamera* _tmp12_ = NULL;
 
2385
        gboolean _tmp13_ = FALSE;
2477
2386
        g_return_if_fail (self != NULL);
2478
2387
        _tmp0_ = active;
2479
2388
        self->priv->is_effects_selector_active = _tmp0_;
2482
2391
        if (_tmp2_ == ((guint) 0)) {
2483
2392
                const gchar* _tmp3_ = NULL;
2484
2393
                gboolean _tmp4_ = FALSE;
2485
 
                const gchar* _tmp6_ = NULL;
2486
2394
                _tmp4_ = active;
2487
2395
                if (_tmp4_) {
2488
2396
                        const gchar* _tmp5_ = NULL;
2491
2399
                } else {
2492
2400
                        _tmp3_ = NULL;
2493
2401
                }
2494
 
                _tmp6_ = _tmp3_;
2495
 
                cheese_main_window_show_error (self, _tmp6_);
 
2402
                cheese_main_window_show_error (self, _tmp3_);
2496
2403
        } else {
2497
 
                gboolean _tmp7_ = FALSE;
2498
 
                _tmp7_ = active;
2499
 
                if (_tmp7_) {
2500
 
                        ClutterTexture* _tmp8_ = NULL;
2501
 
                        ClutterActor* _tmp9_ = NULL;
2502
 
                        guint _tmp10_ = 0U;
2503
 
                        _tmp8_ = self->priv->video_preview;
2504
 
                        clutter_actor_hide ((ClutterActor*) _tmp8_);
2505
 
                        _tmp9_ = self->priv->current_effects_grid;
2506
 
                        clutter_actor_show (_tmp9_);
2507
 
                        _tmp10_ = self->priv->current_effects_page;
2508
 
                        cheese_main_window_activate_effects_page (self, (gint) _tmp10_);
 
2404
                gboolean _tmp6_ = FALSE;
 
2405
                _tmp6_ = active;
 
2406
                if (_tmp6_) {
 
2407
                        ClutterTexture* _tmp7_ = NULL;
 
2408
                        ClutterActor* _tmp8_ = NULL;
 
2409
                        guint _tmp9_ = 0U;
 
2410
                        _tmp7_ = self->priv->video_preview;
 
2411
                        clutter_actor_hide ((ClutterActor*) _tmp7_);
 
2412
                        _tmp8_ = self->priv->current_effects_grid;
 
2413
                        clutter_actor_show (_tmp8_);
 
2414
                        _tmp9_ = self->priv->current_effects_page;
 
2415
                        cheese_main_window_activate_effects_page (self, (gint) _tmp9_);
2509
2416
                } else {
2510
 
                        ClutterActor* _tmp11_ = NULL;
2511
 
                        ClutterTexture* _tmp12_ = NULL;
2512
 
                        _tmp11_ = self->priv->current_effects_grid;
2513
 
                        clutter_actor_hide (_tmp11_);
2514
 
                        _tmp12_ = self->priv->video_preview;
2515
 
                        clutter_actor_show ((ClutterActor*) _tmp12_);
 
2417
                        ClutterActor* _tmp10_ = NULL;
 
2418
                        ClutterTexture* _tmp11_ = NULL;
 
2419
                        _tmp10_ = self->priv->current_effects_grid;
 
2420
                        clutter_actor_hide (_tmp10_);
 
2421
                        _tmp11_ = self->priv->video_preview;
 
2422
                        clutter_actor_show ((ClutterActor*) _tmp11_);
2516
2423
                }
2517
2424
        }
2518
 
        _tmp13_ = self->priv->camera;
2519
 
        _tmp14_ = active;
2520
 
        cheese_camera_toggle_effects_pipeline (_tmp13_, _tmp14_);
 
2425
        _tmp12_ = self->priv->camera;
 
2426
        _tmp13_ = active;
 
2427
        cheese_camera_toggle_effects_pipeline (_tmp12_, _tmp13_);
2521
2428
        cheese_main_window_setup_effects_page_switch_sensitivity (self);
 
2429
        cheese_main_window_update_header_bar_title (self);
2522
2430
}
2523
2431
 
2524
2432
 
2526
2434
   * Create the effects selector.
2527
2435
   */
2528
2436
static void _cheese_main_window_on_selected_effect_change_clutter_tap_action_tap (ClutterTapAction* _sender, ClutterActor* actor, gpointer self) {
2529
 
        cheese_main_window_on_selected_effect_change (self, _sender, actor);
 
2437
        cheese_main_window_on_selected_effect_change ((CheeseMainWindow*) self, _sender, actor);
2530
2438
}
2531
2439
 
2532
2440
 
2559
2467
                _tmp4_ = _tmp3_->effects;
2560
2468
                _tmp5_ = g_list_length (_tmp4_);
2561
2469
                if (_tmp5_ == ((guint) 0)) {
2562
 
                        g_warning ("cheese-window.vala:1070: gnome-video-effects is not installed.");
 
2470
                        g_warning ("cheese-window.vala:1087: gnome-video-effects is not installed.");
2563
2471
                        return;
2564
2472
                }
2565
2473
                _tmp6_ = self->priv->effects_manager;
2574
2482
                                _tmp8_ = _g_object_ref0 ((CheeseEffect*) effect_it->data);
2575
2483
                                effect = _tmp8_;
2576
2484
                                {
2577
 
                                        ClutterTableLayout* table_layout = NULL;
2578
 
                                        ClutterTableLayout* _tmp9_ = NULL;
 
2485
                                        ClutterGridLayout* grid_layout = NULL;
 
2486
                                        ClutterGridLayout* _tmp9_ = NULL;
2579
2487
                                        ClutterActor* grid = NULL;
2580
2488
                                        ClutterActor* _tmp10_ = NULL;
2581
2489
                                        ClutterActor* _tmp11_ = NULL;
2582
 
                                        ClutterTableLayout* _tmp12_ = NULL;
 
2490
                                        ClutterGridLayout* _tmp12_ = NULL;
2583
2491
                                        ClutterActor* _tmp13_ = NULL;
2584
2492
                                        ClutterActor* _tmp14_ = NULL;
2585
 
                                        ClutterTableLayout* _tmp15_ = NULL;
2586
 
                                        ClutterTableLayout* _tmp16_ = NULL;
2587
 
                                        _tmp9_ = (ClutterTableLayout*) clutter_table_layout_new ();
 
2493
                                        ClutterGridLayout* _tmp15_ = NULL;
 
2494
                                        ClutterGridLayout* _tmp16_ = NULL;
 
2495
                                        _tmp9_ = (ClutterGridLayout*) clutter_grid_layout_new ();
2588
2496
                                        g_object_ref_sink (_tmp9_);
2589
 
                                        table_layout = _tmp9_;
 
2497
                                        grid_layout = _tmp9_;
2590
2498
                                        _tmp10_ = clutter_actor_new ();
2591
2499
                                        g_object_ref_sink (_tmp10_);
2592
2500
                                        grid = _tmp10_;
2593
2501
                                        _tmp11_ = grid;
2594
 
                                        _tmp12_ = table_layout;
 
2502
                                        _tmp12_ = grid_layout;
2595
2503
                                        clutter_actor_set_layout_manager (_tmp11_, (ClutterLayoutManager*) _tmp12_);
2596
2504
                                        _tmp13_ = grid;
2597
2505
                                        _tmp14_ = _g_object_ref0 (_tmp13_);
2598
2506
                                        self->priv->effects_grids = g_list_append (self->priv->effects_grids, _tmp14_);
2599
 
                                        _tmp15_ = table_layout;
2600
 
                                        clutter_table_layout_set_column_spacing (_tmp15_, (guint) 10);
2601
 
                                        _tmp16_ = table_layout;
2602
 
                                        clutter_table_layout_set_row_spacing (_tmp16_, (guint) 10);
 
2507
                                        _tmp15_ = grid_layout;
 
2508
                                        clutter_grid_layout_set_column_spacing (_tmp15_, (guint) 10);
 
2509
                                        _tmp16_ = grid_layout;
 
2510
                                        clutter_grid_layout_set_row_spacing (_tmp16_, (guint) 10);
2603
2511
                                        _g_object_unref0 (grid);
2604
 
                                        _g_object_unref0 (table_layout);
 
2512
                                        _g_object_unref0 (grid_layout);
2605
2513
                                        _g_object_unref0 (effect);
2606
2514
                                }
2607
2515
                        }
2671
2579
                                        ClutterText* _tmp63_ = NULL;
2672
2580
                                        ClutterActor* _tmp64_ = NULL;
2673
2581
                                        ClutterText* _tmp65_ = NULL;
2674
 
                                        ClutterTableLayout* table_layout = NULL;
 
2582
                                        ClutterGridLayout* grid_layout = NULL;
2675
2583
                                        GList* _tmp66_ = NULL;
2676
2584
                                        guint _tmp67_ = 0U;
2677
2585
                                        gconstpointer _tmp68_ = NULL;
2678
2586
                                        ClutterLayoutManager* _tmp69_ = NULL;
2679
2587
                                        ClutterLayoutManager* _tmp70_ = NULL;
2680
 
                                        ClutterTableLayout* _tmp71_ = NULL;
2681
 
                                        ClutterTableLayout* _tmp72_ = NULL;
 
2588
                                        ClutterGridLayout* _tmp71_ = NULL;
 
2589
                                        ClutterGridLayout* _tmp72_ = NULL;
2682
2590
                                        ClutterActor* _tmp73_ = NULL;
2683
2591
                                        guint _tmp74_ = 0U;
2684
2592
                                        guint _tmp75_ = 0U;
2769
2677
                                        _tmp68_ = g_list_nth_data (_tmp66_, _tmp67_ / EFFECTS_PER_PAGE);
2770
2678
                                        _tmp69_ = clutter_actor_get_layout_manager ((ClutterActor*) _tmp68_);
2771
2679
                                        _tmp70_ = _tmp69_;
2772
 
                                        _tmp71_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, clutter_table_layout_get_type (), ClutterTableLayout));
2773
 
                                        table_layout = _tmp71_;
2774
 
                                        _tmp72_ = table_layout;
 
2680
                                        _tmp71_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp70_, clutter_grid_layout_get_type ()) ? ((ClutterGridLayout*) _tmp70_) : NULL);
 
2681
                                        grid_layout = _tmp71_;
 
2682
                                        _tmp72_ = grid_layout;
2775
2683
                                        _tmp73_ = box;
2776
2684
                                        _tmp74_ = i;
2777
2685
                                        _tmp75_ = i;
2778
 
                                        clutter_table_layout_pack (_tmp72_, _tmp73_, ((gint) (_tmp74_ % EFFECTS_PER_PAGE)) % 3, ((gint) (_tmp75_ % EFFECTS_PER_PAGE)) / 3);
 
2686
                                        clutter_grid_layout_attach (_tmp72_, _tmp73_, ((gint) (_tmp74_ % EFFECTS_PER_PAGE)) % 3, ((gint) (_tmp75_ % EFFECTS_PER_PAGE)) / 3, 1, 1);
2779
2687
                                        _tmp76_ = i;
2780
2688
                                        i = _tmp76_ + 1;
2781
 
                                        _g_object_unref0 (table_layout);
 
2689
                                        _g_object_unref0 (grid_layout);
2782
2690
                                        _g_object_unref0 (tap);
2783
2691
                                        _g_object_unref0 (rect);
2784
2692
                                        _g_object_unref0 (text);
2856
2764
   * Load the UI from the GtkBuilder description.
2857
2765
   */
2858
2766
static void _cheese_main_window_on_stage_resize_clutter_actor_allocation_changed (ClutterActor* _sender, ClutterActorBox* box, ClutterAllocationFlags flags, gpointer self) {
2859
 
        cheese_main_window_on_stage_resize (self, _sender, box, flags);
 
2767
        cheese_main_window_on_stage_resize ((CheeseMainWindow*) self, _sender, box, flags);
2860
2768
}
2861
2769
 
2862
2770
 
2863
2771
static gboolean _cheese_main_window_on_thumbnail_button_press_event_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
2864
2772
        gboolean result;
2865
 
        result = cheese_main_window_on_thumbnail_button_press_event (self, _sender, event);
 
2773
        result = cheese_main_window_on_thumbnail_button_press_event ((CheeseMainWindow*) self, _sender, event);
2866
2774
        return result;
2867
2775
}
2868
2776
 
2869
2777
 
2870
2778
static gboolean _cheese_main_window_on_key_release_gtk_widget_key_release_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
2871
2779
        gboolean result;
2872
 
        result = cheese_main_window_on_key_release (self, event);
 
2780
        result = cheese_main_window_on_key_release ((CheeseMainWindow*) self, event);
2873
2781
        return result;
2874
2782
}
2875
2783
 
2876
2784
 
2877
2785
void cheese_main_window_setup_ui (CheeseMainWindow* self) {
2878
 
        GtkBuilder* _tmp0_ = NULL;
2879
 
        ClutterScript* _tmp1_ = NULL;
2880
 
        CheeseFileUtil* _tmp2_ = NULL;
2881
 
        CheeseFlash* _tmp3_ = NULL;
2882
 
        GSettings* _tmp4_ = NULL;
 
2786
        ClutterScript* _tmp0_ = NULL;
 
2787
        CheeseFileUtil* _tmp1_ = NULL;
 
2788
        CheeseFlash* _tmp2_ = NULL;
 
2789
        GSettings* _tmp3_ = NULL;
2883
2790
        GMenu* menu = NULL;
 
2791
        GMenu* _tmp4_ = NULL;
 
2792
        GMenu* section = NULL;
2884
2793
        GMenu* _tmp5_ = NULL;
2885
 
        GMenu* section = NULL;
2886
 
        GMenu* _tmp6_ = NULL;
2887
 
        GMenu* _tmp7_ = NULL;
2888
 
        GMenu* _tmp8_ = NULL;
2889
2794
        GMenuItem* item = NULL;
2890
 
        const gchar* _tmp9_ = NULL;
2891
 
        GMenuItem* _tmp10_ = NULL;
 
2795
        const gchar* _tmp6_ = NULL;
 
2796
        GMenuItem* _tmp7_ = NULL;
 
2797
        GMenuItem* _tmp8_ = NULL;
 
2798
        GMenuItem* _tmp9_ = NULL;
 
2799
        const gchar* _tmp10_ = NULL;
2892
2800
        GMenuItem* _tmp11_ = NULL;
2893
 
        GMenu* _tmp12_ = NULL;
 
2801
        GMenuItem* _tmp12_ = NULL;
2894
2802
        GMenuItem* _tmp13_ = NULL;
2895
2803
        const gchar* _tmp14_ = NULL;
2896
2804
        GMenuItem* _tmp15_ = NULL;
2897
2805
        GMenuItem* _tmp16_ = NULL;
2898
 
        GMenu* _tmp17_ = NULL;
2899
 
        GMenuItem* _tmp18_ = NULL;
2900
 
        const gchar* _tmp19_ = NULL;
 
2806
        GMenuItem* _tmp17_ = NULL;
 
2807
        const gchar* _tmp18_ = NULL;
 
2808
        GMenuItem* _tmp19_ = NULL;
2901
2809
        GMenuItem* _tmp20_ = NULL;
2902
2810
        GMenuItem* _tmp21_ = NULL;
2903
 
        GMenu* _tmp22_ = NULL;
2904
 
        GMenuItem* _tmp23_ = NULL;
2905
 
        const gchar* _tmp24_ = NULL;
2906
 
        GMenuItem* _tmp25_ = NULL;
2907
 
        GMenuItem* _tmp26_ = NULL;
2908
 
        GMenu* _tmp27_ = NULL;
2909
 
        GMenuItem* _tmp28_ = NULL;
2910
 
        GMenu* _tmp29_ = NULL;
2911
 
        GtkMenu* _tmp30_ = NULL;
2912
 
        GtkBuilder* _tmp39_ = NULL;
2913
 
        GObject* _tmp40_ = NULL;
2914
 
        GtkGrid* _tmp41_ = NULL;
2915
 
        GtkBuilder* _tmp42_ = NULL;
2916
 
        GObject* _tmp43_ = NULL;
2917
 
        GtkWidget* _tmp44_ = NULL;
2918
 
        GtkBuilder* _tmp45_ = NULL;
2919
 
        GObject* _tmp46_ = NULL;
2920
 
        GtkClutterEmbed* _tmp47_ = NULL;
2921
 
        GtkClutterEmbed* _tmp48_ = NULL;
2922
 
        ClutterActor* _tmp49_ = NULL;
2923
 
        ClutterStage* _tmp50_ = NULL;
2924
 
        GtkBuilder* _tmp51_ = NULL;
2925
 
        GObject* _tmp52_ = NULL;
2926
 
        GtkAlignment* _tmp53_ = NULL;
2927
 
        GtkBuilder* _tmp54_ = NULL;
2928
 
        GObject* _tmp55_ = NULL;
2929
 
        GtkAlignment* _tmp56_ = NULL;
2930
 
        GtkBuilder* _tmp57_ = NULL;
2931
 
        GObject* _tmp58_ = NULL;
2932
 
        GtkGrid* _tmp59_ = NULL;
2933
 
        GtkBuilder* _tmp60_ = NULL;
2934
 
        GObject* _tmp61_ = NULL;
2935
 
        GtkToggleButton* _tmp62_ = NULL;
2936
 
        GtkBuilder* _tmp63_ = NULL;
2937
 
        GObject* _tmp64_ = NULL;
2938
 
        GtkToggleButton* _tmp65_ = NULL;
2939
 
        GtkBuilder* _tmp66_ = NULL;
2940
 
        GObject* _tmp67_ = NULL;
2941
 
        GtkToggleButton* _tmp68_ = NULL;
2942
 
        GtkBuilder* _tmp69_ = NULL;
2943
 
        GObject* _tmp70_ = NULL;
2944
 
        GtkButton* _tmp71_ = NULL;
2945
 
        GtkBuilder* _tmp72_ = NULL;
2946
 
        GObject* _tmp73_ = NULL;
2947
 
        GtkLabel* _tmp74_ = NULL;
2948
 
        GtkBuilder* _tmp75_ = NULL;
2949
 
        GObject* _tmp76_ = NULL;
2950
 
        GtkImage* _tmp77_ = NULL;
2951
 
        GtkBuilder* _tmp78_ = NULL;
2952
 
        GObject* _tmp79_ = NULL;
2953
 
        GtkToggleButton* _tmp80_ = NULL;
2954
 
        GtkBuilder* _tmp81_ = NULL;
2955
 
        GObject* _tmp82_ = NULL;
2956
 
        GtkButton* _tmp83_ = NULL;
2957
 
        GtkBuilder* _tmp84_ = NULL;
2958
 
        GObject* _tmp85_ = NULL;
2959
 
        GtkGrid* _tmp86_ = NULL;
2960
 
        GtkBuilder* _tmp87_ = NULL;
2961
 
        GObject* _tmp88_ = NULL;
2962
 
        GtkAction* _tmp89_ = NULL;
2963
 
        GtkToggleButton* _tmp90_ = NULL;
2964
 
        GtkButton* _tmp91_ = NULL;
2965
 
        GtkToggleButton* _tmp92_ = NULL;
2966
 
        GtkButton* _tmp93_ = NULL;
2967
 
        GtkToggleButton* _tmp94_ = NULL;
2968
 
        GtkButton* _tmp95_ = NULL;
2969
 
        GtkButton* _tmp96_ = NULL;
2970
 
        GtkButton* _tmp97_ = NULL;
2971
 
        GtkToggleButton* _tmp98_ = NULL;
2972
 
        GtkButton* _tmp99_ = NULL;
2973
 
        GtkButton* _tmp100_ = NULL;
2974
 
        GtkButton* _tmp101_ = NULL;
2975
 
        GtkButton** _tmp102_ = NULL;
2976
 
        ClutterScript* _tmp103_ = NULL;
2977
 
        GObject* _tmp104_ = NULL;
2978
 
        ClutterTexture* _tmp105_ = NULL;
2979
 
        ClutterScript* _tmp106_ = NULL;
2980
 
        GObject* _tmp107_ = NULL;
2981
 
        ClutterActor* _tmp108_ = NULL;
2982
 
        ClutterScript* _tmp109_ = NULL;
2983
 
        GObject* _tmp110_ = NULL;
2984
 
        ClutterBinLayout* _tmp111_ = NULL;
2985
 
        ClutterScript* _tmp112_ = NULL;
2986
 
        GObject* _tmp113_ = NULL;
2987
 
        ClutterText* _tmp114_ = NULL;
2988
 
        ClutterScript* _tmp115_ = NULL;
2989
 
        GObject* _tmp116_ = NULL;
2990
 
        ClutterActor* _tmp117_ = NULL;
2991
 
        ClutterScript* _tmp118_ = NULL;
2992
 
        GObject* _tmp119_ = NULL;
2993
 
        ClutterText* _tmp120_ = NULL;
2994
 
        ClutterScript* _tmp121_ = NULL;
2995
 
        GObject* _tmp122_ = NULL;
2996
 
        ClutterText* _tmp123_ = NULL;
2997
 
        ClutterTexture* _tmp124_ = NULL;
2998
 
        ClutterTexture* _tmp125_ = NULL;
2999
 
        ClutterStage* _tmp126_ = NULL;
3000
 
        ClutterActor* _tmp127_ = NULL;
3001
 
        ClutterActor* _tmp128_ = NULL;
3002
 
        ClutterBinLayout* _tmp129_ = NULL;
3003
 
        ClutterStage* _tmp130_ = NULL;
3004
 
        ClutterActor* _tmp131_ = NULL;
3005
 
        ClutterStage* _tmp132_ = NULL;
3006
 
        ClutterText* _tmp133_ = NULL;
3007
 
        ClutterStage* _tmp134_ = NULL;
3008
 
        CheeseThumbView* _tmp135_ = NULL;
3009
 
        CheeseThumbView* _tmp136_ = NULL;
3010
 
        EogThumbNav* _tmp137_ = NULL;
3011
 
        GtkMenu* _tmp138_ = NULL;
3012
 
        CheeseThumbView* _tmp139_ = NULL;
 
2811
        GtkMenu* _tmp22_ = NULL;
 
2812
        GtkClutterEmbed* _tmp25_ = NULL;
 
2813
        ClutterActor* _tmp26_ = NULL;
 
2814
        ClutterStage* _tmp27_ = NULL;
 
2815
        ClutterScript* _tmp28_ = NULL;
 
2816
        GObject* _tmp29_ = NULL;
 
2817
        ClutterTexture* _tmp30_ = NULL;
 
2818
        ClutterScript* _tmp31_ = NULL;
 
2819
        GObject* _tmp32_ = NULL;
 
2820
        ClutterActor* _tmp33_ = NULL;
 
2821
        ClutterScript* _tmp34_ = NULL;
 
2822
        GObject* _tmp35_ = NULL;
 
2823
        ClutterBinLayout* _tmp36_ = NULL;
 
2824
        ClutterScript* _tmp37_ = NULL;
 
2825
        GObject* _tmp38_ = NULL;
 
2826
        ClutterText* _tmp39_ = NULL;
 
2827
        ClutterScript* _tmp40_ = NULL;
 
2828
        GObject* _tmp41_ = NULL;
 
2829
        ClutterActor* _tmp42_ = NULL;
 
2830
        ClutterScript* _tmp43_ = NULL;
 
2831
        GObject* _tmp44_ = NULL;
 
2832
        ClutterText* _tmp45_ = NULL;
 
2833
        ClutterScript* _tmp46_ = NULL;
 
2834
        GObject* _tmp47_ = NULL;
 
2835
        ClutterText* _tmp48_ = NULL;
 
2836
        ClutterTexture* _tmp49_ = NULL;
 
2837
        ClutterTexture* _tmp50_ = NULL;
 
2838
        ClutterStage* _tmp51_ = NULL;
 
2839
        ClutterActor* _tmp52_ = NULL;
 
2840
        ClutterActor* _tmp53_ = NULL;
 
2841
        ClutterBinLayout* _tmp54_ = NULL;
 
2842
        ClutterStage* _tmp55_ = NULL;
 
2843
        ClutterActor* _tmp56_ = NULL;
 
2844
        ClutterStage* _tmp57_ = NULL;
 
2845
        ClutterText* _tmp58_ = NULL;
 
2846
        ClutterStage* _tmp59_ = NULL;
 
2847
        CheeseThumbView* _tmp60_ = NULL;
 
2848
        CheeseThumbView* _tmp61_ = NULL;
 
2849
        EogThumbNav* _tmp62_ = NULL;
 
2850
        GtkMenu* _tmp63_ = NULL;
 
2851
        CheeseThumbView* _tmp64_ = NULL;
3013
2852
        GtkCssProvider* css = NULL;
3014
 
        GdkScreen* _tmp146_ = NULL;
3015
 
        GdkScreen* _tmp147_ = NULL;
3016
 
        CheeseThumbView* _tmp148_ = NULL;
3017
 
        GtkGrid* _tmp149_ = NULL;
3018
 
        GtkGrid* _tmp150_ = NULL;
3019
 
        GtkClutterEmbed* _tmp151_ = NULL;
 
2853
        GdkScreen* _tmp68_ = NULL;
 
2854
        GdkScreen* _tmp69_ = NULL;
 
2855
        CheeseThumbView* _tmp70_ = NULL;
 
2856
        GtkClutterEmbed* _tmp71_ = NULL;
3020
2857
        GError * _inner_error_ = NULL;
3021
2858
        g_return_if_fail (self != NULL);
3022
 
        _tmp0_ = gtk_builder_new ();
3023
 
        _g_object_unref0 (self->priv->gtk_builder);
3024
 
        self->priv->gtk_builder = _tmp0_;
3025
 
        _tmp1_ = clutter_script_new ();
 
2859
        _tmp0_ = clutter_script_new ();
3026
2860
        _g_object_unref0 (self->priv->clutter_builder);
3027
 
        self->priv->clutter_builder = _tmp1_;
3028
 
        _tmp2_ = cheese_fileutil_new ();
 
2861
        self->priv->clutter_builder = _tmp0_;
 
2862
        _tmp1_ = cheese_fileutil_new ();
3029
2863
        _g_object_unref0 (self->priv->fileutil);
3030
 
        self->priv->fileutil = _tmp2_;
3031
 
        _tmp3_ = cheese_flash_new ((GtkWidget*) self);
3032
 
        g_object_ref_sink (_tmp3_);
 
2864
        self->priv->fileutil = _tmp1_;
 
2865
        _tmp2_ = cheese_flash_new ((GtkWidget*) self);
 
2866
        g_object_ref_sink (_tmp2_);
3033
2867
        _g_object_unref0 (self->priv->flash);
3034
 
        self->priv->flash = _tmp3_;
3035
 
        _tmp4_ = g_settings_new ("org.gnome.Cheese");
 
2868
        self->priv->flash = _tmp2_;
 
2869
        _tmp3_ = g_settings_new ("org.gnome.Cheese");
3036
2870
        _g_object_unref0 (self->priv->settings);
3037
 
        self->priv->settings = _tmp4_;
 
2871
        self->priv->settings = _tmp3_;
 
2872
        _tmp4_ = g_menu_new ();
 
2873
        menu = _tmp4_;
3038
2874
        _tmp5_ = g_menu_new ();
3039
 
        menu = _tmp5_;
3040
 
        _tmp6_ = g_menu_new ();
3041
 
        section = _tmp6_;
3042
 
        _tmp7_ = menu;
3043
 
        _tmp8_ = section;
3044
 
        g_menu_append_section (_tmp7_, NULL, (GMenuModel*) _tmp8_);
3045
 
        _tmp9_ = _ ("Open");
3046
 
        _tmp10_ = g_menu_item_new (_tmp9_, "win.file-open");
3047
 
        item = _tmp10_;
3048
 
        _tmp11_ = item;
3049
 
        g_menu_item_set_attribute (_tmp11_, "accel", "s", "<Primary>o", NULL);
3050
 
        _tmp12_ = section;
 
2875
        section = _tmp5_;
 
2876
        g_menu_append_section (menu, NULL, (GMenuModel*) section);
 
2877
        _tmp6_ = _ ("Open");
 
2878
        _tmp7_ = g_menu_item_new (_tmp6_, "win.file-open");
 
2879
        item = _tmp7_;
 
2880
        _tmp8_ = item;
 
2881
        g_menu_item_set_attribute (_tmp8_, "accel", "s", "<Primary>o", NULL);
 
2882
        _tmp9_ = item;
 
2883
        g_menu_append_item (section, _tmp9_);
 
2884
        _tmp10_ = _ ("Save _As…");
 
2885
        _tmp11_ = g_menu_item_new (_tmp10_, "win.file-saveas");
 
2886
        _g_object_unref0 (item);
 
2887
        item = _tmp11_;
 
2888
        _tmp12_ = item;
 
2889
        g_menu_item_set_attribute (_tmp12_, "accel", "s", "<Primary>S", NULL);
3051
2890
        _tmp13_ = item;
3052
 
        g_menu_append_item (_tmp12_, _tmp13_);
3053
 
        _tmp14_ = _ ("Save _As…");
3054
 
        _tmp15_ = g_menu_item_new (_tmp14_, "win.file-saveas");
 
2891
        g_menu_append_item (section, _tmp13_);
 
2892
        _tmp14_ = _ ("Move to _Trash");
 
2893
        _tmp15_ = g_menu_item_new (_tmp14_, "win.file-trash");
3055
2894
        _g_object_unref0 (item);
3056
2895
        item = _tmp15_;
3057
2896
        _tmp16_ = item;
3058
 
        g_menu_item_set_attribute (_tmp16_, "accel", "s", "<Primary>S", NULL);
3059
 
        _tmp17_ = section;
3060
 
        _tmp18_ = item;
3061
 
        g_menu_append_item (_tmp17_, _tmp18_);
3062
 
        _tmp19_ = _ ("Move to _Trash");
3063
 
        _tmp20_ = g_menu_item_new (_tmp19_, "win.file-trash");
 
2897
        g_menu_item_set_attribute (_tmp16_, "accel", "s", "Delete", NULL);
 
2898
        _tmp17_ = item;
 
2899
        g_menu_append_item (section, _tmp17_);
 
2900
        _tmp18_ = _ ("Delete");
 
2901
        _tmp19_ = g_menu_item_new (_tmp18_, "win.file-delete");
3064
2902
        _g_object_unref0 (item);
3065
 
        item = _tmp20_;
 
2903
        item = _tmp19_;
 
2904
        _tmp20_ = item;
 
2905
        g_menu_item_set_attribute (_tmp20_, "accel", "s", "<Shift>Delete", NULL);
3066
2906
        _tmp21_ = item;
3067
 
        g_menu_item_set_attribute (_tmp21_, "accel", "s", "Delete", NULL);
3068
 
        _tmp22_ = section;
3069
 
        _tmp23_ = item;
3070
 
        g_menu_append_item (_tmp22_, _tmp23_);
3071
 
        _tmp24_ = _ ("Delete");
3072
 
        _tmp25_ = g_menu_item_new (_tmp24_, "win.file-delete");
3073
 
        _g_object_unref0 (item);
3074
 
        item = _tmp25_;
3075
 
        _tmp26_ = item;
3076
 
        g_menu_item_set_attribute (_tmp26_, "accel", "s", "<Shift>Delete", NULL);
3077
 
        _tmp27_ = section;
3078
 
        _tmp28_ = item;
3079
 
        g_menu_append_item (_tmp27_, _tmp28_);
3080
 
        _tmp29_ = menu;
3081
 
        _tmp30_ = (GtkMenu*) gtk_menu_new_from_model ((GMenuModel*) _tmp29_);
3082
 
        g_object_ref_sink (_tmp30_);
 
2907
        g_menu_append_item (section, _tmp21_);
 
2908
        _tmp22_ = (GtkMenu*) gtk_menu_new_from_model ((GMenuModel*) menu);
 
2909
        g_object_ref_sink (_tmp22_);
3083
2910
        _g_object_unref0 (self->priv->thumbnail_popup);
3084
 
        self->priv->thumbnail_popup = _tmp30_;
 
2911
        self->priv->thumbnail_popup = _tmp22_;
3085
2912
        g_action_map_add_action_entries ((GActionMap*) self, CHEESE_MAIN_WINDOW_actions, G_N_ELEMENTS (CHEESE_MAIN_WINDOW_actions), self);
3086
2913
        {
3087
 
                GtkBuilder* _tmp31_ = NULL;
3088
 
                gchar* _tmp32_ = NULL;
3089
 
                gchar* _tmp33_ = NULL;
3090
 
                GtkBuilder* _tmp34_ = NULL;
3091
 
                ClutterScript* _tmp35_ = NULL;
3092
 
                gchar* _tmp36_ = NULL;
3093
 
                gchar* _tmp37_ = NULL;
3094
 
                _tmp31_ = self->priv->gtk_builder;
3095
 
                _tmp32_ = g_build_filename (PACKAGE_DATADIR, "cheese-main-window.ui", NULL);
3096
 
                _tmp33_ = _tmp32_;
3097
 
                gtk_builder_add_from_file (_tmp31_, _tmp33_, &_inner_error_);
3098
 
                _g_free0 (_tmp33_);
3099
 
                if (_inner_error_ != NULL) {
3100
 
                        goto __catch11_g_error;
3101
 
                }
3102
 
                _tmp34_ = self->priv->gtk_builder;
3103
 
                gtk_builder_connect_signals (_tmp34_, self);
3104
 
                _tmp35_ = self->priv->clutter_builder;
3105
 
                _tmp36_ = g_build_filename (PACKAGE_DATADIR, "cheese-viewport.json", NULL);
3106
 
                _tmp37_ = _tmp36_;
3107
 
                clutter_script_load_from_file (_tmp35_, _tmp37_, &_inner_error_);
3108
 
                _g_free0 (_tmp37_);
3109
 
                if (_inner_error_ != NULL) {
3110
 
                        goto __catch11_g_error;
 
2914
                ClutterScript* _tmp23_ = NULL;
 
2915
                _tmp23_ = self->priv->clutter_builder;
 
2916
                clutter_script_load_from_resource (_tmp23_, "/org/gnome/Cheese/cheese-viewport.json", &_inner_error_);
 
2917
                if (_inner_error_ != NULL) {
 
2918
                        goto __catch8_g_error;
3111
2919
                }
3112
2920
        }
3113
 
        goto __finally11;
3114
 
        __catch11_g_error:
 
2921
        goto __finally8;
 
2922
        __catch8_g_error:
3115
2923
        {
3116
2924
                GError* err = NULL;
3117
 
                const gchar* _tmp38_ = NULL;
 
2925
                const gchar* _tmp24_ = NULL;
3118
2926
                err = _inner_error_;
3119
2927
                _inner_error_ = NULL;
3120
 
                _tmp38_ = err->message;
3121
 
                g_error ("cheese-window.vala:1197: Error: %s", _tmp38_);
 
2928
                _tmp24_ = err->message;
 
2929
                g_error ("cheese-window.vala:1212: Error: %s", _tmp24_);
3122
2930
                _g_error_free0 (err);
3123
2931
        }
3124
 
        __finally11:
 
2932
        __finally8:
3125
2933
        if (_inner_error_ != NULL) {
3126
2934
                _g_object_unref0 (item);
3127
2935
                _g_object_unref0 (section);
3130
2938
                g_clear_error (&_inner_error_);
3131
2939
                return;
3132
2940
        }
3133
 
        _tmp39_ = self->priv->gtk_builder;
3134
 
        _tmp40_ = gtk_builder_get_object (_tmp39_, "mainbox_normal");
3135
 
        _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, GTK_TYPE_GRID) ? ((GtkGrid*) _tmp40_) : NULL);
3136
 
        _g_object_unref0 (self->priv->main_vbox);
3137
 
        self->priv->main_vbox = _tmp41_;
3138
 
        _tmp42_ = self->priv->gtk_builder;
3139
 
        _tmp43_ = gtk_builder_get_object (_tmp42_, "thumbnails");
3140
 
        _tmp44_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp43_, GTK_TYPE_WIDGET) ? ((GtkWidget*) _tmp43_) : NULL);
3141
 
        _g_object_unref0 (self->priv->thumbnails);
3142
 
        self->priv->thumbnails = _tmp44_;
3143
 
        _tmp45_ = self->priv->gtk_builder;
3144
 
        _tmp46_ = gtk_builder_get_object (_tmp45_, "viewport");
3145
 
        _tmp47_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp46_, gtk_clutter_embed_get_type ()) ? ((GtkClutterEmbed*) _tmp46_) : NULL);
3146
 
        _g_object_unref0 (self->priv->viewport_widget);
3147
 
        self->priv->viewport_widget = _tmp47_;
3148
 
        _tmp48_ = self->priv->viewport_widget;
3149
 
        _tmp49_ = gtk_clutter_embed_get_stage (_tmp48_);
3150
 
        _tmp50_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp49_, clutter_stage_get_type ()) ? ((ClutterStage*) _tmp49_) : NULL);
 
2941
        _tmp25_ = self->priv->viewport_widget;
 
2942
        _tmp26_ = gtk_clutter_embed_get_stage (_tmp25_);
 
2943
        _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, clutter_stage_get_type ()) ? ((ClutterStage*) _tmp26_) : NULL);
3151
2944
        _g_object_unref0 (self->priv->viewport);
3152
 
        self->priv->viewport = _tmp50_;
3153
 
        _tmp51_ = self->priv->gtk_builder;
3154
 
        _tmp52_ = gtk_builder_get_object (_tmp51_, "thumbnails_right");
3155
 
        _tmp53_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp52_, GTK_TYPE_ALIGNMENT) ? ((GtkAlignment*) _tmp52_) : NULL);
3156
 
        _g_object_unref0 (self->priv->thumbnails_right);
3157
 
        self->priv->thumbnails_right = _tmp53_;
3158
 
        _tmp54_ = self->priv->gtk_builder;
3159
 
        _tmp55_ = gtk_builder_get_object (_tmp54_, "thumbnails_bottom");
3160
 
        _tmp56_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp55_, GTK_TYPE_ALIGNMENT) ? ((GtkAlignment*) _tmp55_) : NULL);
3161
 
        _g_object_unref0 (self->priv->thumbnails_bottom);
3162
 
        self->priv->thumbnails_bottom = _tmp56_;
3163
 
        _tmp57_ = self->priv->gtk_builder;
3164
 
        _tmp58_ = gtk_builder_get_object (_tmp57_, "leave_fullscreen_button_bin");
3165
 
        _tmp59_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp58_, GTK_TYPE_GRID) ? ((GtkGrid*) _tmp58_) : NULL);
3166
 
        _g_object_unref0 (self->priv->leave_fullscreen_button_container);
3167
 
        self->priv->leave_fullscreen_button_container = _tmp59_;
3168
 
        _tmp60_ = self->priv->gtk_builder;
3169
 
        _tmp61_ = gtk_builder_get_object (_tmp60_, "photo_toggle_button");
3170
 
        _tmp62_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp61_, GTK_TYPE_TOGGLE_BUTTON) ? ((GtkToggleButton*) _tmp61_) : NULL);
3171
 
        _g_object_unref0 (self->priv->photo_toggle_button);
3172
 
        self->priv->photo_toggle_button = _tmp62_;
3173
 
        _tmp63_ = self->priv->gtk_builder;
3174
 
        _tmp64_ = gtk_builder_get_object (_tmp63_, "video_toggle_button");
3175
 
        _tmp65_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp64_, GTK_TYPE_TOGGLE_BUTTON) ? ((GtkToggleButton*) _tmp64_) : NULL);
3176
 
        _g_object_unref0 (self->priv->video_toggle_button);
3177
 
        self->priv->video_toggle_button = _tmp65_;
3178
 
        _tmp66_ = self->priv->gtk_builder;
3179
 
        _tmp67_ = gtk_builder_get_object (_tmp66_, "burst_toggle_button");
3180
 
        _tmp68_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp67_, GTK_TYPE_TOGGLE_BUTTON) ? ((GtkToggleButton*) _tmp67_) : NULL);
3181
 
        _g_object_unref0 (self->priv->burst_toggle_button);
3182
 
        self->priv->burst_toggle_button = _tmp68_;
3183
 
        _tmp69_ = self->priv->gtk_builder;
3184
 
        _tmp70_ = gtk_builder_get_object (_tmp69_, "take_action_button");
3185
 
        _tmp71_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp70_, GTK_TYPE_BUTTON) ? ((GtkButton*) _tmp70_) : NULL);
3186
 
        _g_object_unref0 (self->priv->take_action_button);
3187
 
        self->priv->take_action_button = _tmp71_;
3188
 
        _tmp72_ = self->priv->gtk_builder;
3189
 
        _tmp73_ = gtk_builder_get_object (_tmp72_, "take_action_button_internal_label");
3190
 
        _tmp74_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp73_, GTK_TYPE_LABEL) ? ((GtkLabel*) _tmp73_) : NULL);
3191
 
        _g_object_unref0 (self->priv->take_action_button_label);
3192
 
        self->priv->take_action_button_label = _tmp74_;
3193
 
        _tmp75_ = self->priv->gtk_builder;
3194
 
        _tmp76_ = gtk_builder_get_object (_tmp75_, "take_action_button_internal_image");
3195
 
        _tmp77_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp76_, GTK_TYPE_IMAGE) ? ((GtkImage*) _tmp76_) : NULL);
3196
 
        _g_object_unref0 (self->priv->take_action_button_image);
3197
 
        self->priv->take_action_button_image = _tmp77_;
3198
 
        _tmp78_ = self->priv->gtk_builder;
3199
 
        _tmp79_ = gtk_builder_get_object (_tmp78_, "effects_toggle_button");
3200
 
        _tmp80_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp79_, GTK_TYPE_TOGGLE_BUTTON) ? ((GtkToggleButton*) _tmp79_) : NULL);
3201
 
        _g_object_unref0 (self->priv->effects_toggle_button);
3202
 
        self->priv->effects_toggle_button = _tmp80_;
3203
 
        _tmp81_ = self->priv->gtk_builder;
3204
 
        _tmp82_ = gtk_builder_get_object (_tmp81_, "leave_fullscreen_button");
3205
 
        _tmp83_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp82_, GTK_TYPE_BUTTON) ? ((GtkButton*) _tmp82_) : NULL);
3206
 
        _g_object_unref0 (self->priv->leave_fullscreen_button);
3207
 
        self->priv->leave_fullscreen_button = _tmp83_;
3208
 
        _tmp84_ = self->priv->gtk_builder;
3209
 
        _tmp85_ = gtk_builder_get_object (_tmp84_, "buttons_area");
3210
 
        _tmp86_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp85_, GTK_TYPE_GRID) ? ((GtkGrid*) _tmp85_) : NULL);
3211
 
        _g_object_unref0 (self->priv->buttons_area);
3212
 
        self->priv->buttons_area = _tmp86_;
3213
 
        _tmp87_ = self->priv->gtk_builder;
3214
 
        _tmp88_ = gtk_builder_get_object (_tmp87_, "countdown");
3215
 
        _tmp89_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp88_, GTK_TYPE_ACTION) ? ((GtkAction*) _tmp88_) : NULL);
3216
 
        _g_object_unref0 (self->priv->countdown_action);
3217
 
        self->priv->countdown_action = _tmp89_;
3218
 
        _tmp90_ = self->priv->photo_toggle_button;
3219
 
        _tmp91_ = _g_object_ref0 ((GtkButton*) _tmp90_);
3220
 
        _tmp92_ = self->priv->video_toggle_button;
3221
 
        _tmp93_ = _g_object_ref0 ((GtkButton*) _tmp92_);
3222
 
        _tmp94_ = self->priv->burst_toggle_button;
3223
 
        _tmp95_ = _g_object_ref0 ((GtkButton*) _tmp94_);
3224
 
        _tmp96_ = self->priv->take_action_button;
3225
 
        _tmp97_ = _g_object_ref0 (_tmp96_);
3226
 
        _tmp98_ = self->priv->effects_toggle_button;
3227
 
        _tmp99_ = _g_object_ref0 ((GtkButton*) _tmp98_);
3228
 
        _tmp100_ = self->priv->leave_fullscreen_button;
3229
 
        _tmp101_ = _g_object_ref0 (_tmp100_);
3230
 
        _tmp102_ = g_new0 (GtkButton*, 6 + 1);
3231
 
        _tmp102_[0] = _tmp91_;
3232
 
        _tmp102_[1] = _tmp93_;
3233
 
        _tmp102_[2] = _tmp95_;
3234
 
        _tmp102_[3] = _tmp97_;
3235
 
        _tmp102_[4] = _tmp99_;
3236
 
        _tmp102_[5] = _tmp101_;
3237
 
        self->priv->buttons = (_vala_array_free (self->priv->buttons, self->priv->buttons_length1, (GDestroyNotify) g_object_unref), NULL);
3238
 
        self->priv->buttons = _tmp102_;
3239
 
        self->priv->buttons_length1 = 6;
3240
 
        self->priv->_buttons_size_ = self->priv->buttons_length1;
3241
 
        _tmp103_ = self->priv->clutter_builder;
3242
 
        _tmp104_ = clutter_script_get_object (_tmp103_, "video_preview");
3243
 
        _tmp105_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp104_, clutter_texture_get_type ()) ? ((ClutterTexture*) _tmp104_) : NULL);
 
2945
        self->priv->viewport = _tmp27_;
 
2946
        _tmp28_ = self->priv->clutter_builder;
 
2947
        _tmp29_ = clutter_script_get_object (_tmp28_, "video_preview");
 
2948
        _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, clutter_texture_get_type ()) ? ((ClutterTexture*) _tmp29_) : NULL);
3244
2949
        _g_object_unref0 (self->priv->video_preview);
3245
 
        self->priv->video_preview = _tmp105_;
3246
 
        _tmp106_ = self->priv->clutter_builder;
3247
 
        _tmp107_ = clutter_script_get_object (_tmp106_, "viewport_layout");
3248
 
        _tmp108_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp107_, clutter_actor_get_type ()) ? ((ClutterActor*) _tmp107_) : NULL);
 
2950
        self->priv->video_preview = _tmp30_;
 
2951
        _tmp31_ = self->priv->clutter_builder;
 
2952
        _tmp32_ = clutter_script_get_object (_tmp31_, "viewport_layout");
 
2953
        _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, clutter_actor_get_type ()) ? ((ClutterActor*) _tmp32_) : NULL);
3249
2954
        _g_object_unref0 (self->priv->viewport_layout);
3250
 
        self->priv->viewport_layout = _tmp108_;
3251
 
        _tmp109_ = self->priv->clutter_builder;
3252
 
        _tmp110_ = clutter_script_get_object (_tmp109_, "viewport_layout_manager");
3253
 
        _tmp111_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp110_, clutter_bin_layout_get_type ()) ? ((ClutterBinLayout*) _tmp110_) : NULL);
 
2955
        self->priv->viewport_layout = _tmp33_;
 
2956
        _tmp34_ = self->priv->clutter_builder;
 
2957
        _tmp35_ = clutter_script_get_object (_tmp34_, "viewport_layout_manager");
 
2958
        _tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp35_, clutter_bin_layout_get_type ()) ? ((ClutterBinLayout*) _tmp35_) : NULL);
3254
2959
        _g_object_unref0 (self->priv->viewport_layout_manager);
3255
 
        self->priv->viewport_layout_manager = _tmp111_;
3256
 
        _tmp112_ = self->priv->clutter_builder;
3257
 
        _tmp113_ = clutter_script_get_object (_tmp112_, "countdown_layer");
3258
 
        _tmp114_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp113_, clutter_text_get_type ()) ? ((ClutterText*) _tmp113_) : NULL);
 
2960
        self->priv->viewport_layout_manager = _tmp36_;
 
2961
        _tmp37_ = self->priv->clutter_builder;
 
2962
        _tmp38_ = clutter_script_get_object (_tmp37_, "countdown_layer");
 
2963
        _tmp39_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp38_, clutter_text_get_type ()) ? ((ClutterText*) _tmp38_) : NULL);
3259
2964
        _g_object_unref0 (self->priv->countdown_layer);
3260
 
        self->priv->countdown_layer = _tmp114_;
3261
 
        _tmp115_ = self->priv->clutter_builder;
3262
 
        _tmp116_ = clutter_script_get_object (_tmp115_, "background");
3263
 
        _tmp117_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp116_, clutter_actor_get_type ()) ? ((ClutterActor*) _tmp116_) : NULL);
 
2965
        self->priv->countdown_layer = _tmp39_;
 
2966
        _tmp40_ = self->priv->clutter_builder;
 
2967
        _tmp41_ = clutter_script_get_object (_tmp40_, "background");
 
2968
        _tmp42_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp41_, clutter_actor_get_type ()) ? ((ClutterActor*) _tmp41_) : NULL);
3264
2969
        _g_object_unref0 (self->priv->background_layer);
3265
 
        self->priv->background_layer = _tmp117_;
3266
 
        _tmp118_ = self->priv->clutter_builder;
3267
 
        _tmp119_ = clutter_script_get_object (_tmp118_, "error_layer");
3268
 
        _tmp120_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp119_, clutter_text_get_type ()) ? ((ClutterText*) _tmp119_) : NULL);
 
2970
        self->priv->background_layer = _tmp42_;
 
2971
        _tmp43_ = self->priv->clutter_builder;
 
2972
        _tmp44_ = clutter_script_get_object (_tmp43_, "error_layer");
 
2973
        _tmp45_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp44_, clutter_text_get_type ()) ? ((ClutterText*) _tmp44_) : NULL);
3269
2974
        _g_object_unref0 (self->priv->error_layer);
3270
 
        self->priv->error_layer = _tmp120_;
3271
 
        _tmp121_ = self->priv->clutter_builder;
3272
 
        _tmp122_ = clutter_script_get_object (_tmp121_, "timeout_layer");
3273
 
        _tmp123_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp122_, clutter_text_get_type ()) ? ((ClutterText*) _tmp122_) : NULL);
 
2975
        self->priv->error_layer = _tmp45_;
 
2976
        _tmp46_ = self->priv->clutter_builder;
 
2977
        _tmp47_ = clutter_script_get_object (_tmp46_, "timeout_layer");
 
2978
        _tmp48_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp47_, clutter_text_get_type ()) ? ((ClutterText*) _tmp47_) : NULL);
3274
2979
        _g_object_unref0 (self->priv->timeout_layer);
3275
 
        self->priv->timeout_layer = _tmp123_;
3276
 
        _tmp124_ = self->priv->video_preview;
3277
 
        clutter_texture_set_keep_aspect_ratio (_tmp124_, TRUE);
3278
 
        _tmp125_ = self->priv->video_preview;
3279
 
        clutter_actor_set_request_mode ((ClutterActor*) _tmp125_, CLUTTER_REQUEST_HEIGHT_FOR_WIDTH);
3280
 
        _tmp126_ = self->priv->viewport;
3281
 
        _tmp127_ = self->priv->background_layer;
3282
 
        clutter_actor_add_child ((ClutterActor*) _tmp126_, _tmp127_);
3283
 
        _tmp128_ = self->priv->viewport_layout;
3284
 
        _tmp129_ = self->priv->viewport_layout_manager;
3285
 
        clutter_actor_set_layout_manager (_tmp128_, (ClutterLayoutManager*) _tmp129_);
3286
 
        _tmp130_ = self->priv->viewport;
3287
 
        _tmp131_ = self->priv->viewport_layout;
3288
 
        clutter_actor_add_child ((ClutterActor*) _tmp130_, _tmp131_);
3289
 
        _tmp132_ = self->priv->viewport;
3290
 
        _tmp133_ = self->priv->timeout_layer;
3291
 
        clutter_actor_add_child ((ClutterActor*) _tmp132_, (ClutterActor*) _tmp133_);
3292
 
        _tmp134_ = self->priv->viewport;
3293
 
        g_signal_connect_object ((ClutterActor*) _tmp134_, "allocation-changed", (GCallback) _cheese_main_window_on_stage_resize_clutter_actor_allocation_changed, self, 0);
3294
 
        _tmp135_ = cheese_thumb_view_new ();
3295
 
        g_object_ref_sink (_tmp135_);
 
2980
        self->priv->timeout_layer = _tmp48_;
 
2981
        _tmp49_ = self->priv->video_preview;
 
2982
        clutter_texture_set_keep_aspect_ratio (_tmp49_, TRUE);
 
2983
        _tmp50_ = self->priv->video_preview;
 
2984
        clutter_actor_set_request_mode ((ClutterActor*) _tmp50_, CLUTTER_REQUEST_HEIGHT_FOR_WIDTH);
 
2985
        _tmp51_ = self->priv->viewport;
 
2986
        _tmp52_ = self->priv->background_layer;
 
2987
        clutter_actor_add_child ((ClutterActor*) _tmp51_, _tmp52_);
 
2988
        _tmp53_ = self->priv->viewport_layout;
 
2989
        _tmp54_ = self->priv->viewport_layout_manager;
 
2990
        clutter_actor_set_layout_manager (_tmp53_, (ClutterLayoutManager*) _tmp54_);
 
2991
        _tmp55_ = self->priv->viewport;
 
2992
        _tmp56_ = self->priv->viewport_layout;
 
2993
        clutter_actor_add_child ((ClutterActor*) _tmp55_, _tmp56_);
 
2994
        _tmp57_ = self->priv->viewport;
 
2995
        _tmp58_ = self->priv->timeout_layer;
 
2996
        clutter_actor_add_child ((ClutterActor*) _tmp57_, (ClutterActor*) _tmp58_);
 
2997
        _tmp59_ = self->priv->viewport;
 
2998
        g_signal_connect_object ((ClutterActor*) _tmp59_, "allocation-changed", (GCallback) _cheese_main_window_on_stage_resize_clutter_actor_allocation_changed, self, 0);
 
2999
        _tmp60_ = cheese_thumb_view_new ();
 
3000
        g_object_ref_sink (_tmp60_);
3296
3001
        _g_object_unref0 (self->priv->thumb_view);
3297
 
        self->priv->thumb_view = _tmp135_;
3298
 
        _tmp136_ = self->priv->thumb_view;
3299
 
        _tmp137_ = eog_thumb_nav_new ((GtkWidget*) _tmp136_, FALSE);
3300
 
        g_object_ref_sink (_tmp137_);
 
3002
        self->priv->thumb_view = _tmp60_;
 
3003
        _tmp61_ = self->priv->thumb_view;
 
3004
        _tmp62_ = eog_thumb_nav_new ((GtkWidget*) _tmp61_, FALSE);
 
3005
        g_object_ref_sink (_tmp62_);
3301
3006
        _g_object_unref0 (self->priv->thumb_nav);
3302
 
        self->priv->thumb_nav = _tmp137_;
3303
 
        _tmp138_ = self->priv->thumbnail_popup;
3304
 
        _tmp139_ = self->priv->thumb_view;
3305
 
        gtk_menu_attach_to_widget (_tmp138_, (GtkWidget*) _tmp139_, NULL);
 
3007
        self->priv->thumb_nav = _tmp62_;
 
3008
        _tmp63_ = self->priv->thumbnail_popup;
 
3009
        _tmp64_ = self->priv->thumb_view;
 
3010
        gtk_menu_attach_to_widget (_tmp63_, (GtkWidget*) _tmp64_, NULL);
3306
3011
        {
3307
 
                GtkCssProvider* _tmp140_ = NULL;
3308
 
                gchar* _tmp141_ = NULL;
3309
 
                gchar* _tmp142_ = NULL;
3310
 
                _tmp140_ = gtk_css_provider_new ();
 
3012
                GFile* file = NULL;
 
3013
                GFile* _tmp65_ = NULL;
 
3014
                GtkCssProvider* _tmp66_ = NULL;
 
3015
                _tmp65_ = g_file_new_for_uri ("resource:///org/gnome/Cheese/cheese.css");
 
3016
                file = _tmp65_;
 
3017
                _tmp66_ = gtk_css_provider_new ();
3311
3018
                _g_object_unref0 (css);
3312
 
                css = _tmp140_;
3313
 
                _tmp141_ = g_build_filename (PACKAGE_DATADIR, "cheese.css", NULL);
3314
 
                _tmp142_ = _tmp141_;
3315
 
                gtk_css_provider_load_from_path (css, _tmp142_, &_inner_error_);
3316
 
                _g_free0 (_tmp142_);
 
3019
                css = _tmp66_;
 
3020
                gtk_css_provider_load_from_file (css, file, &_inner_error_);
3317
3021
                if (_inner_error_ != NULL) {
3318
 
                        goto __catch12_g_error;
 
3022
                        _g_object_unref0 (file);
 
3023
                        goto __catch9_g_error;
3319
3024
                }
 
3025
                _g_object_unref0 (file);
3320
3026
        }
3321
 
        goto __finally12;
3322
 
        __catch12_g_error:
 
3027
        goto __finally9;
 
3028
        __catch9_g_error:
3323
3029
        {
3324
3030
                GError* e = NULL;
3325
 
                FILE* _tmp143_ = NULL;
3326
 
                GError* _tmp144_ = NULL;
3327
 
                const gchar* _tmp145_ = NULL;
 
3031
                const gchar* _tmp67_ = NULL;
3328
3032
                e = _inner_error_;
3329
3033
                _inner_error_ = NULL;
3330
 
                _tmp143_ = stdout;
3331
 
                _tmp144_ = e;
3332
 
                _tmp145_ = _tmp144_->message;
3333
 
                fprintf (_tmp143_, "Error: %s\n", _tmp145_);
 
3034
                _tmp67_ = e->message;
 
3035
                g_error ("cheese-window.vala:1249: Error parsing CSS: %s\n", _tmp67_);
3334
3036
                _g_error_free0 (e);
3335
3037
        }
3336
 
        __finally12:
 
3038
        __finally9:
3337
3039
        if (_inner_error_ != NULL) {
3338
3040
                _g_object_unref0 (css);
3339
3041
                _g_object_unref0 (item);
3343
3045
                g_clear_error (&_inner_error_);
3344
3046
                return;
3345
3047
        }
3346
 
        _tmp146_ = gtk_window_get_screen ((GtkWindow*) self);
3347
 
        _tmp147_ = _tmp146_;
3348
 
        gtk_style_context_add_provider_for_screen (_tmp147_, (GtkStyleProvider*) css, (guint) GTK_STYLE_PROVIDER_PRIORITY_USER);
3349
 
        _tmp148_ = self->priv->thumb_view;
3350
 
        g_signal_connect_object ((GtkWidget*) _tmp148_, "button-press-event", (GCallback) _cheese_main_window_on_thumbnail_button_press_event_gtk_widget_button_press_event, self, 0);
3351
 
        _tmp149_ = self->priv->main_vbox;
3352
 
        gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp149_);
3353
 
        _tmp150_ = self->priv->main_vbox;
3354
 
        gtk_widget_show_all ((GtkWidget*) _tmp150_);
3355
 
        _tmp151_ = self->priv->viewport_widget;
3356
 
        gtk_widget_realize ((GtkWidget*) _tmp151_);
 
3048
        _tmp68_ = gtk_window_get_screen ((GtkWindow*) self);
 
3049
        _tmp69_ = _tmp68_;
 
3050
        gtk_style_context_add_provider_for_screen (_tmp69_, (GtkStyleProvider*) css, (guint) GTK_STYLE_PROVIDER_PRIORITY_USER);
 
3051
        _tmp70_ = self->priv->thumb_view;
 
3052
        g_signal_connect_object ((GtkWidget*) _tmp70_, "button-press-event", (GCallback) _cheese_main_window_on_thumbnail_button_press_event_gtk_widget_button_press_event, self, 0);
 
3053
        _tmp71_ = self->priv->viewport_widget;
 
3054
        gtk_widget_realize ((GtkWidget*) _tmp71_);
3357
3055
        cheese_main_window_set_wide_mode (self, FALSE);
3358
 
        cheese_main_window_set_mode (self, CHEESE_MEDIA_MODE_PHOTO);
3359
3056
        cheese_main_window_setup_effects_selector (self);
3360
3057
        g_signal_connect_object ((GtkWidget*) self, "key-release-event", (GCallback) _cheese_main_window_on_key_release_gtk_widget_key_release_event, self, 0);
3361
3058
        _g_object_unref0 (css);
3414
3111
        self->priv->current_mode = _tmp0_;
3415
3112
        _tmp1_ = self->priv->current_mode;
3416
3113
        cheese_main_window_set_resolution (self, _tmp1_);
 
3114
        cheese_main_window_update_header_bar_title (self);
3417
3115
        _tmp2_ = self->priv->timeout_layer;
3418
3116
        clutter_actor_hide ((ClutterActor*) _tmp2_);
3419
3117
        _tmp3_ = self->priv->current_mode;
3420
3118
        switch (_tmp3_) {
3421
3119
                case CHEESE_MEDIA_MODE_PHOTO:
3422
3120
                {
3423
 
                        GtkLabel* _tmp4_ = NULL;
 
3121
                        GtkButton* _tmp4_ = NULL;
3424
3122
                        const gchar* _tmp5_ = NULL;
3425
 
                        gchar* _tmp6_ = NULL;
3426
 
                        gchar* _tmp7_ = NULL;
3427
 
                        gchar* _tmp8_ = NULL;
3428
 
                        gchar* _tmp9_ = NULL;
 
3123
                        _tmp4_ = self->priv->take_action_button;
 
3124
                        _tmp5_ = _ ("Take a photo using a webcam");
 
3125
                        gtk_widget_set_tooltip_text ((GtkWidget*) _tmp4_, _tmp5_);
 
3126
                        break;
 
3127
                }
 
3128
                case CHEESE_MEDIA_MODE_VIDEO:
 
3129
                {
 
3130
                        GtkButton* _tmp6_ = NULL;
 
3131
                        const gchar* _tmp7_ = NULL;
 
3132
                        ClutterText* _tmp8_ = NULL;
 
3133
                        ClutterText* _tmp9_ = NULL;
 
3134
                        _tmp6_ = self->priv->take_action_button;
 
3135
                        _tmp7_ = _ ("Record a video using a webcam");
 
3136
                        gtk_widget_set_tooltip_text ((GtkWidget*) _tmp6_, _tmp7_);
 
3137
                        _tmp8_ = self->priv->timeout_layer;
 
3138
                        clutter_text_set_text (_tmp8_, "00:00:00");
 
3139
                        _tmp9_ = self->priv->timeout_layer;
 
3140
                        clutter_actor_show ((ClutterActor*) _tmp9_);
 
3141
                        break;
 
3142
                }
 
3143
                case CHEESE_MEDIA_MODE_BURST:
 
3144
                {
3429
3145
                        GtkButton* _tmp10_ = NULL;
3430
3146
                        const gchar* _tmp11_ = NULL;
3431
 
                        _tmp4_ = self->priv->take_action_button_label;
3432
 
                        _tmp5_ = _ ("_Take a Photo");
3433
 
                        _tmp6_ = g_strconcat ("<b>", _tmp5_, NULL);
3434
 
                        _tmp7_ = _tmp6_;
3435
 
                        _tmp8_ = g_strconcat (_tmp7_, "</b>", NULL);
3436
 
                        _tmp9_ = _tmp8_;
3437
 
                        gtk_label_set_label (_tmp4_, _tmp9_);
3438
 
                        _g_free0 (_tmp9_);
3439
 
                        _g_free0 (_tmp7_);
3440
3147
                        _tmp10_ = self->priv->take_action_button;
3441
 
                        _tmp11_ = _ ("Take a photo using a webcam");
 
3148
                        _tmp11_ = _ ("Take multiple photos using a webcam");
3442
3149
                        gtk_widget_set_tooltip_text ((GtkWidget*) _tmp10_, _tmp11_);
3443
3150
                        break;
3444
3151
                }
3445
 
                case CHEESE_MEDIA_MODE_VIDEO:
3446
 
                {
3447
 
                        GtkLabel* _tmp12_ = NULL;
3448
 
                        const gchar* _tmp13_ = NULL;
3449
 
                        gchar* _tmp14_ = NULL;
3450
 
                        gchar* _tmp15_ = NULL;
3451
 
                        gchar* _tmp16_ = NULL;
3452
 
                        gchar* _tmp17_ = NULL;
3453
 
                        GtkButton* _tmp18_ = NULL;
3454
 
                        const gchar* _tmp19_ = NULL;
3455
 
                        ClutterText* _tmp20_ = NULL;
3456
 
                        ClutterText* _tmp21_ = NULL;
3457
 
                        _tmp12_ = self->priv->take_action_button_label;
3458
 
                        _tmp13_ = _ ("_Record a Video");
3459
 
                        _tmp14_ = g_strconcat ("<b>", _tmp13_, NULL);
3460
 
                        _tmp15_ = _tmp14_;
3461
 
                        _tmp16_ = g_strconcat (_tmp15_, "</b>", NULL);
3462
 
                        _tmp17_ = _tmp16_;
3463
 
                        gtk_label_set_label (_tmp12_, _tmp17_);
3464
 
                        _g_free0 (_tmp17_);
3465
 
                        _g_free0 (_tmp15_);
3466
 
                        _tmp18_ = self->priv->take_action_button;
3467
 
                        _tmp19_ = _ ("Record a video using a webcam");
3468
 
                        gtk_widget_set_tooltip_text ((GtkWidget*) _tmp18_, _tmp19_);
3469
 
                        _tmp20_ = self->priv->timeout_layer;
3470
 
                        clutter_text_set_text (_tmp20_, "00:00:00");
3471
 
                        _tmp21_ = self->priv->timeout_layer;
3472
 
                        clutter_actor_show ((ClutterActor*) _tmp21_);
3473
 
                        break;
3474
 
                }
3475
 
                case CHEESE_MEDIA_MODE_BURST:
3476
 
                {
3477
 
                        GtkLabel* _tmp22_ = NULL;
3478
 
                        const gchar* _tmp23_ = NULL;
3479
 
                        gchar* _tmp24_ = NULL;
3480
 
                        gchar* _tmp25_ = NULL;
3481
 
                        gchar* _tmp26_ = NULL;
3482
 
                        gchar* _tmp27_ = NULL;
3483
 
                        GtkButton* _tmp28_ = NULL;
3484
 
                        const gchar* _tmp29_ = NULL;
3485
 
                        _tmp22_ = self->priv->take_action_button_label;
3486
 
                        _tmp23_ = _ ("Take _Multiple Photos");
3487
 
                        _tmp24_ = g_strconcat ("<b>", _tmp23_, NULL);
3488
 
                        _tmp25_ = _tmp24_;
3489
 
                        _tmp26_ = g_strconcat (_tmp25_, "</b>", NULL);
3490
 
                        _tmp27_ = _tmp26_;
3491
 
                        gtk_label_set_label (_tmp22_, _tmp27_);
3492
 
                        _g_free0 (_tmp27_);
3493
 
                        _g_free0 (_tmp25_);
3494
 
                        _tmp28_ = self->priv->take_action_button;
3495
 
                        _tmp29_ = _ ("Take multiple photos using a webcam");
3496
 
                        gtk_widget_set_tooltip_text ((GtkWidget*) _tmp28_, _tmp29_);
3497
 
                        break;
3498
 
                }
3499
3152
                default:
3500
3153
                break;
3501
3154
        }
3503
3156
 
3504
3157
 
3505
3158
/**
 
3159
     * Set the header bar title.
 
3160
     */
 
3161
static void cheese_main_window_update_header_bar_title (CheeseMainWindow* self) {
 
3162
        gboolean _tmp0_ = FALSE;
 
3163
        g_return_if_fail (self != NULL);
 
3164
        _tmp0_ = self->priv->is_effects_selector_active;
 
3165
        if (_tmp0_) {
 
3166
                GtkHeaderBar* _tmp1_ = NULL;
 
3167
                const gchar* _tmp2_ = NULL;
 
3168
                _tmp1_ = self->priv->header_bar;
 
3169
                _tmp2_ = _ ("Choose an Effect");
 
3170
                gtk_header_bar_set_title (_tmp1_, _tmp2_);
 
3171
        } else {
 
3172
                CheeseMediaMode _tmp3_ = 0;
 
3173
                _tmp3_ = self->priv->current_mode;
 
3174
                switch (_tmp3_) {
 
3175
                        case CHEESE_MEDIA_MODE_PHOTO:
 
3176
                        {
 
3177
                                GtkHeaderBar* _tmp4_ = NULL;
 
3178
                                const gchar* _tmp5_ = NULL;
 
3179
                                _tmp4_ = self->priv->header_bar;
 
3180
                                _tmp5_ = _ ("Take a Photo");
 
3181
                                gtk_header_bar_set_title (_tmp4_, _tmp5_);
 
3182
                                break;
 
3183
                        }
 
3184
                        case CHEESE_MEDIA_MODE_VIDEO:
 
3185
                        {
 
3186
                                GtkHeaderBar* _tmp6_ = NULL;
 
3187
                                const gchar* _tmp7_ = NULL;
 
3188
                                _tmp6_ = self->priv->header_bar;
 
3189
                                _tmp7_ = _ ("Record a Video");
 
3190
                                gtk_header_bar_set_title (_tmp6_, _tmp7_);
 
3191
                                break;
 
3192
                        }
 
3193
                        case CHEESE_MEDIA_MODE_BURST:
 
3194
                        {
 
3195
                                GtkHeaderBar* _tmp8_ = NULL;
 
3196
                                const gchar* _tmp9_ = NULL;
 
3197
                                _tmp8_ = self->priv->header_bar;
 
3198
                                _tmp9_ = _ ("Take Multiple Photos");
 
3199
                                gtk_header_bar_set_title (_tmp8_, _tmp9_);
 
3200
                                break;
 
3201
                        }
 
3202
                        default:
 
3203
                        break;
 
3204
                }
 
3205
        }
 
3206
}
 
3207
 
 
3208
 
 
3209
/**
3506
3210
     * Set the camera.
3507
3211
     *
3508
3212
     * @param camera the camera to set
3520
3224
 
3521
3225
 
3522
3226
static void cheese_main_window_class_init (CheeseMainWindowClass * klass) {
 
3227
        gint CheeseMainWindow_private_offset;
3523
3228
        cheese_main_window_parent_class = g_type_class_peek_parent (klass);
3524
3229
        g_type_class_add_private (klass, sizeof (CheeseMainWindowPrivate));
3525
3230
        G_OBJECT_CLASS (klass)->finalize = cheese_main_window_finalize;
 
3231
        CheeseMainWindow_private_offset = g_type_class_get_instance_private_offset (klass);
 
3232
        gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Cheese/cheese-main-window.ui");
 
3233
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "header_bar", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, header_bar));
 
3234
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "viewport_widget", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, viewport_widget));
 
3235
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "main_vbox", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, main_vbox));
 
3236
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "thumbnails_right", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, thumbnails_right));
 
3237
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "thumbnails_bottom", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, thumbnails_bottom));
 
3238
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "leave_fullscreen_button_box", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, leave_fullscreen_button_box));
 
3239
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "take_action_button", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, take_action_button));
 
3240
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "take_action_button_image", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, take_action_button_image));
 
3241
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "effects_toggle_button", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, effects_toggle_button));
 
3242
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "effects_prev_page_button_image", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, effects_prev_page_button_image));
 
3243
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "effects_next_page_button_image", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, effects_next_page_button_image));
 
3244
        gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "buttons_area", FALSE, CheeseMainWindow_private_offset + G_STRUCT_OFFSET (CheeseMainWindowPrivate, buttons_area));
3526
3245
}
3527
3246
 
3528
3247
 
3529
3248
static void cheese_main_window_instance_init (CheeseMainWindow * self) {
3530
3249
        self->priv = CHEESE_MAIN_WINDOW_GET_PRIVATE (self);
3531
3250
        self->priv->current_effects_page = (guint) 0;
 
3251
        gtk_widget_init_template (GTK_WIDGET (self));
3532
3252
}
3533
3253
 
3534
3254
 
3535
3255
static void cheese_main_window_finalize (GObject* obj) {
3536
3256
        CheeseMainWindow * self;
3537
3257
        self = G_TYPE_CHECK_INSTANCE_CAST (obj, CHEESE_TYPE_MAIN_WINDOW, CheeseMainWindow);
3538
 
        _g_object_unref0 (self->priv->gtk_builder);
3539
3258
        _g_object_unref0 (self->priv->clutter_builder);
 
3259
        _g_object_unref0 (self->priv->header_bar);
3540
3260
        _g_object_unref0 (self->priv->settings);
3541
 
        _g_object_unref0 (self->priv->thumbnails);
3542
3261
        _g_object_unref0 (self->priv->viewport_widget);
3543
3262
        _g_object_unref0 (self->priv->main_vbox);
3544
3263
        _g_object_unref0 (self->priv->thumb_nav);
3545
3264
        _g_object_unref0 (self->priv->thumb_view);
3546
3265
        _g_object_unref0 (self->priv->thumbnails_right);
3547
3266
        _g_object_unref0 (self->priv->thumbnails_bottom);
3548
 
        _g_object_unref0 (self->priv->leave_fullscreen_button_container);
3549
 
        _g_object_unref0 (self->priv->photo_toggle_button);
3550
 
        _g_object_unref0 (self->priv->video_toggle_button);
3551
 
        _g_object_unref0 (self->priv->burst_toggle_button);
 
3267
        _g_object_unref0 (self->priv->leave_fullscreen_button_box);
3552
3268
        _g_object_unref0 (self->priv->take_action_button);
3553
 
        _g_object_unref0 (self->priv->take_action_button_label);
3554
3269
        _g_object_unref0 (self->priv->take_action_button_image);
3555
3270
        _g_object_unref0 (self->priv->effects_toggle_button);
3556
 
        _g_object_unref0 (self->priv->leave_fullscreen_button);
 
3271
        _g_object_unref0 (self->priv->effects_prev_page_button_image);
 
3272
        _g_object_unref0 (self->priv->effects_next_page_button_image);
3557
3273
        _g_object_unref0 (self->priv->buttons_area);
3558
3274
        _g_object_unref0 (self->priv->thumbnail_popup);
3559
3275
        _g_object_unref0 (self->priv->viewport);
3566
3282
        _g_object_unref0 (self->priv->timeout_layer);
3567
3283
        _g_object_unref0 (self->priv->current_effects_grid);
3568
3284
        __g_list_free__g_object_unref0_0 (self->priv->effects_grids);
3569
 
        _g_object_unref0 (self->priv->countdown_action);
3570
 
        self->priv->buttons = (_vala_array_free (self->priv->buttons, self->priv->buttons_length1, (GDestroyNotify) g_object_unref), NULL);
3571
3285
        _g_object_unref0 (self->priv->camera);
3572
3286
        _g_object_unref0 (self->priv->fileutil);
3573
3287
        _g_object_unref0 (self->priv->flash);
3591
3305
}
3592
3306
 
3593
3307
 
3594
 
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
3595
 
        if ((array != NULL) && (destroy_func != NULL)) {
3596
 
                int i;
3597
 
                for (i = 0; i < array_length; i = i + 1) {
3598
 
                        if (((gpointer*) array)[i] != NULL) {
3599
 
                                destroy_func (((gpointer*) array)[i]);
3600
 
                        }
3601
 
                }
3602
 
        }
3603
 
}
3604
 
 
3605
 
 
3606
 
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
3607
 
        _vala_array_destroy (array, array_length, destroy_func);
3608
 
        g_free (array);
3609
 
}
3610
 
 
3611
 
 
3612
3308