From a2b0cb8e85797bd90666e538d2543c3a981ee51e Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 2 Sep 2013 09:11:40 +0000 Subject: 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 --- src/qmmpui/playlistmodel.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src/qmmpui/playlistmodel.cpp') 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 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(); } } -- cgit v1.2.3-13-gbd6f