Bug 61340 - Undo feature for tagging/multitagging
Summary: Undo feature for tagging/multitagging
Status: RESOLVED FIXED
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
: 79549 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-07-16 23:51 UTC by Iván Sánchez Ortega
Modified: 2004-09-27 12:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Iván Sánchez Ortega 2003-07-16 23:51:12 UTC
Version:            (using KDE 3.1.9)
Compiler:          gcc version 3.3.1 20030626 (Debian prerelease)
OS:          Linux (i686) release 2.4.21-1-k7-smp

It's quite self-explaining, but an undo feature for tagging (and multitagging) would be great. Specially when you realize that you've wiped out half of your ID3 tags by a typo.
Comment 1 Scott Wheeler 2003-09-01 05:06:45 UTC
Marking this one as "assigned" and changing it from wishlist to bug status.  Hoping to 
get this one done for 3.2. 
Comment 2 Scott Wheeler 2004-04-13 10:41:26 UTC
*** Bug 79549 has been marked as a duplicate of this bug. ***
Comment 3 Michael Pyne 2004-09-27 12:21:07 UTC
CVS commit by mpyne: 

Implement bug 61340 (Add undo support for multi-tagging).

What this does is introduce a class that manages changes to PlaylistItems.  A number of PlaylistItems can be altered before the underlying files are changed.  Once the files are changed, a record is kept of the changes, which can then be used to undo what happened.  Also, this class takes care of items that are to be renamed.

All code paths that are capable of altering a tag have been changed to use this class.

Note that the underlying code could probably use some cleaning up.  e.g. adding a copy ctor to Tag instead of making a duplicateTag() function. ;-)

I've tested this on a temp directory of copied music, so I'm pretty confident this all works and is safe.  However, you may want to test on a backup first to make sure it works on your system too. =D

Now the question is whether I should backport this or not. :-/

CCMAIL:61340-done@bugs.kde.org


  M +1 -0      Makefile.am   1.69
  M +9 -0      collectionlist.cpp   1.89
  M +2 -0      collectionlist.h   1.59
  M +9 -0      juk.cpp   1.225
  M +1 -0      juk.h   1.96
  M +10 -8     musicbrainzquery.cpp   1.23
  M +21 -25    playlist.cpp   1.258
  M +16 -0     playlistbox.cpp   1.127
  M +3 -0      playlistbox.h   1.71
  M +8 -8      playlistitem.cpp   1.95
  M +2 -2      playlistitem.h   1.60
  M +6 -4      tag.h   1.34
  M +35 -84    tageditor.cpp   1.72
  M +3 -18     treeviewitemplaylist.cpp   1.8



Comment 4 Michael Pyne 2004-09-27 12:22:28 UTC
CVS commit by mpyne: 

Doh!!  I forgot to add these rather important files to CVS for bug 61340. :-(

CCMAIL:61340@bugs.kde.org


  A            tagtransactionmanager.cpp   1.1 [GPL (v2+)]
  A            tagtransactionmanager.h   1.1 [GPL (v2+)]