2
* Copyright (C) 2000 Rik Hemsley (rikkus) <rik@kde.org>. All rights reserved.
12
#include <qdatastream.h>
14
#include <qdatetime.h>
18
class Track : public QObject
27
const QString & artist,
28
const QString & album,
30
const QString & filename,
34
Track(const Track & t);
36
Track & operator = (const Track & t);
38
bool operator < (const Track & t) const;
40
bool operator <= (const Track & t) const
41
{ return (operator < (t) || operator == (t)); }
43
bool operator > (const Track & t) const
44
{ return ! operator < (t); }
46
bool operator == (const Track &) const;
48
QString artist() const { return artist_; }
49
QString album() const { return album_; }
50
QString name() const { return name_; }
51
QString filename() const { return filename_; }
52
long length() const { return length_; }
53
int score() const { return score_; }
54
int fileScore() const { return fileScore_; }
55
QString key() const { return key_; }
57
PlaylistItem * lisztItem();
59
QString lengthAsString() const { return lengthAsString_; }
61
void setArtist (QString s) { artist_ = s; }
62
void setAlbum (QString s) { album_ = s; }
63
void setName (QString s) { name_ = s; }
64
void setFilename (QString s) { filename_ = s; }
65
void setLength (long i) { length_ = i; }
66
void setScore (int i);
67
void setFileScore(int i);
69
friend QDataStream & operator << (QDataStream &, const Track &);
70
friend QDataStream & operator >> (QDataStream & str, Track &);
74
void scoreChanged(int);
78
void _recalculateKey();
79
void _recalculateLengthAsString();
80
void _createLisztItem();
90
QString lengthAsString_;
92
PlaylistItem * lisztItem_;
95
class TrackList : public QList<Track>
100
virtual ~TrackList();
104
int compareItems(QCollection::Item, QCollection::Item);
107
typedef QListIterator<Track> TrackListIterator;