From 4da0809944474ccd059d0ab89d17f500c8d8d8ea Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 26 Sep 2010 07:22:18 +0000 Subject: fixed 'copy selection' patch (Avihay Baratz) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1914 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/playlistitem.cpp | 11 +++++++++++ src/qmmpui/playlistitem.h | 4 ++++ src/ui/playlist.cpp | 8 -------- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/qmmpui/playlistitem.cpp b/src/qmmpui/playlistitem.cpp index d13d7ab18..4ff602948 100644 --- a/src/qmmpui/playlistitem.cpp +++ b/src/qmmpui/playlistitem.cpp @@ -32,6 +32,17 @@ PlayListItem::PlayListItem() : AbstractPlaylistItem(), m_flag(FREE) m_current = false; } +PlayListItem::PlayListItem(const PlayListItem &other) : AbstractPlaylistItem(other), m_flag(other.m_flag) +{ + m_title = other.m_title; + if (other.m_info) + { + m_info = new FileInfo(*(other.m_info)); + } + m_selected = other.m_selected; + m_current = other.m_current; +} + PlayListItem::PlayListItem(FileInfo *info) : AbstractPlaylistItem(), m_flag(FREE) { m_selected = false; diff --git a/src/qmmpui/playlistitem.h b/src/qmmpui/playlistitem.h index c1bec3e38..9ad51ee67 100644 --- a/src/qmmpui/playlistitem.h +++ b/src/qmmpui/playlistitem.h @@ -49,6 +49,10 @@ public: * Constructs an empty plalist item. */ PlayListItem(); + /*! + * Constructs a new PlayListItem that is a copy of the given \b item + */ + PlayListItem(const PlayListItem &item); /*! * Constructs plalist item with given metadata. * @param info Media file information. diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp index 7786ec249..984b75e3b 100644 --- a/src/ui/playlist.cpp +++ b/src/ui/playlist.cpp @@ -665,14 +665,6 @@ void PlayList::copySelectedMenuActionTriggered( QAction * action) QList theCopy; foreach(PlayListItem *item, m_pl_manager->selectedPlayList()->getSelectedItems()) { - item->updateTags(); - //NOTE: explicitly using default copy constructor default copy - //constructor doesn't do a deep copy so *m_info points to where the - //original did.this may very well be unnecessary, but I call - //updateTags() for readMetadata() to zero it before the copy - //TODO: If the PlayListItem default copy constructor isn't used - //elsewhere, a default copy constructor should be written that takes - //care of m_info and remove the line above PlayListItem *newItem = new PlayListItem(*item); theCopy << newItem; } -- cgit v1.2.3-13-gbd6f