• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • kdeui
 

kdeui

Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Properties | Friends | List of all members
KAction Class Reference

#include <kaction.h>

Inheritance diagram for KAction:
KActionMenu KPasteTextAction KSelectAction KToggleAction KToolBarPopupAction KWidgetAction KListAction KRadioAction KToggleFullScreenAction KToggleToolBarAction KToolBarLabelAction KRecentFilesAction

Public Types

enum  ActivationReason {
  UnknownActivation, EmulatedActivation, AccelActivation, PopupMenuActivation,
  ToolBarActivation
}
 

Public Slots

virtual void setText (const TQString &text)
 
virtual bool setShortcut (const KShortcut &)
 
virtual void setGroup (const TQString &)
 
virtual void setWhatsThis (const TQString &text)
 
virtual void setToolTip (const TQString &)
 
virtual void setIconSet (const TQIconSet &iconSet)
 
virtual void setIcon (const TQString &icon)
 
virtual void setEnabled (bool enable)
 
void setDisabled (bool disable)
 
virtual void setShortcutConfigurable (bool)
 
virtual void activate ()
 

Signals

void activated ()
 
void activated (KAction::ActivationReason reason, TQt::ButtonState state)
 
void enabled (bool)
 

Public Member Functions

 KAction (const TQString &text, const KShortcut &cut, const TQObject *receiver, const char *slot, KActionCollection *parent, const char *name)
 
 KAction (const TQString &text, const TQIconSet &pix, const KShortcut &cut, const TQObject *receiver, const char *slot, KActionCollection *parent, const char *name)
 
 KAction (const TQString &text, const TQString &pix, const KShortcut &cut, const TQObject *receiver, const char *slot, KActionCollection *parent, const char *name)
 
 KAction (const KGuiItem &item, const KShortcut &cut, const TQObject *receiver, const char *slot, KActionCollection *parent, const char *name)
 
 KAction (const TQString &text, const KShortcut &cut=KShortcut(), TQObject *parent=0, const char *name=0)
 
 KAction (const TQString &text, const KShortcut &cut, const TQObject *receiver, const char *slot, TQObject *parent, const char *name=0)
 
 KAction (const TQString &text, const TQIconSet &pix, const KShortcut &cut=KShortcut(), TQObject *parent=0, const char *name=0)
 
 KAction (const TQString &text, const TQString &pix, const KShortcut &cut=KShortcut(), TQObject *parent=0, const char *name=0)
 
 KAction (const TQString &text, const TQIconSet &pix, const KShortcut &cut, const TQObject *receiver, const char *slot, TQObject *parent, const char *name=0)
 
 KAction (const TQString &text, const TQString &pix, const KShortcut &cut, const TQObject *receiver, const char *slot, TQObject *parent, const char *name=0)
 
 KAction (TQObject *parent=0, const char *name=0)
 
virtual ~KAction ()
 
virtual int plug (TQWidget *widget, int index=-1)
 
virtual void plugAccel (KAccel *accel, bool configurable=true) KDE_DEPRECATED
 
virtual void unplug (TQWidget *w)
 
virtual void unplugAccel () KDE_DEPRECATED
 
virtual bool isPlugged () const
 
bool isPlugged (const TQWidget *container) const
 
virtual bool isPlugged (const TQWidget *container, int id) const
 
virtual bool isPlugged (const TQWidget *container, const TQWidget *_representative) const
 
TQWidget * container (int index) const
 
int itemId (int index) const
 
TQWidget * representative (int index) const
 
int containerCount () const
 
uint kaccelCount () const
 
virtual bool hasIcon () const
 
bool hasIconSet () const
 
virtual TQString plainText () const
 
virtual TQString text () const
 
virtual const KShortcut & shortcut () const
 
virtual const KShortcut & shortcutDefault () const
 
TQString shortcutText () const
 
void setShortcutText (const TQString &)
 
virtual bool isEnabled () const
 
virtual bool isShortcutConfigurable () const
 
