initial import for the JuK branch -- JuK is a KDE 3 port of QTagger that
will eventually support jukebox features.  Most things still aren't
implemented.

svn path=/trunk/kdemultimedia/doc/juk/; revision=140479
initial import for the JuK branch -- JuK is a KDE 3 port of QTagger that
will eventually support jukebox features.  Most things still aren't
implemented.

svn path=/trunk/kdemultimedia/juk/; revision=140480
This is a complete rewrite of the genre system to be based on XML.
Currently this just supports reading XML genre lists.

svn path=/trunk/kdemultimedia/juk/; revision=141257
Fixed a segfault that was occuring by using locate() in the initialization
of a static data member.  This caused problems because KApplication hasn't
started yet when static members are initialized and so it can't provide
the application name to locate.

svn path=/trunk/kdemultimedia/juk/; revision=141262
Made QString a base class for Genre.

svn path=/trunk/kdemultimedia/juk/; revision=141274
Fixed a number of stupid things that were causing segfaults (missed
a call to the base contructor in the constructor and did a stupid
static_cast).

svn path=/trunk/kdemultimedia/juk/; revision=141293
Made the index and the list the same size.

svn path=/trunk/kdemultimedia/juk/; revision=141295
Fixed a segfault happening if the media didn't initialize properly.

svn path=/trunk/kdemultimedia/juk/; revision=141580
Fixed a couple of bugs with the new genre implementation and made
TaggerWidget::genreBox work with it.

svn path=/trunk/kdemultimedia/juk/; revision=141938
Added GenreList::findIndex() and fixed TaggerWidget::genreBox to use it.

svn path=/trunk/kdemultimedia/juk/; revision=141942
Changed FileListItem to be derived from KListViewItem instead of
QListViewItem.

svn path=/trunk/kdemultimedia/juk/; revision=141943
Fixed sorting in the FileList by reimplementing QListViewItem::compare()
in FileListItem.

svn path=/trunk/kdemultimedia/juk/; revision=141977
Fixed a lot of little bugs to get rid of compiler warnings.

svn path=/trunk/kdemultimedia/juk/; revision=142327
Things are working for saving tags except for the genre frames.

svn path=/trunk/kdemultimedia/juk/; revision=142744
Store the volume using kconfig on exit and read it on startup.

svn path=/trunk/kdemultimedia/juk/; revision=143218
Implemented the basics of a custom genre system.  This touched a lot of
the code.  Also a new function had to be added to id3lib, which hopefully
will be added to id3lib CVS soon.  The next step with custom genres is
to allow an editor for custom genre lists.

These additions allow for keeping track of v1 and v2 genres in the same
tag.

svn path=/trunk/kdemultimedia/juk/; revision=143242
Switched FileListItem to also be based on QFileInfo, rather than having
a QFileInfo member.  Also I began work on allowing FileListItems to be
added to a FileList by the add() and append() members.

svn path=/trunk/kdemultimedia/juk/; revision=143309
Got the "add to playlist" working the way that it should.  This involved
adding some properties (ok, a lot of properties) to FileListItem, but it
does nice things now like allowing parent and sibling relationships to
other FileListItems.  This comes in handy because this means that now when
a tag is updated in the tagger the changes update the entry in the playlist
through a sibling relationship.

Also, I added a new constructor to FileListItem that accepts a pointer to
a FileListItem instead of a QFileInfo.  When this constructor is used, it
automatically creates a "parent" relationship to the invocing FileListItem.
In this mode the tag and header information are shared via a pointer.
However, this meant doing some signal/slot programming to make sure that
when the parent deletes it's members that dangling references won't be
left in the child.  See the destroyed() signal and the parentDestroyed()
slot for more details.

svn path=/trunk/kdemultimedia/juk/; revision=143397
Fixed memory leaks related to assigning a char * to a QString while reading
tag information.

svn path=/trunk/kdemultimedia/juk/; revision=143614
Fixed a memory leak.

svn path=/trunk/kdemultimedia/juk/; revision=143637