Release schedule reminder

Bo Thorsen bo at sonofthor.dk
Wed Oct 2 08:08:38 BST 2002


On Wednesday 02 October 2002 01:03, Dirk Mueller wrote:
> Hi,
>
> as we'll announce KDE 3.1 beta2 today, I suggest that we go into the deep
> freeze period now. Which means:
>
> - No further i18n string changes
>
> - Nontrivial patches to CVS _have_ _to_ be reviewed by another developer
>   first before committing.

I didn't get any response on the following patch. I would really like to see 
this in KDE 3.1 since it fixes a flaw in the IMAP flags which makes kmail use 
magic numbers to decode the flags. There is no urgent need to change kmail or 
konqueror to use these new since I haven't changed the actual encoding of the 
flags. Apps using the IMAP slave can be changed after 3.1.

Can I commit this? And can someone tell me how I convince automake that my new 
header file can be installed to the include dir?

Forwarded message:

In kdebase/kioslave/imap4/imapinfo.h there is a flags encoding - an enum - of
the imap slave. These are used for changing the IMAP style flags
"\\ SEEN \\ DELETED" and so to a single number. Unfortunately this encoding 
isn't put in any header file, so any app using the IMAP flags must use magic 
numbers. KMail does this and I assume konqueror also does.

This patch moves the flags to a new header file. Can this go into 3.1? If
someone commits this with the necessary Makefile.am hackery to install
imap4_slave_flags.h into $INCLUDE/kio, I will make a patch for kmail asap.



Index: imap4_slave_flags.h
===================================================================
RCS file: imap4_slave_flags.h
diff -N imap4_slave_flags.h
--- /dev/null   Fri Feb  1 11:53:05 2002
+++ imap4_slave_flags.h Fri Sep 20 17:14:32 2002
@@ -0,0 +1,36 @@
+#ifndef _IMAP4_SLAVE_FLAGS_H
+#define _IMAP4_SLAVE_FLAGS_H "$Id:$"
+
+/**********************************************************************
+ *
+ *   imap4_slave_flags.h  - IMAP4rev1 flags encoding
+ *   Copyright (C) 2002 Bo Thorsen <bo at klaralvdalens-datakonsult.se>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *********************************************************************/
+
+enum ImapMessageFlags {
+  ImapSeen = 1 << 0,
+  ImapAnswered = 1 << 1,
+  ImapFlagged = 1 << 2,
+  ImapDeleted = 1 << 3,
+  ImapDraft = 1 << 4,
+  ImapRecent = 1 << 5,
+  ImapUser = 1 << 6
+};
+
+
+#endif
Index: imapinfo.cc
===================================================================
RCS file: /home/kde/kdebase/kioslave/imap4/imapinfo.cc,v
retrieving revision 1.8
diff -u -p -r1.8 imapinfo.cc
--- imapinfo.cc 2001/11/26 19:24:39     1.8
+++ imapinfo.cc 2002/09/20 15:14:32
@@ -232,19 +232,19 @@ ulong imapInfo::_flags (const QString & 
     entry = imapParser::b2c(imapParser::parseOneWord (flagsString));
 
     if (0 != entry.contains ("\\Seen", false))
-      flags ^= Seen;
+      flags ^= ImapSeen;
     else if (0 != entry.contains ("\\Answered", false))
-      flags ^= Answered;
+      flags ^= ImapAnswered;
     else if (0 != entry.contains ("\\Flagged", false))
-      flags ^= Flagged;
+      flags ^= ImapFlagged;
     else if (0 != entry.contains ("\\Deleted", false))
-      flags ^= Deleted;
+      flags ^= ImapDeleted;
     else if (0 != entry.contains ("\\Draft", false))
-      flags ^= Draft;
+      flags ^= ImapDraft;
     else if (0 != entry.contains ("\\Recent", false))
-      flags ^= Recent;
+      flags ^= ImapRecent;
     else if (0 != entry.contains ("\\*", false))
-      flags ^= User;
+      flags ^= ImapUser;
     else if (entry.isEmpty ())
       flagsString.clear();
     else
Index: imapinfo.h
===================================================================
RCS file: /home/kde/kdebase/kioslave/imap4/imapinfo.h,v
retrieving revision 1.5
diff -u -p -r1.5 imapinfo.h
--- imapinfo.h  2001/08/07 20:04:28     1.5
+++ imapinfo.h  2002/09/20 15:14:32
@@ -26,24 +26,13 @@
 #include <qstringlist.h>
 #include <qstring.h>
 
+#include "imap4_slave_flags.h"
+
+
 //class handling the info we get on EXAMINE and SELECT
 class imapInfo
 {
 public:
-
-
-  enum MessageAttribute
-  {
-    Seen = 1 << 0,
-    Answered = 1 << 1,
-    Flagged = 1 << 2,
-    Deleted = 1 << 3,
-    Draft = 1 << 4,
-    Recent = 1 << 5,
-    User = 1 << 6
-  };
-
-
     imapInfo ();
     imapInfo (const QStringList &);
     imapInfo (const imapInfo &);

-- 

     Bo Thorsen                 |   Praestevejen 4
     Senior Software Engineer   |   5290 Marslev
     Klarälvdalens Datakonsult  |   Denmark





More information about the kde-core-devel mailing list