コード例 #1
0
void
itemview_update_item (itemPtr item)
{
	/* Always update the GtkTreeView (bail-out done in ui_itemlist_update_item() */
	if (ITEMVIEW_ALL_ITEMS != itemview->priv->mode)
		item_list_view_update_item (itemview->priv->itemListView, item);

	/* Bail if we do internal browsing, and no item is shown */
	if (itemview->priv->browsing)
		return;

	/* Bail out if no HTML update necessary */
	switch (itemview->priv->mode) {
		case ITEMVIEW_ALL_ITEMS:
			/* No HTML update needed if 2 pane mode and item not in item set */
			if (!item_list_view_contains_id (itemview->priv->itemListView, item->id))
				return;
			break;
		case ITEMVIEW_SINGLE_ITEM:		
			/* No HTML update needed if 3 pane mode and item not displayed */
			if (item->id != itemlist_get_selected_id ())
				return;
			break;
		default:
			/* Return in all other display modes */
			return;
			break;
	}
	
	itemview->priv->needsHTMLViewUpdate = TRUE;
	htmlview_update_item (item);
}
コード例 #2
0
ファイル: item_list_view.c プロジェクト: dmitryvk/liferea
static void
item_list_view_update_item_foreach (gpointer key,
                                    gpointer value,
                                    gpointer user_data)
{
	itemPtr 	item;
	
	item = item_load (GPOINTER_TO_UINT (key) /* id */);
	if (!item)
		return;

	item_list_view_update_item (ITEM_LIST_VIEW (user_data), item);
	
	item_unload (item);
}
コード例 #3
0
ファイル: item_list_view.c プロジェクト: dmitryvk/liferea
void 
item_list_view_add_item (ItemListView *ilv, itemPtr item)
{
	GtkTreeStore	*itemstore;

	if (ilv->priv->batch_mode) {
		/* either merge to new unattached GtkTreeStore */
		item_list_view_add_item_to_tree_store (ilv, ilv->priv->batch_itemstore, item);
	} else {
		/* or merge to visible item store */	
		itemstore = GTK_TREE_STORE (gtk_tree_view_get_model (ilv->priv->treeview));
		item_list_view_add_item_to_tree_store (ilv, itemstore, item);
	}
	
	item_list_view_update_item (ilv, item);
}