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

KUtils

  • KSettings
  • PluginPage
Public Member Functions | Protected Attributes | List of all members
KSettings::PluginPage Class Reference

#include <pluginpage.h>

Inheritance diagram for KSettings::PluginPage:
Inheritance graph
[legend]

Public Member Functions

 PluginPage (const KComponentData &componentData, QWidget *parent=0, const QVariantList &args=QVariantList())
 
 ~PluginPage ()
 
virtual void defaults ()
 
virtual void load ()
 
KPluginSelector * pluginSelector ()
 
virtual void save ()
 
- Public Member Functions inherited from KCModule
 KCModule (const KComponentData &componentData, QWidget *parent=0, const QVariantList &args=QVariantList())
 
 ~KCModule ()
 
virtual const KAboutData * aboutData () const
 
KAuth::Action * authAction () const
 
Buttons buttons () const
 
KComponentData componentData () const
 
QList< KConfigDialogManager * > configs () const
 
QString exportText () const
 
bool needsAuthorization () const
 
virtual QString quickHelp () const
 
QString rootOnlyMessage () const
 
void setAboutData (const KAboutData *about)
 
void setExportText (const QString &)
 
void setNeedsAuthorization (bool needsAuth)
 
bool useRootOnlyMessage () const
 

Protected Attributes

PluginPagePrivate *const d_ptr
 

Additional Inherited Members

- Public Types inherited from KCModule
enum  Button
 
- Public Slots inherited from KCModule
- Signals inherited from KCModule
void changed (bool state)
 
void quickHelpChanged ()
 
void rootOnlyMessageChanged (bool use, QString message)
 
- Protected Slots inherited from KCModule
void authStatusChanged (int)
 
void changed ()
 
void widgetChanged ()
 
- Protected Member Functions inherited from KCModule
KConfigDialogManager * addConfig (KCoreConfigSkeleton *config, QWidget *widget)
 
KConfigDialogManager * addConfig (KConfigSkeleton *config, QWidget *widget)
 
bool managedWidgetChangeState () const
 
void setButtons (Buttons btn)
 
void setQuickHelp (const QString &help)
 
void setRootOnlyMessage (const QString &message)
 
void setUseRootOnlyMessage (bool on)
 
virtual void showEvent (QShowEvent *ev)
 
void unmanagedWidgetChangeState (bool)
 

Detailed Description

Convenience KCModule for creating a plugins config page.

This class makes it very easy to create a plugins configuration page to your program. All you need to do is create a class that is derived from PluginPage and add the appropriate plugin information to the KPluginSelector. This is done using the pluginSelector() method:

K_PLUGIN_FACTORY(MyAppPluginConfigFactory,
registerPlugin<MyAppPluginConfig>();
)
K_EXPORT_PLUGIN(MyAppConfigFactory("kcm_myapppluginconfig"));
MyAppPluginConfig(QWidget * parent, const QVariantList & args)
: PluginPage(MyAppPluginConfigFactory::componentData(), parent, args)
{
pluginSelector()->addPlugins( KGlobal::mainComponent().componentName(), i18n( "General Plugins" ), "General" );
pluginSelector()->addPlugins( KGlobal::mainComponent().componentName(), i18n( "Effects" ), "Effects" );
}

All that remains to be done is to create the appropriate .desktop file

[Desktop Entry]
Encoding=UTF-8
Icon=plugin
Type=Service
ServiceTypes=KCModule

X-KDE-Library=myapppluginconfig
X-KDE-FactoryName=MyAppPluginConfigFactory
X-KDE-ParentApp=myapp
X-KDE-ParentComponents=myapp

Name=Plugins
Comment=Select and configure your plugins:
Author
Matthias Kretz kretz.nosp@m.@kde.nosp@m..org

Definition at line 72 of file pluginpage.h.

Constructor & Destructor Documentation

KSettings::PluginPage::PluginPage ( const KComponentData &  componentData,
QWidget *  parent = 0,
const QVariantList &  args = QVariantList() 
)
explicit

Standard KCModule constructor.

Automatically creates the KPluginSelector widget.

Definition at line 44 of file pluginpage.cpp.

KSettings::PluginPage::~PluginPage ( )

Definition at line 62 of file pluginpage.cpp.

Member Function Documentation

void KSettings::PluginPage::defaults ( )
virtual

Reimplemented from KCModule.

Definition at line 82 of file pluginpage.cpp.

void KSettings::PluginPage::load ( )
virtual

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::pluginLoaded() method. If that doesn't fit your needs you can also reimplement this method.

Reimplemented from KCModule.

Definition at line 72 of file pluginpage.cpp.

KPluginSelector * KSettings::PluginPage::pluginSelector ( )
Returns
a reference to the KPluginSelector.

Definition at line 67 of file pluginpage.cpp.

void KSettings::PluginPage::save ( )
virtual

Save the state of the plugins to KConfig objects.

Reimplemented from KCModule.

Definition at line 77 of file pluginpage.cpp.

Member Data Documentation

PluginPagePrivate* const KSettings::PluginPage::d_ptr
protected

Definition at line 108 of file pluginpage.h.


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

KDE's Doxygen guidelines are available online.

KUtils

Skip menu "KUtils"
  • 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