virtual TQString group () const
 
virtual TQString whatsThis () const
 
virtual TQString toolTip () const
 
virtual TQIconSet iconSet (KIcon::Group group, int size=0) const
 
TQIconSet iconSet () const
 
virtual TQString icon () const
 
KActionCollection * parentCollection () const
 
void unplugAll ()
 
int accel () const KDE_DEPRECATED
 
TQString statusText () const
 
void setAccel (int key) KDE_DEPRECATED
 
void setStatusText (const TQString &text)
 
int menuId (int i)
 

Static Public Member Functions

static int getToolButtonID ()
 

Protected Slots

virtual void slotDestroyed ()
 
virtual void slotKeycodeChanged ()
 
virtual void slotActivated ()
 
void slotPopupActivated ()
 
void slotButtonClicked (int, TQt::ButtonState state)
 

Protected Member Functions

KToolBar * toolBar (int index) const
 
TQPopupMenu * popupMenu (int index) const
 
void removeContainer (int index)
 
int findContainer (const TQWidget *widget) const
 
int findContainer (int id) const
 
void plugMainWindowAccel (TQWidget *w)
 
void addContainer (TQWidget *parent, int id)
 
void addContainer (TQWidget *parent, TQWidget *representative)
 
virtual void updateShortcut (int i)
 
virtual void updateShortcut (TQPopupMenu *menu, int id)
 
virtual void updateGroup (int id)
 
virtual void updateText (int i)
 
virtual void updateEnabled (int i)
 
virtual void updateIconSet (int i)
 
virtual void updateIcon (int i)
 
virtual void updateToolTip (int id)
 
virtual void updateWhatsThis (int i)
 
TQString whatsThisWithIcon () const
 
const KGuiItem & guiItem () const
 
virtual void virtual_hook (int id, void *data)
 

Protected Attributes

KActionCollection * m_parentCollection
 

Properties

int containerCount
 
TQString plainText
 
TQString text
 
TQString shortcut
 
bool enabled
 
TQString group
 
TQString whatsThis
 
TQString toolTip
 
TQString icon
 

Friends

class KActionCollection
 

Detailed Description

Class to encapsulate user-driven action or event.

The KAction class (and derived and super classes) provides a way to easily encapsulate a "real" user-selected action or event in your program.

For instance, a user may want to paste the contents of the clipboard or scroll down a document or quit the application. These are all actions – events that the user causes to happen. The KAction class allows the developer to deal with these actions in an easy and intuitive manner.

Specifically, the KAction class encapsulated the various attributes to an event/action. For instance, an action might have an icon that goes along with it (a clipboard for a "paste" action or scissors for a "cut" action). The action might have some text to describe the action. It will certainly have a method or function that actually executes the action! All these attributes are contained within the KAction object.

The advantage of dealing with Actions is that you can manipulate the Action without regard to the GUI representation of it. For instance, in the "normal" way of dealing with actions like "cut", you would manually insert a item for Cut into a menu and a button into a toolbar. If you want to disable the cut action for a moment (maybe nothing is selected), you would have to hunt down the pointer to the menu item and the toolbar button and disable both individually. Setting the menu item and toolbar item up uses very similar code - but has to be done twice!

With the Action concept, you simply "plug" the Action into whatever GUI element you want. The KAction class will then take care of correctly defining the menu item (with icons, accelerators, text, etc) or toolbar button.. or whatever. From then on, if you manipulate the Action at all, the effect will propogate through all GUI representations of it. Back to the "cut" example: if you want to disable the Cut Action, you would simply do 'cutAction->setEnabled(false)' and the menuitem and button would instantly be disabled!

This is the biggest advantage to the Action concept – there is a one-to-one relationship between the "real" action and all GUI representations of it.

KAction emits the activated() signal if the user activated the corresponding GUI element ( menu item, toolbar button, etc. )

If you are in the situation of wanting to map the activated() signal of multiple action objects to one slot, with a special argument bound to each action, then you might consider using TQSignalMapper . A tiny example:

