MCPcopy Index your code
hub / github.com/Audio4Linux/JDSP4Linux / eventFilter

Method eventFilter

3rdparty/WAF/Animation/SideSlide/SideSlideAnimator.cpp:284–334  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

282}
283
284bool SideSlideAnimator::eventFilter(QObject* _object, QEvent* _event)
285{
286 if (_object == widgetForSlide()->parentWidget()
287 && _event->type() == QEvent::Resize) {
288
289 QWidget* widgetForSlideParent = widgetForSlide()->parentWidget();
290 switch (m_side) {
291 case WAF::RightSide: {
292 widgetForSlide()->move(widgetForSlideParent->width() - widgetForSlide()->width(), 0);
293 //
294 // проваливаемся, для корректировки высоты
295 //
296 [[fallthrough]];
297 }
298 case WAF::LeftSide: {
299 widgetForSlide()->resize(widgetForSlide()->width(), widgetForSlideParent->height());
300 break;
301 }
302
303 case WAF::BottomSide: {
304 widgetForSlide()->move(0, widgetForSlideParent->height() - widgetForSlide()->height());
305 //
306 // Проваливаемся, для корректировки ширины
307 //
308 [[fallthrough]];
309 }
310 case WAF::TopSide: {
311 widgetForSlide()->resize(widgetForSlideParent->width(), widgetForSlide()->height());
312 break;
313 }
314 }
315
316 m_decorator->setSlidePos(widgetForSlide()->geometry().topLeft());
317
318 //
319 // Сохраним картинку изменённого выкатываемого виджета
320 //
321 m_decorator->grabSlideWidget(widgetForSlide());
322
323#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
324 //
325 // В андройде нужно перерисовать фоновое изображение
326 //
327 m_decorator->hide();
328 m_decorator->grabParent();
329 m_decorator->show();
330#endif
331 }
332
333 return QObject::eventFilter(_object, _event);
334}
335
336QWidget* SideSlideAnimator::widgetForSlide() const
337{

Callers

nothing calls this directly

Calls 7

typeMethod · 0.80
moveMethod · 0.80
resizeMethod · 0.80
setSlidePosMethod · 0.80
grabSlideWidgetMethod · 0.80
hideMethod · 0.80
grabParentMethod · 0.45

Tested by

no test coverage detected