~ubuntu-branches/ubuntu/oneiric/gwibber/oneiric

« back to all changes in this revision

Viewing changes to libgwibber-gtk/stream-view.c

  • Committer: Bazaar Package Importer
  • Author(s): Ken VanDine
  • Date: 2011-08-25 15:36:16 UTC
  • mfrom: (1.1.59 upstream)
  • Revision ID: james.westby@ubuntu.com-20110825153616-sd8yqbkdytwh0gi5
Tags: 3.1.6-0ubuntu1
* New upstream release
  - async loading of all images
  - display thumbnails for images and videos
  - display facebook comments inline
  - round the corners of avatars and thumbnails
  - significant performance improvements for rendering the stream views
* debian/libgwibber-gtk2.symbols
  - added symbols

Show diffs side-by-side

added added

removed removed

Lines of Context:
96
96
static void gwibber_gtk_stream_view_real_get_preferred_height_for_width (GtkWidget* base, gint width, gint* mh, gint* nh);
97
97
static void gwibber_gtk_stream_view_real_get_preferred_height (GtkWidget* base, gint* mh, gint* nh);
98
98
static void gwibber_gtk_stream_view_refresh (GwibberGtkStreamView* self);
99
 
static gboolean _lambda22_ (GwibberGtkStreamView* self);
 
99
static gboolean _lambda27_ (GwibberGtkStreamView* self);
100
100
static void gwibber_gtk_stream_view_do_refresh (GwibberGtkStreamView* self);
101
 
static gboolean __lambda22__gsource_func (gpointer self);
 
101
static gboolean __lambda27__gsource_func (gpointer self);
102
102
static void gwibber_gtk_stream_view_fill_up_remaining_space (GwibberGtkStreamView* self);
103
103
static gchar** _variant_get1 (GVariant* value, int* result_length1);
104
 
static gboolean _lambda26_ (GwibberGtkStreamView* self);
105
 
static gboolean __lambda26__gsource_func (gpointer self);
106
 
static void _lambda23_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self);
107
 
static void __lambda23__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self);
108
 
static gboolean _lambda24_ (GwibberGtkStreamView* self);
109
 
static gboolean __lambda24__gsource_func (gpointer self);
 
104
static void _lambda28_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self);
 
105
static void __lambda28__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self);
 
106
static gboolean _lambda29_ (GwibberGtkStreamView* self);
 
107
static gboolean __lambda29__gsource_func (gpointer self);
 
108
static gboolean _lambda30_ (GwibberGtkStreamView* self);
 
109
static gboolean __lambda30__gsource_func (gpointer self);
110
110
static void gwibber_gtk_stream_view_on_row_added (GwibberGtkStreamView* self);
111
111
static void gwibber_gtk_stream_view_on_row_removed (GwibberGtkStreamView* self);
112
112
static void gwibber_gtk_stream_view_on_row_changed (GwibberGtkStreamView* self);
115
115
static void _gwibber_gtk_stream_view_on_row_removed_dee_model_row_removed (DeeModel* _sender, DeeModelIter* iter, gpointer self);
116
116
static void _gwibber_gtk_stream_view_on_row_changed_dee_model_row_changed (DeeModel* _sender, DeeModelIter* iter, gpointer self);
117
117
static void _gwibber_gtk_stream_view_on_synchronized_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
118
 
static gboolean _lambda25_ (GwibberGtkStreamView* self);
119
 
static gboolean __lambda25__gsource_func (gpointer self);
 
118
static gboolean _lambda26_ (GwibberGtkStreamView* self);
 
119
static gboolean __lambda26__gsource_func (gpointer self);
120
120
static void gwibber_gtk_stream_view_real_reply (GwibberGtkStreamView* self, const gchar* mid, const gchar* account, const gchar* sender);
121
121
static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
122
122
static GObject * gwibber_gtk_stream_view_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
123
 
static void _lambda27_ (const gchar* key, GwibberGtkStreamView* self);
124
 
static void __lambda27__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self);
125
 
static void _lambda28_ (GwibberGtkStreamView* self);
126
 
static void __lambda28__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
127
 
static gboolean _lambda29_ (GtkWidget* source, GdkEventScroll* event, GwibberGtkStreamView* self);
128
 
static gboolean __lambda29__gtk_widget_scroll_event (GtkWidget* _sender, GdkEventScroll* event, gpointer self);
129
 
static gboolean _lambda30_ (GtkWidget* source, GdkEventKey* event, GwibberGtkStreamView* self);
130
 
static gboolean __lambda30__gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self);
131
 
static void _lambda31_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self);
132
 
static void __lambda31__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self);
133
 
static void _lambda32_ (GdkRectangle* a, GwibberGtkStreamView* self);
134
 
static void __lambda32__gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self);
 
