From 94aa151f1a21146b25ac40c4cbde018fa7227448 Mon Sep 17 00:00:00 2001 From: asiviero Date: Tue, 14 Jan 2014 03:29:23 -0200 Subject: [PATCH] Added event handlers to Skip Track --- src/ui/mainwindow.cpp | 13 +++++++++++++ src/ui/mainwindow.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 1aa3bc0a9..0facb87eb 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -491,6 +491,9 @@ MainWindow::MainWindow(Application* app, playlist_queue_ = playlist_menu_->addAction("", this, SLOT(PlaylistQueue())); playlist_queue_->setShortcut(QKeySequence("Ctrl+D")); ui_->playlist->addAction(playlist_queue_); + playlist_skip_ = playlist_menu_->addAction(tr("Skip track"), this, SLOT(PlaylistSkip())); + ui_->playlist->addAction(playlist_skip_); + playlist_menu_->addSeparator(); playlist_menu_->addAction(ui_->action_remove_from_playlist); playlist_undoredo_ = playlist_menu_->addSeparator(); @@ -1957,6 +1960,16 @@ void MainWindow::PlaylistQueue() { app_->playlist_manager()->current()->queue()->ToggleTracks(indexes); } +void MainWindow::PlaylistSkip() { + QModelIndexList indexes; + foreach (const QModelIndex& proxy_index, + ui_->playlist->view()->selectionModel()->selectedRows()) { + indexes << app_->playlist_manager()->current()->proxy()->mapToSource(proxy_index); + } + + app_->playlist_manager()->current()->queue()->SkipTracks(indexes); +} + void MainWindow::PlaylistCopyToDevice() { QModelIndexList proxy_indexes = ui_->playlist->view()->selectionModel()->selectedRows(); SongList songs; diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 9d25ab01e..e0267e02b 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -148,6 +148,7 @@ class MainWindow : public QMainWindow, public PlatformInterface { void PlaylistPlay(); void PlaylistStopAfter(); void PlaylistQueue(); + void PlaylistSkip(); void PlaylistRemoveCurrent(); void PlaylistEditFinished(const QModelIndex& index); void EditTracks(); @@ -329,6 +330,7 @@ class MainWindow : public QMainWindow, public PlatformInterface { QAction* playlist_delete_; QAction* playlist_open_in_browser_; QAction* playlist_queue_; + QAction* playlist_skip_; QAction* playlist_add_to_another_; QList playlistitem_actions_; QAction* playlistitem_actions_separator_;