#include <kpluginselector.h>
Inherits TQWidget.
Signals | |
void | changed (bool) |
void | configCommitted (const TQCString &instanceName) |
Public Member Functions | |
KPluginSelector (TQWidget *parent, const char *name=0) | |
void | addPlugins (const TQString &instanceName, const TQString &catname=TQString::null, const TQString &category=TQString::null, TDEConfig *config=0) |
void | addPlugins (const TDEInstance *instance, const TQString &catname=TQString::null, const TQString &category=TQString::null, TDEConfig *config=0) |
void | addPlugins (const TQValueList< KPluginInfo * > &plugininfos, const TQString &catname=TQString::null, const TQString &category=TQString::null, TDEConfig *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.
- Since
- 3.2
Definition at line 60 of file kpluginselector.h.
Constructor & Destructor Documentation
◆ KPluginSelector()
KPluginSelector::KPluginSelector | ( | TQWidget * | parent, |
const char * | name = 0 |
||
) |
Create a new KPluginSelector.
Definition at line 519 of file kpluginselector.cpp.
Member Function Documentation
◆ addPlugins() [1/3]
void KPluginSelector::addPlugins | ( | const TDEInstance * | instance, |
const TQString & | catname = TQString::null , |
||
const TQString & | category = TQString::null , |
||
TDEConfig * | 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.
◆ addPlugins() [2/3]
void KPluginSelector::addPlugins | ( | const TQString & | instanceName, |
const TQString & | catname = TQString::null , |
||
const TQString & | category = TQString::null , |
||
TDEConfig * | 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 TDEInstance 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
. Ifcategory
is not set the Category key is ignored and all plugins are shown.config The TDEConfig 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 TDEConfig 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.
◆ addPlugins() [3/3]
void KPluginSelector::addPlugins | ( | const TQValueList< KPluginInfo * > & | plugininfos, |
const TQString & | catname = TQString::null , |
||
const TQString & | category = TQString::null , |
||
TDEConfig * | 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
. Ifcategory
is not set the Category key is ignored and all plugins are shown.config The TDEConfig object that holds the state of the plugins being enabled or not. By default it will use TDEGlobal::config(). It is recommended to always pass a TDEConfig 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.
◆ changed
|
signal |
Tells you whether the configuration is changed or not.
◆ configCommitted
|
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
◆ defaults()
void KPluginSelector::defaults | ( | ) |
Change to applications defaults.
Definition at line 687 of file kpluginselector.cpp.
◆ load()
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.
◆ save()
void KPluginSelector::save | ( | ) |
Save the configuration.
Definition at line 678 of file kpluginselector.cpp.
◆ setShowEmptyConfigPage()
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: