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

List:       kde-commits
Subject:    KDE/kdepimlibs/akonadi/kmime
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2011-01-10 13:43:46
Message-ID: 20110110134346.54B4BAC8B4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1213472 by tokoe:

Disable 'Delete Collections' action for system folders

Do not allow to delete system folders (e.g. inbox, sent-mail, outbox)
by disabling the actions.

BUG: 262484


 M  +14 -0     standardmailactionmanager.cpp  


--- trunk/KDE/kdepimlibs/akonadi/kmime/standardmailactionmanager.cpp #1213471:1213472
@@ -27,6 +27,7 @@
 #include "markascommand_p.h"
 #include "movetotrashcommand_p.h"
 #include "removeduplicatescommand_p.h"
+#include "specialmailcollections.h"
 
 #include "akonadi/agentfilterproxymodel.h"
 #include "akonadi/agentinstance.h"
@@ -309,8 +310,21 @@
           const Akonadi::CollectionStatistics stats = collection.statistics();
           enableMarkAllAsRead = (stats.unreadCount() > 0);
           enableMarkAllAsUnread = (stats.count() != stats.unreadCount());
+
+          const bool isSystemFolder = (collection == \
SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Inbox ) || \
+                                       collection == \
SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Outbox ) \
|| +                                       collection == \
SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::SentMail ) \
|| +                                       collection == \
SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Trash ) || \
+                                       collection == \
SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Drafts ) \
|| +                                       collection == \
SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Templates \
)); +
+          if ( isSystemFolder ) {
+            if ( mGenericManager->action( StandardActionManager::DeleteCollections ) \
) { +              mGenericManager->action( StandardActionManager::DeleteCollections \
)->setEnabled( false );  }
       }
+        }
+      }
 
       if ( mActions.contains( Akonadi::StandardMailActionManager::MoveToTrash ) )
         mActions.value( Akonadi::StandardMailActionManager::MoveToTrash \
)->setEnabled( itemIsSelected );


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

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