Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

KAccel Class Reference

Configurable shortcut support for widgets. More...

#include <kaccel.h>

List of all members.

Signals

void keycodeChanged ()

Public Methods

 KAccel (QWidget *pParent, const char *psName=0)
 KAccel (QWidget *watch, QObject *parent, const char *psName=0)
bool isEnabled ()
void setEnabled (bool bEnabled)
bool getAutoUpdate ()
bool setAutoUpdate (bool bAuto)
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)
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)
KAccelAction * insert (const char *psAction, const KShortcut &cutDef, const QObject *pObjSlot, const char *psMethodSlot, bool bConfigurable=true, bool bEnabled=true)
KAccelAction * insert (KStdAccel::StdAccel id, const QObject *pObjSlot, const char *psMethodSlot, bool bConfigurable=true, bool bEnabled=true)
KAccelAction * insert (const QString &sName, const QString &sLabel)
bool remove (const QString &sAction)
bool updateConnections ()
const KShortcut & shortcut (const QString &sAction) const
bool setShortcut (const QString &sAction, const KShortcut &shortcut)
bool setSlot (const QString &sAction, const QObject *pObjSlot, const char *psMethodSlot)
bool setEnabled (const QString &sAction, bool bEnabled)
const QString & configGroup () const
void setConfigGroup (const QString &name)
bool readSettings (KConfigBase *pConfig=0)
bool writeSettings (KConfigBase *pConfig=0) const
void emitKeycodeChanged ()
bool insertItem (const QString &sLabel, const QString &sAction, const char *psKey, int nIDMenu=0, QPopupMenu *pMenu=0, bool bConfigurable=true)
bool insertItem (const QString &sLabel, const QString &sAction, int key, int nIDMenu=0, QPopupMenu *pMenu=0, bool bConfigurable=true)
bool insertStdItem (KStdAccel::StdAccel id, const QString &descr=QString::null)
bool connectItem (const QString &sAction, const QObject *pObjSlot, const char *psMethodSlot, bool bActivate=true)
bool connectItem (KStdAccel::StdAccel accel, const QObject *pObjSlot, const char *psMethodSlot)
bool removeItem (const QString &sAction)
bool setItemEnabled (const QString &sAction, bool bEnable)
void changeMenuAccel (QPopupMenu *menu, int id, const QString &action)
void changeMenuAccel (QPopupMenu *menu, int id, KStdAccel::StdAccel accel)
int currentKey (const QString &action) const
QString findKey (int key) const

Static Public Methods

int stringToKey (const QString &)


Detailed Description

Configurable shortcut support for widgets.

Handle shortcuts.

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

A KAccel contains a list of accelerator actions.

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. If you want to set global accelerators, independent of the window which has the focus, use KGlobalAccel.

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();
 *

See also:
KGlobalAccel , KAccelShortcutList , KKeyChooser , KKeyDialog
Version:
Id:
kaccel.h,v 1.90 2002/10/02 22:17:35 tjansen Exp

Definition at line 93 of file kaccel.h.


Constructor & Destructor Documentation

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

Creates a new KAccel that watches pParent, which is also the QObject's parent.

Parameters:
pParent  the parent and widget to watch for key strokes
psName  the name of the QObject

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

Creates a new KAccel that watches watch.

Parameters:
watch  the widget to watch for key strokes
parent  the parent of the QObject
psName  the name of the QObject


Member Function Documentation

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

Deprecated:

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

Deprecated:

const QString& KAccel::configGroup (    ) 
 

Returns the configuration group of the settings.

Returns:
the configuration group
See also:
KConfig

bool KAccel::connectItem (  KStdAccel::StdAccel    accel,
const QObject *    pObjSlot,
const char *    psMethodSlot
)  [inline]
 

Deprecated:

Definition at line 351 of file kaccel.h.

References insert().

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

Deprecated:

int KAccel::currentKey (  const QString &    action )  const
 

Deprecated:
. Use shortcut(). 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.

void KAccel::emitKeycodeChanged (    ) 
 

Emits the keycodeChanged() signal.

QString KAccel::findKey (  int    key )  const
 

Deprecated:
. Use actions().actionPtr(). Return the name of the accelerator item with the keycode key, or QString::null if the item cannot be found.

bool KAccel::getAutoUpdate (    ) 
 

