17 |
17 |
18 #include <hbmainwindow.h> |
18 #include <hbmainwindow.h> |
19 #ifdef Q_OS_SYMBIAN |
19 #ifdef Q_OS_SYMBIAN |
20 #include <featmgr.h> |
20 #include <featmgr.h> |
21 #endif // Q_OS_SYMBIAN |
21 #endif // Q_OS_SYMBIAN |
|
22 #include "dialpad.h" |
22 #include "dialpadkeyhandler.h" |
23 #include "dialpadkeyhandler.h" |
23 #include "dialpadvoicemailboxeventfilter.h" |
24 #include "dialpadvoicemailboxeventfilter.h" |
24 #include "dialpadvideomailboxeventfilter.h" |
25 #include "dialpadvideomailboxeventfilter.h" |
25 #include "dialpadbluetootheventfilter.h" |
26 #include "dialpadbluetootheventfilter.h" |
26 #include "dialpadkeysequenceeventfilter.h" |
27 #include "dialpadkeysequenceeventfilter.h" |
|
28 #include "dialpademergencycalleventfilter.h" |
27 #include "qtphonesrvlog.h" |
29 #include "qtphonesrvlog.h" |
28 |
30 |
29 DialpadKeyHandler::DialpadKeyHandler( |
31 DialpadKeyHandler::DialpadKeyHandler( |
30 Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent) |
32 Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent) |
31 : |
33 : |
33 mMainWindow(mainWindow), |
35 mMainWindow(mainWindow), |
34 mVmbxFilter(0), |
36 mVmbxFilter(0), |
35 mVideoVmbxFilter(0), |
37 mVideoVmbxFilter(0), |
36 mBtFilter(0), |
38 mBtFilter(0), |
37 mKeySequenceFilter(0), |
39 mKeySequenceFilter(0), |
38 mIsVideoMailboxSupported(false) |
40 mEmergencyCallFilter(0) |
39 { |
41 { |
40 PHONE_TRACE; |
42 PHONE_TRACE; |
41 |
43 |
42 // Variations |
44 // Variations |
|
45 bool isVideoMailboxSupported = false; |
43 #ifdef Q_OS_SYMBIAN |
46 #ifdef Q_OS_SYMBIAN |
44 mIsVideoMailboxSupported = FeatureManager::FeatureSupported(KFeatureIdCsVideoTelephony); |
47 isVideoMailboxSupported = FeatureManager::FeatureSupported(KFeatureIdCsVideoTelephony); |
45 #endif // Q_OS_SYMBIAN |
48 #endif // Q_OS_SYMBIAN |
46 |
49 |
47 mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad)); |
50 mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad)); |
48 if(mIsVideoMailboxSupported) { |
51 if (isVideoMailboxSupported) { |
49 mVideoVmbxFilter.reset(new DialpadVideoMailboxEventFilter(dialPad)); |
52 mVideoVmbxFilter.reset(new DialpadVideoMailboxEventFilter(dialPad)); |
50 } |
53 } |
51 mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad)); |
54 mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad)); |
52 mKeySequenceFilter.reset(new DialpadKeySequenceEventFilter(dialPad)); |
55 mKeySequenceFilter.reset(new DialpadKeySequenceEventFilter(dialPad)); |
53 |
56 |
54 // Stack different event filters |
57 // Stack different event filters |
55 mMainWindow.installEventFilter(mVmbxFilter.data()); |
58 mMainWindow.installEventFilter(mVmbxFilter.data()); |
56 if(mIsVideoMailboxSupported) { |
59 if (isVideoMailboxSupported) { |
57 mMainWindow.installEventFilter(mVideoVmbxFilter.data()); |
60 mMainWindow.installEventFilter(mVideoVmbxFilter.data()); |
58 } |
61 } |
59 mMainWindow.installEventFilter(mBtFilter.data()); |
62 mMainWindow.installEventFilter(mBtFilter.data()); |
60 mMainWindow.installEventFilter(mKeySequenceFilter.data()); |
63 mMainWindow.installEventFilter(mKeySequenceFilter.data()); |
61 } |
64 } |
62 |
65 |
|
66 |
|
67 DialpadKeyHandler::DialpadKeyHandler( |
|
68 Dialpad *dialPad, |
|
69 DialpadKeyHandler::DialpadKeyEventFilters filters, |
|
70 QObject *parent) |
|
71 : |
|
72 QObject(parent), |
|
73 mMainWindow(*(dialPad->mainWindow())), |
|
74 mVmbxFilter(0), |
|
75 mVideoVmbxFilter(0), |
|
76 mBtFilter(0), |
|
77 mKeySequenceFilter(0), |
|
78 mEmergencyCallFilter(0) |
|
79 { |
|
80 PHONE_TRACE; |
|
81 |
|
82 if (filters.testFlag(VoiceMailbox)) { |
|
83 mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad)); |
|
84 mMainWindow.installEventFilter(mVmbxFilter.data()); |
|
85 } |
|
86 |
|
87 if (filters.testFlag(VideoMailBox)) { |
|
88 mVideoVmbxFilter.reset( |
|
89 new DialpadVideoMailboxEventFilter(dialPad)); |
|
90 mMainWindow.installEventFilter(mVideoVmbxFilter.data()); |
|
91 } |
|
92 |
|
93 if (filters.testFlag(Bluetooth)) { |
|
94 mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad)); |
|
95 mMainWindow.installEventFilter(mBtFilter.data()); |
|
96 } |
|
97 |
|
98 if (filters.testFlag(KeySequence)) { |
|
99 mKeySequenceFilter.reset( |
|
100 new DialpadKeySequenceEventFilter(dialPad)); |
|
101 mMainWindow.installEventFilter(mKeySequenceFilter.data()); |
|
102 } |
|
103 |
|
104 if (filters.testFlag(EmergencyCall)) { |
|
105 mEmergencyCallFilter.reset( |
|
106 new DialpadEmergencyCallEventFilter(dialPad)); |
|
107 mMainWindow.installEventFilter(mEmergencyCallFilter.data()); |
|
108 } |
|
109 } |
|
110 |
|
111 |
63 DialpadKeyHandler::~DialpadKeyHandler() |
112 DialpadKeyHandler::~DialpadKeyHandler() |
64 { |
113 { |
65 } |
114 } |