aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-09-02 09:11:40 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-09-02 09:11:40 +0000
commita2b0cb8e85797bd90666e538d2543c3a981ee51e (patch)
treed21f0bc87419349279147c22ad3d981493530eb6 /src/qmmpui/playlistmodel.cpp
parentadba90cee9e3a72367f4df24c62cc38b35d5b9c3 (diff)
downloadqmmp-a2b0cb8e85797bd90666e538d2543c3a981ee51e.tar.gz
qmmp-a2b0cb8e85797bd90666e538d2543c3a981ee51e.tar.bz2
qmmp-a2b0cb8e85797bd90666e538d2543c3a981ee51e.zip
prepare for multiple tags viewer
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3677 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
-rw-r--r--src/qmmpui/playlistmodel.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 66955f6b9..d08282910 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -430,16 +430,24 @@ void PlayListModel::selectAll()
void PlayListModel::showDetails(QWidget *parent)
{
+ QList<PlayListTrack *> selected_tracks;
+
for (int i = 0; i < m_container->count(); ++i)
{
- if (m_container->isSelected(i) && m_container->track(i))
- {
- QDialog *d = new DetailsDialog(m_container->track(i), parent);
- TagUpdater *updater = new TagUpdater(d, m_container->track(i));
- connect(updater, SIGNAL(destroyed(QObject *)),SIGNAL(listChanged()));
- d->show();
- return;
- }
+ if(!m_container->isSelected(i))
+ continue;
+ PlayListTrack *track = m_container->track(i);
+ if(track && track->flag() != PlayListTrack::FREE)
+ continue;
+ selected_tracks.append(track);
+ }
+
+ if(!selected_tracks.isEmpty())
+ {
+ QDialog *d = new DetailsDialog(selected_tracks, parent);
+ TagUpdater *updater = new TagUpdater(d, selected_tracks);
+ connect(updater, SIGNAL(destroyed(QObject *)),SIGNAL(listChanged()));
+ d->show();
}
}