TQSignalMapper *desktopNumberMapper = new TQSignalMapper( this );
connect( desktopNumberMapper, TQT_SIGNAL( mapped( int ) ),
this, TQT_SLOT( moveWindowToDesktop( int ) ) );
for ( uint i = 0; i < numberOfDesktops; ++i ) {
KAction *desktopAction = new KAction( i18n( "Move Window to Desktop %i" ).arg( i ), ... );
connect( desktopAction, TQT_SIGNAL( activated() ), desktopNumberMapper, TQT_SLOT( map() ) );
desktopNumberMapper->setMapping( desktopAction, i );
}

General Usage:
The steps to using actions are roughly as follows

  • Decide which attributes you want to associate with a given action (icons, text, keyboard shortcut, etc)
  • Create the action using KAction (or derived or super class).
  • "Plug" the Action into whatever GUI element you want. Typically, this will be a menu or toolbar.

Detailed Example:
Here is an example of enabling a "New [document]" action

KAction *newAct = new KAction(i18n("&New"), "filenew",
KStdAccel::shortcut(KStdAccel::New),
this, TQT_SLOT(fileNew()),
actionCollection(), "new");

This line creates our action. It says that wherever this action is displayed, it will use "&New" as the text, the standard icon, and the standard shortcut. It further says that whenever this action is invoked, it will use the fileNew() slot to execute it.

TQPopupMenu *file = new TQPopupMenu;
newAct->plug(file);

That just inserted the action into the File menu. The point is, it's not important in which menu it is: all manipulation of the item is done through the newAct object.

newAct->plug(toolBar());

And this inserted the Action into the main toolbar as a button.

That's it!

If you want to disable that action sometime later, you can do so with

newAct->setEnabled(false)

and both the menuitem in File and the toolbar button will instantly be disabled.

Do not delete a KAction object without unplugging it from all its containers. The simplest way to do that is to use the unplugAll() as in the following example:

newAct->unplugAll();
delete newAct;

Normally you will not need to do this as KActionCollection manages everything for you.

Note: if you are using a "standard" action like "new", "paste", "quit", or any other action described in the KDE UI Standards, please use the methods in the KStdAction class rather than defining your own.

Usage Within the XML Framework:
If you are using KAction within the context of the XML menu and toolbar building framework, then there are a few tiny changes. The first is that you must insert your new action into an action collection. The action collection (a KActionCollection) is, logically enough, a central collection of all of the actions defined in your application. The XML UI framework code in KXMLGUI classes needs access to this collection in order to build up the GUI (it's how the builder code knows which actions are valid and which aren't).

Also, if you use the XML builder framework, then you do not ever have to plug your actions into containers manually. The framework does that for you.

See also
KStdAction

Definition at line 202 of file kaction.h.

Member Enumeration Documentation

enum KAction::ActivationReason
Since
3.4

Definition at line 494 of file kaction.h.

Constructor & Destructor Documentation

KAction::KAction ( const TQString &  text,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
KActionCollection *  parent,
const char *  name 
)

Constructs an action with text, potential keyboard shortcut, and a TQT_SLOT to call when this action is invoked by the user.

If you do not want or have a keyboard shortcut, set the cut param to 0.

This is the most common KAction used when you do not have a corresponding icon (note that it won't appear in the current version of the "Edit ToolBar" dialog, because an action needs an icon to be plugged in a toolbar...).

Parameters
textThe text that will be displayed.
cutThe corresponding keyboard shortcut.
receiverThe SLOT's parent.
slotThe TQT_SLOT to invoke to execute this action.
parentThis action's parent.
nameAn internal name for this action.

Definition at line 123 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const TQIconSet &  pix,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
KActionCollection *  parent,
const char *  name 
)

Constructs an action with text, icon, potential keyboard shortcut, and a TQT_SLOT to call when this action is invoked by the user.