123
static void _lambda31_ (const gchar* key, GwibberGtkStreamView* self);
 
124
static void __lambda31__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self);
 
125
static void _lambda32_ (GwibberGtkStreamView* self);
 
126
static void __lambda32__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
 
127
static gboolean _lambda33_ (GtkWidget* source, GdkEventScroll* event, GwibberGtkStreamView* self);
 
128
static gboolean __lambda33__gtk_widget_scroll_event (GtkWidget* _sender, GdkEventScroll* event, gpointer self);
 
129
static gboolean _lambda34_ (GtkWidget* source, GdkEventKey* event, GwibberGtkStreamView* self);
 
130
static gboolean __lambda34__gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self);
 
131
static void _lambda35_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self);
 
132
static void __lambda35__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self);
 
133
static void _lambda36_ (GdkRectangle* a, GwibberGtkStreamView* self);
 
134
static void __lambda36__gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self);
135
135
static void gwibber_gtk_stream_view_finalize (GObject* obj);
136
136
static void _vala_gwibber_gtk_stream_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
137
137
static void _vala_gwibber_gtk_stream_view_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
330
330
}
331
331
 
332
332
 
333
 
static gboolean _lambda22_ (GwibberGtkStreamView* self) {
 
333
static gboolean _lambda27_ (GwibberGtkStreamView* self) {
334
334
        gboolean result = FALSE;
335
335
        gwibber_gtk_stream_view_do_refresh (self);
336
336
        self->priv->refresh_id = (guint) 0;
339
339
}
340
340
 
341
341
 
342
 
static gboolean __lambda22__gsource_func (gpointer self) {
 
342
static gboolean __lambda27__gsource_func (gpointer self) {
343
343
        gboolean result;
344
 
        result = _lambda22_ (self);
 
344
        result = _lambda27_ (self);
345
345
        return result;
346
346
}
347
347
 
348
348
 
349
349
static void gwibber_gtk_stream_view_refresh (GwibberGtkStreamView* self) {
 
350
        gboolean _tmp0_ = FALSE;
350
351
        g_return_if_fail (self != NULL);
351
352
        if (self->priv->refresh_id == 0) {
352
 
                guint _tmp0_;
353
 
                _tmp0_ = g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda22__gsource_func, g_object_ref (self), g_object_unref);
354
 
                self->priv->refresh_id = _tmp0_;
 
353
                gboolean _tmp1_;
 
354
                _tmp1_ = gwibber_gtk_stream_view_get_showing (self);
 
355
                _tmp0_ = _tmp1_;
 
356
        } else {
 
357
                _tmp0_ = FALSE;
 
358
        }
 
359
        if (_tmp0_) {
 
360
                guint _tmp2_;
 
361
                _tmp2_ = g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda27__gsource_func, g_object_ref (self), g_object_unref);
 
362
                self->priv->refresh_id = _tmp2_;
355
363
        }
356
364
}
357
365
 
387
395
}
388
396
 
389
397
 
390
 
static gboolean _lambda26_ (GwibberGtkStreamView* self) {
391
 
        gboolean result = FALSE;
392
 
        gtk_widget_queue_draw ((GtkWidget*) self);
393
 
        result = FALSE;
394
 
        return result;
395
 
}
396
 
 
397
 
 
398
 
