1 | #ifndef KGLOBALSHORTCUTINFO_H |
2 | #define KGLOBALSHORTCUTINFO_H |
3 | /* Copyright (C) 2008 Michael Jansen <kde@michael-jansen.biz> |
4 | |
5 | This library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Library General Public |
7 | License as published by the Free Software Foundation; either |
8 | version 2 of the License, or (at your option) any later version. |
9 | |
10 | This library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Library General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU Library General Public License |
16 | along with this library; see the file COPYING.LIB. If not, write to |
17 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 | Boston, MA 02110-1301, USA. |
19 | */ |
20 | |
21 | #include <kdeui_export.h> |
22 | |
23 | #include <QtCore/QList> |
24 | #include <QtCore/QObject> |
25 | #include <QtGui/QKeySequence> |
26 | #include <QtDBus/QDBusArgument> |
27 | |
28 | |
29 | class KGlobalShortcutInfoPrivate; |
30 | |
31 | |
32 | /** |
33 | * @author Michael Jansen <kde@michael-jansen.biz> |
34 | */ |
35 | class KDEUI_EXPORT KGlobalShortcutInfo : public QObject |
36 | { |
37 | Q_OBJECT |
38 | |
39 | Q_CLASSINFO("D-Bus Interface" , "org.kde.kglobalaccel.KShortcutInfo" ) |
40 | |
41 | Q_SCRIPTABLE Q_PROPERTY(QString uniqueName READ uniqueName) |
42 | Q_SCRIPTABLE Q_PROPERTY(QString friendlyName READ friendlyName) |
43 | |
44 | Q_SCRIPTABLE Q_PROPERTY(QString componentUniqueName READ componentUniqueName) |
45 | Q_SCRIPTABLE Q_PROPERTY(QString componentFriendlyName READ componentFriendlyName) |
46 | |
47 | Q_SCRIPTABLE Q_PROPERTY(QString contextUniqueName READ contextUniqueName) |
48 | Q_SCRIPTABLE Q_PROPERTY(QString contextFriendlyName READ contextFriendlyName) |
49 | |
50 | Q_SCRIPTABLE Q_PROPERTY(QList<QKeySequence> keys READ keys) |
51 | Q_SCRIPTABLE Q_PROPERTY(QList<QKeySequence> defaultKeys READ keys) |
52 | |
53 | public: |
54 | |
55 | KGlobalShortcutInfo(); |
56 | |
57 | KGlobalShortcutInfo(const KGlobalShortcutInfo &rhs); |
58 | |
59 | ~KGlobalShortcutInfo(); |
60 | |
61 | KGlobalShortcutInfo& operator= (const KGlobalShortcutInfo& rhs); |
62 | |
63 | QString contextFriendlyName() const; |
64 | |
65 | QString contextUniqueName() const; |
66 | |
67 | QString componentFriendlyName() const; |
68 | |
69 | QString componentUniqueName() const; |
70 | |
71 | QList<QKeySequence> defaultKeys() const; |
72 | |
73 | QString friendlyName() const; |
74 | |
75 | QList<QKeySequence> keys() const; |
76 | |
77 | QString uniqueName() const; |
78 | |
79 | private: |
80 | |
81 | friend class GlobalShortcut; |
82 | |
83 | friend KDEUI_EXPORT const QDBusArgument &operator>> ( |
84 | const QDBusArgument &argument, |
85 | KGlobalShortcutInfo &shortcut); |
86 | |
87 | //! Implementation details |
88 | KGlobalShortcutInfoPrivate *d; |
89 | }; |
90 | |
91 | Q_DECLARE_METATYPE(KGlobalShortcutInfo) |
92 | Q_DECLARE_METATYPE(QList<KGlobalShortcutInfo>) |
93 | |
94 | #endif /* #ifndef KGLOBALSHORTCUTINFO_H */ |
95 | |