00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef _KGLOBALACCEL_X11_H
00021
#define _KGLOBALACCEL_X11_H
00022
00023
#include <qmap.h>
00024
#include <qwidget.h>
00025
00026
#include "kaccelbase.h"
00027
#include "kkeyserver_x11.h"
00028
#include "kshortcut.h"
00029
00033
class KGlobalAccelPrivate :
public QWidget,
public KAccelBase
00034 {
00035
friend class KGlobalAccel;
00036 Q_OBJECT
00037
public:
00038 KGlobalAccelPrivate();
00039
virtual ~KGlobalAccelPrivate();
00040
00041
virtual void setEnabled(
bool );
00042
00043
virtual bool emitSignal( Signal );
00044
virtual bool connectKey( KAccelAction&,
const KKeyServer::Key& );
00045
virtual bool connectKey(
const KKeyServer::Key& );
00046
virtual bool disconnectKey( KAccelAction&,
const KKeyServer::Key& );
00047
virtual bool disconnectKey(
const KKeyServer::Key& );
00048
00049
protected:
00054
class CodeMod
00055 {
00056
public:
00060 uchar code;
00064 uint mod;
00065
00069
bool operator < (
const CodeMod& b )
const
00070
{
00071
if( code < b.code )
return true;
00072
if( code == b.code && mod < b.mod )
return true;
00073
return false;
00074 }
00075 };
00076
typedef QMap<CodeMod, KAccelAction*> CodeModMap;
00077
00078 CodeModMap m_rgCodeModToAction;
00079
00083
bool grabKey(
const KKeyServer::Key&,
bool bGrab, KAccelAction* );
00084
00092
virtual bool x11Event( XEvent* );
00093
void x11MappingNotify();
00094
bool x11KeyPress(
const XEvent *pEvent );
00095
void activate( KAccelAction* pAction,
const KKeySequence& seq );
00096
00097
protected slots:
00098
void slotActivated(
int iAction );
00099 };
00100
00101
#endif // _KGLOBALACCEL_X11_H