• Skip to content
  • Skip to link menu
KDE 4.5 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

akonadi

standardactionmanager.h

00001 /*
00002     Copyright (c) 2008 Volker Krause <vkrause@kde.org>
00003 
00004     This library is free software; you can redistribute it and/or modify it
00005     under the terms of the GNU Library General Public License as published by
00006     the Free Software Foundation; either version 2 of the License, or (at your
00007     option) any later version.
00008 
00009     This library is distributed in the hope that it will be useful, but WITHOUT
00010     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00011     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00012     License for more details.
00013 
00014     You should have received a copy of the GNU Library General Public License
00015     along with this library; see the file COPYING.LIB.  If not, write to the
00016     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00017     02110-1301, USA.
00018 */
00019 
00020 #ifndef AKONADI_STANDARDACTIONMANAGER_H
00021 #define AKONADI_STANDARDACTIONMANAGER_H
00022 
00023 #include "akonadi_export.h"
00024 
00025 #include <QtCore/QObject>
00026 
00027 class KAction;
00028 class KActionCollection;
00029 class KLocalizedString;
00030 class QItemSelectionModel;
00031 class QWidget;
00032 
00033 namespace Akonadi {
00034 
00035 class FavoriteCollectionsModel;
00036 
00091 class AKONADI_EXPORT StandardActionManager : public QObject
00092 {
00093   Q_OBJECT
00094   public:
00098     enum Type {
00099       CreateCollection,          
00100       CopyCollections,           
00101       DeleteCollections,         
00102       SynchronizeCollections,    
00103       CollectionProperties,      
00104       CopyItems,                 
00105       Paste,                     
00106       DeleteItems,               
00107       ManageLocalSubscriptions,  
00108       AddToFavoriteCollections,  
00109       RemoveFromFavoriteCollections,  
00110       RenameFavoriteCollection,  
00111       CopyCollectionToMenu,      
00112       CopyItemToMenu,            
00113       MoveItemToMenu,            
00114       MoveCollectionToMenu,      
00115       CutItems,                  
00116       CutCollections,            
00117       LastType                   
00118     };
00119 
00126     explicit StandardActionManager( KActionCollection *actionCollection, QWidget *parent = 0 );
00127 
00131     ~StandardActionManager();
00132 
00138     void setCollectionSelectionModel( QItemSelectionModel *selectionModel );
00139 
00144     void setItemSelectionModel( QItemSelectionModel* selectionModel );
00145 
00153     void setFavoriteCollectionsModel( FavoriteCollectionsModel *favoritesModel );
00154 
00162     void setFavoriteSelectionModel( QItemSelectionModel *selectionModel );
00163 
00169     KAction* createAction( Type type );
00170 
00175     void createAllActions();
00176 
00180     KAction* action( Type type ) const;
00181 
00194     void setActionText( Type type, const KLocalizedString &text );
00195 
00196   Q_SIGNALS:
00202     void actionStateUpdated();
00203 
00204   private:
00205     //@cond PRIVATE
00206     class Private;
00207     Private* const d;
00208 
00209     Q_PRIVATE_SLOT( d, void updateActions() )
00210     Q_PRIVATE_SLOT( d, void clipboardChanged(QClipboard::Mode) )
00211     Q_PRIVATE_SLOT( d, void collectionSelectionChanged() )
00212     Q_PRIVATE_SLOT( d, void favoriteSelectionChanged() )
00213 
00214     Q_PRIVATE_SLOT( d, void slotCreateCollection() )
00215     Q_PRIVATE_SLOT( d, void slotCopyCollections() )
00216     Q_PRIVATE_SLOT( d, void slotCutCollections() )
00217     Q_PRIVATE_SLOT( d, void slotDeleteCollection() )
00218     Q_PRIVATE_SLOT( d, void slotSynchronizeCollection() )
00219     Q_PRIVATE_SLOT( d, void slotCollectionProperties() )
00220     Q_PRIVATE_SLOT( d, void slotCopyItems() )
00221     Q_PRIVATE_SLOT( d, void slotCutItems() )
00222     Q_PRIVATE_SLOT( d, void slotPaste() )
00223     Q_PRIVATE_SLOT( d, void slotDeleteItems() )
00224     Q_PRIVATE_SLOT( d, void slotLocalSubscription() )
00225     Q_PRIVATE_SLOT( d, void slotAddToFavorites() )
00226     Q_PRIVATE_SLOT( d, void slotRemoveFromFavorites() )
00227     Q_PRIVATE_SLOT( d, void slotRenameFavorite() )
00228     Q_PRIVATE_SLOT( d, void slotCopyCollectionTo(QAction*) )
00229     Q_PRIVATE_SLOT( d, void slotMoveCollectionTo(QAction*) )
00230     Q_PRIVATE_SLOT( d, void slotCopyItemTo(QAction*) )
00231     Q_PRIVATE_SLOT( d, void slotMoveItemTo(QAction*) )
00232 
00233     Q_PRIVATE_SLOT( d, void collectionCreationResult(KJob*) )
00234     Q_PRIVATE_SLOT( d, void collectionDeletionResult(KJob*) )
00235     Q_PRIVATE_SLOT( d, void pasteResult(KJob*) )
00236     //@endcond
00237 };
00238 
00239 }
00240 
00241 #endif

akonadi

Skip menu "akonadi"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.7.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal