8
* Copyright (C) 2006-2007 Oracle Corporation
8
* Copyright (C) 2006-2011 Oracle Corporation
10
10
* This file is part of VirtualBox Open Source Edition (OSE), as
11
11
* available from http://www.virtualbox.org. This file is free software;
19
19
#ifndef ___QIHotKeyEdit_h___
20
20
#define ___QIHotKeyEdit_h___
29
/* Extra virtual keys returned by QIHotKeyEdit::virtualKey() */
30
# define VK_LSHIFT VK_USERFIRST + 0
31
# define VK_LCTRL VK_USERFIRST + 1
32
# define VK_LWIN VK_USERFIRST + 2
33
# define VK_RWIN VK_USERFIRST + 3
34
# define VK_WINMENU VK_USERFIRST + 4
35
# define VK_FORWARD VK_USERFIRST + 5
36
# define VK_BACKWARD VK_USERFIRST + 6
39
29
class QIHotKeyEdit : public QLabel
45
QIHotKeyEdit (QWidget *aParent);
35
QIHotKeyEdit(QWidget *pParent);
46
36
virtual ~QIHotKeyEdit();
48
void setKey (int aKeyVal);
49
int key() const { return mKeyVal; }
38
void setKey(int iKeyVal);
39
int key() const { return m_iKeyVal; }
51
QString symbolicName() const { return mSymbName; }
41
QString symbolicName() const { return m_strSymbName; }
53
43
QSize sizeHint() const;
54
44
QSize minimumSizeHint() const;
57
static int virtualKey (QMSG *aMsg);
60
#if defined (Q_WS_PM) || defined (Q_WS_X11)
46
static QString keyName(int iKeyVal);
47
static bool isValidKey(int iKeyVal);
61
49
static void retranslateUi();
63
static QString keyName (int aKeyVal);
64
static bool isValidKey (int aKeyVal);
72
58
#if defined (Q_WS_WIN32)
73
bool winEvent (MSG *aMsg, long *aResult);
74
#elif defined (Q_WS_PM)
75
bool pmEvent (QMSG *aMsg);
59
bool winEvent(MSG *pMsg, long *pResult);
76
60
#elif defined (Q_WS_X11)
77
bool x11Event (XEvent *event);
61
bool x11Event(XEvent *pEvent);
78
62
#elif defined (Q_WS_MAC)
79
static bool darwinEventHandlerProc (const void *pvCocoaEvent, const void *pvCarbonEvent, void *pvUser);
80
bool darwinKeyboardEvent (const void *pvCocoaEvent, EventRef inEvent);
63
static bool darwinEventHandlerProc(const void *pvCocoaEvent, const void *pvCarbonEvent, void *pvUser);
64
bool darwinKeyboardEvent(const void *pvCocoaEvent, EventRef inEvent);
83
void focusInEvent (QFocusEvent *);
84
void focusOutEvent (QFocusEvent *);
86
void paintEvent (QPaintEvent *);
67
void focusInEvent(QFocusEvent *pEvent);
68
void focusOutEvent(QFocusEvent *pEvent);
69
void paintEvent(QPaintEvent *pEvent);
76
QString m_strSymbName;
96
static QMap <int, QString> sKeyNames;
97
#elif defined (Q_WS_X11)
98
static QMap <QString, QString> sKeyNames;
79
static QMap<QString, QString> s_keyNames;
102
/** The current modifier key mask. Used to figure out which modifier
103
* key was pressed when we get a kEventRawKeyModifiersChanged event. */
104
uint32_t mDarwinKeyModifiers;
83
/* The current modifier key mask. Used to figure out which modifier
84
* key was pressed when we get a kEventRawKeyModifiersChanged event. */
85
uint32_t m_uDarwinKeyModifiers;
107
static const char *kNoneSymbName;
88
static const char *m_spNoneSymbName;
110
91
#endif // !___QIHotKeyEdit_h___