static gboolean __lambda26__gsource_func (gpointer self) {
399
 
        gboolean result;
400
 
        result = _lambda26_ (self);
401
 
        return result;
402
 
}
403
 
 
404
 
 
405
398
static void gwibber_gtk_stream_view_do_refresh (GwibberGtkStreamView* self) {
406
399
        gint i;
407
400
        DeeModel* _tmp0_ = NULL;
414
407
        DeeModelIter* _tmp6_ = NULL;
415
408
        g_return_if_fail (self != NULL);
416
409
        i = 0;
417
 
        gwibber_gtk_stream_view_fill_up_remaining_space (self);
418
410
        _tmp0_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
419
411
        if (!DEE_IS_FILTER_MODEL (_tmp0_)) {
420
412
                DeeModel* _tmp1_ = NULL;
424
416
        _tmp2_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
425
417
        _tmp3_ = dee_model_get_n_rows (_tmp2_);
426
418
        n_rows = _tmp3_;
 
419
        gwibber_gtk_stream_view_fill_up_remaining_space (self);
427
420
        _tmp4_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
428
421
        _tmp5_ = gwibber_gtk_stream_view_get_position (self);
429
422
        _tmp6_ = dee_model_get_iter_at_row (_tmp4_, (guint) _tmp5_);
439
432
                        tile = _tmp7_;
440
433
                        {
441
434
                                gboolean _tmp8_ = FALSE;
442
 
                                gint _tmp73_;
 
435
                                gint _tmp83_;
443
436
                                if (iter != NULL) {
444
437
                                        gint _tmp9_;
445
438
                                        _tmp9_ = gwibber_gtk_stream_view_get_position (self);
509
502
                                        const gchar* _tmp70_ = NULL;
510
503
                                        DeeModel* _tmp71_ = NULL;
511
504
                                        const gchar* _tmp72_ = NULL;
 
505
                                        DeeModel* _tmp73_ = NULL;
 
506
                                        const gchar* _tmp74_ = NULL;
 
507
                                        DeeModel* _tmp75_ = NULL;
 
508
                                        const gchar* _tmp76_ = NULL;
 
509
                                        DeeModel* _tmp77_ = NULL;
 
510
                                        const gchar* _tmp78_ = NULL;
 
511
                                        DeeModel* _tmp79_ = NULL;
 
512
                                        const gchar* _tmp80_ = NULL;
 
513
                                        DeeModel* _tmp81_ = NULL;
 
514
                                        const gchar* _tmp82_ = NULL;
512
515
                                        _tmp10_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
513
516
                                        _tmp11_ = dee_model_get_value (_tmp10_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_ACCOUNTS);
514
517
                                        _tmp16_ = _variant_get1 (_tmp11_, &_tmp12_);
569
572
                                        _tmp70_ = dee_model_get_string (_tmp69_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_IMG_THUMB);
570
573
                                        _tmp71_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
571
574
                                        _tmp72_ = dee_model_get_string (_tmp71_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_IMG_NAME);
572
 
                                        gwibber_gtk_stream_view_tile_set_details (tile, _tmp16_, _tmp12_, _tmp18_, _tmp20_, _tmp22_, _tmp24_, _tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_, _tmp36_, _tmp38_, _tmp40_, _tmp42_, _tmp44_, _tmp46_, _tmp48_, _tmp50_, _tmp52_, _tmp54_, _tmp56_, _tmp58_, _tmp60_, _tmp62_, _tmp64_, _tmp66_, _tmp68_, _tmp70_, _tmp72_);
 
575
                                        _tmp73_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
 
576
                                        _tmp74_ = dee_model_get_string (_tmp73_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_VIDEO_PIC);
 
577
                                        _tmp75_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
 
578
                                        _tmp76_ = dee_model_get_string (_tmp75_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_VIDEO_SRC);
 
579
                                        _tmp77_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
 
580
                                        _tmp78_ = dee_model_get_string (_tmp77_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_VIDEO_URL);
 
581
                                        _tmp79_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
 
582
                                        _tmp80_ = dee_model_get_string (_tmp79_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_VIDEO_NAME);
 
583
                                        _tmp81_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
 
584
                                        _tmp82_ = dee_model_get_string (_tmp81_, iter, (guint) GWIBBER_STREAM_MODEL_COLUMN_COMMENTS);
 
585
                                        gwibber_gtk_stream_view_tile_set_details (tile, _tmp16_, _tmp12_, _tmp18_, _tmp20_, _tmp22_, _tmp24_, _tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_, _tmp36_, _tmp38_, _tmp40_, _tmp42_, _tmp44_, _tmp46_, _tmp48_, _tmp50_, _tmp52_, _tmp54_, _tmp56_, _tmp58_, _tmp60_, _tmp62_, _tmp64_, _tmp66_, _tmp68_, _tmp70_, _tmp72_, _tmp74_, _tmp76_, _tmp78_, _tmp80_, _tmp82_);
573
586
                                        _tmp16_ = (_vala_array_free (_tmp16_, _tmp16__length1, (GDestroyNotify) g_free), NULL);
574
587
                                        self->priv->tiles_visible = i + 1;
575
588
                                } else {
577
590
                                        self->priv->tiles_visible = i - 1;
578
591
                                }
579
592
                                i++;
580
 
                                _tmp73_ = gwibber_gtk_stream_view_get_position (self);
581
 
                                if ((_tmp73_ + i) > n_rows) {
 
593
                                _tmp83_ = gwibber_gtk_stream_view_get_position (self);
 
594
                                if ((_tmp83_ + i) > n_rows) {
582
595
                                        iter = NULL;
583
596
                                } else {
584
 
                                        DeeModel* _tmp74_ = NULL;
585
 
                                        gint _tmp75_;
586
 
                                        DeeModelIter* _tmp76_ = NULL;
587
 
                                        _tmp74_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
588
 
                                        _tmp75_ = gwibber_gtk_stream_view_get_position (self);
589
 
                                        _tmp76_ = dee_model_get_iter_at_row (_tmp74_, (guint) (_tmp75_ + i));
590
 
                                        iter = _tmp76_;
 
597
                                        DeeModel* _tmp84_ = NULL;
 
598
                                        gint _tmp85_;
 
599
                                        DeeModelIter* _tmp86_ = NULL;
 
600
                                        _tmp84_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
 
601
                                        _tmp85_ = gwibber_gtk_stream_view_get_position (self);
 
602
                                        _tmp86_ = dee_model_get_iter_at_row (_tmp84_, (guint) (_tmp85_ + i));
 
603
                                        iter = _tmp86_;
591
604
                                }
592
605
                                _g_object_unref0 (tile);
593
606
                        }
594
607
                }
595
608
        }
596
 
        g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda26__gsource_func, g_object_ref (self), g_object_unref);
597
609
        gwibber_gtk_stream_view_set_prepared (self, TRUE);
598
610
}
599
611
 
600
612
 
601
 
static void _lambda23_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self) {
 
613
static void _lambda28_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self) {
602
614
        g_return_if_fail (mid != NULL);
603
615
        g_return_if_fail (account != NULL);
604
616
        g_return_if_fail (sender != NULL);
606
618
}
607
619
 
608
620
 
609
 
static void __lambda23__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self) {
610
 
        _lambda23_ (mid, account, sender, self);
611
 
}
612
 
 
613
 
 
614
 
static gboolean _lambda24_ (GwibberGtkStreamView* self) {
615
 
        gboolean result = FALSE;
616
 
        gtk_widget_queue_draw ((GtkWidget*) self);
617
 
        result = FALSE;
618
 
        return result;
619
 
}
620
 
 
621
 
 
622
 
static gboolean __lambda24__gsource_func (gpointer self) {
623
 
        gboolean result;
624
 
        result = _lambda24_ (self);
 
621
static void __lambda28__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self) {
 
622
        _lambda28_ (mid, account, sender, self);
 
623
}
 
624
 
 
625
 
 
626
static gboolean _lambda29_ (GwibberGtkStreamView* self) {
 
627
        gboolean result = FALSE;
 
628
        gtk_widget_queue_draw ((GtkWidget*) self);
 
629
        gwibber_gtk_stream_view_do_refresh (self);
 
630
        result = FALSE;
 
631
        return result;
 
632
}
 
633
 
 
634
 
 
635
static gboolean __lambda29__gsource_func (gpointer self) {
 
636
        gboolean result;
 
637
        result = _lambda29_ (self);
 
638
        return result;
 
639
}
 
640
 
 
641
 
 
642
static gboolean _lambda30_ (GwibberGtkStreamView* self) {
 
643
        gboolean result = FALSE;
 
644
        gtk_widget_queue_draw ((GtkWidget*) self);
 
645
        gwibber_gtk_stream_view_do_refresh (self);
 
646
        result = FALSE;
 
647
        return result;
 
648
}
 
649
 
 
650
 
 
651
static gboolean __lambda30__gsource_func (gpointer self) {
 
652
        gboolean result;
 
653
        result = _lambda30_ (self);
625
654
        return result;
626
655
}
627
656
 
629
658
static void gwibber_gtk_stream_view_fill_up_remaining_space (GwibberGtkStreamView* self) {
630
659
        GtkAllocation alloc = {0};
631
660
        gint overall_height;
 
661
        gint largest_tile;
632
662
        gboolean one_was_hidden;
633
663
        GtkAllocation _tmp0_ = {0};
634
664
        gboolean _tmp4_ = FALSE;
635
665
        g_return_if_fail (self != NULL);
636
666
        overall_height = 0;
 
667
        largest_tile = 0;
637
668
        one_was_hidden = FALSE;
638
669
        gtk_widget_get_allocation ((GtkWidget*) self->priv->view_box, &_tmp0_);
639
670
        alloc = _tmp0_;
655
686
                                        gtk_widget_get_allocation ((GtkWidget*) tile, &_tmp3_);
656
687
                                        a = _tmp3_;
657
688
                                        overall_height = overall_height + a.height;
 
689
                                        if (a.height > largest_tile) {
 
690
                                                largest_tile = a.height;
 
691
                                        }
658
692
                                } else {
659
693
                                        one_was_hidden = TRUE;
660
694
                                }
673
707
                GwibberGtkStreamViewTile* tile;
674
708
                GwibberGtkStreamViewTile* _tmp7_;
675
709
                _tmp5_ = gwibber_gtk_stream_view_get_show_fullname (self);
676
 
                _tmp6_ = gwibber_gtk_stream_view_tile_new (self->utils, _tmp5_);
 
710
                _tmp6_ = gwibber_gtk_stream_view_tile_new (self->utils, self->service, _tmp5_);
677
711
                tile = g_object_ref_sink (_tmp6_);
678
712
                gtk_widget_show_all ((GtkWidget*) tile);
679
713
                gtk_box_pack_start ((GtkBox*) self->priv->view_box, (GtkWidget*) tile, FALSE, FALSE, (guint) 0);
680
714
                _tmp7_ = _g_object_ref0 (tile);
681
715
                self->priv->tiles = g_slist_append (self->priv->tiles, _tmp7_);
682
 
                g_signal_connect_object (tile, "reply", (GCallback) __lambda23__gwibber_gtk_stream_view_tile_reply, self, 0);
683
 
                gwibber_gtk_stream_view_refresh (self);
 
716
                g_signal_connect_object (tile, "reply", (GCallback) __lambda28__gwibber_gtk_stream_view_tile_reply, self, 0);
 
717
                g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda29__gsource_func, g_object_ref (self), g_object_unref);
684
718
                _g_object_unref0 (tile);
685
 
        }
686
 
        g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda24__gsource_func, g_object_ref (self), g_object_unref);
 
719
                return;
 
720
        }
 
721
        if (alloc.height < (overall_height - (largest_tile * 3))) {
 
722
                guint _tmp8_;
 
723
                gconstpointer _tmp9_ = NULL;
 
724
                GwibberGtkStreamViewTile* _tmp10_;
 
725
                GwibberGtkStreamViewTile* last_tile;
 
726
                _tmp8_ = g_slist_length (self->priv->tiles);
 
727
                _tmp9_ = g_slist_nth_data (self->priv->tiles, _tmp8_ - 1);
 
728
                _tmp10_ = _g_object_ref0 ((GwibberGtkStreamViewTile*) _tmp9_);
 
729
                last_tile = _tmp10_;
 
730
                gwibber_gtk_stream_view_tile_reset (last_tile);
 
731
                gtk_widget_destroy ((GtkWidget*) last_tile);
 
732
                self->priv->tiles = g_slist_remove (self->priv->tiles, last_tile);
 
733
                g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda30__gsource_func, g_object_ref (self), g_object_unref);
 
734
                _g_object_unref0 (last_tile);
 
735
                return;
 
736
        }
687
737
}
688
738
 
689
739
 
710
760
        DeeModel* _tmp1_ = NULL;
711
761
        guint _tmp2_;
712
762
        g_return_if_fail (self != NULL);
713
 
        g_debug ("stream-view.vala:467: on_synchronized");
 
763
        g_debug ("stream-view.vala:501: on_synchronized");
714
764
        _tmp0_ = gwibber_gtk_stream_view_get_model (self);
715
765
        gwibber_gtk_stream_view_set_stream_filter_model (self, _tmp0_);
716
766
        _tmp1_ = gwibber_gtk_stream_view_get_stream_filter_model (self);
789
839
}
790
840
 
791
841
 
792
 
static gboolean _lambda25_ (GwibberGtkStreamView* self) {
 
842
static gboolean _lambda26_ (GwibberGtkStreamView* self) {
793
843
        gboolean result = FALSE;
794
844
        guint _tmp0_;
795
845
        _tmp0_ = dee_model_get_n_rows (self->priv->_stream_filter_model);
799
849
}
800
850
 
801
851
 
802
 
static gboolean __lambda25__gsource_func (gpointer self) {
 
852
static gboolean __lambda26__gsource_func (gpointer self) {
803
853
        gboolean result;
804
 
        result = _lambda25_ (self);
 
854
        result = _lambda26_ (self);
805
855
        return result;
806
856
}
807
857
 
826
876
        _g_object_unref0 (self->priv->_stream_filter_model);
827
877
        self->priv->_stream_filter_model = (DeeModel*) _tmp4_;
828
878
        gwibber_gtk_stream_view_refresh (self);
829
 
        g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda25__gsource_func, g_object_ref (self), g_object_unref);
 
879
        g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __lambda26__gsource_func, g_object_ref (self), g_object_unref);
830
880
        g_object_notify ((GObject *) self, "stream-filter-model");
831
881
}
832
882
 
951
1001
        }
952
1002
        if (self->priv->_showing) {
953
1003
                guint _tmp0_;
954
 
                GwibberService* _tmp1_ = NULL;
955
 
                GwibberService* service;
956
 
                const gchar* _tmp2_ = NULL;
 
1004
                const gchar* _tmp1_ = NULL;
957
1005
                _tmp0_ = dee_model_get_n_rows (self->priv->_stream_filter_model);
958
1006
                gtk_adjustment_set_upper (self->priv->adjustment, (gdouble) _tmp0_);
959
 
                _tmp1_ = gwibber_service_new ();
960
 
                service = _tmp1_;
961
 
                _tmp2_ = gwibber_gtk_stream_view_get_stream (self);
962
 
                gwibber_service_update_indicators (service, _tmp2_);
 
1007
                _tmp1_ = gwibber_gtk_stream_view_get_stream (self);
 
1008
                gwibber_service_update_indicators (self->service, _tmp1_);
963
1009
                gwibber_gtk_stream_view_refresh (self);
964
 
                _g_object_unref0 (service);
965
1010
        }
