23 class Dialpad; |
23 class Dialpad; |
24 class DialpadVoiceMailboxEventFilter; |
24 class DialpadVoiceMailboxEventFilter; |
25 class DialpadVideoMailboxEventFilter; |
25 class DialpadVideoMailboxEventFilter; |
26 class DialpadBluetoothEventFilter; |
26 class DialpadBluetoothEventFilter; |
27 class DialpadKeySequenceEventFilter; |
27 class DialpadKeySequenceEventFilter; |
|
28 class DialpadEmergencyCallEventFilter; |
28 class HbMainWindow; |
29 class HbMainWindow; |
29 |
30 |
30 #ifdef BUILD_DIALPADKEYHANDLER |
31 #ifdef BUILD_DIALPADKEYHANDLER |
31 #define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT |
32 #define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT |
32 #else |
33 #else |
33 #define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT |
34 #define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT |
34 #endif |
35 #endif |
|
36 |
35 /*! |
37 /*! |
36 DialpadKeyHandler |
38 DialpadKeyHandler |
37 Class provides key handling for dialpad component. |
39 Class provides key handling for dialpad component. |
38 |
40 |
39 @code |
41 @code |
40 Dialpad *dialpad = new Dialpad(); |
42 Dialpad *dialpad = new Dialpad(); |
41 DialpadKeyHandler *keyhandler = new DialpadKeyHandler(dialpad, this); |
43 DialpadKeyHandler *keyhandler = new DialpadKeyHandler(dialpad, this); |
42 @endcode |
44 @endcode |
43 |
|
44 */ |
45 */ |
45 class DIALPADKEYHANDLER_EXPORT DialpadKeyHandler : public QObject |
46 class DIALPADKEYHANDLER_EXPORT DialpadKeyHandler : public QObject |
46 { |
47 { |
47 Q_OBJECT |
48 Q_OBJECT |
48 |
49 |
49 public: |
50 public: |
50 explicit DialpadKeyHandler(Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent = 0); |
51 /*! Declares possible key event filters which can be used with the |
|
52 * dialpad. */ |
|
53 enum DialpadKeyEventFilter |
|
54 { |
|
55 /*! Enables calling to voice mailbox with a long '1' key press. */ |
|
56 VoiceMailbox = 0x0001, |
|
57 /*! Enables calling to video mailbox with a long '2' key press. */ |
|
58 VideoMailBox = 0x0002, |
|
59 /*! Enables switching bluetooth on/off with a long '*' key press. */ |
|
60 Bluetooth = 0x0004, |
|
61 /*! Enables handling of key sequences like *#06# for showing IMEI. */ |
|
62 KeySequence = 0x0008, |
|
63 /*! Forced handling for emergency call. */ |
|
64 EmergencyCall = 0x0010 |
|
65 }; |
|
66 Q_DECLARE_FLAGS(DialpadKeyEventFilters, DialpadKeyEventFilter) |
|
67 |
|
68 public: |
|
69 /*! \deprecated DialpadKeyHandler(Dialpad*, HbMainWindow&, QObject*) is |
|
70 * deprecated. |
|
71 * Please use |
|
72 * DialpadKeyHandler( |
|
73 * Dialpad*, |
|
74 * QFlags<DialpadKeyHandler::DialpadKeyEventFilter>, |
|
75 * QObject*) |
|
76 * instead. */ |
|
77 explicit DialpadKeyHandler( |
|
78 Dialpad *dialPad, |
|
79 HbMainWindow& mainWindow, |
|
80 QObject *parent = 0); |
|
81 |
|
82 explicit DialpadKeyHandler( |
|
83 Dialpad *dialPad, |
|
84 DialpadKeyHandler::DialpadKeyEventFilters filters, |
|
85 QObject *parent = 0); |
51 virtual ~DialpadKeyHandler(); |
86 virtual ~DialpadKeyHandler(); |
52 |
87 |
53 private: |
88 private: |
54 HbMainWindow& mMainWindow; |
89 HbMainWindow& mMainWindow; |
55 QScopedPointer<DialpadVoiceMailboxEventFilter> mVmbxFilter; |
90 QScopedPointer<DialpadVoiceMailboxEventFilter> mVmbxFilter; |
56 QScopedPointer<DialpadVideoMailboxEventFilter> mVideoVmbxFilter; |
91 QScopedPointer<DialpadVideoMailboxEventFilter> mVideoVmbxFilter; |
57 QScopedPointer<DialpadBluetoothEventFilter> mBtFilter; |
92 QScopedPointer<DialpadBluetoothEventFilter> mBtFilter; |
58 QScopedPointer<DialpadKeySequenceEventFilter> mKeySequenceFilter; |
93 QScopedPointer<DialpadKeySequenceEventFilter> mKeySequenceFilter; |
59 bool mIsVideoMailboxSupported; |
94 QScopedPointer<DialpadEmergencyCallEventFilter> mEmergencyCallFilter; |
60 }; |
95 }; |
61 |
96 |
62 #endif // DIALPADKEYHANDLER_H |
97 #endif // DIALPADKEYHANDLER_H |