summaryrefslogtreecommitdiffstats
path: root/playerwidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-07-06 20:51:46 +0200
committerArno <arno@disconnect.de>2017-07-06 20:51:46 +0200
commitea97fd232224b7cc6beb8360b5ab9437cd435fc4 (patch)
treea4be2829ff9dc9e8981454943ad190788cdee2f4 /playerwidget.cpp
parent0e5246fbea2fdd8fe1a0408deffcd53a7439389a (diff)
downloadBeetPlayer-ea97fd232224b7cc6beb8360b5ab9437cd435fc4.tar.gz
BeetPlayer-ea97fd232224b7cc6beb8360b5ab9437cd435fc4.tar.bz2
BeetPlayer-ea97fd232224b7cc6beb8360b5ab9437cd435fc4.zip
Add shortcut to filter band from Playlist
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r--playerwidget.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp
index 348b249..d0b1916 100644
--- a/playerwidget.cpp
+++ b/playerwidget.cpp
@@ -363,6 +363,8 @@ void PlayerWidget::createActions(){
connect(miscMusicBrainzRightA, &QAction::triggered, this, &PlayerWidget::searchMusicbrainzRight);
QAction *miscMusicBrainzLeftA = new QAction(QIcon(":/bizarre_amputee.png"), tr("Search Musicbrainz"), this);
connect(miscMusicBrainzLeftA, &QAction::triggered, this, &PlayerWidget::searchMusicbrainzLeft);
+ QAction *miscFilterFromPlaylistA = new QAction(QIcon(":/chastity_belt.png"), tr("Filter artist"), this);
+ connect(miscFilterFromPlaylistA, &QAction::triggered, this, &PlayerWidget::filterFromPlaylist);
mView->addAction(addToPlayListA);
mView->addAction(addToPlayListAndClearA);
mView->addAction(Helper::createSeparator(this));
@@ -382,6 +384,7 @@ void PlayerWidget::createActions(){
mPlayListView->addAction(removeFromPlayListA);
mPlayListView->addAction(Helper::createSeparator(this));
mPlayListView->addAction(miscMusicBrainzRightA);
+ mPlayListView->addAction(miscFilterFromPlaylistA);
mPlayListView->addAction(Helper::createSeparator(this));
mPlayListView->addAction(shufflePlayistA);
mPlayListView->addAction(clearPlayListA);
@@ -1094,6 +1097,10 @@ void PlayerWidget::doFilter(){
QModelIndex exp = mCurrentModel->index(i, 0, QModelIndex());
if(exp.isValid()){
mView->expand(exp);
+ QModelIndex next = mCurrentModel->index(0, 0, exp);
+ if(next.isValid()){
+ mView->expand(next);
+ }
}
}
qApp->restoreOverrideCursor();
@@ -1273,6 +1280,16 @@ void PlayerWidget::webDlDone(){
mLeftTE->setText(text);
}
+void PlayerWidget::filterFromPlaylist(){
+ QModelIndex idx = mPlayListView->selectionModel()->currentIndex();
+ if(!idx.isValid()){
+ return;
+ }
+ QString artist = idx.data(ArtistRole).toString();
+ mSearch->setText(artist);
+ doFilter();
+}
+
void PlayerWidget::play(const QString &fullPath){
mPlayer->setMedia(QUrl::fromLocalFile(fullPath));
TagLib::FileRef file(QString(fullPath).toUtf8());