class KAccel

Configurable shortcut support. More...

Definition#include <kaccel.h>
InheritsQAccel (qt) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Signals

Public Static Methods

Protected Methods


Detailed Description

Handle shortcuts.

Allow a user to configure shortcuts through application configuration files or through the KKeyChooser GUI.

A KAccel contains a list of KAccelAction objects.

For example, CTRL+Key_P could be a shortcut for printing a document. The key codes are listed in qnamespace.h. "Print" could be the action name for printing. The action name identifies the shortcut in configuration files and the KKeyChooser GUI.

A KAccel object handles key events sent to its parent widget and to all children of this parent widget. The most recently created KAccel object has precedence over any KAccel objects created before it. When a shortcut pressed, KAccel calls the slot to which it has been connected.

Reconfiguration of a given shortcut can be prevented by specifying that an accelerator item is not configurable when it is inserted. A special group of non-configurable key bindings are known as the standard accelerators.

The standard accelerators appear repeatedly in applications for standard document actions such as printing and saving. A convenience method is available to insert and connect these accelerators which are configurable on a desktop-wide basis.

It is possible for a user to choose to have no key associated with an action.

The translated first argument for insertItem() is used only in the configuration dialog.


 KAccel* pAccel = new KAccel( this );

 // Insert an action "Scroll Up" which is associated with the "Up" key:
 pAccel->insert( "Scroll Up", i18n("Scroll up"),
                       i18n("Scroll up the current document by one line."),
                       Qt::Key_Up, this, SLOT(slotScrollUp()) );
 // Insert an standard acclerator action.
 pAccel->insert( KStdAccel::Print, this, SLOT(slotPrint()) );

 // Update the shortcuts by read any user-defined settings from the
 //  application's config file.
 pAccel->readSettings();

 KAccel ( QWidget* pParent, const char* psName = 0 )

KAccel

 KAccel ( QWidget* watch, QObject* parent, const char* psName = 0 )

KAccel

 ~KAccel ()

~KAccel

[virtual]

KAccelActions&  actions ()

actions

const KAccelActions&  actions ()

actions

[const]

bool  isEnabled ()

isEnabled

void  setEnabled ( bool bEnabled )

setEnabled

bool  getAutoUpdate ()

getAutoUpdate

bool  setAutoUpdate ( bool bAuto )

setAutoUpdate

KAccelAction*  insert ( const QString& sAction, const QString& sLabel, const QString& sWhatsThis, const KShortcut& cutDef, const QObject* pObjSlot, const char* psMethodSlot, bool bConfigurable = true, bool bEnabled = true )

insert

Create an accelerator action.

Usage:


 insert( "Do Something", i18n("Do Something"),
   i18n("This action allows you to do something really great with this program to "
        "the currently open document."),
   ALT+Key_D, this, SLOT(slotDoSomething()) );

Parameters:
sActionThe internal name of the action.
sLabelAn i18n'ized short description of the action displayed when using KKeyChooser to reconfigure the shortcuts.
sWhatsThisAn extended description of the action.
cutDefThe default shortcut.
pObjSlotPointer to the slot object.
psMethodSlotPointer to the slot method.
bConfigurableAllow the user to change this shortcut if set to 'true'.
bEnabledThe action will be activated by the shortcut if set to 'true'.

KAccelAction*  insert ( const QString& sAction, const QString& sLabel, const QString& sWhatsThis, const KShortcut& cutDef3, const KShortcut& cutDef4, const QObject* pObjSlot, const char* psMethodSlot, bool bConfigurable = true, bool bEnabled = true )

insert

Same as first insert(), but with separate shortcuts defined for 3- and 4- modifier defaults.

KAccelAction*  insert ( const char* psAction, const KShortcut& cutDef, const QObject* pObjSlot, const char* psMethodSlot, bool bConfigurable = true, bool bEnabled = true )

insert

This is an overloaded function provided for convenience. The advantage of this is when you want to use the same text for the name of the action as for the user-visible label.

Usage: insert( I18N_NOOP("Do Something"), ALT+Key_D, this, SLOT(slotDoSomething()) );

Parameters:
psActionThe name AND label of the action.
cutDefThe default shortcut for this action.

KAccelAction*  insert ( KStdAccel::StdAccel id, const QObject* pObjSlot, const char* psMethodSlot, bool bConfigurable = true, bool bEnabled = true )

insert

Similar to the first insert() method, but with the action name, short description, help text, and default shortcuts all set according to one of the standard accelerators.

See also: KStdAccel.

KAccelAction*  insert ( const QString& sName, const QString& sLabel )

insert

Use this to insert a label into the action list. This will be displayed when the user configures shortcuts.

bool  remove ( const QString& sAction )

remove

bool  updateConnections ()

updateConnections

const KShortcut&  shortcut ( const QString& sAction )

shortcut

[const]

Return the shortcut associated with the action named by sAction.

bool  setShortcut ( const QString& sAction, const KShortcut& )

setShortcut

Set the shortcut to be associated with the action named by sAction.

bool  setSlot ( const QString& sAction, const QObject* pObjSlot, const char* psMethodSlot )

setSlot

Set the slot to be called when the shortcut of the action named by sAction is pressed.

bool  setEnabled ( const QString& sAction, bool bEnabled )

setEnabled

Enable or disable the action named by sAction.

const QString&  configGroup ()

configGroup

[const]

void  setConfigGroup ( const QString& )

setConfigGroup

bool  readSettings ( KConfigBase* pConfig = 0 )

readSettings

Read all shortcuts from pConfig, or (if pConfig is zero) from the application's configuration file KGlobal::config().

The group in which the configuration is stored can be set with setConfigGroup().

bool  writeSettings ( KConfigBase* pConfig = 0 )

writeSettings

[const]

Write the current shortcuts to pConfig, or (if pConfig is zero) to the application's configuration file.

void  emitKeycodeChanged ()

emitKeycodeChanged

void  keycodeChanged ()

keycodeChanged

[signal]

bool  insertItem ( const QString& sLabel, const QString& sAction, const char* psKey, int nIDMenu = 0, QPopupMenu* pMenu = 0, bool bConfigurable = true )

insertItem

bool  insertItem ( const QString& sLabel, const QString& sAction, int key, int nIDMenu = 0, QPopupMenu* pMenu = 0, bool bConfigurable = true )

insertItem

bool  insertStdItem ( KStdAccel::StdAccel id, const QString& descr = QString::null )

insertStdItem

bool  connectItem ( const QString& sAction, const QObject* pObjSlot, const char* psMethodSlot, bool bActivate = true )

connectItem

bool  connectItem ( KStdAccel::StdAccel accel, const QObject* pObjSlot, const char* psMethodSlot )

connectItem

bool  removeItem ( const QString& sAction )

removeItem

bool  setItemEnabled ( const QString& sAction, bool bEnable )

setItemEnabled

void  changeMenuAccel ( QPopupMenu *menu, int id, const QString& action )

changeMenuAccel

void  changeMenuAccel ( QPopupMenu *menu, int id, KStdAccel::StdAccel accel )

changeMenuAccel

int  stringToKey ( const QString& )

stringToKey

[static]

int  currentKey ( const QString& action )

currentKey

[const]

Retrieve the key code of the accelerator item with the action name action, or zero if either the action name cannot be found or the current key is set to no key.

QString  findKey ( int key )

findKey

[const]

Return the name of the accelerator item with the keycode key, or QString::null if the item cannot be found.

void  virtual_hook ( int id, void* data )

virtual_hook

[protected virtual]