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
#include "kdelibs_export.h"
00026
00027
class QVariant;
00028
class KConfigBase;
00029
class KInstance;
00030
class KKeySequence;
00031
class KShortcut;
00032
00033
00034
00035
00036
00037
00048 class KDECORE_EXPORT KShortcutList
00049 {
00050
public:
00054 KShortcutList();
00055
virtual ~KShortcutList();
00056
00061
virtual uint count()
const = 0;
00062
00068
virtual QString name( uint index )
const = 0;
00069
00075
virtual QString label( uint index )
const = 0;
00076
00082
virtual QString whatsThis( uint index )
const = 0;
00083
00084
00085
00086
00093
virtual const KShortcut& shortcut( uint index )
const = 0;
00094
00101
virtual const KShortcut& shortcutDefault( uint index )
const = 0;
00102
00108
virtual bool isConfigurable( uint index )
const = 0;
00109
00115
virtual bool setShortcut( uint index,
const KShortcut &shortcut ) = 0;
00116
00123
virtual bool isGlobal( uint index )
const;
00124
00130
virtual int index(
const QString& sName )
const;
00131
00137
virtual int index(
const KKeySequence& keySeq )
const;
00138
00143
virtual const KInstance* instance()
const;
00144
00145
00146
enum Other { };
00148
virtual QVariant getOther( Other, uint index )
const = 0;
00150
virtual bool setOther( Other, uint index,
QVariant ) = 0;
00151
00156
virtual bool save()
const = 0;
00157
00165
virtual bool readSettings(
const QString& sConfigGroup = QString::null,
KConfigBase* pConfig = 0 );
00166
00176
virtual bool writeSettings(
const QString& sConfigGroup = QString::null,
KConfigBase* pConfig = 0,
00177
bool bWriteAll =
false,
bool bGlobal =
false )
const;
00178
00179
protected:
00181
virtual void virtual_hook(
int id,
void* data );
00182
private:
00183
class KShortcutListPrivate* d;
00184 };
00185
00186
00187
00188
00189
00190
class KAccel;
00191
class KAccelActions;
00192
class KGlobalAccel;
00193
00198 class KDECORE_EXPORT KAccelShortcutList :
public KShortcutList
00199 {
00200
public:
00205 KAccelShortcutList(
KAccel* accel );
00206
00212 KAccelShortcutList(
KGlobalAccel* accel );
00213
00222 KAccelShortcutList( KAccelActions &actions,
bool bGlobal );
00223
virtual ~KAccelShortcutList();
00224
00225
virtual uint
count()
const;
00226
virtual QString name( uint index )
const;
00227
virtual QString label( uint index )
const;
00228
virtual QString whatsThis( uint index )
const;
00229
virtual const KShortcut& shortcut( uint index )
const;
00230
virtual const KShortcut& shortcutDefault( uint index )
const;
00231
virtual bool isConfigurable( uint index )
const;
00232
virtual bool setShortcut( uint index ,
const KShortcut& shortcut );
00233
virtual bool isGlobal( uint index )
const;
00234
00236
virtual QVariant getOther( Other, uint index )
const;
00238
virtual bool setOther( Other, uint index,
QVariant );
00239
00240
virtual bool save()
const;
00241
00242
protected:
00243 KAccelActions& m_actions;
00244
bool m_bGlobal;
00245
00246
protected:
00247
virtual void virtual_hook(
int id,
void* data );
00248
private:
00249
class KAccelShortcutListPrivate* d;
00250 };
00251
00252 namespace KStdAccel {
00253
00254
00255
00256
00261 class KDECORE_EXPORT ShortcutList :
public KShortcutList
00262 {
00263
public:
00267 ShortcutList();
00268
virtual ~ShortcutList();
00269
00270
virtual uint count()
const;
00271
virtual QString name( uint index )
const;
00272
virtual QString label( uint index )
const;
00273
virtual QString whatsThis( uint index )
const;
00274
virtual const KShortcut&
shortcut( uint index )
const;
00275
virtual const KShortcut&
shortcutDefault( uint index )
const;
00276
virtual bool isConfigurable( uint index )
const;
00277
virtual bool setShortcut( uint index ,
const KShortcut&
shortcut );
00278
00280
virtual QVariant getOther( Other, uint index )
const;
00282
virtual bool setOther( Other, uint index,
QVariant );
00283
00284
virtual bool save()
const;
00285
00286
protected:
00287
virtual void virtual_hook(
int id,
void* data );
00288
private:
00289
class ShortcutListPrivate* d;
00290 };
00291 }
00292
00293
#endif // __KSHORTCUTLIST_H