YACReaderLibrary.Comic renombrada a YACReaderLibrary.ComicDB

A?adida la clase YACReader.Comic a YACReaderLibrary

Implementado el controlador que sirve la informaci?n de descarga de un c?mic
This commit is contained in:
Luis Ángel San Martín
2012-09-06 08:32:30 +02:00
parent cbee662df4
commit 12e697bc0f
17 changed files with 132 additions and 77 deletions

View File

@ -1,4 +1,4 @@
#include "comic.h"
#include "comic_db.h"
#include <QSqlQuery>
#include <QSqlRecord>
@ -7,12 +7,12 @@
//-----------------------------------------------------------------------------
//COMIC------------------------------------------------------------------------
//-----------------------------------------------------------------------------
Comic::Comic()
ComicDB::ComicDB()
{
}
Comic::Comic(qulonglong cparentId, QString cname, QString cpath, QString chash, QSqlDatabase & database)
ComicDB::ComicDB(qulonglong cparentId, QString cname, QString cpath, QString chash, QSqlDatabase & database)
{
parentId = cparentId;
name = cname;
@ -28,7 +28,7 @@ Comic::Comic(qulonglong cparentId, QString cname, QString cpath, QString chash,
_hasCover = true;
}
QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabase & db)
QList<LibraryItem *> ComicDB::getComicsFromParent(qulonglong parentId, QSqlDatabase & db)
{
QList<LibraryItem *> list;
@ -37,7 +37,7 @@ QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabas
selectQuery.bindValue(":parentId", parentId);
selectQuery.exec();
Comic * currentItem;
ComicDB * currentItem;
while (selectQuery.next())
{
QList<QVariant> data;
@ -45,7 +45,7 @@ QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabas
for(int i=0;i<record.count();i++)
data << record.value(i);
currentItem = new Comic();
currentItem = new ComicDB();
currentItem->id = record.value("id").toULongLong();
currentItem->parentId = record.value(1).toULongLong();
currentItem->name = record.value(2).toString();
@ -56,7 +56,7 @@ QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabas
list.append(currentItem);
else
{
Comic * last = static_cast<Comic *>(list.back());
ComicDB * last = static_cast<ComicDB *>(list.back());
QString nameLast = last->name;
QString nameCurrent = currentItem->name;
QList<LibraryItem *>::iterator i;
@ -78,7 +78,7 @@ QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabas
return list;
}
bool Comic::load(qulonglong idc, QSqlDatabase & db)
bool ComicDB::load(qulonglong idc, QSqlDatabase & db)
{
QSqlQuery selectQuery(db);
@ -102,7 +102,7 @@ bool Comic::load(qulonglong idc, QSqlDatabase & db)
}
qulonglong Comic::insert(QSqlDatabase & db)
qulonglong ComicDB::insert(QSqlDatabase & db)
{
//TODO cambiar por info.insert(db)
@ -131,12 +131,12 @@ qulonglong Comic::insert(QSqlDatabase & db)
return query.lastInsertId().toULongLong();
}
void Comic::update(QSqlDatabase & db)
void ComicDB::update(QSqlDatabase & db)
{
}
void Comic::removeFromDB(QSqlDatabase & db)
void ComicDB::removeFromDB(QSqlDatabase & db)
{
QSqlQuery query(db);
query.prepare("DELETE FROM comic WHERE id = :id");
@ -145,7 +145,7 @@ void Comic::removeFromDB(QSqlDatabase & db)
//query.finish();
}
bool Comic::isDir()
bool ComicDB::isDir()
{
return false;
}

View File

@ -114,13 +114,13 @@ private:
void copyField(bool * & field, bool * value);
};
class Comic : public LibraryItem
class ComicDB : public LibraryItem
{
private:
bool _hasCover;
public:
Comic();
Comic(qulonglong cparentId, QString cname, QString cpath, QString chash, QSqlDatabase & database);
ComicDB();
ComicDB(qulonglong cparentId, QString cname, QString cpath, QString chash, QSqlDatabase & database);
//Comic(QString fn, QString fp):name(fn),path(fp),knownParent(false), knownId(false){};
static QList<LibraryItem *> getComicsFromParent(qulonglong parentId, QSqlDatabase & db);

View File

@ -3,7 +3,7 @@
#include <QList>
#include <QVariant>
#include "comic.h"
#include "comic_db.h"
//! [0]
class TableItem

View File

@ -274,9 +274,9 @@ void TableModel::setupModelData(QSqlQuery &sqlquery)
}
}
Comic TableModel::getComic(const QModelIndex & mi)
ComicDB TableModel::getComic(const QModelIndex & mi)
{
Comic c;
ComicDB c;
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
c.load(_data.at(mi.row())->data(ID).toULongLong(),db);
@ -286,9 +286,9 @@ Comic TableModel::getComic(const QModelIndex & mi)
return c;
}
Comic TableModel::_getComic(const QModelIndex & mi)
ComicDB TableModel::_getComic(const QModelIndex & mi)
{
Comic c;
ComicDB c;
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
c.load(_data.at(mi.row())->data(ID).toULongLong(),db);
@ -320,7 +320,7 @@ QVector<bool> TableModel::setAllComicsRead(bool read)
{
readList[i] = read;
_data.value(i)->data(READ) = QVariant(true);
Comic c;
ComicDB c;
c.load(_data.value(i)->data(ID).toULongLong(),db);
c.info.read = read;
c.info.update(db);
@ -332,9 +332,9 @@ QVector<bool> TableModel::setAllComicsRead(bool read)
return readList;
}
QList<Comic> TableModel::getComics(QList<QModelIndex> list)
QList<ComicDB> TableModel::getComics(QList<QModelIndex> list)
{
QList<Comic> comics;
QList<ComicDB> comics;
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
db.transaction();

View File

@ -7,7 +7,7 @@
#include <QSqlQuery>
#include <QSqlDatabase>
#include "comic.h"
#include "comic_db.h"
class TableItem;
@ -35,17 +35,17 @@ public:
//M<>todos de conveniencia
QStringList getPaths(const QString & _source);
QString getComicPath(QModelIndex mi);
Comic getComic(const QModelIndex & mi); //--> para la edici<63>n
ComicDB getComic(const QModelIndex & mi); //--> para la edici<63>n
QVector<bool> getReadList();
QVector<bool> setAllComicsRead(bool read);
QList<Comic> getComics(QList<QModelIndex> list); //--> recupera la informaci<63>n com<6F>n a los comics seleccionados
QList<ComicDB> getComics(QList<QModelIndex> list); //--> recupera la informaci<63>n com<6F>n a los comics seleccionados
QModelIndex getIndexFromId(quint64 id);
//setcomicInfo(QModelIndex & mi); --> inserta en la base datos
//setComicInfoForAllComics(); --> inserta la informaci<63>n com<6F>n a todos los c<>mics de una sola vez.
//setComicInfoForSelectedComis(QList<QModelIndex> list); -->inserta la informaci<63>n com<6F>n para los comics seleccionados
private:
void setupModelData( QSqlQuery &sqlquery);
Comic _getComic(const QModelIndex & mi);
ComicDB _getComic(const QModelIndex & mi);
QList<TableItem *> _data;
QString _databasePath;