akonadi
#include <standardactionmanager.h>
Inherits QObject.
Detailed Description
Manages generic actions for collection and item views.
Manages generic Akonadi actions common for all types. This covers creating of the actions with appropriate labels, icons, shortcuts etc., updating the action state depending on the current selection as well as default implementations for the actual operations.
If the default implementation is not appropriate for your application you can still use the state tracking by disconnecting the triggered() signal and re-connecting it to your implementation. The actual KAction objects can be retrieved by calling createAction() or action() for that.
If the default look and feel (labels, icons, shortcuts) of the actions is not appropriate for your application, you can access them as noted above and customize them to your needs. Additionally, you can set a KLocalizedString which should be used as a action label with correct plural handling for actions operating on multiple objects with setActionText().
Finally, if you have special needs for the action states, connect to the actionStateUpdated() signal and adjust the state accordingly.
The following actions are provided (KAction name in parenthesis):
- Creation of a new collection (
akonadi_collection_create
) - Copying of selected collections (
akonadi_collection_copy
) - Deletion of selected collections (
akonadi_collection_delete
) - Synchronization of selected collections (
akonadi_collection_sync
) - Showing the collection properties dialog for the current collection (
akonadi_collection_properties
) - Copying of selected items (
akonadi_itemcopy
) - Pasting collections, items or raw data (
akonadi_paste
) - Deleting of selected items (
akonadi_item_delete
) - Managing local subscriptions (
akonadi_manage_local_subscriptions
)
The following example shows how to use standard actions in your application:
Akonadi::StandardActionManager *actMgr = new Akonadi::StandardActionManager( actionCollection(), this ); actMgr->setCollectionSelectionModel( collectionView->collectionSelectionModel() ); actMgr->createAllActions();
Additionally you have to add the actions to the KXMLGUI file of your application, using the names listed above.
If you only need a subset of the actions provided, you can call createAction() instead of createAllActions() for the action types you want.
If you want to use your own implementation of the actual action operation and not the default implementation, you can call interceptAction() on the action type you want to handle yourself and connect the slot with your own implementation to the triggered() signal of the action:
using namespace Akonadi; StandardActionManager *manager = new StandardActionManager( actionCollection(), this ); manager->setCollectionSelectionModel( collectionView->collectionSelectionModel() ); manager->createAllActions(); // disable default implementation manager->interceptAction( StandardActionManager::CopyCollections ); // connect your own implementation connect( manager->action( StandardActionManager::CopyCollections ), SIGNAL( triggered( bool ) ), this, SLOT( myCopyImplementation() ) ); ... void MyClass::myCopyImplementation() { const Collection::List collections = manager->selectedCollections(); foreach ( const Collection &collection, collections ) { // copy the collection manually... } }
- Todo:
- collection deleting and sync do not support multi-selection yet
Member Enumeration Documentation
enum Akonadi::StandardActionManager::TextContext |
Describes the text context that can be customized.
- Enumerator:
Definition at line 177 of file standardactionmanager.h.
enum Akonadi::StandardActionManager::Type |
Describes the supported actions.
- Enumerator:
CreateCollection Creates an collection.
CopyCollections Copies the selected collections.
DeleteCollections Deletes the selected collections.
SynchronizeCollections Synchronizes collections.
CollectionProperties Provides collection properties.
CopyItems Copies the selected items.
Paste Paste collections or items.
DeleteItems Deletes the selected items.
ManageLocalSubscriptions Manages local subscriptions.
AddToFavoriteCollections Add the collection to the favorite collections model.
- Since:
- 4.4
RemoveFromFavoriteCollections Remove the collection from the favorite collections model.
- Since:
- 4.4
RenameFavoriteCollection Rename the collection of the favorite collections model.
- Since:
- 4.4
CopyCollectionToMenu Menu allowing to quickly copy a collection into another collection.
- Since:
- 4.4
CopyItemToMenu Menu allowing to quickly copy an item into a collection.
- Since:
- 4.4
MoveItemToMenu Menu allowing to move item into a collection.
- Since:
- 4.4
MoveCollectionToMenu Menu allowing to move a collection into another collection.
- Since:
- 4.4
CutItems Cuts the selected items.
- Since:
- 4.4
CutCollections Cuts the selected collections.
- Since:
- 4.4
CreateResource Creates a new resource.
- Since:
- 4.6
DeleteResources Deletes the selected resources.
- Since:
- 4.6
ResourceProperties Provides the resource properties.
- Since:
- 4.6
SynchronizeResources Synchronizes the selected resources.
- Since:
- 4.6
ToggleWorkOffline Toggles the work offline state of all resources.
- Since:
- 4.6
CopyCollectionToDialog Copy a collection into another collection, select the target in a dialog.
- Since:
- 4.6
MoveCollectionToDialog Move a collection into another collection, select the target in a dialog.
- Since:
- 4.6
CopyItemToDialog Copy an item into a collection, select the target in a dialog.
- Since:
- 4.6
MoveItemToDialog Move an item into a collection, select the target in a dialog.
- Since:
- 4.6
SynchronizeCollectionsRecursive Synchronizes collections in a recursive way.
- Since:
- 4.6
MoveCollectionsToTrash Moves the selected collection to trash and marks it as deleted, needs EntityDeletedAttribute.
- Since:
- 4.8
MoveItemsToTrash Moves the selected items to trash and marks them as deleted, needs EntityDeletedAttribute.
- Since:
- 4.8
RestoreCollectionsFromTrash Restores the selected collection from trash, needs EntityDeletedAttribute.
- Since:
- 4.8
RestoreItemsFromTrash Restores the selected items from trash, needs EntityDeletedAttribute.
- Since:
- 4.8
MoveToTrashRestoreCollection Move Collection to Trash or Restore it from Trash, needs EntityDeletedAttribute.
- Since:
- 4.8
MoveToTrashRestoreCollectionAlternative Helper type for MoveToTrashRestoreCollection, do not create directly. Use this to override texts of the restore action.
- Since:
- 4.8
MoveToTrashRestoreItem Move Item to Trash or Restore it from Trash, needs EntityDeletedAttribute.
- Since:
- 4.8
MoveToTrashRestoreItemAlternative Helper type for MoveToTrashRestoreItem, do not create directly. Use this to override texts of the restore action.
- Since:
- 4.8
SynchronizeFavoriteCollections Synchronize favorite collections.
- Since:
- 4.8
LastType Marks last action.
Definition at line 133 of file standardactionmanager.h.
Constructor & Destructor Documentation
StandardActionManager::StandardActionManager | ( | KActionCollection * | actionCollection, |
QWidget * | parent = 0 |
||
) | [explicit] |
Creates a new standard action manager.
- Parameters:
-
actionCollection The action collection to operate on. parent The parent widget.
Definition at line 1422 of file standardactionmanager.cpp.
StandardActionManager::~StandardActionManager | ( | ) |
Destroys the standard action manager.
Definition at line 1435 of file standardactionmanager.cpp.
Member Function Documentation
KAction * StandardActionManager::action | ( | Type | type | ) | const |
Returns the action of the given type, 0 if it has not been created (yet).
Definition at line 1558 of file standardactionmanager.cpp.
void Akonadi::StandardActionManager::actionStateUpdated | ( | ) | [signal] |
This signal is emitted whenever the action state has been updated.
In case you have special needs for changing the state of some actions, connect to this signal and adjust the action state.
KAction * StandardActionManager::createAction | ( | Type | type | ) |
Creates the action of the given type and adds it to the action collection specified in the constructor if it does not exist yet.
The action is connected to its default implementation provided by this class.
Definition at line 1470 of file standardactionmanager.cpp.
void StandardActionManager::createActionFolderMenu | ( | QMenu * | menu, |
Type | type | ||
) |
void StandardActionManager::createAllActions | ( | ) |
Convenience method to create all standard actions.
- See also:
- createAction()
Definition at line 1552 of file standardactionmanager.cpp.
void StandardActionManager::interceptAction | ( | Type | type, |
bool | intercept = true |
||
) |
Sets whether the default implementation for the given action type
shall be executed when the action is triggered.
- Parameters:
-
intercept If false
, the default implementation will be executed, iftrue
no action is taken.
- Since:
- 4.6
Definition at line 1571 of file standardactionmanager.cpp.
Akonadi::Collection::List StandardActionManager::selectedCollections | ( | ) | const |
Returns the list of collections that are currently selected.
The list is empty if no collection is currently selected.
- Since:
- 4.6
Definition at line 1586 of file standardactionmanager.cpp.
Item::List StandardActionManager::selectedItems | ( | ) | const |
Returns the list of items that are currently selected.
The list is empty if no item is currently selected.
- Since:
- 4.6
Definition at line 1602 of file standardactionmanager.cpp.
void StandardActionManager::setActionText | ( | Type | type, |
const KLocalizedString & | text | ||
) |
Sets the label of the action type
to text
, which is used during updating the action state and substituted according to the number of selected objects.
This is mainly useful to customize the label of actions that can operate on multiple objects.
Example:
acctMgr->setActionText( Akonadi::StandardActionManager::CopyItems, ki18np( "Copy Mail", "Copy %1 Mails" ) );
Definition at line 1564 of file standardactionmanager.cpp.
void StandardActionManager::setCapabilityFilter | ( | const QStringList & | capabilities | ) |
Sets the capability filter that will be used when creating new resources.
- Since:
- 4.6
Definition at line 1633 of file standardactionmanager.cpp.
void StandardActionManager::setCollectionPropertiesPageNames | ( | const QStringList & | names | ) |
Sets the page names
of the config pages that will be used by the built-in collection properties dialog.
- Since:
- 4.6
Definition at line 1638 of file standardactionmanager.cpp.
void StandardActionManager::setCollectionSelectionModel | ( | QItemSelectionModel * | selectionModel | ) |
Sets the collection selection model based on which the collection related actions should operate.
If none is set, all collection actions will be disabled.
Definition at line 1440 of file standardactionmanager.cpp.
void StandardActionManager::setContextText | ( | Type | type, |
TextContext | context, | ||
const QString & | text | ||
) |
Sets the text
of the action type
for the given context
.
- Since:
- 4.6
Definition at line 1618 of file standardactionmanager.cpp.
void StandardActionManager::setContextText | ( | Type | type, |
TextContext | context, | ||
const KLocalizedString & | text | ||
) |
Sets the text
of the action type
for the given context
.
- Since:
- 4.6
Definition at line 1623 of file standardactionmanager.cpp.
void StandardActionManager::setFavoriteCollectionsModel | ( | FavoriteCollectionsModel * | favoritesModel | ) |
Sets the favorite collections model based on which the collection relatedactions should operate.
If none is set, the "Add to Favorite Folders" action will be disabled.
- Since:
- 4.4
Definition at line 1456 of file standardactionmanager.cpp.
void StandardActionManager::setFavoriteSelectionModel | ( | QItemSelectionModel * | selectionModel | ) |
Sets the favorite collection selection model based on which the favorite collection related actions should operate.
If none is set, all favorite modifications actions will be disabled.
- Since:
- 4.4
Definition at line 1462 of file standardactionmanager.cpp.
void StandardActionManager::setItemSelectionModel | ( | QItemSelectionModel * | selectionModel | ) |
Sets the item selection model based on which the item related actions should operate.
If none is set, all item actions will be disabled.
Definition at line 1449 of file standardactionmanager.cpp.
void StandardActionManager::setMimeTypeFilter | ( | const QStringList & | mimeTypes | ) |
Sets the mime type filter that will be used when creating new resources.
- Since:
- 4.6
Definition at line 1628 of file standardactionmanager.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2012 The KDE developers.
Generated on Thu Aug 2 2012 15:25:22 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.