コード例 #1
0
ファイル: NativePlayer.cpp プロジェクト: rprouse/CDLite.NET
bool NativePlayer::PrevTrack()
{
    BYTE track = GetTrack() - 1;
    if ( track < 1 ) track = GetNumberOfTracks();
    if ( GetMode() == MCI_MODE_PLAY )
        return PlayTrack( track );
    else
        return SeekTrack( track );
}
コード例 #2
0
ファイル: NativePlayer.cpp プロジェクト: rprouse/CDLite.NET
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() );
}
コード例 #3
0
ファイル: NativePlayer.cpp プロジェクト: rprouse/CDLite.NET
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 );
}
コード例 #4
0
ファイル: playlistview.cpp プロジェクト: Gu1/Clementine
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);
  }
}