KPluginSelector Class Reference
Main classes | Plugin handling classes

`#include <kpluginselector.h>`

Inherits QWidget.

## Signals

void | changed (bool)
void | configCommitted (const QCString &instanceName)

## Public Member Functions

| KPluginSelector (QWidget *parent, const char *name=0)
void | addPlugins (const QString &instanceName, const QString &catname=QString::null, const QString &category=QString::null, KConfig *config=0)
void | addPlugins (const KInstance *instance, const QString &catname=QString::null, const QString &category=QString::null, KConfig *config=0)
void | addPlugins (const QValueList< KPluginInfo * > &plugininfos, const QString &catname=QString::null, const QString &category=QString::null, KConfig *config=0)
void | setShowEmptyConfigPage (bool)
void | load ()
void | save ()
void | defaults ()

## Friends

class | KPluginSelectionWidget

## Detailed Description

A widget to select what plugins to load and configure the plugins.

It shows the list of available plugins on top (if there's more than one category this is a TabWidget) and the configuration of the selected plugin below that.

Since the user needs a way to know what a specific plugin does every plugin sould install a desktop file containing a name, comment and category field. The category is usefull for applications that can use different kinds of plugins like a playlist, skin or visualization.

The location of these desktop files is the share/apps/<instancename>/<plugindir> directory. But if you need you may use a different directory.

Often a program has more than one kind of plugin. In that case you want to make a visible distinction between those plugins. All you have to do is to create a KPluginSelectionWidget for every category and then add them all to the KPluginSelector.

Author
  Matthias Kretz kretz.nosp@m.@kde.nosp@m..org

Since
  3.2

Definition at line 60 of file kpluginselector.h.

## Constructor & Destructor Documentation

KPluginSelector::KPluginSelector | ( | QWidget * | parent,
|  | const char * | name = `0`
| ) |  |

Create a new KPluginSelector.

Definition at line 519 of file kpluginselector.cpp.

## Member Function Documentation

void KPluginSelector::addPlugins | ( | const QString & | instanceName,
|  | const QString & | catname = `QString::null`,
|  | const QString & | category = `QString::null`,
|  | KConfig * | config = `0`
| ) |  |

Add a list of KParts plugins.

If you want to support non-KParts plugins use the following function.

The information about the plugins will be loaded from the share/apps/<instancename>/kpartplugins directory.

Parameters

  instanceName | The name of the KInstance of the plugin's parent.
  catname | The translated name of the category. This is the name that is shown in the TabWidget if there is more than one category.
  category | When you have different categories of KParts plugins you distinguish between the plugins using the Category key in the .desktop file. Use this parameter to select only those KParts plugins with the Category key == `category`. If `category` is not set the Category key is ignored and all plugins are shown.
  config | The KConfig object that holds the state of the plugins being enabled or not. By default it should be instance->config(). It is recommended to always pass a KConfig object if you use KSettings::PluginPage since you never know from where the page will be called (think global config app). For example KViewCanvas passes KSimpleConfig( "kviewcanvas" ).

Definition at line 583 of file kpluginselector.cpp.

void KPluginSelector::addPlugins | ( | const KInstance * | instance,
|  | const QString & | catname = `QString::null`,
|  | const QString & | category = `QString::null`,
|  | KConfig * | config = `0`
| ) |  |

Add a list of KParts plugins.

Convenience method for the one above. If not set explicitely, `config` is set to instance->config().

Definition at line 621 of file kpluginselector.cpp.

void KPluginSelector::addPlugins | ( | const QValueList< KPluginInfo * > & | plugininfos,
|  | const QString & | catname = `QString::null`,
|  | const QString & | category = `QString::null`,
|  | KConfig * | config = `0`
| ) |  |

Add a list of non-KParts plugins.

Parameters

  plugininfos | A list of KPluginInfo objects containing the necessary information for the plugins you want to add to the list.
  catname | The translated name of the category. This is the name that is shown in the TabWidget if there is more than one category.
  category | When you have different categories of KParts plugins you distinguish between the plugins using the Category key in the .desktop file. Use this parameter to select only those KParts plugins with the Category key == `category`. If `category` is not set the Category key is ignored and all plugins are shown.
  config | The KConfig object that holds the state of the plugins being enabled or not. By default it will use KGlobal::config(). It is recommended to always pass a KConfig object if you use KSettings::PluginPage since you never know from where the page will be called (think global config app). For example KViewCanvas passes KSimpleConfig( "kviewcanvas" ).

Definition at line 629 of file kpluginselector.cpp.

void KPluginSelector::changed | ( | bool |  | ) |

signal

Tells you whether the configuration is changed or not.

void KPluginSelector::configCommitted | ( | const QCString & | instanceName | ) |

signal

Emitted after the config of an embedded KCM has been saved.

The argument is the name of the parent component that needs to reload its config

void KPluginSelector::defaults | ( |  | ) |

Change to applications defaults.

Definition at line 687 of file kpluginselector.cpp.

void KPluginSelector::load | ( |  | ) |

Load the state of the plugins (selected or not) from the KPluginInfo objects.

For KParts plugins everything should work automatically. For your own type of plugins you might need to reimplement the KPluginInfo::isPluginEnabled() method. If that doesn't fit your needs you can also reimplement this method.

Definition at line 669 of file kpluginselector.cpp.

void KPluginSelector::save | ( |  | ) |

Save the configuration.

Definition at line 678 of file kpluginselector.cpp.

void KPluginSelector::setShowEmptyConfigPage | ( | bool | show | ) |

Set whether the area for showing the KCMs of the plugins should be hidden if the plugin doesn't have a KCM or whether the layout should rather stay static and only an message should be shown.

By default the config page is not hidden.

Definition at line 661 of file kpluginselector.cpp.

The documentation for this class was generated from the following files:

- kpluginselector.h
- kpluginselector.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys