Play/Pause when pressing space (on playlistview). Fixes issue 244

This commit is contained in:
Arnaud Bienner 2011-02-23 23:59:12 +00:00
parent 9c0094b9a6
commit 57ac8c441a
3 changed files with 16 additions and 9 deletions

View File

@ -435,20 +435,25 @@ void PlaylistView::keyPressEvent(QKeyEvent* event) {
RemoveSelected();
event->accept();
} else if (event->key() == Qt::Key_Enter ||
event->key() == Qt::Key_Return ||
event->key() == Qt::Key_Space) {
event->key() == Qt::Key_Return) {
if (currentIndex().isValid())
emit PlayPauseItem(currentIndex());
emit PlayItem(currentIndex());
event->accept();
} else if(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 )) {
emit FocusOnFilterSignal(event);
// ... and key pressed is something related to text
&& ( (event->key() >= Qt::Key_A && event->key() <= Qt::Key_Z)
|| event->key() == Qt::Key_Backspace )) {
emit FocusOnFilterSignal(event);
event->accept();
} else {
QTreeView::keyPressEvent(event);
}

View File

@ -86,7 +86,8 @@ class PlaylistView : public QTreeView {
void DynamicModeChanged(bool dynamic);
signals:
void PlayPauseItem(const QModelIndex& index);
void PlayItem(const QModelIndex& index);
void PlayPause();
void RightClicked(const QPoint& global_pos, const QModelIndex& index);
void SeekTrack(int gap);
void FocusOnFilterSignal(QKeyEvent *event);

View File

@ -405,7 +405,8 @@ MainWindow::MainWindow(
connect(playlists_, SIGNAL(PlayRequested(QModelIndex)), SLOT(PlayIndex(QModelIndex)));
connect(ui_->playlist->view(), SIGNAL(doubleClicked(QModelIndex)), SLOT(PlayIndex(QModelIndex)));
connect(ui_->playlist->view(), SIGNAL(PlayPauseItem(QModelIndex)), SLOT(PlayIndex(QModelIndex)));
connect(ui_->playlist->view(), SIGNAL(PlayItem(QModelIndex)), SLOT(PlayIndex(QModelIndex)));
connect(ui_->playlist->view(), SIGNAL(PlayPause()), player_, SLOT(PlayPause()));
connect(ui_->playlist->view(), SIGNAL(RightClicked(QPoint,QModelIndex)), SLOT(PlaylistRightClick(QPoint,QModelIndex)));
connect(ui_->playlist->view(), SIGNAL(SeekTrack(int)), ui_->track_slider, SLOT(Seek(int)));