0.9.10claws5
authorChristoph Hohmann <reboot@gmx.ch>
Fri, 12 Mar 2004 00:21:52 +0000 (00:21 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Fri, 12 Mar 2004 00:21:52 +0000 (00:21 +0000)
* src/folderview.c
        Add error requester when renaming a folder failed

* src/imap.c
        Check new FolderItem name for namespace seperator
        before renaming

(Closes Bug 443 Bad named IMAP folders won't be displayed)

ChangeLog.claws
configure.ac
src/folder.h
src/folderview.c
src/imap.c

index 766a32f76f8207ab9063912476bb466c32fc6619..ffa6d98ca6a7839b422a84251f61490a3978e6bd 100644 (file)
@@ -1,3 +1,14 @@
+2004-03-12 [christoph] 0.9.10claws5
+
+       * src/folderview.c
+               Add error requester when renaming a folder failed
+
+       * src/imap.c
+               Check new FolderItem name for namespace seperator
+               before renaming
+
+       (Closes Bug 443 Bad named IMAP folders won't be displayed)
+
 2004-03-11 [christoph] 0.9.10claws4
 
        * src/folder.[ch]
index e64f706f031ebbe35d75a71bdcdf5e98d47486cd..bd05f3fa8b772cf50358f25847ca6ce3b46a8965 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=4
+EXTRA_VERSION=5
 if test $EXTRA_VERSION -eq 0; then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
 else
index 05bf262a14a16e0c205d52df0b08a376fc3583c8..0db7ea5b76f838def4d82cff2d987c531c94db57 100644 (file)
@@ -539,14 +539,16 @@ struct _FolderClass
                                                 MsgInfo        *msginfo,
                                                 MsgPermFlags    newflags);
        /**
-        * Get the flags for a list of messages
+        * Get the flags for a list of messages. Flags that are not supported
+        * by the folder should be preserved. They can be copied from
+        * \c msginfo->flags.perm_flags
         *
         * \param folder The \c Folder of the messages
         * \param item The \c FolderItem of the messages
         * \param msglist The list of \c MsgInfos for which the flags should
         *                   be returned
-        * \param msgflags A \c GRelation for tuples of (message number,
-        *                 permanent flags). Add tuples for the messages in msgnumlist
+        * \param msgflags A \c GRelation for tuples of (MsgInfo, new permanent
+         *        flags for MsgInfo). Add tuples for the messages in msglist
         * \return 0 on success, a negative number otherwise
         */
        gint            (*get_flags)            (Folder         *folder,
index 053b3b6905e1ba7ac65fefdad3648e95a98ece10..f556f1d1a8cba250f48f2110a100680d15026200 100644 (file)
@@ -2106,13 +2106,14 @@ static void folderview_rename_folder_cb(FolderView *folderview, guint action,
        }
 
        Xstrdup_a(old_path, item->path, {g_free(new_folder); return;});
-       old_id = folder_item_get_identifier(item);
 
        if (item->folder->klass->rename_folder(item->folder, item, new_folder) < 0) {
-               g_free(old_id);
+               alertpanel_error(_("The folder could not be renamed.\n"
+                                  "The new folder name could not be allowed."));
                return;
        }
 
+       old_id = folder_item_get_identifier(item);
        /* if (FOLDER_TYPE(item->folder) == F_MH)
                prefs_filtering_rename_path(old_path, item->path); */
        new_id = folder_item_get_identifier(item);
index cec5ec158318323999310af5e778145d91b1cea1..def44b3c364c376ff93f8ed21b0e8de33ad1acea 100644 (file)
@@ -1717,6 +1717,12 @@ static gint imap_rename_folder(Folder *folder, FolderItem *item,
        g_return_val_if_fail(item->path != NULL, -1);
        g_return_val_if_fail(name != NULL, -1);
 
+       if (strchr(name, imap_get_path_separator(folder, item->path)) != NULL) {
+               g_warning(_("New folder name must not contain the namespace "
+                           "path seperator"));
+               return -1;
+       }
+
        session = imap_session_get(folder);
        if (!session) return -1;