If you do not want or have a keyboard shortcut, set the cut param to 0.

This is the other common KAction used. Use it when you do have a corresponding icon.

Parameters
textThe text that will be displayed.
pixThe icon to display.
cutThe corresponding keyboard shortcut.
receiverThe SLOT's parent.
slotThe TQT_SLOT to invoke to execute this action.
parentThis action's parent.
nameAn internal name for this action.

Definition at line 140 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const TQString &  pix,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
KActionCollection *  parent,
const char *  name 
)

Constructs an action with text, icon, potential keyboard shortcut, and a TQT_SLOT to call when this action is invoked by the user.

The icon is loaded on demand later based on where it is plugged in.

If you do not want or have a keyboard shortcut, set the cut param to 0.

This is the other common KAction used. Use it when you do have a corresponding icon.

Parameters
textThe text that will be displayed.
pixThe icon to display.
cutThe corresponding keyboard shortcut (shortcut).
receiverThe SLOT's parent.
slotThe TQT_SLOT to invoke to execute this action.
parentThis action's parent.
nameAn internal name for this action.

Definition at line 131 of file kaction.cpp.

KAction::KAction ( const KGuiItem &  item,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
KActionCollection *  parent,
const char *  name 
)

The same as the above constructor, but with a KGuiItem providing the text and icon.

Parameters
itemThe KGuiItem with the label and (optional) icon.
cutThe corresponding keyboard shortcut (shortcut).
receiverThe SLOT's parent.
slotThe TQT_SLOT to invoke to execute this action.
parentThis action's parent.
nameAn internal name for this action.

Definition at line 149 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const KShortcut &  cut = KShortcut(),
TQObject *  parent = 0,
const char *  name = 0 
)
Deprecated:

Definition at line 162 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
TQObject *  parent,
const char *  name = 0 
)
Deprecated:

Definition at line 169 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const TQIconSet &  pix,
const KShortcut &  cut = KShortcut(),
TQObject *  parent = 0,
const char *  name = 0 
)
Deprecated:

Definition at line 177 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const TQString &  pix,
const KShortcut &  cut = KShortcut(),
TQObject *  parent = 0,
const char *  name = 0 
)
Deprecated:

Definition at line 186 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const TQIconSet &  pix,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
TQObject *  parent,
const char *  name = 0 
)
Deprecated:

Definition at line 195 of file kaction.cpp.

KAction::KAction ( const TQString &  text,
const TQString &  pix,
const KShortcut &  cut,
const TQObject *  receiver,
const char *  slot,
TQObject *  parent,
const char *  name = 0 
)
Deprecated:

Definition at line 205 of file kaction.cpp.

KAction::KAction ( TQObject *  parent = 0,
const char *  name = 0 
)
Deprecated:

Definition at line 215 of file kaction.cpp.

KAction::~KAction ( )
virtual

Standard destructor.

Definition at line 222 of file kaction.cpp.

Member Function Documentation

int KAction::accel ( ) const
Deprecated:
.

Use shortcut(). Get the keyboard accelerator associated with this action.

Definition at line 571 of file kaction.cpp.

void KAction::activate ( )
virtualslot

Emulate user's interaction programmatically, by activating the action.

The implementation simply emits activated().

Definition at line 1104 of file kaction.cpp.

void KAction::activated ( )
signal

Emitted when this action is activated.

void KAction::activated ( KAction::ActivationReason  reason,
TQt::ButtonState  state 
)
signal

This signal allows to know the reason why an action was activated: whether it was due to a toolbar button, popupmenu, keyboard accel, or programmatically.

In the first two cases, it also allows to know which mouse button was used (Left or Middle), and whether keyboard modifiers were pressed (e.g. CTRL).

Note that this signal is emitted before the normal activated() signal. Yes, BOTH signals are always emitted, so that connecting to activated() still works. Applications which care about reason and state can either ignore the activated() signal for a given action and react to this one instead, or store the reason and state until the activated() signal is emitted.

Since
3.4
int KAction::getToolButtonID ( )
static

How it works.

Generate a toolbar button id. Made public for reimplementations.

KActionCollection is an organizing container for KActions. KActionCollection keeps track of the information necessary to handle configuration and shortcuts.

Focus Widget pointer: This is the widget which is the focus for action shortcuts. It is set either by passing a TQWidget* to the KActionCollection constructor or by calling setWidget() if the widget wasn't known when the object was initially constructed (as in KXMLGUIClient and KParts::PartBase)

Shortcuts: An action's shortcut will not not be connected unless a focus widget has been specified in KActionCollection.

XML Filename: This is used to save user-modified settings back to the *ui.rc file. It is set by KXMLGUIFactory.

Definition at line 76 of file kaction.cpp.

const KGuiItem & KAction::guiItem ( ) const
protected

Return the underlying KGuiItem.

Since
3.3

Definition at line 1283 of file kaction.cpp.

TQIconSet KAction::iconSet ( KIcon::Group  group,
int  size = 0 
) const
virtual

Get the TQIconSet from which the icons used to display this action will be chosen.

In KDE4 set group default to KIcon::Small while removing the other iconSet() function.

Definition at line 1001 of file kaction.cpp.

TQIconSet KAction::iconSet ( ) const
inline

Remove in KDE4.

Definition at line 476 of file kaction.h.

bool KAction::isEnabled ( ) const
virtual

Returns true if this action is enabled.

Definition at line 596 of file kaction.cpp.

bool KAction::isPlugged ( ) const
virtual

returns whether the action is plugged into any container widget or not.

Since
3.1

Definition at line 273 of file kaction.cpp.

bool KAction::isPlugged ( const TQWidget *  container) const

returns whether the action is plugged into the given container

Definition at line 278 of file kaction.cpp.

bool KAction::isPlugged ( const TQWidget *  container,
int  id 
) const
virtual

returns whether the action is plugged into the given container with the given, container specific, id (often menu or toolbar id ) .

Definition at line 283 of file kaction.cpp.

bool KAction::isPlugged ( const TQWidget *  container,
const TQWidget *  _representative 
) const
virtual

returns whether the action is plugged into the given container with the given, container specific, representative container widget item.

Definition at line 289 of file kaction.cpp.

bool KAction::isShortcutConfigurable ( ) const
virtual

Returns true if this action's shortcut is configurable.

Reimplemented in KSelectAction.

Definition at line 601 of file kaction.cpp.

uint KAction::kaccelCount ( ) const
Since
3.1

Definition at line 1083 of file kaction.cpp.

int KAction::menuId ( int  i)
inline
Deprecated:
.

for backwards compatibility. Use itemId()

Definition at line 663 of file kaction.h.

int KAction::plug ( TQWidget *  widget,
int  index = -1 
)
virtual

"Plug" or insert this action into a given widget.

This will typically be a menu or a toolbar. From this point on, you will never need to directly manipulate the item in the menu or toolbar. You do all enabling/disabling/manipulation directly with your KAction object.

Parameters
widgetThe GUI element to display this action
indexThe position into which the action is plugged. If this is negative, the action is inserted at the end.

Reimplemented in KPasteTextAction, KWidgetAction, KToggleToolBarAction, KToolBarPopupAction, KActionMenu, KRecentFilesAction, KSelectAction, and KToggleAction.

Definition at line 628 of file kaction.cpp.

void KAction::plugAccel ( KAccel *  accel,
bool  configurable = true 
)
virtual
Deprecated:
.

Shouldn't be used. No substitute available.

"Plug" or insert this action into a given KAccel.

Parameters
accelThe KAccel collection which holds this accel
configurableIf the shortcut is configurable via the KAccel configuration dialog (this is somehow deprecated since there is now a KAction key configuration dialog).

Definition at line 773 of file kaction.cpp.

void KAction::setAccel ( int  key)
Deprecated:
.

