• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KIO

Public Member Functions | List of all members
KAbstractFileItemActionPlugin Class Referenceabstract

#include <kabstractfileitemactionplugin.h>

Inheritance diagram for KAbstractFileItemActionPlugin:
Inheritance graph
[legend]

Public Member Functions

 KAbstractFileItemActionPlugin (QObject *parent)
 
virtual ~KAbstractFileItemActionPlugin ()
 
virtual QList< QAction * > actions (const KFileItemListProperties &fileItemInfos, QWidget *parentWidget)=0
 

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.nosp@m.@kde.nosp@m..org
Since
4.6.1

Definition at line 81 of file kabstractfileitemactionplugin.h.

Constructor & Destructor Documentation

KAbstractFileItemActionPlugin::KAbstractFileItemActionPlugin ( QObject *  parent)

Definition at line 23 of file kabstractfileitemactionplugin.cpp.

KAbstractFileItemActionPlugin::~KAbstractFileItemActionPlugin ( )
virtual

Definition at line 28 of file kabstractfileitemactionplugin.cpp.

Member Function Documentation

virtual QList<QAction*> KAbstractFileItemActionPlugin::actions ( const KFileItemListProperties &  fileItemInfos,
QWidget *  parentWidget 
)
pure virtual

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

Parameters
fileItemInfosThe information about the selected file items. (Which file items, their common mimetype, etc.)
parentWidgetA 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.

The documentation for this class was generated from the following files:
  • kabstractfileitemactionplugin.h
  • kabstractfileitemactionplugin.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:50:03 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KIO

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

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



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