Changeset 1749
- Timestamp:
- 03/25/07 15:06:04
- Files:
-
- trunk/libtinymailui-gtk/tny-gtk-header-list-model.c (modified) (2 diffs)
- trunk/libtinymailui-gtk/tny-gtk-header-list-model.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libtinymailui-gtk/tny-gtk-header-list-model.c
r1748 r1749 436 436 TnyGtkHeaderListModel *me = (TnyGtkHeaderListModel*)self; 437 437 GtkTreePath *path; 438 notify_views_data_t *stuff;439 438 440 439 g_static_rec_mutex_lock (me->iterator_lock); 441 442 stuff = g_slice_new (notify_views_data_t);443 stuff->self = g_object_ref (G_OBJECT (self));444 stuff->path = gtk_tree_path_new ();445 gtk_tree_path_append_index (stuff->path, 0);446 stuff->iter.stamp = me->stamp;447 440 448 441 /* Prepend something to the list */ 449 442 g_object_ref (G_OBJECT (item)); 450 443 g_ptr_array_add (me->items, item); 451 stuff->iter.user_data = (gpointer) (me->items->len - 1); 452 453 /* Letting the model observers know about this (the GtkTreeViews). The 454 * g_timeout_add stuff keeps it possible to launch the prepender in a 455 * thread. Else wouldn't the GtkTreeViews like this. */ 456 457 if (stuff->path) 458 g_timeout_add (0, notify_views_add, stuff); 459 else { 460 g_object_unref (G_OBJECT (stuff->self)); 461 g_slice_free (notify_views_data_t, stuff); 462 } 444 445 if (me->delayer == 100) 446 { 447 notify_views_data_t *stuff; 448 stuff = g_slice_new (notify_views_data_t); 449 stuff->self = g_object_ref (G_OBJECT (self)); 450 stuff->path = gtk_tree_path_new (); 451 gtk_tree_path_append_index (stuff->path, 0); 452 stuff->iter.stamp = me->stamp; 453 stuff->iter.user_data = (gpointer) (me->items->len - 1); 454 455 /* Letting the model observers know about this (the GtkTreeViews). The 456 * g_timeout_add stuff keeps it possible to launch the prepender in a 457 * thread. Else wouldn't the GtkTreeViews like this. */ 458 459 if (stuff->path) 460 g_timeout_add (0, notify_views_add, stuff); 461 else { 462 g_object_unref (G_OBJECT (stuff->self)); 463 g_slice_free (notify_views_data_t, stuff); 464 } 465 me->delayer = 0; 466 } 467 468 me->delayer++; 463 469 464 470 g_static_rec_mutex_unlock (me->iterator_lock); … … 664 670 g_static_rec_mutex_init (self->iterator_lock); 665 671 self->items = g_ptr_array_sized_new (1000); 672 self->delayer = 0; 666 673 667 674 return; trunk/libtinymailui-gtk/tny-gtk-header-list-model.h
r1748 r1749 66 66 GStaticRecMutex *iterator_lock; 67 67 TnyFolder *folder; 68 gint stamp ;68 gint stamp, delayer; 69 69 70 70 GPtrArray *items;
