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/tagupdater.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/tagupdater.cpp')
| -rw-r--r-- | src/qmmpui/tagupdater.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/qmmpui/tagupdater.cpp b/src/qmmpui/tagupdater.cpp index 0b50e83cc..02f0c4590 100644 --- a/src/qmmpui/tagupdater.cpp +++ b/src/qmmpui/tagupdater.cpp @@ -20,23 +20,29 @@ #include "tagupdater_p.h" -TagUpdater::TagUpdater(QObject* o, PlayListTrack* track) : m_observable(o), m_item(track) +TagUpdater::TagUpdater(QObject* o, QList<PlayListTrack *> tracks) : m_observable(o) { - m_item->setFlag(PlayListTrack::EDITING); - connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(updateTag())); + m_tracks = tracks; + foreach(PlayListTrack *t, m_tracks) + t->setFlag(PlayListTrack::EDITING); + connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(updateTags())); connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(deleteLater())); } -void TagUpdater::updateTag() +void TagUpdater::updateTags() { - if (m_item->flag() == PlayListTrack::SCHEDULED_FOR_DELETION) + foreach (PlayListTrack *t, m_tracks) { - delete m_item; - m_item = NULL; - } - else - { - m_item->updateMetaData(); - m_item->setFlag(PlayListTrack::FREE); + if (t->flag() == PlayListTrack::SCHEDULED_FOR_DELETION) + { + delete t; + t = 0; + } + else + { + t->updateMetaData(); + t->setFlag(PlayListTrack::FREE); + } } + m_tracks.clear(); } |
