/***************************************************************************
                            kde_KGlobalAccel.h -  description
                             -------------------
    begin                : Tue Mar 19 20:11:49 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Tue Mar 19 20:11:49 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 2 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/

#ifndef KDE_KGLOBALACCEL
#define KDE_KGLOBALACCEL

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

kde_KGlobalAccel * kde_new_KGlobalAccel(qt_QObject * pParent, char* psName);
void kde_del_KGlobalAccel( kde_KGlobalAccel* p );
int kde_KGlobalAccel_isEnabled(kde_KGlobalAccel* instPointer);
void kde_KGlobalAccel_setEnabled(kde_KGlobalAccel* instPointer,int bEnabled);

/** 
 Create an accelerator action.

 Usage:
<pre>
 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+CTRL+Key_Q, KKey::QtWIN+CTRL+Key_Q, this, SLOT(slotDoSomething()) );
</pre>

*/
kde_KAccelAction* kde_KGlobalAccel_insert(kde_KGlobalAccel* instPointer,qt_QString * sAction, qt_QString * sLabel, qt_QString * sWhatsThis, kde_KShortcut* cutDef3, kde_KShortcut* cutDef4, qt_QObject * pObjSlot, char* psMethodSlot, int bConfigurable, int bEnabled);

/** 
 Use this to insert a label into the action list.  This will be
 displayed when the user configures shortcuts.
	 
*/
kde_KAccelAction* kde_KGlobalAccel_insert1(kde_KGlobalAccel* instPointer,qt_QString * sName, qt_QString * sLabel);
int kde_KGlobalAccel_updateConnections(kde_KGlobalAccel* instPointer);

/** 
 Set the shortcut to be associated with the action named by @p sAction.
	 
*/
kde_KShortcut* kde_KGlobalAccel_shortcut(kde_KGlobalAccel* instPointer,qt_QString * sAction);

/** 
 Set the shortcut to be associated with the action named by @p sAction.
	 
*/
int kde_KGlobalAccel_setShortcut(kde_KGlobalAccel* instPointer,qt_QString * sAction, kde_KShortcut* arg1);

/** 
 Set the slot to be called when the shortcut of the action named
 by @p sAction is pressed.
	 
*/
int kde_KGlobalAccel_setSlot(kde_KGlobalAccel* instPointer,qt_QString * sAction, qt_QObject * pObjSlot, char* psMethodSlot);

/**  
 Enable or disable the action named by @p sAction.
	 
*/
//int kde_KGlobalAccel_setEnabled1(kde_KGlobalAccel* instPointer,qt_QString * sAction, int bEnabled);
qt_QString * kde_KGlobalAccel_configGroup(kde_KGlobalAccel* instPointer);
void kde_KGlobalAccel_setConfigGroup(kde_KGlobalAccel* instPointer,qt_QString * arg1);

/** 
 Read all shortcuts from @p pConfig, or (if @p pConfig
 is zero) from the application's configuration file
 @ref KGlobal::config().
	 
*/
int kde_KGlobalAccel_readSettings(kde_KGlobalAccel* instPointer,kde_KConfigBase* pConfig);

/** 
 Write the current shortcuts to @p pConfig,
 or (if @p pConfig is zero) to the application's
 configuration file.
	 
*/
int kde_KGlobalAccel_writeSettings(kde_KGlobalAccel* instPointer,kde_KConfigBase* pConfig);

/** 

 KAccelActions::useFourModifierKeys().
	 
*/
int kde_KGlobalAccel_useFourModifierKeys( );
void kde_KGlobalAccel_virtual_hook(kde_KGlobalAccel* instPointer,int identifier, void* data);

#endif
