KDEUI
kaction.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef KACTION_H
00027 #define KACTION_H
00028
00029 #include <kdeui_export.h>
00030 #include <kguiitem.h>
00031 #include <kshortcut.h>
00032
00033 #include <QtGui/QWidgetAction>
00034
00035 class KIcon;
00036 class KShapeGesture;
00037 class KRockerGesture;
00038
00039
00040
00211 class KDEUI_EXPORT KAction : public QWidgetAction
00212 {
00213 Q_OBJECT
00214
00215 Q_PROPERTY( KShortcut shortcut READ shortcut WRITE setShortcut )
00216 Q_PROPERTY( bool shortcutConfigurable READ isShortcutConfigurable WRITE setShortcutConfigurable )
00217 Q_PROPERTY( KShortcut globalShortcut READ globalShortcut WRITE setGlobalShortcut )
00218 Q_PROPERTY( bool globalShortcutAllowed READ globalShortcutAllowed WRITE setGlobalShortcutAllowed )
00219 Q_PROPERTY( bool globalShortcutEnabled READ isGlobalShortcutEnabled )
00220 Q_FLAGS( ShortcutType )
00221
00222 public:
00226 enum ShortcutType {
00228 ActiveShortcut = 0x1,
00231 DefaultShortcut = 0x2
00232 };
00233 Q_DECLARE_FLAGS(ShortcutTypes, ShortcutType)
00234
00235
00238
00239
00240 enum GlobalShortcutLoading {
00244 Autoloading = 0x0,
00246 NoAutoloading = 0x4
00247 };
00251 explicit KAction(QObject *parent);
00252
00259 KAction(const QString& text, QObject *parent);
00260
00272 KAction(const KIcon& icon, const QString& text, QObject *parent);
00273
00277 virtual ~KAction();
00278
00290 KShortcut shortcut(ShortcutTypes types = ActiveShortcut) const;
00291
00302 void setShortcut(const KShortcut& shortcut, ShortcutTypes type = ShortcutTypes(ActiveShortcut | DefaultShortcut));
00303
00316 void setShortcut(const QKeySequence& shortcut, ShortcutTypes type = ShortcutTypes(ActiveShortcut | DefaultShortcut));
00317
00330 void setShortcuts(const QList<QKeySequence>& shortcuts, ShortcutTypes type = ShortcutTypes(ActiveShortcut | DefaultShortcut));
00331
00335 bool isShortcutConfigurable() const;
00336
00342 void setShortcutConfigurable(bool configurable);
00343
00357 const KShortcut& globalShortcut(ShortcutTypes type = ActiveShortcut) const;
00358
00395 void setGlobalShortcut(const KShortcut& shortcut, ShortcutTypes type =
00396 ShortcutTypes(ActiveShortcut | DefaultShortcut),
00397 GlobalShortcutLoading loading = Autoloading);
00398
00404 KDE_DEPRECATED bool globalShortcutAllowed() const;
00405
00414 KDE_DEPRECATED void setGlobalShortcutAllowed(bool allowed, GlobalShortcutLoading loading = Autoloading);
00415
00421 bool isGlobalShortcutEnabled() const;
00422
00432 void forgetGlobalShortcut();
00433
00434 KShapeGesture shapeGesture(ShortcutTypes type = ActiveShortcut) const;
00435 KRockerGesture rockerGesture(ShortcutTypes type = ActiveShortcut) const;
00436
00437 void setShapeGesture(const KShapeGesture& gest, ShortcutTypes type = ShortcutTypes(ActiveShortcut | DefaultShortcut));
00438 void setRockerGesture(const KRockerGesture& gest, ShortcutTypes type = ShortcutTypes(ActiveShortcut | DefaultShortcut));
00439
00443 bool event(QEvent*);
00444
00445
00446 Q_SIGNALS:
00447 #ifdef KDE3_SUPPORT
00448
00453 QT_MOC_COMPAT void activated();
00454 #endif
00455
00460 void triggered(Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
00461
00466 void globalShortcutChanged(const QKeySequence&);
00467
00468 private:
00469 friend class KGlobalAccelPrivate;
00470 friend class KActionCollectionPrivate;
00471 friend class KShortcutsEditorDelegate;
00472 Q_PRIVATE_SLOT(d, void slotTriggered())
00473 class KActionPrivate* const d;
00474 friend class KActionPrivate;
00475 friend class KGlobalShortcutTest;
00476 };
00477
00478 Q_DECLARE_OPERATORS_FOR_FLAGS(KAction::ShortcutTypes)
00479
00480 #endif