mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Fixed db Fixed data base info retrieving in FolderModel.
This commit is contained in:
parent
6de499e566
commit
f5fda9b530
@ -317,19 +317,27 @@ void FolderModel::setupModelData(QSqlQuery &sqlquery, FolderItem *parent)
|
|||||||
//se a<>ade el nodo 0
|
//se a<>ade el nodo 0
|
||||||
items.insert(parent->id,parent);
|
items.insert(parent->id,parent);
|
||||||
|
|
||||||
while (sqlquery.next()) {
|
|
||||||
QList<QVariant> data;
|
|
||||||
QSqlRecord record = sqlquery.record();
|
QSqlRecord record = sqlquery.record();
|
||||||
|
|
||||||
data << record.value("name").toString();
|
int name = record.indexOf("name");
|
||||||
data << record.value("path").toString();
|
int path = record.indexOf("path");
|
||||||
data << record.value("finished").toBool();
|
int finished = record.indexOf("finished");
|
||||||
data << record.value("completed").toBool();
|
int completed = record.indexOf("completed");
|
||||||
|
int id = record.indexOf("id");
|
||||||
|
int parentId = record.indexOf("parentId");
|
||||||
|
|
||||||
|
while (sqlquery.next()) {
|
||||||
|
QList<QVariant> data;
|
||||||
|
|
||||||
|
data << sqlquery.value(name).toString();
|
||||||
|
data << sqlquery.value(path).toString();
|
||||||
|
data << sqlquery.value(finished).toBool();
|
||||||
|
data << sqlquery.value(completed).toBool();
|
||||||
FolderItem * item = new FolderItem(data);
|
FolderItem * item = new FolderItem(data);
|
||||||
|
|
||||||
item->id = record.value("id").toULongLong();
|
item->id = sqlquery.value(id).toULongLong();
|
||||||
//la inserci<63>n de hijos se hace de forma ordenada
|
//la inserci<63>n de hijos se hace de forma ordenada
|
||||||
FolderItem * parent = items.value(record.value("parentId").toULongLong());
|
FolderItem * parent = items.value(sqlquery.value(parentId).toULongLong());
|
||||||
//if(parent !=0) //TODO if parent==0 the parent of item was removed from the DB and delete on cascade didn't work, ERROR.
|
//if(parent !=0) //TODO if parent==0 the parent of item was removed from the DB and delete on cascade didn't work, ERROR.
|
||||||
parent->appendChild(item);
|
parent->appendChild(item);
|
||||||
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
||||||
@ -341,20 +349,27 @@ void FolderModel::updateFolderModelData(QSqlQuery &sqlquery, FolderItem *parent)
|
|||||||
{
|
{
|
||||||
Q_UNUSED(parent);
|
Q_UNUSED(parent);
|
||||||
|
|
||||||
while (sqlquery.next()) {
|
|
||||||
QLOG_DEBUG () << "habia next";
|
|
||||||
QList<QVariant> data;
|
|
||||||
QSqlRecord record = sqlquery.record();
|
QSqlRecord record = sqlquery.record();
|
||||||
|
|
||||||
data << record.value("name").toString();
|
int name = record.indexOf("name");
|
||||||
data << record.value("path").toString();
|
int path = record.indexOf("path");
|
||||||
data << record.value("finished").toBool();
|
int finished = record.indexOf("finished");
|
||||||
data << record.value("completed").toBool();
|
int completed = record.indexOf("completed");
|
||||||
|
int id = record.indexOf("id");
|
||||||
|
int parentId = record.indexOf("parentId");
|
||||||
|
|
||||||
|
while (sqlquery.next()) {
|
||||||
|
QList<QVariant> data;
|
||||||
|
|
||||||
|
data << sqlquery.value(name).toString();
|
||||||
|
data << sqlquery.value(path).toString();
|
||||||
|
data << sqlquery.value(finished).toBool();
|
||||||
|
data << sqlquery.value(completed).toBool();
|
||||||
FolderItem * item = new FolderItem(data);
|
FolderItem * item = new FolderItem(data);
|
||||||
|
|
||||||
item->id = record.value("id").toULongLong();
|
item->id = sqlquery.value(id).toULongLong();
|
||||||
//la inserci<63>n de hijos se hace de forma ordenada
|
//la inserci<63>n de hijos se hace de forma ordenada
|
||||||
FolderItem * parent = items.value(record.value("parentId").toULongLong());
|
FolderItem * parent = items.value(sqlquery.value(parentId).toULongLong());
|
||||||
if(parent !=0) //TODO if parent==0 the parent of item was removed from the DB and delete on cascade didn't work, ERROR.
|
if(parent !=0) //TODO if parent==0 the parent of item was removed from the DB and delete on cascade didn't work, ERROR.
|
||||||
parent->appendChild(item);
|
parent->appendChild(item);
|
||||||
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
||||||
@ -727,21 +742,28 @@ void FolderModelProxy::setupFilteredModelData(QSqlQuery &sqlquery, FolderItem *p
|
|||||||
//se a<>ade el nodo 0 al modelo que representa el arbol de elementos que cumplen con el filtro
|
//se a<>ade el nodo 0 al modelo que representa el arbol de elementos que cumplen con el filtro
|
||||||
filteredItems.insert(parent->id,parent);
|
filteredItems.insert(parent->id,parent);
|
||||||
|
|
||||||
|
QSqlRecord record = sqlquery.record();
|
||||||
|
|
||||||
|
int name = record.indexOf("name");
|
||||||
|
int path = record.indexOf("path");
|
||||||
|
int finished = record.indexOf("finished");
|
||||||
|
int completed = record.indexOf("completed");
|
||||||
|
int parentIdIndex = record.indexOf("parentId");
|
||||||
|
|
||||||
while (sqlquery.next()) { //se procesan todos los folders que cumplen con el filtro
|
while (sqlquery.next()) { //se procesan todos los folders que cumplen con el filtro
|
||||||
//datos de la base de datos
|
//datos de la base de datos
|
||||||
QList<QVariant> data;
|
QList<QVariant> data;
|
||||||
QSqlRecord record = sqlquery.record();
|
|
||||||
|
|
||||||
data << record.value("name").toString();
|
data << sqlquery.value(name).toString();
|
||||||
data << record.value("path").toString();
|
data << sqlquery.value(path).toString();
|
||||||
data << record.value("finished").toBool();
|
data << sqlquery.value(finished).toBool();
|
||||||
data << record.value("completed").toBool();
|
data << sqlquery.value(completed).toBool();
|
||||||
|
|
||||||
FolderItem * item = new FolderItem(data);
|
FolderItem * item = new FolderItem(data);
|
||||||
item->id = sqlquery.value(0).toULongLong();
|
item->id = sqlquery.value(0).toULongLong();
|
||||||
|
|
||||||
//id del padre
|
//id del padre
|
||||||
quint64 parentId = record.value("parentId").toULongLong();
|
quint64 parentId = sqlquery.value(parentIdIndex).toULongLong();
|
||||||
|
|
||||||
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
//se a<>ade el item al map, de forma que se pueda encontrar como padre en siguientes iteraciones
|
||||||
if(!filteredItems.contains(item->id))
|
if(!filteredItems.contains(item->id))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user