diff options
author | Dan Winship <danw@src.gnome.org> | 2000-10-20 04:30:43 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-10-20 04:30:43 +0800 |
commit | 24e77716ce81735b648302bc118557f2c9df273d (patch) | |
tree | 1a5edd93ebd63fa192e51bbb01164337a1b453eb /camel/providers/nntp | |
parent | fd66663d157d72222d7e99cad417a9a6a53608d0 (diff) | |
download | gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.gz gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.bz2 gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.lz gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.xz gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.zst gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.zip |
Update comment here so refresh_info isn't just for reconnects any more.
* camel-folder.c (camel_folder_refresh_info): Update comment here
so refresh_info isn't just for reconnects any more. Make the
default implementation a no-op rather than an error.
* providers/nntp/camel-nntp-folder.c: Move refresh_info impl into
camel_nntp_folder_new, since it would have leaked memory and not
done anything useful if it was called later.
* providers/mbox/camel-mbox-folder.c: Remove no-longer-necessary
refresh_info impl.
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Update imap_folder->exists, but don't actually load the new
messages. This is a temporary workaround to deal with the IMAP
provider stealing the message list focus at annoying times.
(imap_copy_message_to, imap_move_message_to): Emit a
folder_changed by hand, for now.
svn path=/trunk/; revision=6046
Diffstat (limited to 'camel/providers/nntp')
-rw-r--r-- | camel/providers/nntp/camel-nntp-folder.c | 60 |
1 files changed, 23 insertions, 37 deletions
diff --git a/camel/providers/nntp/camel-nntp-folder.c b/camel/providers/nntp/camel-nntp-folder.c index e04571ef36..c9fb19373a 100644 --- a/camel/providers/nntp/camel-nntp-folder.c +++ b/camel/providers/nntp/camel-nntp-folder.c @@ -58,38 +58,6 @@ static CamelFolderClass *parent_class=NULL; static void -nntp_refresh_info (CamelFolder *folder, CamelException *ex) -{ - CamelNNTPFolder *nntp_folder = CAMEL_NNTP_FOLDER (folder); - - /* load the summary if we have that ability */ - if (folder->has_summary_capability) { - const gchar *root_dir_path; - - root_dir_path = camel_nntp_store_get_toplevel_dir (CAMEL_NNTP_STORE(folder->parent_store)); - - nntp_folder->summary_file_path = g_strdup_printf ("%s/%s-ev-summary", - root_dir_path, - folder->name); - - nntp_folder->summary = camel_folder_summary_new (); - camel_folder_summary_set_filename (nntp_folder->summary, - nntp_folder->summary_file_path); - - if (-1 == camel_folder_summary_load (nntp_folder->summary)) { - /* Bad or nonexistant summary file */ - camel_nntp_get_headers (CAMEL_FOLDER( folder )->parent_store, - nntp_folder, ex); - if (camel_exception_get_id (ex)) - return; - - /* XXX check return value */ - camel_folder_summary_save (nntp_folder->summary); - } - } -} - -static void nntp_folder_sync (CamelFolder *folder, gboolean expunge, CamelException *ex) { @@ -295,7 +263,6 @@ camel_nntp_folder_class_init (CamelNNTPFolderClass *camel_nntp_folder_class) /* virtual method definition */ /* virtual method overload */ - camel_folder_class->refresh_info = nntp_refresh_info; camel_folder_class->sync = nntp_folder_sync; camel_folder_class->get_message_count = nntp_folder_get_message_count; camel_folder_class->set_message_flags = nntp_folder_set_message_flags; @@ -331,14 +298,33 @@ CamelFolder * camel_nntp_folder_new (CamelStore *parent, const char *folder_name, CamelException *ex) { CamelFolder *folder = CAMEL_FOLDER (camel_object_new (CAMEL_NNTP_FOLDER_TYPE)); + CamelNNTPFolder *nntp_folder = CAMEL_NNTP_FOLDER (folder); + const gchar *root_dir_path; camel_folder_construct (folder, parent, folder_name, folder_name); folder->has_summary_capability = TRUE; - camel_folder_refresh_info (folder, ex); - if (camel_exception_is_set (ex)) { - camel_object_unref (CAMEL_OBJECT (folder)); - folder = NULL; + root_dir_path = camel_nntp_store_get_toplevel_dir (CAMEL_NNTP_STORE(folder->parent_store)); + nntp_folder->summary_file_path = g_strdup_printf ("%s/%s-ev-summary", + root_dir_path, + folder->name); + + nntp_folder->summary = camel_folder_summary_new (); + camel_folder_summary_set_filename (nntp_folder->summary, + nntp_folder->summary_file_path); + + if (-1 == camel_folder_summary_load (nntp_folder->summary)) { + /* Bad or nonexistant summary file */ + camel_nntp_get_headers (CAMEL_FOLDER( folder )->parent_store, + nntp_folder, ex); + if (camel_exception_get_id (ex)) { + camel_object_unref (CAMEL_OBJECT (folder)); + return NULL; + } + + /* XXX check return value */ + camel_folder_summary_save (nntp_folder->summary); } + return folder; } |