/** * event handling * events: show, hide, start timer for hiding */ void FullscreenControllerWidget::customEvent( QEvent *event ) { bool b_fs; switch( (int)event->type() ) { /* This is used when the 'i' hotkey is used, to force quick toggle */ case IMEvent::FullscreenControlToggle: vlc_mutex_lock( &lock ); b_fs = b_fullscreen; vlc_mutex_unlock( &lock ); if( b_fs ) { if( isHidden() ) { p_hideTimer->stop(); showFSC(); } else hideFSC(); } break; /* Event called to Show the FSC on mouseChanged() */ case IMEvent::FullscreenControlShow: vlc_mutex_lock( &lock ); b_fs = b_fullscreen; vlc_mutex_unlock( &lock ); if( b_fs ) showFSC(); break; /* Start the timer to hide later, called usually with above case */ case IMEvent::FullscreenControlPlanHide: if( !b_mouse_over ) // Only if the mouse is not over FSC planHideFSC(); break; /* Hide */ case IMEvent::FullscreenControlHide: hideFSC(); break; default: break; } }
int FullscreenControllerWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = AbstractController::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: keyPressed((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break; case 1: setVoutList((*reinterpret_cast< vout_thread_t**(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 2: showFSC(); break; case 3: planHideFSC(); break; case 4: hideFSC(); break; case 5: slowHideFSC(); break; case 6: centerFSC((*reinterpret_cast< int(*)>(_a[1]))); break; default: ; } _id -= 7; } return _id; }