kaccelmenuwatch.h
00001
00002
00003
00004
00005
#ifndef KARM_K_ACCEL_MENU_WATCH_H
00006
#define KARM_K_ACCEL_MENU_WATCH_H
00007
00008
#include <qobject.h>
00009
#include <qptrlist.h>
00010
00011
#include <kaccel.h>
00012
00013
class QPopupMenu;
00014
00035 class KAccelMenuWatch :
public QObject
00036 {
00037 Q_OBJECT
00038
00039
private:
00040
enum AccelType { StdAccel, StringAccel };
00041
00042
typedef struct AccelItem {
00043
QPopupMenu *menu;
00044
int itemId;
00045
00046 AccelType type;
00047
00048
00049
QString action;
00050 KStdAccel::StdAccel stdAction;
00051 } AccelItem;
00052
00053 KAccel *_accel;
00054
QPtrList<AccelItem> _accList;
00055
QPtrList<QPopupMenu> _menuList;
00056
00057
QPopupMenu *_menu;
00058
00059 KAccelMenuWatch::AccelItem *newAccelItem(
QPopupMenu *menu,
00060
int itemId, AccelType type );
00061
00062
public:
00066
KAccelMenuWatch( KAccel *accel,
QObject *parent = 0 );
00067
00071 virtual ~KAccelMenuWatch() {}
00072
00079
void setMenu(
QPopupMenu *menu );
00080
00085 QPopupMenu *
currentMenu()
const {
return _menu; }
00086
00091
void connectAccel(
int itemId,
const char *action );
00092
00096
void connectAccel(
int itemId, KStdAccel::StdAccel );
00097
00098
public slots:
00103
void updateMenus();
00104
00105
private slots:
00106
void removeDeadMenu();
00107
00108
private:
00109
KAccelMenuWatch& operator=(
const KAccelMenuWatch& );
00110
KAccelMenuWatch(
const KAccelMenuWatch& );
00111 };
00112
00113
#endif // KARM_K_ACCEL_MENU_WATCH_H
This file is part of the documentation for karm Library Version 3.3.0.