• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.10.5 API Reference
  • KDE Home
  • Contact Us
 

akonadi

  • akonadi
standardactionmanager.h
1 /*
2  Copyright (c) 2008 Volker Krause <vkrause@kde.org>
3 
4  This library is free software; you can redistribute it and/or modify it
5  under the terms of the GNU Library General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or (at your
7  option) any later version.
8 
9  This library is distributed in the hope that it will be useful, but WITHOUT
10  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12  License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to the
16  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  02110-1301, USA.
18 */
19 
20 #ifndef AKONADI_STANDARDACTIONMANAGER_H
21 #define AKONADI_STANDARDACTIONMANAGER_H
22 
23 #include "akonadi_export.h"
24 
25 #include <QtCore/QObject>
26 
27 #include <akonadi/collection.h>
28 #include <akonadi/item.h>
29 
30 class KAction;
31 class KActionCollection;
32 class KLocalizedString;
33 class QItemSelectionModel;
34 class QWidget;
35 class QMenu;
36 
37 namespace Akonadi {
38 
39 class FavoriteCollectionsModel;
40 
126 class AKONADI_EXPORT StandardActionManager : public QObject
127 {
128  Q_OBJECT
129  public:
133  enum Type {
134  CreateCollection,
135  CopyCollections,
136  DeleteCollections,
137  SynchronizeCollections,
138  CollectionProperties,
139  CopyItems,
140  Paste,
141  DeleteItems,
142  ManageLocalSubscriptions,
143  AddToFavoriteCollections,
144  RemoveFromFavoriteCollections,
145  RenameFavoriteCollection,
146  CopyCollectionToMenu,
147  CopyItemToMenu,
148  MoveItemToMenu,
149  MoveCollectionToMenu,
150  CutItems,
151  CutCollections,
152  CreateResource,
153  DeleteResources,
154  ResourceProperties,
155  SynchronizeResources,
156  ToggleWorkOffline,
157  CopyCollectionToDialog,
158  MoveCollectionToDialog,
159  CopyItemToDialog,
160  MoveItemToDialog,
161  SynchronizeCollectionsRecursive,
162  MoveCollectionsToTrash,
163  MoveItemsToTrash,
164  RestoreCollectionsFromTrash,
165  RestoreItemsFromTrash,
166  MoveToTrashRestoreCollection,
167  MoveToTrashRestoreCollectionAlternative,
168  MoveToTrashRestoreItem,
169  MoveToTrashRestoreItemAlternative,
170  SynchronizeFavoriteCollections,
171  LastType
172  };
173 
177  enum TextContext {
178  DialogTitle,
179  DialogText,
180  MessageBoxTitle,
181  MessageBoxText,
182  MessageBoxAlternativeText,
183  ErrorMessageTitle,
184  ErrorMessageText
185  };
186 
193  explicit StandardActionManager( KActionCollection *actionCollection, QWidget *parent = 0 );
194 
198  ~StandardActionManager();
199 
205  void setCollectionSelectionModel( QItemSelectionModel *selectionModel );
206 
211  void setItemSelectionModel( QItemSelectionModel* selectionModel );
212 
220  void setFavoriteCollectionsModel( FavoriteCollectionsModel *favoritesModel );
221 
229  void setFavoriteSelectionModel( QItemSelectionModel *selectionModel );
230 
236  KAction* createAction( Type type );
237 
242  void createAllActions();
243 
247  KAction* action( Type type ) const;
248 
261  void setActionText( Type type, const KLocalizedString &text );
262 
272  void interceptAction( Type type, bool intercept = true );
273 
280  Akonadi::Collection::List selectedCollections() const;
281 
288  Akonadi::Item::List selectedItems() const;
289 
295  void setContextText( Type type, TextContext context, const QString &text );
296 
302  void setContextText( Type type, TextContext context, const KLocalizedString &text );
303 
309  void setMimeTypeFilter( const QStringList &mimeTypes );
310 
316  void setCapabilityFilter( const QStringList &capabilities );
317 
324  void setCollectionPropertiesPageNames( const QStringList &names );
325 
330  void createActionFolderMenu(QMenu *menu, Type type);
331 
332  Q_SIGNALS:
338  void actionStateUpdated();
339 
340  private:
341  //@cond PRIVATE
342  class Private;
343  Private* const d;
344 
345  Q_PRIVATE_SLOT( d, void updateActions() )
346 #ifndef QT_NO_CLIPBOARD
347  Q_PRIVATE_SLOT( d, void clipboardChanged(QClipboard::Mode) )
348 #endif
349  Q_PRIVATE_SLOT( d, void collectionSelectionChanged() )
350  Q_PRIVATE_SLOT( d, void favoriteSelectionChanged() )
351 
352  Q_PRIVATE_SLOT( d, void slotCreateCollection() )
353  Q_PRIVATE_SLOT( d, void slotCopyCollections() )
354  Q_PRIVATE_SLOT( d, void slotCutCollections() )
355  Q_PRIVATE_SLOT( d, void slotDeleteCollection() )
356  Q_PRIVATE_SLOT( d, void slotMoveCollectionToTrash() )
357  Q_PRIVATE_SLOT( d, void slotMoveItemToTrash() )
358  Q_PRIVATE_SLOT( d, void slotRestoreCollectionFromTrash() )
359  Q_PRIVATE_SLOT( d, void slotRestoreItemFromTrash() )
360  Q_PRIVATE_SLOT( d, void slotTrashRestoreCollection() )
361  Q_PRIVATE_SLOT( d, void slotTrashRestoreItem() )
362  Q_PRIVATE_SLOT( d, void slotSynchronizeCollection() )
363  Q_PRIVATE_SLOT( d, void slotSynchronizeCollectionRecursive() )
364  Q_PRIVATE_SLOT( d, void slotSynchronizeFavoriteCollections() )
365  Q_PRIVATE_SLOT( d, void slotCollectionProperties() )
366  Q_PRIVATE_SLOT( d, void slotCopyItems() )
367  Q_PRIVATE_SLOT( d, void slotCutItems() )
368  Q_PRIVATE_SLOT( d, void slotPaste() )
369  Q_PRIVATE_SLOT( d, void slotDeleteItems() )
370  Q_PRIVATE_SLOT( d, void slotDeleteItemsDeferred(const Akonadi::Item::List &) )
371  Q_PRIVATE_SLOT( d, void slotLocalSubscription() )
372  Q_PRIVATE_SLOT( d, void slotAddToFavorites() )
373  Q_PRIVATE_SLOT( d, void slotRemoveFromFavorites() )
374  Q_PRIVATE_SLOT( d, void slotRenameFavorite() )
375  Q_PRIVATE_SLOT( d, void slotCopyCollectionTo() )
376  Q_PRIVATE_SLOT( d, void slotMoveCollectionTo() )
377  Q_PRIVATE_SLOT( d, void slotCopyItemTo() )
378  Q_PRIVATE_SLOT( d, void slotMoveItemTo() )
379  Q_PRIVATE_SLOT( d, void slotCopyCollectionTo(QAction*) )
380  Q_PRIVATE_SLOT( d, void slotMoveCollectionTo(QAction*) )
381  Q_PRIVATE_SLOT( d, void slotCopyItemTo(QAction*) )
382  Q_PRIVATE_SLOT( d, void slotMoveItemTo(QAction*) )
383  Q_PRIVATE_SLOT( d, void slotCreateResource() )
384  Q_PRIVATE_SLOT( d, void slotDeleteResource() )
385  Q_PRIVATE_SLOT( d, void slotResourceProperties() )
386  Q_PRIVATE_SLOT( d, void slotSynchronizeResource() )
387  Q_PRIVATE_SLOT( d, void slotToggleWorkOffline(bool) )
388 
389  Q_PRIVATE_SLOT( d, void collectionCreationResult(KJob*) )
390  Q_PRIVATE_SLOT( d, void collectionDeletionResult(KJob*) )
391  Q_PRIVATE_SLOT( d, void moveCollectionToTrashResult(KJob*) )
392  Q_PRIVATE_SLOT( d, void moveItemToTrashResult(KJob*) )
393  Q_PRIVATE_SLOT( d, void itemDeletionResult(KJob*) )
394  Q_PRIVATE_SLOT( d, void resourceCreationResult(KJob*) )
395  Q_PRIVATE_SLOT( d, void pasteResult(KJob*) )
396 
397  Q_PRIVATE_SLOT( d, void enableAction(int, bool) )
398  Q_PRIVATE_SLOT( d, void updatePluralLabel(int, int) )
399  Q_PRIVATE_SLOT( d, void updateAlternatingAction(int) )
400  Q_PRIVATE_SLOT( d, bool isFavoriteCollection(const Akonadi::Collection&) )
401 
402  Q_PRIVATE_SLOT( d, void aboutToShowMenu() )
403  //@endcond
404 };
405 
406 }
407 
408 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:27:42 by doxygen 1.8.3.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

akonadi

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

kdepimlibs-4.10.5 API Reference

Skip menu "kdepimlibs-4.10.5 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal