00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef __KSHORTCUTLIST_H
00021
#define __KSHORTCUTLIST_H
00022
00023
#include <qglobal.h>
00024
#include <qstring.h>
00025
00026
class QVariant;
00027
class KConfigBase;
00028
class KInstance;
00029
class KKeySequence;
00030
class KShortcut;
00031
00032
00033
00034
00035
00036
00047 class KShortcutList
00048 {
00049
public:
00053
KShortcutList();
00054
virtual ~
KShortcutList();
00055
00060
virtual uint
count()
const = 0;
00061
00067
virtual QString name( uint
index )
const = 0;
00068
00074
virtual QString label( uint index )
const = 0;
00075
00081
virtual QString whatsThis( uint index )
const = 0;
00082
00089
virtual const KShortcut&
shortcut( uint index )
const = 0;
00090
00097
virtual const KShortcut&
shortcutDefault( uint index )
const = 0;
00098
00104
virtual bool isConfigurable( uint index )
const = 0;
00105
00111
virtual bool setShortcut( uint index,
const KShortcut &shortcut ) = 0;
00112
00119
virtual bool isGlobal( uint index )
const;
00120
00126
virtual int index(
const QString& sName )
const;
00127
00133
virtual int index(
const KKeySequence& keySeq )
const;
00134
00139
virtual const KInstance*
instance()
const;
00140
00141
00142
enum Other { };
00144
virtual QVariant getOther( Other, uint index )
const = 0;
00146
virtual bool setOther( Other, uint index,
QVariant ) = 0;
00147
00152
virtual bool save()
const = 0;
00153
00161
virtual bool readSettings(
const QString& sConfigGroup = QString::null,
KConfigBase* pConfig = 0 );
00162
00172
virtual bool writeSettings(
const QString& sConfigGroup = QString::null,
KConfigBase* pConfig = 0,
00173
bool bWriteAll =
false,
bool bGlobal =
false )
const;
00174
00175
protected:
00177
virtual void virtual_hook(
int id,
void* data );
00178
private:
00179
class KShortcutListPrivate* d;
00180 };
00181
00182
00183
00184
00185
00186
class KAccel;
00187
class KAccelActions;
00188
class KGlobalAccel;
00189
00194 class KAccelShortcutList :
public KShortcutList
00195 {
00196
public:
00201
KAccelShortcutList(
KAccel* accel );
00202
00208
KAccelShortcutList(
KGlobalAccel* accel );
00209
00218
KAccelShortcutList( KAccelActions &actions,
bool bGlobal );
00219
virtual ~
KAccelShortcutList();
00220
00221
virtual uint
count()
const;
00222
virtual QString name( uint index )
const;
00223
virtual QString label( uint index )
const;
00224
virtual QString whatsThis( uint index )
const;
00225
virtual const KShortcut&
shortcut( uint index )
const;
00226
virtual const KShortcut&
shortcutDefault( uint index )
const;
00227
virtual bool isConfigurable( uint index )
const;
00228
virtual bool setShortcut( uint index ,
const KShortcut& shortcut );
00229
virtual bool isGlobal( uint index )
const;
00230
00232
virtual QVariant getOther( Other, uint index )
const;
00234
virtual bool setOther( Other, uint index,
QVariant );
00235
00236
virtual bool save()
const;
00237
00238
protected:
00239 KAccelActions& m_actions;
00240
bool m_bGlobal;
00241
00242
protected:
00243
virtual void virtual_hook(
int id,
void* data );
00244
private:
00245
class KAccelShortcutListPrivate* d;
00246 };
00247
00248 namespace KStdAccel {
00249
00250
00251
00252
00257 class ShortcutList :
public KShortcutList
00258 {
00259
public:
00263
ShortcutList();
00264
virtual ~
ShortcutList();
00265
00266
virtual uint
count()
const;
00267
virtual QString name( uint index )
const;
00268
virtual QString label( uint index )
const;
00269
virtual QString whatsThis( uint index )
const;
00270
virtual const KShortcut&
shortcut( uint index )
const;
00271
virtual const KShortcut&
shortcutDefault( uint index )
const;
00272
virtual bool isConfigurable( uint index )
const;
00273
virtual bool setShortcut( uint index ,
const KShortcut&
shortcut );
00274
00276
virtual QVariant getOther( Other, uint index )
const;
00278
virtual bool setOther( Other, uint index,
QVariant );
00279
00280
virtual bool save()
const;
00281
00282
protected:
00283
virtual void virtual_hook(
int id,
void* data );
00284
private:
00285
class ShortcutListPrivate* d;
00286 };
00287 }
00288
00289
#endif // __KSHORTCUTLIST_H