aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-maildir-folder.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/local/camel-maildir-folder.c')
-rw-r--r--camel/providers/local/camel-maildir-folder.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/camel/providers/local/camel-maildir-folder.c b/camel/providers/local/camel-maildir-folder.c
index 05fdd70e10..3b1ba7ef86 100644
--- a/camel/providers/local/camel-maildir-folder.c
+++ b/camel/providers/local/camel-maildir-folder.c
@@ -54,6 +54,7 @@ static CamelLocalSummary *maildir_create_summary(const char *path, const char *f
static void maildir_append_message(CamelFolder * folder, CamelMimeMessage * message, const CamelMessageInfo *info, char **appended_uid, CamelException * ex);
static CamelMimeMessage *maildir_get_message(CamelFolder * folder, const gchar * uid, CamelException * ex);
+static void maildir_refresh_info(CamelFolder *folder, CamelException *ex);
static void maildir_finalize(CamelObject * object);
@@ -67,6 +68,7 @@ static void camel_maildir_folder_class_init(CamelObjectClass * camel_maildir_fol
/* virtual method definition */
/* virtual method overload */
+ camel_folder_class->refresh_info = maildir_refresh_info;
camel_folder_class->append_message = maildir_append_message;
camel_folder_class->get_message = maildir_get_message;
@@ -126,6 +128,20 @@ static CamelLocalSummary *maildir_create_summary(const char *path, const char *f
}
static void
+maildir_refresh_info(CamelFolder *folder, CamelException *ex)
+{
+ CamelLocalFolder *lf = (CamelLocalFolder *)folder;
+
+ if (camel_local_summary_check((CamelLocalSummary *)folder->summary, lf->changes, ex) == -1)
+ return;
+
+ if (camel_folder_change_info_changed(lf->changes)) {
+ camel_object_trigger_event((CamelObject *)folder, "folder_changed", lf->changes);
+ camel_folder_change_info_clear(lf->changes);
+ }
+}
+
+static void
maildir_append_message (CamelFolder *folder, CamelMimeMessage *message, const CamelMessageInfo *info, char **appended_uid, CamelException *ex)
{
CamelMaildirFolder *maildir_folder = (CamelMaildirFolder *)folder;