KAbstractFileItemActionPlugin

KDE 4.7 PyKDE API Reference

- KDE's Python API

# KAbstractFileItemActionPlugin Class Reference

`from PyKDE4.kio import *`

Inherits: QObject

## Detailed Description

Base class for KFileItemAction plugins.

Please try to use servicemenus first, if you simply need to add actions to the popup menu for one or more mimetypes.

However if you need some dynamic logic, like "only show this item if two files are selected", or "show a submenu with a variable number of actions", then you have to implement a KAbstractFileItemActionPlugin subclass.

As always plugins need to be exported via the K_EXPORT_PLUGIN macro like so:

     K_PLUGIN_FACTORY(MyActionPluginFactory, registerPlugin<MyActionPlugin>();)
     K_EXPORT_PLUGIN(MyActionPluginFactory("myactionplugin"))

A desktop file is necessary to register the plugin with the KDE plugin system:

     [Desktop Entry]
     Encoding=UTF-8
     Type=Service
     Name=My fancy action plugin
     X-KDE-Library=myactionplugin
     ServiceTypes=KFileItemAction/Plugin
     MimeType=some/mimetype;

Note the KFileItemAction/Plugin service type which is used by KFileItemActions.addServicePluginActionsTo() to load all available plugins and the MimeType field which specifies for which types of file items the setup() method should be called.

As with all KDE plugins one needs to install the plugin as a module. In cmake terms this looks roughly as follows:

     kde4_add_plugin(myactionplugin myactionplugin.cpp)
     target_link_libraries(myactionplugin ${KDE4_KIO_LIBS})
     install(TARGETS myactionplugin DESTINATION ${PLUGIN_INSTALL_DIR})
     install(FILES myactionplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})

Author:
  Sebastian Trueg <trueg@kde.org>

Since:
  4.6.1

## Methods
| __init__ (self, QObject parent)
[QAction] | actions (self, KFileItemListProperties fileItemInfos, QWidget parentWidget)

## Method Documentation

__init__ | ( | self, |
|  | QObject | parent
| ) |  |  |

[QAction] actions | ( | self, |
|  | KFileItemListProperties | fileItemInfos,
|  | QWidget | parentWidget
| ) |  |  |

Abstract method:
  This method is abstract and can be overridden but not called directly.

Implement the actions method in the plugin in order to create actions.

Parameters:

  | fileItemInfos | The information about the selected file items. (Which file items, their common mimetype, etc.)
  | parentWidget | A parent widget for error messages or the like.

Returns:
  List of actions, that should added to e. g. the popup menu. It is recommended to use the KAbstractFileItemActionPlugin as parent of the actions.