243{
244 switch(event->type()) {
245 case QEvent::ShortcutOverride:{
246
247
248
249
250
251
252
253
254
255 QKeyEvent *key = static_cast<QKeyEvent*>(event);
258 }
259 for(int i = 0; i < numOfShortcutOverriders; ++i) {
260 if (
d->
decision != ShortcutOverriderBase::DecisionOnShortcutOverride::askNext) {
261 break;
262 }
264 d->
decision = allShortcutOverriders[i]->handleEvent(receiver, key);
265 }
266 }
267
268
269 if (qobject_cast<KisMainWindow*>(receiver)!=nullptr||
270 receiver->inherits(QDockWidget::staticMetaObject.className())) {
271 for (int i = 0; i < numOfShortcutOverriders; ++i) {
272 if (
d->
decision != ShortcutOverriderBase::DecisionOnShortcutOverride::askNext) {
273 break;
274 }
276 d->
decision = allShortcutOverriders[i]->finishedPhysicalKeyPressHandling();
277 }
278 }
279
281 }
282 bool retval = false;
284 case ShortcutOverriderBase::DecisionOnShortcutOverride::askNext:
285 event->ignore();
286 retval = false;
287 break;
288 case ShortcutOverriderBase::DecisionOnShortcutOverride::dontOverrideShortcut:
289 event->ignore();
290 retval = true;
291 break;
292 case ShortcutOverriderBase::DecisionOnShortcutOverride::overrideShortcut:
293 event->accept();
294
295
297 retval = true;
298 break;
299 }
300
301 return retval || QObject::eventFilter(receiver, event);
302
303 }break;
304
305
306 default:
307 break;
308 }
309
310
311
312
313
314 return QObject::eventFilter(receiver, event);
315}