void Gesture::unregister_handler( QObject* receiver_P, const char* slot_P ) { if( !handlers.contains( receiver_P )) return; handlers.remove( receiver_P ); disconnect( this, SIGNAL( handle_gesture( const QString&, WId )), receiver_P, slot_P ); if( handlers.count() == 0 ) update_grab(); }
void Gesture::register_handler( QObject* receiver_P, const char* slot_P ) { if( handlers.contains( receiver_P )) return; handlers[ receiver_P ] = true; connect( this, SIGNAL( handle_gesture( const QString&, WId )), receiver_P, slot_P ); if( handlers.count() == 1 ) update_grab(); }
void Gesture::set_exclude( Windowdef_list* windows_P ) { delete exclude; // check for count() > 0 - empty exclude list means no window is excluded, // but empty Windowdef_list matches everything if( windows_P != NULL && windows_P->count() > 0 ) exclude = windows_P->copy(); else exclude = NULL; update_grab(); }
void Gesture::unregister_handler( QObject* receiver_P, const char* slot_P ) { if( !handlers.contains( receiver_P )) return; handlers.remove( receiver_P ); disconnect( this, SIGNAL(handle_gesture(StrokePoints)), receiver_P, slot_P ); disconnect( receiver_P, SIGNAL(gotScore(ActionData*const,qreal)), this, SLOT(handleScore(ActionData*const,qreal)) ); if( handlers.count() == 0 ) update_grab(); }
void Gesture::register_handler( QObject* receiver_P, const char* slot_P ) { if( handlers.contains( receiver_P )) return; handlers[ receiver_P ] = true; // connect directly because we want to be sure that all triggers submitted // their scores back to this object before executing the best match we // could find. connect( this, SIGNAL(handle_gesture(StrokePoints)), receiver_P, slot_P, Qt::DirectConnection ); connect( receiver_P, SIGNAL(gotScore(ActionData*const,qreal)), this, SLOT(handleScore(ActionData*const,qreal)), Qt::DirectConnection ); if( handlers.count() == 1 ) update_grab(); }
void Gesture::active_window_changed( WId ) { update_grab(); }