diff options
author | Arno <arno@disconnect.de> | 2017-07-06 20:51:46 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-07-06 20:51:46 +0200 |
commit | ea97fd232224b7cc6beb8360b5ab9437cd435fc4 (patch) | |
tree | a4be2829ff9dc9e8981454943ad190788cdee2f4 /playerwidget.cpp | |
parent | 0e5246fbea2fdd8fe1a0408deffcd53a7439389a (diff) | |
download | BeetPlayer-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.cpp | 17 |
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()); |