mirror of
https://github.com/YACReader/yacreader
synced 2025-12-06 09:22:46 -05:00
YACReaderTableView, no se usar? de momento (custom_widgets.h)
toLongLong cambiado por toULongLong antes de la edici?n se guarda el id del c?mic, o el id del primer c?mic, para restaurar posteriormente la posici?n de comicsView y comicFlow cambios en el orden en el que se a?aden las nueva bibliotecas a selectedLibrary y se cargan
This commit is contained in:
@ -45,8 +45,8 @@ QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabas
|
||||
data << record.value(i);
|
||||
//TODO sort by sort indicator and name
|
||||
currentItem = new Comic();
|
||||
currentItem->id = record.value("id").toLongLong();
|
||||
currentItem->parentId = record.value(1).toLongLong();
|
||||
currentItem->id = record.value("id").toULongLong();
|
||||
currentItem->parentId = record.value(1).toULongLong();
|
||||
currentItem->name = record.value(2).toString();
|
||||
currentItem->path = record.value(3).toString();
|
||||
currentItem->info.load(record.value(4).toString(),db);
|
||||
@ -77,19 +77,19 @@ QList<LibraryItem *> Comic::getComicsFromParent(qulonglong parentId, QSqlDatabas
|
||||
return list;
|
||||
}
|
||||
|
||||
bool Comic::load(qulonglong id, QSqlDatabase & db)
|
||||
bool Comic::load(qulonglong idc, QSqlDatabase & db)
|
||||
{
|
||||
|
||||
QSqlQuery selectQuery(db); //TODO check
|
||||
selectQuery.prepare("select c.id,c.parentId,c.fileName,c.path,ci.hash from comic c inner join comic_info ci on (c.comicInfoId = ci.id) where c.id = :id");
|
||||
selectQuery.bindValue(":id", id);
|
||||
selectQuery.bindValue(":id", idc);
|
||||
selectQuery.exec();
|
||||
|
||||
this->id = idc;
|
||||
if(selectQuery.next())
|
||||
{
|
||||
QSqlRecord record = selectQuery.record();
|
||||
id = record.value("id").toLongLong();
|
||||
parentId = record.value("parentId").toLongLong();
|
||||
//id = record.value("id").toULongLong();
|
||||
parentId = record.value("parentId").toULongLong();
|
||||
name = record.value("name").toString();
|
||||
info.load(record.value("hash").toString(),db);
|
||||
return true;
|
||||
@ -107,11 +107,12 @@ qulonglong Comic::insert(QSqlDatabase & db)
|
||||
if(!info.existOnDb)
|
||||
{
|
||||
QSqlQuery comicInfoInsert(db);
|
||||
comicInfoInsert.prepare("INSERT INTO comic_info (hash) "
|
||||
"VALUES (:hash)");
|
||||
comicInfoInsert.prepare("INSERT INTO comic_info (hash,numPages) "
|
||||
"VALUES (:hash,:numPages)");
|
||||
comicInfoInsert.bindValue(":hash", info.hash);
|
||||
comicInfoInsert.bindValue(":numPages", *info.numPages);
|
||||
comicInfoInsert.exec();
|
||||
info.id =comicInfoInsert.lastInsertId().toLongLong();
|
||||
info.id =comicInfoInsert.lastInsertId().toULongLong();
|
||||
_hasCover = false;
|
||||
}
|
||||
else
|
||||
@ -125,7 +126,7 @@ qulonglong Comic::insert(QSqlDatabase & db)
|
||||
query.bindValue(":name", name);
|
||||
query.bindValue(":path", path);
|
||||
query.exec();
|
||||
return query.lastInsertId().toLongLong();
|
||||
return query.lastInsertId().toULongLong();
|
||||
}
|
||||
|
||||
void Comic::update(QSqlDatabase & db)
|
||||
@ -376,7 +377,7 @@ bool ComicInfo::load(QString hash, QSqlDatabase & db)
|
||||
QSqlRecord record = findComicInfo.record();
|
||||
|
||||
hash = hash;
|
||||
id = record.value("id").toLongLong();
|
||||
id = record.value("id").toULongLong();
|
||||
read = record.value("read").toBool();
|
||||
edited = record.value("edited").toBool();
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ qulonglong Folder::insert(QSqlDatabase & db)
|
||||
query.bindValue(":name", name);
|
||||
query.bindValue(":path", path);
|
||||
query.exec();
|
||||
return query.lastInsertId().toLongLong();
|
||||
return query.lastInsertId().toULongLong();
|
||||
}
|
||||
|
||||
QList<LibraryItem *> Folder::getFoldersFromParent(qulonglong parentId, QSqlDatabase & db)
|
||||
@ -33,7 +33,7 @@ QList<LibraryItem *> Folder::getFoldersFromParent(qulonglong parentId, QSqlDatab
|
||||
for(int i=0;i<record.count();i++)
|
||||
data << record.value(i);
|
||||
//TODO sort by sort indicator and name
|
||||
currentItem = new Folder(record.value("id").toLongLong(),record.value("parentId").toLongLong(),record.value("name").toString(),record.value("path").toString());
|
||||
currentItem = new Folder(record.value("id").toULongLong(),record.value("parentId").toULongLong(),record.value("name").toString(),record.value("path").toString());
|
||||
int lessThan = 0;
|
||||
if(list.isEmpty())
|
||||
list.append(currentItem);
|
||||
|
||||
@ -187,7 +187,7 @@ void TableModel::setupModelData(unsigned long long int folderId,const QString &
|
||||
QString TableModel::getComicPath(QModelIndex mi)
|
||||
{
|
||||
if(mi.isValid())
|
||||
return _data.at(mi.row())->data(6).toString();
|
||||
return _data.at(mi.row())->data(PATH).toString();
|
||||
return "";
|
||||
}
|
||||
void TableModel::setupModelData(QSqlQuery &sqlquery)
|
||||
@ -231,7 +231,7 @@ Comic TableModel::getComic(const QModelIndex & mi)
|
||||
Comic c;
|
||||
|
||||
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||
c.load(_data.at(mi.row())->data(ID).toLongLong(),db);
|
||||
c.load(_data.at(mi.row())->data(ID).toULongLong(),db);
|
||||
db.close();
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
|
||||
@ -243,7 +243,7 @@ Comic TableModel::_getComic(const QModelIndex & mi)
|
||||
Comic c;
|
||||
|
||||
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||
c.load(_data.at(mi.row())->data(ID).toLongLong(),db);
|
||||
c.load(_data.at(mi.row())->data(ID).toULongLong(),db);
|
||||
db.close();
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
|
||||
@ -275,7 +275,7 @@ QVector<bool> TableModel::setAllComicsRead(bool read)
|
||||
readList[i] = read;
|
||||
_data.value(i)->data(READ) = QVariant(true);
|
||||
Comic c;
|
||||
c.load(_data.value(i)->data(ID).toLongLong(),db);
|
||||
c.load(_data.value(i)->data(ID).toULongLong(),db);
|
||||
c.info.read = read;
|
||||
c.info.update(db);
|
||||
}
|
||||
@ -301,4 +301,18 @@ QList<Comic> TableModel::getComics(QList<QModelIndex> list)
|
||||
db.close();
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
return comics;
|
||||
}
|
||||
|
||||
QModelIndex TableModel::getIndexFromId(quint64 id)
|
||||
{
|
||||
QList<TableItem *>::ConstIterator itr;
|
||||
int i=0;
|
||||
for(itr = _data.constBegin();itr != _data.constEnd();itr++)
|
||||
{
|
||||
if((*itr)->data(ID).toULongLong() == id)
|
||||
break;
|
||||
i++;
|
||||
}
|
||||
|
||||
return index(i,0);
|
||||
}
|
||||
@ -39,6 +39,7 @@ public:
|
||||
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
|
||||
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
|
||||
|
||||
@ -245,9 +245,9 @@ void TreeModel::setupModelData(QSqlQuery &sqlquery, TreeItem *parent)
|
||||
data << record.value("path").toString();
|
||||
TreeItem * item = new TreeItem(data);
|
||||
|
||||
item->id = record.value("id").toLongLong();
|
||||
item->id = record.value("id").toULongLong();
|
||||
//la inserci<63>n de hijos se hace de forma ordenada
|
||||
items.value(record.value("parentId").toLongLong())->appendChild(item);
|
||||
items.value(record.value("parentId").toULongLong())->appendChild(item);
|
||||
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
||||
items.insert(item->id,item);
|
||||
}
|
||||
@ -315,10 +315,10 @@ void TreeModel::setupFilteredModelData(QSqlQuery &sqlquery, TreeItem *parent)
|
||||
data << record.value("name").toString();
|
||||
data << record.value("path").toString();
|
||||
TreeItem * item = new TreeItem(data);
|
||||
item->id = sqlquery.value(0).toLongLong();
|
||||
item->id = sqlquery.value(0).toULongLong();
|
||||
|
||||
//id del padre
|
||||
quint64 parentId = record.value("parentId").toLongLong();
|
||||
quint64 parentId = record.value("parentId").toULongLong();
|
||||
|
||||
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
||||
if(!filteredItems.contains(item->id))
|
||||
|
||||
Reference in New Issue
Block a user