966
1011
        g_object_notify ((GObject *) self, "showing");
967
1012
}
994
1039
}
995
1040
 
996
1041
 
997
 
static void _lambda27_ (const gchar* key, GwibberGtkStreamView* self) {
 
1042
static void _lambda31_ (const gchar* key, GwibberGtkStreamView* self) {
998
1043
        g_return_if_fail (key != NULL);
999
1044
        if (g_strcmp0 (key, "show-fullname") == 0) {
1000
1045
                gboolean _tmp0_;
1010
1055
}
1011
1056
 
1012
1057
 
1013
 
static void __lambda27__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self) {
1014
 
        _lambda27_ (key, self);
 
1058
static void __lambda31__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self) {
 
1059
        _lambda31_ (key, self);
1015
1060
}
1016
1061
 
1017
1062
 
1018
 
static void _lambda28_ (GwibberGtkStreamView* self) {
 
1063
static void _lambda32_ (GwibberGtkStreamView* self) {
1019
1064
        gdouble _tmp0_;
1020
1065
        gdouble v;
1021
1066
        gint _tmp1_;
1062
1107
}
1063
1108
 
1064
1109
 
1065
 
static void __lambda28__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
1066
 
        _lambda28_ (self);
 
1110
static void __lambda32__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
 
1111
        _lambda32_ (self);
1067
1112
}
1068
1113
 
1069
1114
 
1070
 
static gboolean _lambda29_ (GtkWidget* source, GdkEventScroll* event, GwibberGtkStreamView* self) {
 
1115
static gboolean _lambda33_ (GtkWidget* source, GdkEventScroll* event, GwibberGtkStreamView* self) {
1071
1116
        gboolean result = FALSE;
1072
1117
        GdkScrollDirection direction;
1073
1118
        g_return_val_if_fail (source != NULL, FALSE);
1095
1140
}
1096
1141
 
1097
1142
 
1098
 
static gboolean __lambda29__gtk_widget_scroll_event (GtkWidget* _sender, GdkEventScroll* event, gpointer self) {
 
1143
static gboolean __lambda33__gtk_widget_scroll_event (GtkWidget* _sender, GdkEventScroll* event, gpointer self) {
1099
1144
        gboolean result;
1100
 
        result = _lambda29_ (_sender, event, self);
 
1145
        result = _lambda33_ (_sender, event, self);
1101
1146
        return result;
1102
1147
}
1103
1148
 
1104
1149
 
1105
 
static gboolean _lambda30_ (GtkWidget* source, GdkEventKey* event, GwibberGtkStreamView* self) {
 
1150
static gboolean _lambda34_ (GtkWidget* source, GdkEventKey* event, GwibberGtkStreamView* self) {
1106
1151
        gboolean result = FALSE;
1107
1152
        guint key;
1108
1153
        g_return_val_if_fail (source != NULL, FALSE);
1151
1196
}
1152
1197
 
1153
1198
 
1154
 
static gboolean __lambda30__gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
 
1199
static gboolean __lambda34__gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
1155
1200
        gboolean result;
1156
 
        result = _lambda30_ (_sender, event, self);
 
1201
        result = _lambda34_ (_sender, event, self);
1157
1202
        return result;
1158
1203
}
1159
1204
 
1160
1205
 
1161
 
static void _lambda31_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self) {
 
1206
static void _lambda35_ (const gchar* mid, const gchar* account, const gchar* sender, GwibberGtkStreamView* self) {
1162
1207
        g_return_if_fail (mid != NULL);
1163
1208
        g_return_if_fail (account != NULL);
1164
1209
        g_return_if_fail (sender != NULL);
1166
1211
}
1167
1212
 
1168
1213
 
1169
 
static void __lambda31__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self) {
1170
 
        _lambda31_ (mid, account, sender, self);
 
1214
static void __lambda35__gwibber_gtk_stream_view_tile_reply (GwibberGtkStreamViewTile* _sender, const gchar* mid, const gchar* account, const gchar* sender, gpointer self) {
 
1215
        _lambda35_ (mid, account, sender, self);
1171
1216
}
1172
1217
 
1173
1218
 
1174
 
static void _lambda32_ (GdkRectangle* a, GwibberGtkStreamView* self) {
 
1219
static void _lambda36_ (GdkRectangle* a, GwibberGtkStreamView* self) {
1175
1220
        gboolean _tmp0_ = FALSE;
1176
1221
        if (self->priv->last_width != (*a).width) {
1177
1222
                _tmp0_ = TRUE;
1187
1232
}
1188
1233
 
1189
1234
 
1190
 
static void __lambda32__gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self) {
1191
 
        _lambda32_ (allocation, self);
 
1235
static void __lambda36__gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self) {
 
1236
        _lambda36_ (allocation, self);
1192
1237
}
1193
1238
 
1194
1239
 
1197
1242
        GObjectClass * parent_class;
1198
1243
        GwibberGtkStreamView * self;
1199
1244
        GwibberUtils* _tmp0_ = NULL;
1200
 
        GSettings* _tmp1_ = NULL;
1201
 
        gboolean _tmp2_;
1202
 
        GtkAdjustment* _tmp3_ = NULL;
1203
 
        GwibberGtkTileBox* _tmp4_ = NULL;
1204
 
        GtkVScrollbar* _tmp5_ = NULL;
 
1245
        GwibberService* _tmp1_ = NULL;
 
1246
        GSettings* _tmp2_ = NULL;
 
1247
        gboolean _tmp3_;
 
1248
        GtkAdjustment* _tmp4_ = NULL;
 
1249
        GwibberGtkTileBox* _tmp5_ = NULL;
 
1250
        GtkVScrollbar* _tmp6_ = NULL;
1205
1251
        parent_class = G_OBJECT_CLASS (gwibber_gtk_stream_view_parent_class);
1206
1252
        obj = parent_class->constructor (type, n_construct_properties, construct_properties);
1207
1253
        self = GWIBBER_GTK_STREAM_VIEW (obj);
1209
1255
        _tmp0_ = gwibber_utils_new ();
1210
1256
        _g_object_unref0 (self->utils);
1211
1257
        self->utils = _tmp0_;
1212
 
        _tmp1_ = g_settings_new ("org.gwibber.preferences");
 
1258
        _tmp1_ = gwibber_service_new ();
 
1259
        _g_object_unref0 (self->service);
 
1260
        self->service = _tmp1_;
 
1261
        _tmp2_ = g_settings_new ("org.gwibber.preferences");
1213
1262
        _g_object_unref0 (self->priv->settings);
1214
 
        self->priv->settings = _tmp1_;
1215
 
        _tmp2_ = g_settings_get_boolean (self->priv->settings, "show-fullname");
1216
 
        gwibber_gtk_stream_view_set_show_fullname (self, _tmp2_);
1217
 
        g_signal_connect_object (self->priv->settings, "changed", (GCallback) __lambda27__g_settings_changed, self, 0);
1218
 
        _tmp3_ = gtk_adjustment_new ((gdouble) 0, (gdouble) 0, (gdouble) 1, (gdouble) 1, (gdouble) 1, (gdouble) 1);
 
1263
        self->priv->settings = _tmp2_;
 
1264
        _tmp3_ = g_settings_get_boolean (self->priv->settings, "show-fullname");
 
1265
        gwibber_gtk_stream_view_set_show_fullname (self, _tmp3_);
 
1266
        g_signal_connect_object (self->priv->settings, "changed", (GCallback) __lambda31__g_settings_changed, self, 0);
 
1267
        _tmp4_ = gtk_adjustment_new ((gdouble) 0, (gdouble) 0, (gdouble) 1, (gdouble) 1, (gdouble) 1, (gdouble) 1);
1219
1268
        _g_object_unref0 (self->priv->adjustment);
1220
 
        self->priv->adjustment = g_object_ref_sink (_tmp3_);
1221
 
        g_signal_connect_object ((GObject*) self->priv->adjustment, "notify::value", (GCallback) __lambda28__g_object_notify, self, 0);
1222
 
        _tmp4_ = gwibber_gtk_tile_box_new ();
 
1269
        self->priv->adjustment = g_object_ref_sink (_tmp4_);
 
1270
        g_signal_connect_object ((GObject*) self->priv->adjustment, "notify::value", (GCallback) __lambda32__g_object_notify, self, 0);
 
1271
        _tmp5_ = gwibber_gtk_tile_box_new ();
1223
1272
        _g_object_unref0 (self->priv->view_box);
1224
 
        self->priv->view_box = g_object_ref_sink (_tmp4_);
 
1273
        self->priv->view_box = g_object_ref_sink (_tmp5_);
1225
1274
        gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) self->priv->view_box, TRUE, TRUE, (guint) 0);
1226
 
        _tmp5_ = (GtkVScrollbar*) gtk_vscrollbar_new (self->priv->adjustment);
 
1275
        _tmp6_ = (GtkVScrollbar*) gtk_vscrollbar_new (self->priv->adjustment);
1227
1276
        _g_object_unref0 (self->priv->scrollbar);
1228
 
        self->priv->scrollbar = g_object_ref_sink (_tmp5_);
 
1277
        self->priv->scrollbar = g_object_ref_sink (_tmp6_);
1229
1278
        gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) self->priv->scrollbar, FALSE, FALSE, (guint) 0);
