KDE 4.5 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

StandardActionManager Class Reference

from PyKDE4.akonadi import *

Inherits: QObject
Namespace: Akonadi

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 (@c akonadi_collection_create) - Copying of selected collections (@c akonadi_collection_copy) - Deletion of selected collections (@c akonadi_collection_delete) - Synchronization of selected collections (@c akonadi_collection_sync) - Showing the collection properties dialog for the current collection (@c akonadi_collection_properties) - Copying of selected items (@c akonadi_itemcopy) - Pasting collections, items or raw data (@c akonadi_paste) - Deleting of selected items (@c akonadi_item_delete) - Managing local subscriptions (@c 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.

To do: collection deleting and sync do not support multi-selection yet

Author:
Volker Krause <vkrause@kde.org>


Enumerations

Type { CreateCollection, CopyCollections, DeleteCollections, SynchronizeCollections, CollectionProperties, CopyItems, Paste, DeleteItems, ManageLocalSubscriptions, AddToFavoriteCollections, RemoveFromFavoriteCollections, RenameFavoriteCollection, CopyCollectionToMenu, CopyItemToMenu, MoveItemToMenu, MoveCollectionToMenu, CutItems, CutCollections, LastType }

Signals

 actionStateUpdated ()

Methods

 __init__ (self, KActionCollection actionCollection, QWidget parent=0)
KAction action (self, Akonadi.StandardActionManager.Type type)
KAction createAction (self, Akonadi.StandardActionManager.Type type)
 createAllActions (self)
 setActionText (self, Akonadi.StandardActionManager.Type type, KLocalizedString text)
 setCollectionSelectionModel (self, QItemSelectionModel selectionModel)
 setFavoriteCollectionsModel (self, Akonadi.FavoriteCollectionsModel favoritesModel)
 setFavoriteSelectionModel (self, QItemSelectionModel selectionModel)
 setItemSelectionModel (self, QItemSelectionModel selectionModel)

Signal Documentation

actionStateUpdated (   )

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.

Signal syntax:
QObject.connect(source, SIGNAL("actionStateUpdated()"), target_slot)

Method Documentation

__init__ (  self,
KActionCollection  actionCollection,
QWidget  parent=0
)

Creates a new standard action manager.

Parameters:
actionCollection  The action collection to operate on.
parent  The parent widget.

KAction action (  self,
Akonadi.StandardActionManager.Type  type
)

Returns the action of the given type, 0 if it has not been created (yet).

KAction createAction (  self,
Akonadi.StandardActionManager.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.

createAllActions (   self )

Convenience method to create all standard actions.

See also:
createAction()

setActionText (  self,
Akonadi.StandardActionManager.Type  type,
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" ) );

setCollectionSelectionModel (  self,
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.

setFavoriteCollectionsModel (  self,
Akonadi.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

setFavoriteSelectionModel (  self,
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

setItemSelectionModel (  self,
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.


Enumeration Documentation

Type

Describes the supported actions.

Enumerator:
CreateCollection 
CopyCollections 
DeleteCollections 
SynchronizeCollections 
CollectionProperties 
CopyItems 
Paste 
DeleteItems 
ManageLocalSubscriptions 
AddToFavoriteCollections 
RemoveFromFavoriteCollections 
RenameFavoriteCollection 
CopyCollectionToMenu 
CopyItemToMenu 
MoveItemToMenu 
MoveCollectionToMenu 
CutItems 
CutCollections 
LastType 

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal