+2004-04-22 [christoph] 0.9.10claws50
+
+ * src/folderutils.[ch]
+ add folderutils_mark_all_read()
+
+ * src/folderview.c
+ readd "mark all read" from popup menu, now works
+ in all folders and not only the opened folder
+
2004-04-21 [christoph] 0.9.10claws49
* src/Makefile.am
MICRO_VERSION=10
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=49
+EXTRA_VERSION=50
if test $EXTRA_VERSION -eq 0; then
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
return dups;
}
+
+void folderutils_mark_all_read(FolderItem *item)
+{
+ MsgInfoList *msglist, *cur;
+
+ g_return_if_fail(item != NULL);
+
+ msglist = folder_item_get_msg_list(item);
+ if (msglist == NULL)
+ return;
+
+ folder_item_update_freeze();
+ for (cur = msglist; cur != NULL; cur = g_slist_next(cur)) {
+ MsgInfo *msginfo = cur->data;
+
+ if (msginfo->flags.perm_flags & (MSG_NEW | MSG_UNREAD))
+ procmsg_msginfo_unset_flags(msginfo, MSG_NEW | MSG_UNREAD, 0);
+ procmsg_msginfo_free(msginfo);
+ }
+ folder_item_update_thaw();
+
+ g_slist_free(msglist);
+}
gint folderutils_delete_duplicates(FolderItem *item,
DeleteDuplicatesMode mode);
+void folderutils_mark_all_read (FolderItem *item);
#endif /* FOLDERUTILS_H */
#include "inc.h"
#include "statusbar.h"
#include "hooks.h"
+#include "folderutils.h"
typedef enum
{
static void mark_all_read_cb(FolderView *folderview, guint action,
GtkWidget *widget)
{
-/* TODO: claws can do this in all folders not just the opened folder
- if (folderview->selected)
- summary_mark_all_read(folderview->summaryview);
-*/
+ FolderItem *item;
+
+ item = folderview_get_selected(folderview);
+ if (item == NULL)
+ return;
+
+ folderutils_mark_all_read(item);
}
static void folderview_select_node(FolderView *folderview, GtkCTreeNode *node)
for (node = GTK_CTREE_NODE(GTK_CLIST(ctree)->row_list); node != NULL;
node = gtkut_ctree_node_next(ctree, node))
summary_mark_row_as_read(summaryview, node);
- gtk_clist_thaw(clist);
folder_item_update_thaw();
+ gtk_clist_thaw(clist);
summary_status_show(summaryview);
}