1230
1279
        gtk_widget_set_events ((GtkWidget*) self, (gint) (GDK_KEY_PRESS_MASK | GDK_SCROLL_MASK));
1231
 
        g_signal_connect_object ((GtkWidget*) self, "scroll-event", (GCallback) __lambda29__gtk_widget_scroll_event, self, 0);
1232
 
        g_signal_connect_object ((GtkWidget*) self, "key-press-event", (GCallback) __lambda30__gtk_widget_key_press_event, self, 0);
 
1280
        g_signal_connect_object ((GtkWidget*) self, "scroll-event", (GCallback) __lambda33__gtk_widget_scroll_event, self, 0);
 
1281
        g_signal_connect_object ((GtkWidget*) self, "key-press-event", (GCallback) __lambda34__gtk_widget_key_press_event, self, 0);
1233
1282
        {
1234
1283
                gint i;
1235
1284
                i = 0;
1236
1285
                {
1237
 
                        gboolean _tmp6_;
1238
 
                        _tmp6_ = TRUE;
 
1286
                        gboolean _tmp7_;
 
1287
                        _tmp7_ = TRUE;
1239
1288
                        while (TRUE) {
1240
 
                                gboolean _tmp7_;
1241
 
                                GwibberGtkStreamViewTile* _tmp8_ = NULL;
 
1289
                                gboolean _tmp8_;
 
1290
                                GwibberGtkStreamViewTile* _tmp9_ = NULL;
1242
1291
                                GwibberGtkStreamViewTile* tile;
1243
 
                                GwibberGtkStreamViewTile* _tmp9_;
1244
 
                                if (!_tmp6_) {
 
1292
                                GwibberGtkStreamViewTile* _tmp10_;
 
1293
                                if (!_tmp7_) {
1245
1294
                                        i++;
1246
1295
                                }
1247
 
                                _tmp6_ = FALSE;
1248
 
                                if (!(i < 15)) {
 
1296
                                _tmp7_ = FALSE;
 
1297
                                if (!(i < 2)) {
1249
1298
                                        break;
1250
1299
                                }
1251
 
                                _tmp7_ = gwibber_gtk_stream_view_get_show_fullname (self);
1252
 
                                _tmp8_ = gwibber_gtk_stream_view_tile_new (self->utils, _tmp7_);
1253
 
                                tile = g_object_ref_sink (_tmp8_);
 
1300
                                _tmp8_ = gwibber_gtk_stream_view_get_show_fullname (self);
 
1301
                                _tmp9_ = gwibber_gtk_stream_view_tile_new (self->utils, self->service, _tmp8_);
 
1302
                                tile = g_object_ref_sink (_tmp9_);
1254
1303
                                gtk_widget_show_all ((GtkWidget*) tile);
1255
1304
                                gtk_box_pack_start ((GtkBox*) self->priv->view_box, (GtkWidget*) tile, FALSE, FALSE, (guint) 0);
1256
 
                                _tmp9_ = _g_object_ref0 (tile);
1257
 
                                self->priv->tiles = g_slist_append (self->priv->tiles, _tmp9_);
1258
 
                                g_signal_connect_object (tile, "reply", (GCallback) __lambda31__gwibber_gtk_stream_view_tile_reply, self, 0);
 
1305
                                _tmp10_ = _g_object_ref0 (tile);
 
1306
                                self->priv->tiles = g_slist_append (self->priv->tiles, _tmp10_);
 
1307
                                g_signal_connect_object (tile, "reply", (GCallback) __lambda35__gwibber_gtk_stream_view_tile_reply, self, 0);
1259
1308
                                _g_object_unref0 (tile);
1260
1309
                        }
1261
1310
                }
1262
1311
        }
1263
 
        g_signal_connect_object ((GtkWidget*) self->priv->view_box, "size-allocate", (GCallback) __lambda32__gtk_widget_size_allocate, self, G_CONNECT_AFTER);
 
1312
        g_signal_connect_object ((GtkWidget*) self->priv->view_box, "size-allocate", (GCallback) __lambda36__gtk_widget_size_allocate, self, G_CONNECT_AFTER);
1264
1313
        return obj;
1265
1314
}
1266
1315
 
1319
1368
        _g_object_unref0 (self->priv->_stream_filter_model);
1320
1369
        _g_free0 (self->priv->_stream);
1321
1370
        _g_object_unref0 (self->utils);
 
1371
        _g_object_unref0 (self->service);
1322
1372
        _g_object_unref0 (self->priv->settings);
1323
1373
        __g_slist_free__g_object_unref0_0 (self->priv->tiles);
1324
1374
        G_OBJECT_CLASS (gwibber_gtk_stream_view_parent_class)->finalize (obj);