53 qDeleteAll(mRequestsList->begin(), mRequestsList->end()); |
53 qDeleteAll(mRequestsList->begin(), mRequestsList->end()); |
54 mRequestsList->clear(); |
54 mRequestsList->clear(); |
55 } |
55 } |
56 delete mRequestsList; |
56 delete mRequestsList; |
57 delete mMapper; |
57 delete mMapper; |
58 |
58 } |
59 } |
59 |
60 |
60 bool KeyCapturePrivate::captureKey(Qt::Key aKey, |
61 bool KeyCapturePrivate::captureKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask, |
61 Qt::KeyboardModifiers aModifiersMask, |
62 Qt::KeyboardModifiers aModifier) |
62 Qt::KeyboardModifiers aModifier) |
63 { |
63 { |
64 return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeNormal); |
64 return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, |
65 } |
65 CaptureRequest::CaptureRequestTypeNormal); |
66 |
66 } |
67 bool KeyCapturePrivate::captureLongKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask, |
67 |
68 Qt::KeyboardModifiers aModifier, XqKeyCapture::LongFlags aLongType) |
68 bool KeyCapturePrivate::captureKey(TUint aKey, |
69 { |
69 Qt::KeyboardModifiers aModifiersMask, |
70 return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeLong, aLongType); |
70 Qt::KeyboardModifiers aModifier) |
71 } |
71 { |
72 |
72 return doCapture(aKey, aModifiersMask, aModifier, |
73 bool KeyCapturePrivate::captureKeyUpAndDowns(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask, |
73 CaptureRequest::CaptureRequestTypeNormal); |
74 Qt::KeyboardModifiers aModifier) |
74 } |
75 { |
75 |
76 return doCapture(mMapper->mapQtToS60ScanCodes(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeUpAndDown); |
76 bool KeyCapturePrivate::captureLongKey(Qt::Key aKey, |
77 } |
77 Qt::KeyboardModifiers aModifiersMask, |
78 |
78 Qt::KeyboardModifiers aModifier, |
79 bool KeyCapturePrivate::doCapture(TUint aKey, Qt::KeyboardModifiers aModifiersMask, |
79 XqKeyCapture::LongFlags aLongType) |
80 Qt::KeyboardModifiers aModifier, CaptureRequest::CaptureRequestType aType, |
80 { |
81 XqKeyCapture::LongFlags aLongType) |
81 return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, |
|
82 CaptureRequest::CaptureRequestTypeLong, aLongType); |
|
83 } |
|
84 |
|
85 bool KeyCapturePrivate::captureLongKey(TUint aKey, |
|
86 Qt::KeyboardModifiers aModifiersMask, |
|
87 Qt::KeyboardModifiers aModifier, |
|
88 XqKeyCapture::LongFlags aLongType) |
|
89 { |
|
90 return doCapture(aKey, aModifiersMask, aModifier, |
|
91 CaptureRequest::CaptureRequestTypeLong, aLongType); |
|
92 } |
|
93 |
|
94 bool KeyCapturePrivate::captureKeyUpAndDowns(Qt::Key aKey, |
|
95 Qt::KeyboardModifiers aModifiersMask, |
|
96 Qt::KeyboardModifiers aModifier) |
|
97 { |
|
98 return doCapture(mMapper->mapQtToS60ScanCodes(aKey), aModifiersMask, |
|
99 aModifier, CaptureRequest::CaptureRequestTypeUpAndDown); |
|
100 } |
|
101 |
|
102 bool KeyCapturePrivate::captureKeyUpAndDowns(TUint aKey, |
|
103 Qt::KeyboardModifiers aModifiersMask, |
|
104 Qt::KeyboardModifiers aModifier) |
|
105 { |
|
106 return doCapture(aKey, aModifiersMask, |
|
107 aModifier, CaptureRequest::CaptureRequestTypeUpAndDown); |
|
108 } |
|
109 |
|
110 bool KeyCapturePrivate::doCapture(TUint aKey, |
|
111 Qt::KeyboardModifiers aModifiersMask, |
|
112 Qt::KeyboardModifiers aModifier, |
|
113 CaptureRequest::CaptureRequestType aType, |
|
114 XqKeyCapture::LongFlags aLongType) |
82 { |
115 { |
83 int err = mLastError; |
116 int err = mLastError; |
84 CaptureRequest *req = new CaptureRequest(aKey, aModifiersMask, aModifier, aType, aLongType, mWindowGroup); |
117 CaptureRequest *req = new CaptureRequest(aKey, aModifiersMask, aModifier, |
|
118 aType, aLongType, mWindowGroup); |
85 mLastError = req->request(); |
119 mLastError = req->request(); |
86 mRequestsList->append(req); |
120 mRequestsList->append(req); |
87 if (err != mLastError) |
121 if (err != mLastError) |
88 regenerateError(); |
122 regenerateError(); |
89 |
123 |
90 return errorId() == KErrNone; |
124 return errorId() == KErrNone; |
91 } |
125 } |
92 |
126 |
93 bool KeyCapturePrivate::cancelCaptureKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask, |
127 bool KeyCapturePrivate::cancelCaptureKey(Qt::Key aKey, |
94 Qt::KeyboardModifiers aModifier) |
128 Qt::KeyboardModifiers aModifiersMask, |
95 { |
129 Qt::KeyboardModifiers aModifier) |
96 return doCancelCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, |
130 { |
97 CaptureRequest::CaptureRequestTypeNormal); |
131 return doCancelCapture(mMapper->mapQtToS60Key(aKey), |
98 } |
132 aModifiersMask, aModifier, |
99 |
133 CaptureRequest::CaptureRequestTypeNormal); |
100 bool KeyCapturePrivate::cancelCaptureLongKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask, |
134 } |
101 Qt::KeyboardModifiers aModifier, XqKeyCapture::LongFlags aLongType) |
135 |
102 { |
136 bool KeyCapturePrivate::cancelCaptureKey(TUint aKey, |
103 return doCancelCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeLong, aLongType); |
137 Qt::KeyboardModifiers aModifiersMask, |
|
138 Qt::KeyboardModifiers aModifier) |
|
139 { |
|
140 return doCancelCapture(aKey, aModifiersMask, aModifier, |
|
141 CaptureRequest::CaptureRequestTypeNormal); |
|
142 } |
|
143 |
|
144 bool KeyCapturePrivate::cancelCaptureLongKey(Qt::Key aKey, |
|
145 Qt::KeyboardModifiers aModifiersMask, |
|
146 Qt::KeyboardModifiers aModifier, |
|
147 XqKeyCapture::LongFlags aLongType) |
|
148 { |
|
149 return doCancelCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, |
|
150 aModifier, CaptureRequest::CaptureRequestTypeLong, aLongType); |
|
151 } |
|
152 |
|
153 bool KeyCapturePrivate::cancelCaptureLongKey(TUint aKey, |
|
154 Qt::KeyboardModifiers aModifiersMask, |
|
155 Qt::KeyboardModifiers aModifier, |
|
156 XqKeyCapture::LongFlags aLongType) |
|
157 { |
|
158 return doCancelCapture(aKey, aModifiersMask, aModifier, |
|
159 CaptureRequest::CaptureRequestTypeLong, aLongType); |
104 } |
160 } |
105 |
161 |
106 bool KeyCapturePrivate::cancelCaptureKeyUpAndDowns(Qt::Key aKey, |
162 bool KeyCapturePrivate::cancelCaptureKeyUpAndDowns(Qt::Key aKey, |
107 Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier) |
163 Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier) |
108 { |
164 { |
109 return doCancelCapture(mMapper->mapQtToS60ScanCodes(aKey), aModifiersMask, aModifier, |
165 return doCancelCapture(mMapper->mapQtToS60ScanCodes(aKey), |
110 CaptureRequest::CaptureRequestTypeUpAndDown); |
166 aModifiersMask, aModifier, |
111 } |
167 CaptureRequest::CaptureRequestTypeUpAndDown); |
112 |
168 } |
113 bool KeyCapturePrivate::doCancelCapture(TUint aKey, Qt::KeyboardModifiers aModifiersMask, |
169 |
114 Qt::KeyboardModifiers aModifier, CaptureRequest::CaptureRequestType aType, |
170 bool KeyCapturePrivate::cancelCaptureKeyUpAndDowns(TUint aKey, |
115 XqKeyCapture::LongFlags aLongType) |
171 Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier) |
|
172 { |
|
173 return doCancelCapture(aKey, aModifiersMask, aModifier, |
|
174 CaptureRequest::CaptureRequestTypeUpAndDown); |
|
175 } |
|
176 |
|
177 bool KeyCapturePrivate::doCancelCapture(TUint aKey, |
|
178 Qt::KeyboardModifiers aModifiersMask, |
|
179 Qt::KeyboardModifiers aModifier, |
|
180 CaptureRequest::CaptureRequestType aType, |
|
181 XqKeyCapture::LongFlags aLongType) |
116 { |
182 { |
117 int err = mLastError; |
183 int err = mLastError; |
118 |
184 |
119 for (int i(0), size(mRequestsList->count()); i < size; i++) { |
185 for (int i(0), size(mRequestsList->count()); i < size; i++) { |
120 CaptureRequest *r = mRequestsList->at(i); |
186 CaptureRequest *r = mRequestsList->at(i); |
121 if (r && r->matches(aKey, aModifiersMask, aModifier, aType, aLongType)) { |
187 if (r && r->matches(aKey, aModifiersMask, aModifier, aType, |
|
188 aLongType)) { |
122 mLastError = r->cancel(); |
189 mLastError = r->cancel(); |
123 mRequestsList->removeAt(i); |
190 mRequestsList->removeAt(i); |
124 delete r; |
191 delete r; |
125 r = 0; |
192 r = 0; |
126 } |
193 } |