bool NativePlayer::PrevTrack() { BYTE track = GetTrack() - 1; if ( track < 1 ) track = GetNumberOfTracks(); if ( GetMode() == MCI_MODE_PLAY ) return PlayTrack( track ); else return SeekTrack( track ); }
bool NativePlayer::Stop() { if ( !m_wDeviceID ) return true; MCI_GENERIC_PARMS mciParms; mciParms.dwCallback = m_callback; SendCommand( m_wDeviceID, MCI_STOP, MCI_NOTIFY, (DWORD)(LPVOID)&mciParms ); return SeekTrack( GetTrack() ); }
bool NativePlayer::NextTrack() { BYTE track = GetTrack() + 1; BYTE total = GetNumberOfTracks(); if ( track > total ) track = 1; if ( GetMode() == MCI_MODE_PLAY ) return PlayTrack( track ); else return SeekTrack( track ); }
void PlaylistView::keyPressEvent(QKeyEvent* event) { if (!model() || state() == QAbstractItemView::EditingState) { QTreeView::keyPressEvent(event); } else if (event == QKeySequence::Delete) { RemoveSelected(); event->accept(); #ifdef Q_OS_DARWIN } else if (event->key() == Qt::Key_Backspace) { RemoveSelected(); event->accept(); #endif } else if (event == QKeySequence::Copy) { CopyCurrentSongToClipboard(); } else if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) { if (currentIndex().isValid()) emit PlayItem(currentIndex()); event->accept(); } else if (event->modifiers() != Qt::ControlModifier // Ctrl+Space selects // the item && event->key() == Qt::Key_Space) { emit PlayPause(); event->accept(); } else if (event->key() == Qt::Key_Left) { emit SeekTrack(-1); event->accept(); } else if (event->key() == Qt::Key_Right) { emit SeekTrack(1); event->accept(); } else if (event->modifiers() == Qt::NoModifier // No modifier keys currently pressed... // ... and key pressed is something related to text && ((event->key() >= Qt::Key_A && event->key() <= Qt::Key_Z) || event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Escape)) { emit FocusOnFilterSignal(event); event->accept(); } else { QTreeView::keyPressEvent(event); } }