Commit Diff


commit - bc5b1aef39ce116f29023e02532e1da23c4cac4b
commit + 25dd6ebbabbc2ce5a122d71a89c0b4fe40e7756b
blob - 276ca8e3e774fd782752dd371a1217cc977e588d
blob + 69e199b6ea154eacfe432f628a129df2891d5455
--- src/imap.c
+++ src/imap.c
@@ -176,8 +176,6 @@ struct _IMAPFolderItem
 	gboolean should_trash_cache;
 	gint can_create_flags;
 
-	GHashTable *tags_set_table;
-	GHashTable *tags_unset_table;
 	GSList *ok_flags;
 
 };
@@ -326,10 +324,6 @@ static gint imap_status			(IMAPSession	*session,
 					 guint32	*uid_validity,
 					 gint		*unseen,
 					 gboolean	 block);
-static void	imap_commit_tags	(FolderItem 	*item,
-					 MsgInfo	*msginfo,
-					 GSList		*set_tags,
-					 GSList		*unset_tags);
 
 static gchar imap_get_path_separator		(IMAPSession	*session,
 						 IMAPFolder	*folder,
@@ -504,7 +498,6 @@ FolderClass *imap_get_class(void)
 		imap_class.set_batch = imap_set_batch;
 		imap_class.synchronise = imap_synchronise;
 		imap_class.remove_cached_msg = imap_remove_cached_msg;
-		imap_class.commit_tags = imap_commit_tags;
 	}
 
 	return &imap_class;
@@ -1510,17 +1503,6 @@ static void imap_remove_cached_msg(Folder *folder, Fol
 	g_free(filename);
 }
 
-typedef struct _TagsData {
-	gchar *str;
-	GSList *msglist;
-	IMAPFolderItem *item;
-} TagsData;
-
-static void imap_commit_tags(FolderItem *item, MsgInfo *msginfo, GSList *tags_set, GSList *tags_unset)
-{
-	fprintf(stderr, "TODO: delete imap_commit_tags\n");
-}
-
 static gchar *imap_fetch_msg_full(Folder *folder, FolderItem *item, gint uid,
 				  gboolean headers, gboolean body)
 {
@@ -5079,7 +5061,6 @@ static /*gint*/ void *imap_get_flags_thread(void *data
 	gboolean reverse_seen = FALSE;
 	gboolean selected_folder;
 	gint exists_cnt, unseen_cnt;
-	gboolean got_alien_tags = FALSE;
 
 	session = imap_session_get(folder);
 
@@ -5304,10 +5285,6 @@ bail:
 		g_hash_table_insert(msgflags, msginfo, GINT_TO_POINTER(flags));
 	}
 
-	if (got_alien_tags) {
-		tags_write_tags();
-	}
-
 	if (flags_hash)
 		g_hash_table_destroy(flags_hash);
 	if (tags_hash)
@@ -5405,50 +5382,6 @@ static gboolean process_flags(gpointer key, gpointer v
 	return TRUE;
 }
 
-static gboolean process_tags(gpointer key, gpointer value, gpointer user_data)
-{
-	gboolean tags_set = GPOINTER_TO_INT(user_data);
-	TagsData *data = (TagsData *)value;
-	IMAPFolderItem *_item = data->item;
-	FolderItem *item = (FolderItem *)_item;
-	gchar *str = data->str;
-	gint ok = MAILIMAP_ERROR_BAD_STATE;
-	IMAPSession *session = NULL;
-
-	debug_print("getting session...\n");
-	session = imap_session_get(item->folder);
-
-	data->msglist = g_slist_reverse(data->msglist);
-
-	debug_print("IMAP %ssetting tags %s for %d messages\n",
-		tags_set?"":"un",
-		str,
-		g_slist_length(data->msglist));
-
-	lock_session(session);
-	if (session) {
-		ok = imap_select(session, IMAP_FOLDER(item->folder), item,
-			 NULL, NULL, NULL, NULL, NULL, FALSE);
-	}
-	if (ok == MAILIMAP_NO_ERROR) {
-		GSList list;
-		list.data = str;
-		list.next = NULL;
-		ok = imap_set_message_flags(session, IMAP_FOLDER_ITEM(item),
-			data->msglist, 0, &list, tags_set);
-	} else {
-		g_warning("can't select mailbox %s", item->path);
-	}
-
-	if (!is_fatal(ok))
-		unlock_session(session);
-
-	g_slist_free(data->msglist);
-	g_free(data->str);
-	g_free(data);
-	return TRUE;
-}
-
 static void process_hashtable(IMAPFolderItem *item)
 {
 	if (item->flags_set_table) {
@@ -5461,17 +5394,6 @@ static void process_hashtable(IMAPFolderItem *item)
 		g_hash_table_destroy(item->flags_unset_table);
 		item->flags_unset_table = NULL;
 	}
-	if (item->tags_set_table) {
-		g_hash_table_foreach_remove(item->tags_set_table, process_tags, GINT_TO_POINTER(TRUE));
-		g_hash_table_destroy(item->tags_set_table);
-		item->tags_set_table = NULL;
-	}
-	if (item->tags_unset_table) {
-		g_hash_table_foreach_remove(item->tags_unset_table, process_tags, GINT_TO_POINTER(FALSE));
-		g_hash_table_destroy(item->tags_unset_table);
-		item->tags_unset_table = NULL;
-	}
-
 }
 
 static void imap_set_batch (Folder *folder, FolderItem *_item, gboolean batch)
@@ -5493,12 +5415,6 @@ static void imap_set_batch (Folder *folder, FolderItem
 		if (!item->flags_unset_table) {
 			item->flags_unset_table = g_hash_table_new(NULL, g_direct_equal);
 		}
-		if (!item->tags_set_table) {
-			item->tags_set_table = g_hash_table_new(NULL, g_direct_equal);
-		}
-		if (!item->tags_unset_table) {
-			item->tags_unset_table = g_hash_table_new(NULL, g_direct_equal);
-		}
 		session = imap_session_get(folder);
 		if (session) {
 			imap_refresh_sensitivity(session);