Files
qtJukeBox/cid3field.cpp
T
Herwig Birke e13ac50b84 .
2018-02-28 10:20:18 +01:00

169 lines
2.9 KiB
C++

#include "cid3field.h"
cID3Field::cID3Field(uint16_t dwID, const QString& szShortName, const QString& szName) :
m_dwID(dwID),
m_szShortName(szShortName),
m_szName(szName),
m_bValid(false)
{
}
cID3Field::~cID3Field()
{
if(m_Value.canConvert<cPictureList*>())
{
cPictureList* lpPictureList = m_Value.value<cPictureList*>();
delete lpPictureList;
}
}
uint16_t cID3Field::getID()
{
return(m_dwID);
}
void cID3Field::setShortName(const QString& szShortName)
{
m_bValid = false;
if(szShortName.length())
{
m_szShortName = szShortName;
if(m_Value.isValid() && m_szName.length())
m_bValid = true;
}
}
QString cID3Field::getShortName()
{
return(m_szShortName);
}
void cID3Field::setName(const QString& szName)
{
m_bValid = false;
if(szName.length())
{
m_szName = szName;
if(m_Value.isValid() && m_szShortName.length())
m_bValid = true;
}
}
QString cID3Field::getName()
{
return(m_szName);
}
void cID3Field::setValue(const QVariant& Value)
{
m_bValid = false;
if(!Value.isValid())
return;
m_Value = Value;
if(m_szName.length() && m_szShortName.length())
m_bValid = true;
}
QVariant cID3Field::getValue()
{
if(m_bValid)
return(m_Value);
return(QVariant());
}
bool cID3Field::isValid()
{
return(m_bValid);
}
cID3Field& cID3Field::operator=(const cID3Field& rhs)
{
m_dwID = rhs.m_dwID;
m_szName = rhs.m_szName;
m_Value = rhs.m_Value;
m_bValid = rhs.m_bValid;
return(*this);
}
cID3FieldList::cID3FieldList()
{
}
cID3Field* cID3FieldList::add(uint16_t dwID, const QString& szShortName, const QString& szName, QObject *parent)
{
cID3Field* lpID3Field = get(dwID);
if(lpID3Field)
return(lpID3Field);
lpID3Field = new cID3Field(dwID, szShortName, szName);
this->append(lpID3Field);
return(lpID3Field);
}
cID3Field* cID3FieldList::get(uint16_t dwID)
{
int iIndex;
for(iIndex = 0;iIndex < this->count();iIndex++)
{
if(this->at(iIndex)->getID() == dwID)
return(this->at(iIndex));
}
return(0);
}
cID3Field* cID3FieldList::get(const QString& szShortName)
{
int iIndex;
for(iIndex = 0;iIndex < this->count();iIndex++)
{
if(this->at(iIndex)->getShortName() == szShortName)
return(this->at(iIndex));
}
return(0);
}
void cID3FieldList::setValue(uint16_t dwID, const QVariant Value)
{
cID3Field* lpID3Field = this->get(dwID);
if(lpID3Field)
lpID3Field->setValue(Value);
}
QVariant cID3FieldList::getValue(uint16_t dwID)
{
cID3Field* lpID3Field = this->get(dwID);
if(lpID3Field)
return(lpID3Field->getValue());
return(QVariant());
}
QString cID3FieldList::getName(uint16_t dwID)
{
cID3Field* lpID3Field = this->get(dwID);
if(lpID3Field)
return(lpID3Field->getName());
return("");
}
QString cID3FieldList::getShortName(uint16_t dwID)
{
cID3Field* lpID3Field = this->get(dwID);
if(lpID3Field)
return(lpID3Field->getShortName());
return("");
}
bool cID3FieldList::isValid(uint16_t dwID)
{
cID3Field* lpID3Field = this->get(dwID);
if(lpID3Field)
return(lpID3Field->isValid());
return(false);
}