338{
340 switch (event->type()) {
341 case QEvent::FocusIn: {
342 QFocusEvent *fevent = static_cast<QFocusEvent*>(event);
344
345
346
348
351 }
352
355
357
358 object->removeEventFilter(this);
359 object->installEventFilter(this);
360
363
364 const QPoint globalPos = QCursor::pos();
365 const QPoint localPos =
d->
canvas->canvasWidget()->mapFromGlobal(globalPos);
366 QWidget *canvasWindow =
d->
canvas->canvasWidget()->window();
367 const QPoint windowsPos = canvasWindow ? canvasWindow->mapFromGlobal(globalPos) : localPos;
368
369 QEnterEvent event(localPos, windowsPos, globalPos);
371 break;
372 }
373 case QEvent::FocusOut: {
375 break;
376 }
377 case QEvent::Enter: {
378 break;
379 }
380 case QEvent::Leave: {
382 break;
383 }
384 case QEvent::Wheel: {
385 QWidget *widget = static_cast<QWidget*>(object);
386 widget->setFocus();
387 break;
388 }
389 case QEvent::MouseButtonPress:
390 case QEvent::MouseButtonRelease:
391 case QEvent::TabletPress:
392 case QEvent::TabletRelease:
394
397 return true;
398 }
399 break;
400 case QEvent::MouseButtonDblClick:
403 return true;
404 }
405 break;
406 case QEvent::MouseMove:
407 case QEvent::TabletMove: {
408 QWidget *widget = static_cast<QWidget*>(object);
409
410 if (!widget->hasFocus()) {
411 const int delay =
414
417 }
418 }
419 break;
420 default:
421 break;
422 }
423 }
424 return QObject::eventFilter(object, event);
425}
void setDelayThreshold(int delay, int cancelDelay=-1)
#define KIS_SAFE_ASSERT_RECOVER_BREAK(cond)