Added function to delete objects
This commit is contained in:
+26
-2
@@ -16,7 +16,8 @@ cObject::cObject(qint32 iID, QObject *parent) :
|
||||
m_iID(iID),
|
||||
m_szName(""),
|
||||
m_szType(""),
|
||||
m_lpDescription(0)
|
||||
m_lpDescription(0),
|
||||
m_bDeleted(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -60,6 +61,16 @@ cTextDocument* cObject::description()
|
||||
return(m_lpDescription);
|
||||
}
|
||||
|
||||
void cObject::setDeleted(bool bDeleted)
|
||||
{
|
||||
m_bDeleted = bDeleted;
|
||||
}
|
||||
|
||||
bool cObject::deleted()
|
||||
{
|
||||
return(m_bDeleted);
|
||||
}
|
||||
|
||||
void cObject::addImage(cImage* lpImage, cTextDocument* lpDescription)
|
||||
{
|
||||
m_imageList.append(new cImageDescription(lpImage, lpDescription));
|
||||
@@ -170,10 +181,12 @@ bool cObjectList::save()
|
||||
QSqlQuery queryUpdate;
|
||||
QSqlQuery queryInsert;
|
||||
QSqlQuery querySelect;
|
||||
QSqlQuery queryDelete;
|
||||
|
||||
queryUpdate.prepare("UPDATE object SET name=:name, type=:type, description=:description WHERE id=:id;");
|
||||
queryInsert.prepare("INSERT INTO object (name, type, description) VALUES (:name, :type, :description);");
|
||||
querySelect.prepare("SELECT id FROM object WHERE _rowid_=(SELECT MAX(_rowid_) FROM object);");
|
||||
queryDelete.prepare("DELETE FROM object WHERE id=:id;");
|
||||
|
||||
QSqlQuery imageDelete;
|
||||
QSqlQuery imageAdd;
|
||||
@@ -185,7 +198,18 @@ bool cObjectList::save()
|
||||
{
|
||||
cObject* lpObject = at(x);
|
||||
|
||||
if(lpObject->id() != -1)
|
||||
if(lpObject->deleted())
|
||||
{
|
||||
queryDelete.bindValue(":id", lpObject->id());
|
||||
|
||||
if(!queryDelete.exec())
|
||||
{
|
||||
myDebug << queryDelete.lastError().text();
|
||||
return(false);
|
||||
}
|
||||
this->removeOne(lpObject);
|
||||
}
|
||||
else if(lpObject->id() != -1)
|
||||
{
|
||||
queryUpdate.bindValue(":id", lpObject->id());
|
||||
queryUpdate.bindValue(":name", lpObject->name());
|
||||
|
||||
@@ -110,12 +110,28 @@ public:
|
||||
*/
|
||||
QList<cImageDescription*> images();
|
||||
|
||||
/*!
|
||||
\brief
|
||||
|
||||
\fn setDeleted
|
||||
\param bDeleted
|
||||
*/
|
||||
void setDeleted(bool bDeleted);
|
||||
/*!
|
||||
\brief
|
||||
|
||||
\fn deleted
|
||||
\return bool
|
||||
*/
|
||||
bool deleted();
|
||||
|
||||
private:
|
||||
qint32 m_iID; /*!< TODO: describe */
|
||||
QString m_szName; /*!< TODO: describe */
|
||||
QString m_szType; /*!< TODO: describe */
|
||||
cTextDocument* m_lpDescription; /*!< TODO: describe */
|
||||
QList<cImageDescription*> m_imageList; /*!< TODO: describe */
|
||||
bool m_bDeleted; /*!< TODO: describe */
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user