Checks whether auto-update of connections is enabled.

Returns:
true if auto-update is enabled (the default)
See also:
setAutoUpdate()

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

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

Parameters:
sName  the name of the action
sLabel  the label of the action
Returns:
the created KAccelAction

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

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* KAccel::insert (  const char *    psAction,
const KShortcut &    cutDef,
const QObject *    pObjSlot,
const char *    psMethodSlot,
bool    bConfigurable = true,
bool    bEnabled = true
) 
 

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:
psAction  The name AND label of the action.
cutDef  The default shortcut for this action.

KAccelAction* KAccel::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
) 
 

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

KAccelAction* KAccel::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
) 
 

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:
sAction  The internal name of the action.
sLabel  An i18n'ized short description of the action displayed when using KKeyChooser to reconfigure the shortcuts.
sWhatsThis  An extended description of the action.
cutDef  The default shortcut.
pObjSlot  Pointer to the slot object.
psMethodSlot  Pointer to the slot method.
bConfigurable  Allow the user to change this shortcut if set to 'true'.
bEnabled  The action will be activated by the shortcut if set to 'true'.

Referenced by connectItem().

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

Deprecated:

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

Deprecated:

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

Deprecated:

bool KAccel::isEnabled (    ) 
 

Checks whether the KAccel is active.

Returns:
true if the QAccel enabled

void KAccel::keycodeChanged (    )  [signal]
 

Emitted when one of the key codes has changed.

bool KAccel::readSettings (  KConfigBase *    pConfig = 0 ) 
 

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().

Parameters:
pConfig  the configuration file, or 0 for the application configuration file
Returns:
true if successful, false otherwise

bool KAccel::remove (  const QString &    sAction ) 
 

Removes the accelerator action identified by the name. Remember to also call updateConnections().

Parameters:
sAction  the name of the action to remove
Returns:
true if successful, false otherwise

bool KAccel::removeItem (  const QString &    sAction ) 
 

Deprecated:

bool KAccel::setAutoUpdate (  bool    bAuto ) 
 

Enable auto-update of connections. This means that the signals are automatically disconnected when you disable an action, and re-enabled when you enable it. By default auto update is turned on. If you disable auto-update, you need to call updateConnections() after changing actions.

Parameters:
bAuto  true to enable, false to disable
Returns:
the value of the flag before this call

void KAccel::setConfigGroup (  const QString &    name ) 
 

Returns the configuration group of the settings.

Parameters:
name  the new configuration group
See also:
KConfig

bool KAccel::setEnabled (  const QString &    sAction,
bool    bEnabled
) 
 

Enable or disable the action named by sAction.

Parameters:
sAction  the action to en-/disable
bEnabled  true to enable, false to disable
Returns:
true if successful, false otherwise

void KAccel::setEnabled (  bool    bEnabled ) 
 

Enables or disables the KAccel.

Parameters:
bEnabled  true to enable, false to disable

bool KAccel::setItemEnabled (  const QString &    sAction,
bool    bEnable
) 
 

Deprecated:

bool KAccel::setShortcut (  const QString &    sAction,
const KShortcut &    shortcut
) 
 

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

Parameters:
sAction  the name of the action
shortcut  the shortcut to set
Returns:
true if successful, false otherwise

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

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

Parameters:
sAction  the name of the action
pObjSlot  the owner of the slot
psMethodSlot  the name of the slot
Returns:
true if successful, false otherwise

const KShortcut& KAccel::shortcut (  const QString &    sAction )  const
 

Return the shortcut associated with the action named by sAction.

Parameters:
sAction  the name of the action
Returns:
the action's shortcut, or a null shortcut if not found

int KAccel::stringToKey (  const QString &    )  [static]
 

Deprecated:

bool KAccel::updateConnections (    ) 
 

Updates the connections of the accelerations after changing them. This is only neccessary if you have disabled auto updates which are on by default.

Returns:
true if successful, false otherwise
See also:
setAutoUpdate() , getAutoUpdate()

bool KAccel::writeSettings (  KConfigBase *    pConfig = 0 )  const
 

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

Parameters:
pConfig  the configuration file, or 0 for the application configuration file
Returns:
true if successful, false otherwise


The documentation for this class was generated from the following file:
Generated on Wed Aug 13 23:30:04 2003 for kdelibs by doxygen1.2.18