KDE 4.9 PyKDE API Reference

- KDE's Python API

# Dialog Class Reference

`from PyKDE4.kutils import *`

Inherits: KCMultiDialog → KPageDialog → KDialog → QDialog → QWidget → QObject
Namespace: KSettings

## Detailed Description

Generic configuration dialog that works over component boundaries

For more information see KSettings.

This class aims to standardize the use of configuration dialogs in KDE applications. Especially when using KParts and/or Plugins you face problems creating a consistent config dialog.

To show a configuration dialog you only have to call the show method and be done with it. A code example:

You initialize m_cfgdlg with

     m_cfgdlg = new Dialog( this );

If you use a KPart that was not especially designed for your app you can use the second constructor:

     QStringList kpartslist;
     for( all my kparts )
       kpartslist += m_mypart->componentData().componentName();
     m_cfgdlg = new Dialog( kpartslist, this );

and the action for the config dialog is connected to the show slot:

     KStandardAction.preferences( m_cfgdlg, SLOT( show() ), actionCollection() );

If you need to be informed when the config was changed and applied in the dialog you might want to take a look at Dispatcher.

For more information see KSettings.

Author:
  Matthias Kretz <kretz@kde.org>

## Signals
| pluginSelectionChanged ()
## Methods
| __init__ (self, QWidget parent=0)
| __init__ (self, QStringList components, QWidget parent=0)
| addPluginInfos (self, [KPluginInfo] plugininfos)
bool | allowComponentSelection (self)
[KPluginInfo] | pluginInfos (self)
| setAllowComponentSelection (self, bool allowSelection)
| setComponentBlacklist (self, QStringList blacklist)
| setKCMArguments (self, QStringList arguments)
| showEvent (self, QShowEvent a0)

## Signal Documentation

pluginSelectionChanged | ( |  | ) |

If you use the dialog in Configurable mode and want to be notified when the user changes the plugin selections use this signal. It's emitted if the selection has changed and the user pressed Apply or Ok. In the slot you would then load and unload the plugins as requested.

Signal syntax:
  `QObject.connect(source, SIGNAL("pluginSelectionChanged()"), target_slot)`

## Method Documentation

__init__ | ( | self, |
|  | QWidget | parent=0
| ) |  |  |

Construct a new Preferences Dialog for the application. It uses all KCMs with X-KDE-ParentApp set to KGlobal.mainComponent().componentName().

Parameters:

  | content | Select whether you want a static or configurable config dialog.
  | parent | The parent is only used as the parent for the dialog - centering the dialog over the parent widget.

__init__ | ( | self, |
|  | QStringList | components,
|  | QWidget | parent=0
| ) |  |  |

Construct a new Preferences Dialog with the pages for the selected instance names. For example if you want to have the configuration pages for the kviewviewer KPart you would pass a QStringList consisting of only the name of the part "kviewviewer".

Parameters:

  | components | A list of the names of the components that your config dialog should merge the config pages in.
  | parent | The parent is only used as the parent for the dialog - centering the dialog over the parent widget.

addPluginInfos | ( | self, |
|  | [KPluginInfo] | plugininfos
| ) |  |  |

If you use a Configurable dialog you need to pass KPluginInfo objects that the dialog should configure.

bool allowComponentSelection | ( |  | self ) |

[KPluginInfo] pluginInfos | ( |  | self ) |

Returns a list of all KPluginInfo objects the dialog uses.

setAllowComponentSelection | ( | self, |
|  | bool | allowSelection
| ) |  |  |

Tells the dialog whether the entries in the listview are all static or whether it should add checkboxes to select which parts of the optional functionality should be active or not.

Note that this function only works before showing the dialog for the first time.

Defaults to false.

Parameters:

  | allowSelection | true The user can select what functionality he wants.
  | allowSelection | false While running no entries are added or deleted

setComponentBlacklist | ( | self, |
|  | QStringList | blacklist
| ) |  |  |

Set the blacklisted component list. Any KCM that lists one of the components in the given blacklist is not loaded even if it would fit otherwise. This is a way to explicitly prevent loading of certain KControlModules.

Note that this function only works before showing the KSettings.Dialog for the first time.

Parameters:

  | blacklist | the list of components that prevent a KCM from being loaded

setKCMArguments | ( | self, |
|  | QStringList | arguments
| ) |  |  |

Sets the argument list that is given to all the KControlModule's when they are created. Use this if you have KControlModule's that need special arguments to work

Note that this function only works before showing the KSettings.Dialog for the first time.

Parameters:

  | arguments | The list of arguments passed to each KCM

showEvent | ( | self, |
|  | QShowEvent | a0
| ) |  |  |

Reimplemented to lazy create the dialog on first show.