1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). |
4 | ** Contact: http://www.qt-project.org/ |
5 | ** |
6 | ** This file is part of the QtGui module of the Qt Toolkit. |
7 | ** |
8 | ** $QT_BEGIN_LICENSE:LGPL$ |
9 | ** GNU Lesser General Public License Usage |
10 | ** This file may be used under the terms of the GNU Lesser General Public |
11 | ** License version 2.1 as published by the Free Software Foundation and |
12 | ** appearing in the file LICENSE.LGPL included in the packaging of this |
13 | ** file. Please review the following information to ensure the GNU Lesser |
14 | ** General Public License version 2.1 requirements will be met: |
15 | ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
16 | ** |
17 | ** In addition, as a special exception, Nokia gives you certain additional |
18 | ** rights. These rights are described in the Nokia Qt LGPL Exception |
19 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
20 | ** |
21 | ** GNU General Public License Usage |
22 | ** Alternatively, this file may be used under the terms of the GNU General |
23 | ** Public License version 3.0 as published by the Free Software Foundation |
24 | ** and appearing in the file LICENSE.GPL included in the packaging of this |
25 | ** file. Please review the following information to ensure the GNU General |
26 | ** Public License version 3.0 requirements will be met: |
27 | ** http://www.gnu.org/copyleft/gpl.html. |
28 | ** |
29 | ** Other Usage |
30 | ** Alternatively, this file may be used in accordance with the terms and |
31 | ** conditions contained in a signed written agreement between you and Nokia. |
32 | ** |
33 | ** |
34 | ** |
35 | ** |
36 | ** |
37 | ** |
38 | ** $QT_END_LICENSE$ |
39 | ** |
40 | ****************************************************************************/ |
41 | |
42 | #ifndef QSHORTCUT_H |
43 | #define QSHORTCUT_H |
44 | |
45 | #include <QtGui/qwidget.h> |
46 | #include <QtGui/qkeysequence.h> |
47 | |
48 | QT_BEGIN_HEADER |
49 | |
50 | QT_BEGIN_NAMESPACE |
51 | |
52 | QT_MODULE(Gui) |
53 | |
54 | #ifndef QT_NO_SHORTCUT |
55 | |
56 | class QShortcutPrivate; |
57 | class Q_GUI_EXPORT QShortcut : public QObject |
58 | { |
59 | Q_OBJECT |
60 | Q_DECLARE_PRIVATE(QShortcut) |
61 | Q_PROPERTY(QKeySequence key READ key WRITE setKey) |
62 | Q_PROPERTY(QString whatsThis READ whatsThis WRITE setWhatsThis) |
63 | Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled) |
64 | Q_PROPERTY(bool autoRepeat READ autoRepeat WRITE setAutoRepeat) |
65 | Q_PROPERTY(Qt::ShortcutContext context READ context WRITE setContext) |
66 | public: |
67 | explicit QShortcut(QWidget *parent); |
68 | QShortcut(const QKeySequence& key, QWidget *parent, |
69 | const char *member = 0, const char *ambiguousMember = 0, |
70 | Qt::ShortcutContext context = Qt::WindowShortcut); |
71 | ~QShortcut(); |
72 | |
73 | void setKey(const QKeySequence& key); |
74 | QKeySequence key() const; |
75 | |
76 | void setEnabled(bool enable); |
77 | bool isEnabled() const; |
78 | |
79 | void setContext(Qt::ShortcutContext context); |
80 | Qt::ShortcutContext context(); |
81 | |
82 | void setWhatsThis(const QString &text); |
83 | QString whatsThis() const; |
84 | |
85 | void setAutoRepeat(bool on); |
86 | bool autoRepeat() const; |
87 | |
88 | int id() const; |
89 | |
90 | inline QWidget *parentWidget() const |
91 | { return static_cast<QWidget *>(QObject::parent()); } |
92 | |
93 | Q_SIGNALS: |
94 | void activated(); |
95 | void activatedAmbiguously(); |
96 | |
97 | protected: |
98 | bool event(QEvent *e); |
99 | }; |
100 | |
101 | #endif // QT_NO_SHORTCUT |
102 | |
103 | QT_END_NAMESPACE |
104 | |
105 | QT_END_HEADER |
106 | |
107 | #endif // QSHORTCUT_H |
108 | |