[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Patch for setting mails as read
From:       Harald Fernengel <harry () bnro ! de>
Date:       2001-12-30 1:37:16
[Download RAW message or body]

Hello,

this patch adds a new rmb item that allows to mark all unread and new messages 
as read in a folder. Please tell me whether you like it and I'll commit it.

Harry
["kmail.patch2" (text/x-diff)]

Index: kmfolder.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfolder.cpp,v
retrieving revision 1.205
diff -d -u -3 -r1.205 kmfolder.cpp
--- kmfolder.cpp	2001/12/27 13:02:09	1.205
+++ kmfolder.cpp	2001/12/30 01:29:14
@@ -393,6 +393,21 @@
   }
 }

+void KMFolder::markUnreadAsRead()
+{
+  KMMsgBase* msgBase;
+  int i;
+
+  for (i=0; i<mMsgList.high(); i++)
+  {
+    if (!(msgBase = mMsgList[i])) continue;
+    if (msgBase->status() == KMMsgStatusNew || msgBase->status() == KMMsgStatusUnread)
+    {
+      msgBase->setStatus(KMMsgStatusRead);
+      msgBase->setDirty(TRUE);
+    }
+  }
+}

 //-----------------------------------------------------------------------------
 void KMFolder::quiet(bool beQuiet)
Index: kmfolder.h
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfolder.h,v
retrieving revision 1.75
diff -d -u -3 -r1.75 kmfolder.h
--- kmfolder.h	2001/12/27 13:02:10	1.75
+++ kmfolder.h	2001/12/30 01:29:16
@@ -189,6 +189,9 @@
   /** Mark all new messages as unread. */
   virtual void markNewAsUnread();

+  /** Mark all new and unread messages as read. */
+  virtual void markUnreadAsRead();
+
   /** Create a new folder with the name of this object and open it.
       Returns zero on success and an error code equal to the
       c-library fopen call otherwise. */
Index: kmfoldertree.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfoldertree.cpp,v
retrieving revision 1.159
diff -d -u -3 -r1.159 kmfoldertree.cpp
--- kmfoldertree.cpp	2001/12/26 12:53:18	1.159
+++ kmfoldertree.cpp	2001/12/30 01:29:21
@@ -817,6 +817,9 @@
       folderMenu->insertItem(i18n("C&ompact"), topLevelWidget(),
                              SLOT(slotCompactFolder()));
       folderMenu->insertSeparator();
+      if (fti->folder->countUnread() > 0)
+        folderMenu->insertItem(i18n("&Mark all Mails as read"), topLevelWidget(),
+                               SLOT(slotMarkAllAsRead()));
       folderMenu->insertItem(i18n("&Empty"), topLevelWidget(),
                              SLOT(slotEmptyFolder()));
     }
Index: kmmainwin.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmmainwin.cpp,v
retrieving revision 1.394
diff -d -u -3 -r1.394 kmmainwin.cpp
--- kmmainwin.cpp	2001/12/29 04:53:58	1.394
+++ kmmainwin.cpp	2001/12/30 01:29:45
@@ -882,6 +882,13 @@
   }
 }

+//-----------------------------------------------------------------------------
+void KMMainWin::slotMarkAllAsRead()
+{
+  if (!mFolder)
+    return;
+  mFolder->markUnreadAsRead();
+}

 //-----------------------------------------------------------------------------
 void KMMainWin::slotCompactFolder()
Index: kmmainwin.h
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmmainwin.h,v
retrieving revision 1.104
diff -d -u -3 -r1.104 kmmainwin.h
--- kmmainwin.h	2001/12/23 17:19:20	1.104
+++ kmmainwin.h	2001/12/30 01:29:46
@@ -144,6 +144,7 @@
   void slotModifyFolder();
   void slotExpireFolder();
   void slotExpireAll();
+  void slotMarkAllAsRead();
   void slotRemoveFolder();
   void slotEmptyFolder();
   void slotCompactFolder();

_______________________________________________
kmail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic