177{
179 switch (event->type()) {
180 case QEvent::FocusIn: {
181 QFocusEvent *fevent = static_cast<QFocusEvent*>(event);
183
184
185
187
190 }
191
194
196
197 object->removeEventFilter(this);
198 object->installEventFilter(this);
199
202
203 const QPoint globalPos = QCursor::pos();
204 const QPoint localPos =
d->
canvas->canvasWidget()->mapFromGlobal(globalPos);
205 QWidget *canvasWindow =
d->
canvas->canvasWidget()->window();
206 const QPoint windowsPos = canvasWindow ? canvasWindow->mapFromGlobal(globalPos) : localPos;
207
208 QEnterEvent event(localPos, windowsPos, globalPos);
210 break;
211 }
212 case QEvent::FocusOut: {
214 break;
215 }
216 case QEvent::Enter: {
217 break;
218 }
219 case QEvent::Leave: {
221 break;
222 }
223 case QEvent::Wheel: {
224 QWidget *widget = static_cast<QWidget*>(object);
225 widget->setFocus();
226 break;
227 }
228 case QEvent::MouseButtonPress:
229 case QEvent::MouseButtonRelease:
230 case QEvent::TabletPress:
231 case QEvent::TabletRelease:
233
236 return true;
237 }
238 break;
239 case QEvent::MouseButtonDblClick:
242 return true;
243 }
244 break;
245 case QEvent::MouseMove:
246 case QEvent::TabletMove: {
247 QWidget *widget = static_cast<QWidget*>(object);
248
249 if (!widget->hasFocus()) {
250 const int delay =
253
256 }
257 }
258 break;
259 default:
260 break;
261 }
262 }
263 return QObject::eventFilter(object, event);
264}
void setDelayThreshold(int delay, int cancelDelay=-1)
#define KIS_SAFE_ASSERT_RECOVER_BREAK(cond)