~liferea/liferea/trunk

« back to all changes in this revision

Viewing changes to src/itemlist.c

  • Committer: Lars Windolf
  • Date: 2012-10-27 22:48:37 UTC
  • Revision ID: git-v1:bafc9888ff58e32167b722590aebb7377b014fbf
Many many search folder counting fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
457
457
void
458
458
itemlist_remove_item (itemPtr item) 
459
459
{
460
 
        /* update search folder counters */
461
 
        vfolder_foreach_data (vfolder_remove_item, item);
462
 
        
463
460
        if (itemlist->priv->selectedId == item->id) {
464
461
                itemlist_set_selected (NULL);
465
462
                itemlist->priv->deferredFilter = FALSE;
472
469
        itemview_update ();
473
470
 
474
471
        db_item_remove (item->id);
475
 
        
476
 
        /* update feed list */
 
472
 
 
473
        /* update feed list counters*/
 
474
        vfolder_foreach (node_update_counters);
477
475
        node_update_counters (node_from_id (item->nodeId));
478
476
        
479
477
        item_unload (item);
503
501
        while (iter) {
504
502
                itemPtr item = (itemPtr) iter->data;
505
503
 
506
 
                vfolder_foreach_data (vfolder_remove_item, item);
507
 
 
508
504
                if (itemlist->priv->selectedId != item->id) {
509
505
                        /* don't call itemlist_remove_item() here, because it's to slow */
510
506
                        itemview_remove_item (item);
518
514
        }
519
515
 
520
516
        itemview_update ();
 
517
        vfolder_foreach (node_update_counters);
521
518
        node_update_counters (node_from_id (itemSet->nodeId));
522
519
}
523
520
 
529
526
        
530
527
        if (node == itemlist->priv->currentNode)
531
528
                itemview_clear ();
532
 
 
533
 
        itemset = db_itemset_load (node->id);
534
 
        iter = itemset->ids;
535
 
        while (iter) {
536
 
                itemPtr item = item_load ((gulong)iter->data);
537
 
                vfolder_foreach_data (vfolder_remove_item, item);
538
 
                item_unload (item);
539
 
                iter = g_list_next (iter);
540
 
        }
541
 
        itemset_free (itemset);
542
529
                
543
530
        db_itemset_remove_all (node->id);
544
531
        
547
534
                itemlist_duplicate_list_free ();
548
535
        }
549
536
 
 
537
        vfolder_foreach (node_update_counters);
550
538
        node_update_counters (node);
551
539
}
552
540