Use setShortcut(). Sets the keyboard accelerator associated with this action.

Definition at line 507 of file kaction.cpp.

void KAction::setDisabled ( bool  disable)
inlineslot

Calls setEnabled( !disable ).

Since
3.5

Definition at line 553 of file kaction.h.

void KAction::setEnabled ( bool  enable)
virtualslot

Enables or disables this action.

All uses of this action (eg. in menus or toolbars) will be updated to reflect the state of the action.

Definition at line 832 of file kaction.cpp.

void KAction::setIconSet ( const TQIconSet &  iconSet)
virtualslot

Sets the TQIconSet from which the icons used to display this action will be chosen.

Definition at line 969 of file kaction.cpp.

bool KAction::setShortcut ( const KShortcut &  cut)
virtualslot

Sets the keyboard shortcut associated with this action.

Definition at line 414 of file kaction.cpp.

void KAction::setShortcutConfigurable ( bool  b)
virtualslot

Indicate whether the user may configure the action's shortcut.

Definition at line 874 of file kaction.cpp.

void KAction::setStatusText ( const TQString &  text)
inline
Deprecated:
.

Use setToolTip instead (they do the same thing now).

Definition at line 657 of file kaction.h.

void KAction::setText ( const TQString &  text)
virtualslot

Sets the text associated with this action.

The text is used for menu and toolbar labels etc.

Reimplemented in KToolBarLabelAction.

Definition at line 879 of file kaction.cpp.

void KAction::setToolTip ( const TQString &  tt)
virtualslot

Sets the tooltip text for the action.

This will be used as a tooltip for a toolbar button, as a statusbar help-text for a menu item, and it also appears in the toolbar editor, to describe the action.

For the tooltip to show up on the statusbar you will need to connect a couple of the actionclass signals to the toolbar. The easiest way of doing this is in your main window class, when you create a statusbar. See the KActionCollection class for more details.

See also
KActionCollection

Definition at line 606 of file kaction.cpp.

void KAction::setWhatsThis ( const TQString &  text)
virtualslot

Sets the What's this text for the action.

This text will be displayed when a widget that has been created by plugging this action into a container is clicked on in What's this mode.

The What's this text can include QML markup as well as raw text.

Definition at line 1011 of file kaction.cpp.

virtual const KShortcut& KAction::shortcut ( ) const
virtual

Get the keyboard shortcut associated with this action.

const KShortcut & KAction::shortcutDefault ( ) const
virtual

Get the default shortcut for this action.

Definition at line 555 of file kaction.cpp.

void KAction::slotButtonClicked ( int  ,
TQt::ButtonState  state 
)
protectedslot
Since
3.4

Definition at line 1156 of file kaction.cpp.

void KAction::slotPopupActivated ( )
protectedslot
Since
3.4

Definition at line 1125 of file kaction.cpp.

virtual TQString KAction::text ( ) const
virtual

Get the text associated with this action.

virtual TQString KAction::toolTip ( ) const
virtual

Get the tooltip text for the action.

Reimplemented in KToggleAction.

void KAction::unplug ( TQWidget *  w)
virtual

"Unplug" or remove this action from a given widget.

This will typically be a menu or a toolbar. This is rarely used in "normal" application. Typically, it would be used if your application has several views or modes, each with a completely different menu structure. If you simply want to disable an action for a given period, use setEnabled() instead.

Parameters
wRemove the action from this GUI element.

Reimplemented in KWidgetAction.

Definition at line 745 of file kaction.cpp.

void KAction::unplugAccel ( )
virtual
Deprecated:
.

Complement method to plugAccel(). Disconnect this action from the KAccel.

Definition at line 807 of file kaction.cpp.

virtual TQString KAction::whatsThis ( ) const
virtual

Get the What's this text for the action.


The documentation for this class was generated from the following files:
  • kaction.h
  • kaction.cpp

kdeui

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

kdeui

Skip menu "kdeui"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kdeui by doxygen 1.8.11
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |