You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
2.5 KiB
C++
117 lines
2.5 KiB
C++
#include "cgenrecombine.h"
|
|
|
|
|
|
cGenreCombine::cGenreCombine(const QString& szGenreTo)
|
|
{
|
|
m_szGenreTo = szGenreTo;
|
|
}
|
|
|
|
void cGenreCombine::addFrom(const QString& szGenreFrom)
|
|
{
|
|
if(!m_szGenreFrom.contains(szGenreFrom, Qt::CaseInsensitive))
|
|
m_szGenreFrom.append(szGenreFrom);
|
|
}
|
|
|
|
void cGenreCombine::addFrom(const QStringList& szGenreFrom)
|
|
{
|
|
m_szGenreFrom.append(szGenreFrom);
|
|
m_szGenreFrom.removeDuplicates();
|
|
}
|
|
|
|
void cGenreCombine::removeFrom(const QString& szGenreFrom)
|
|
{
|
|
m_szGenreFrom.removeOne(szGenreFrom);
|
|
}
|
|
|
|
void cGenreCombine::clearFrom()
|
|
{
|
|
m_szGenreFrom.clear();
|
|
}
|
|
|
|
QString cGenreCombine::genreTo()
|
|
{
|
|
return(m_szGenreTo);
|
|
}
|
|
|
|
QStringList cGenreCombine::genreFrom()
|
|
{
|
|
return(m_szGenreFrom);
|
|
}
|
|
|
|
cGenreCombineList::cGenreCombineList()
|
|
{
|
|
}
|
|
|
|
cGenreCombine* cGenreCombineList::add(const QString& szGenreTo)
|
|
{
|
|
for(int z = 0;z < count();z++)
|
|
if(!at(z)->genreTo().compare(szGenreTo, Qt::CaseInsensitive))
|
|
return(0);
|
|
|
|
cGenreCombine* lpNew = new cGenreCombine(szGenreTo);
|
|
append(lpNew);
|
|
return(lpNew);
|
|
}
|
|
|
|
bool cGenreCombineList::existTo(const QString& szGenreTo, Qt::CaseSensitivity iSensitive)
|
|
{
|
|
for(int z = 0;z < count();z++)
|
|
{
|
|
if(!at(z)->genreTo().compare(szGenreTo, iSensitive))
|
|
return(true);
|
|
}
|
|
return(false);
|
|
}
|
|
|
|
bool cGenreCombineList::existFrom(const QString& szGenreFrom, Qt::CaseSensitivity iSensitive)
|
|
{
|
|
for(int z = 0;z < count();z++)
|
|
{
|
|
if(at(z)->genreFrom().contains(szGenreFrom, iSensitive))
|
|
return(true);
|
|
}
|
|
return(false);
|
|
}
|
|
|
|
cGenreCombine* cGenreCombineList::findTo(const QString& szGenreTo, Qt::CaseSensitivity iSensitive)
|
|
{
|
|
for(int z = 0;z < count();z++)
|
|
{
|
|
if(!at(z)->genreTo().compare(szGenreTo, iSensitive))
|
|
return(at(z));
|
|
}
|
|
return(0);
|
|
}
|
|
|
|
cGenreCombine* cGenreCombineList::findFrom(const QString& szGenreFrom, Qt::CaseSensitivity iSensitive)
|
|
{
|
|
for(int z = 0;z < count();z++)
|
|
{
|
|
if(at(z)->genreFrom().contains(szGenreFrom, iSensitive))
|
|
return(at(z));
|
|
}
|
|
return(0);
|
|
}
|
|
|
|
void cGenreCombineList::addFrom(const QString& szGenreTo, const QString& szGenreFrom)
|
|
{
|
|
cGenreCombine* lpCombine = findTo(szGenreTo, Qt::CaseInsensitive);
|
|
if(lpCombine)
|
|
lpCombine->addFrom(szGenreFrom);
|
|
}
|
|
|
|
void cGenreCombineList::addFrom(const QString& szGenreTo, const QStringList& szGenreFrom)
|
|
{
|
|
cGenreCombine* lpCombine = findTo(szGenreTo, Qt::CaseInsensitive);
|
|
if(lpCombine)
|
|
lpCombine->addFrom(szGenreFrom);
|
|
}
|
|
|
|
QString cGenreCombineList::to(const QString& szFrom)
|
|
{
|
|
cGenreCombine* lpItem = findFrom(szFrom, Qt::CaseInsensitive);
|
|
if(!lpItem)
|
|
return(szFrom);
|
|
return(lpItem->genreTo());
|
|
}
|