00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_ACTIONSTATEMANAGER_P_H
00021 #define AKONADI_ACTIONSTATEMANAGER_P_H
00022
00023 #include <akonadi/collection.h>
00024 #include <akonadi/item.h>
00025
00026 class QObject;
00027
00028 namespace Akonadi {
00029
00035 class ActionStateManager
00036 {
00037 public:
00041 ActionStateManager();
00042
00046 virtual ~ActionStateManager();
00047
00051 void updateState( const Collection::List &collections, const Item::List &items );
00052
00061 void setReceiver( QObject *receiver );
00062
00063 protected:
00064 virtual bool isRootCollection( const Collection &collection ) const;
00065 virtual bool isResourceCollection( const Collection &collection ) const;
00066 virtual bool isFolderCollection( const Collection &collection ) const;
00067 virtual bool isSpecialCollection( const Collection &collection ) const;
00068 virtual bool isFavoriteCollection( const Collection &collection ) const;
00069 virtual bool hasResourceCapability( const Collection &collection, const QString &capability ) const;
00070
00071 virtual void enableAction( int action, bool state );
00072 virtual void updatePluralLabel( int action, int count );
00073
00074 private:
00075 QObject *mReceiver;
00076 };
00077
00078 }
00079
00080 #endif