Files
storyWriter/cpart.cpp
T
2018-04-20 18:10:38 +02:00

125 lines
1.8 KiB
C++

#include "cpart.h"
#include "common.h"
#include <QSqlQuery>
#include <QSqlError>
cPart::cPart(qint32 iID, QObject *parent) :
QObject(parent),
m_iID(iID),
m_szName(""),
m_iSortOrder(-1),
m_szDescription(""),
m_lpText(0)
{
}
void cPart::setID(const qint32& iID)
{
m_iID = iID;
}
qint32 cPart::id()
{
return(m_iID);
}
void cPart::setName(const QString& szName)
{
m_szName = szName;
}
QString cPart::name()
{
return(m_szName);
}
void cPart::setSortOrder(const qint32& iSortOrder)
{
m_iSortOrder = iSortOrder;
}
qint32 cPart::sortOrder()
{
return(m_iSortOrder);
}
void cPart::setDescription(const QString& szDescription)
{
m_szDescription = szDescription;
}
QString cPart::description()
{
return(m_szDescription);
}
void cPart::setText(cTextDocument* lpText)
{
m_lpText = lpText;
}
cTextDocument* cPart::text()
{
return(m_lpText);
}
cPart* cPartList::add(const qint32& iID)
{
cPart* lpPart = find(iID);
if(!lpPart)
{
lpPart = new cPart(iID);
append(lpPart);
}
return(lpPart);
}
cPart* cPartList::find(const qint32& iID)
{
for(int x = 0;x < count();x++)
{
if(at(x)->id() == iID)
return(at(x));
}
return(0);
}
bool cPartList::load()
{
QSqlQuery query;
query.prepare("SELECT id, name, sortOrder, description, text FROM part ORDER BY sortOrder;");
if(!query.exec())
{
myDebug << query.lastError().text();
return(false);
}
while(query.next())
{
cPart* lpPart = add(query.value("id").toInt());
lpPart->setName(query.value("name").toString());
lpPart->setSortOrder(query.value("sortOrder").toInt());
lpPart->setDescription(query.value("description").toString());
QByteArray ba = query.value("text").toByteArray();
cTextDocument* lpText = new cTextDocument;
if(!ba.isEmpty())
lpText->setHtml(qUncompress(ba));
lpPart->setText(lpText);
}
return(true);
}
bool cPartList::save()
{
return(true);
}