Changeset 2122

Show
Ignore:
Timestamp:
06/11/07 15:44:40
Author:
pvanhoof
Message:

Bugfixes on unread and total count with PushEmail?

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/docs/devel/reference

    • Property svn:ignore changed from .svnignore to libtinymail.types Makefile.in Makefile *-priv.sgml .libs libtinymail.types libtinymail-decl.txt.bak libtinymail-decl-list.txt.bak Makefile Makefile.in libtinymail-sections.txt libtinymail.prerequisites sgml-build.stamp libtinymail-undocumented.txt html-build.stamp sgml.stamp html.stamp libtinymail.hierarchy libtinymail-overrides.txt libtinymail-unused.txt tmpl-build.stamp libtinymail.interfaces tmpl.stamp libtinymail-decl.txt scan-build.stamp html libtinymail.args libtinymail-decl-list.txt libtinymail.signals .svnignore
  • trunk/docs/devel/reference/.svnignore

    r2121 r2122  
     1libtinymail.types 
     2Makefile.in 
     3Makefile 
    14*-priv.sgml 
    25.libs 
  • trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-folder.c

    r2118 r2122  
    30963096 
    30973097                mchanges = camel_folder_change_info_new (); 
     3098                mchanges->push_email_event = changes->push_email_event; 
    30983099 
    30993100                while (uid < needheaders->len)  
  • trunk/libtinymail-camel/tny-camel-folder.c

    r2114 r2122  
    154154        TnyFolderChange *change = NULL; 
    155155        CamelFolderSummary *summary; 
    156         gboolean old = priv->dont_fkill
     156        gboolean old = priv->dont_fkill, has_chg = FALSE
    157157        gint i = 0; 
    158158 
     
    182182                                        priv->unread_length++; 
    183183                                priv->cached_length++; 
     184                                has_chg = TRUE; 
    184185                        } 
    185186 
     
    209210                                priv->cached_length--; 
    210211                                priv->unread_sync++; 
     212                                has_chg = TRUE; 
    211213                        } 
    212214 
     
    224226                if (priv->unread_sync > 10) 
    225227                { 
    226  
    227228                        /* The unread-sync is to avoid the expensive counting of unread 
    228229                         * unread messages (yes I know it sucks, but get_unread_msg_cnt 
    229230                         * walks the entire summary to count the unread ones). 
    230231                         * TNY TODO: a better solution for this */ 
    231  
    232232                        priv->unread_length = camel_folder_get_unread_message_count (priv->folder); 
    233233                        priv->unread_sync = 0; 
     234                        has_chg = TRUE; 
     235                        tny_folder_change_set_new_unread_count (change, priv->unread_length); 
    234236                } 
    235237 
    236                 tny_folder_change_set_new_all_count (change, priv->cached_length); 
    237                 tny_folder_change_set_new_unread_count (change, priv->unread_length); 
     238                if (has_chg)  
     239                       tny_folder_change_set_new_all_count (change, priv->cached_length); 
    238240 
    239241                priv->dont_fkill = TRUE; 
  • trunk/libtinymailui-gtk/tny-gtk-folder-store-tree-model.c

    r2103 r2122  
    592592        TnyFolderChange *change = user_data1; 
    593593        TnyFolder *changed_folder = tny_folder_change_get_folder (change); 
     594        TnyFolderChangeChanged changed = tny_folder_change_get_changed (change); 
    594595 
    595596        gtk_tree_model_get (model, iter,  
     
    600601        { 
    601602                TnyFolder *folder; 
     603                gint unread, total; 
    602604 
    603605                gtk_tree_model_get (model, iter,  
    604606                        TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN,  
    605607                        &folder, -1); 
     608 
     609                if (changed & TNY_FOLDER_CHANGE_CHANGED_ALL_COUNT) 
     610                        total = tny_folder_change_get_new_all_count (change); 
     611                else 
     612                        total = tny_folder_get_all_count (folder); 
     613 
     614                if (changed & TNY_FOLDER_CHANGE_CHANGED_UNREAD_COUNT) 
     615                        unread = tny_folder_change_get_new_unread_count (change); 
     616                else 
     617                        unread = tny_folder_get_unread_count (folder); 
    606618 
    607619                if (folder == changed_folder) 
     
    615627                                tny_folder_get_name (TNY_FOLDER (folder)), 
    616628                                TNY_GTK_FOLDER_STORE_TREE_MODEL_UNREAD_COLUMN,  
    617                                 tny_folder_get_unread_count (TNY_FOLDER (folder))
     629                                unread
    618630                                TNY_GTK_FOLDER_STORE_TREE_MODEL_ALL_COLUMN,  
    619                                 tny_folder_get_all_count (TNY_FOLDER (folder))
     631                                total
    620632                                -1); 
    621633                }