void MediaPlayer::keyPressEvent( QKeyEvent* e ) { switch( e->key() ) { case Qt::Key_Back: if( !m_closeonback ) { if( isPlayerVisible() ) { setPlayerVisible( false ); e->accept(); } else if( m_mediabrowser->hasBack() ) { m_mediabrowser->goBack(); e->accept(); } else if( m_playercontrol->state() != PlayerControl::Stopped ) { // Hide if player active setWindowState( windowState() | Qt::WindowMinimized ); e->accept(); } else { m_closeonback = true; e->accept(); } } if( m_closeonback ) { m_acceptclose = true; m_playercontrol->close(); hide(); } break; case KEY_BACK_HOLD: if( isPlayerVisible() ) { setPlayerVisible( false ); e->accept(); } // Return to main menu while( m_mediabrowser->hasBack() ) { m_mediabrowser->goBack(); e->accept(); } break; case Qt::Key_Hangup: m_playercontrol->setState(PlayerControl::Stopped); m_acceptclose = true; // can't/shouldn't accept on key_hangup, or it'll stop processing it correctly for // the rest of the applications, so just fall through to default default: // Ignore QWidget::keyPressEvent(e); break; } }
void MetalineEnemy::updateActionState() { if (isPlayerVisible()) // CHANGE LATER { this->actionState = PLAYER_DETECTED_ACTION_STATE; } else { this->actionState = DEFAULT_ACTION_STATE; } }