diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-09-02 09:11:40 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-09-02 09:11:40 +0000 |
| commit | a2b0cb8e85797bd90666e538d2543c3a981ee51e (patch) | |
| tree | d21f0bc87419349279147c22ad3d981493530eb6 /src/qmmpui/playlistmodel.cpp | |
| parent | adba90cee9e3a72367f4df24c62cc38b35d5b9c3 (diff) | |
| download | qmmp-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.cpp | 24 |
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(); } } |
