You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/juk/coverinfo.h

68 lines
2.1 KiB

/***************************************************************************
copyright : (C) 2004 Nathan Toone
email : nathan@toonetown.com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef COVERINFO_H
#define COVERINFO_H
#include <tqimage.h>
#include "filehandle.h"
#include "covermanager.h"
class CoverInfo
{
friend class FileHandle;
public:
enum CoverSize { FullSize, Thumbnail };
CoverInfo(const FileHandle &file);
bool hasCover();
void clearCover();
void setCover(const TQImage &image = TQImage());
// Use this to assign to a specific cover id.
void setCoverId(coverKey id);
/**
* This function sets the cover identifier for all tracks that have the
* same Artist and Album as this track, to the cover identifier of this
* track.
*
* @param overwriteExistingCovers If set to true, this function will always
* apply the new cover to a track even if the track already had
* a different cover set.
*/
void applyCoverToWholeAlbum(bool overwriteExistingCovers = false) const;
coverKey coverId() const { return m_coverKey; }
TQPixmap pixmap(CoverSize size) const;
void popup() const;
private:
TQString coverLocation(CoverSize size) const;
bool convertOldStyleCover() const;
FileHandle m_file;
bool m_hasCover;
bool m_haveCheckedForCover;
mutable coverKey m_coverKey;
mutable bool m_needsConverting;
};
#endif