Fixed data base info retrieving in ReadingListModel.

This commit is contained in:
Luis Ángel San Martín
2017-08-26 16:17:54 +02:00
parent f5fda9b530
commit 8b20014cc8

View File

@ -596,21 +596,29 @@ void ReadingListModel::setupReadingListsData(QSqlQuery &sqlquery, ReadingListIte
{ {
items.insert(parent->getId(),parent); items.insert(parent->getId(),parent);
QSqlRecord record = sqlquery.record();
int name = record.indexOf("name");
int id = record.indexOf("id");
int finished = record.indexOf("finished");
int completed = record.indexOf("completed");
int ordering = record.indexOf("ordering");
int parentId = record.indexOf("parentId");
while (sqlquery.next()) while (sqlquery.next())
{ {
QSqlRecord record = sqlquery.record();
ReadingListItem * rli = new ReadingListItem(QList<QVariant>() ReadingListItem * rli = new ReadingListItem(QList<QVariant>()
<< record.value("name") << sqlquery.value(name)
<< record.value("id") << sqlquery.value(id)
<< record.value("finished") << sqlquery.value(finished)
<< record.value("completed") << sqlquery.value(completed)
<< record.value("ordering")); << sqlquery.value(ordering));
ReadingListItem * currentParent; ReadingListItem * currentParent;
if(record.value("parentId").isNull()) if(sqlquery.value(parentId).isNull())
currentParent = rootItem; currentParent = rootItem;
else else
currentParent = items.value(record.value("parentId").toULongLong()); currentParent = items.value(sqlquery.value(parentId).toULongLong());
currentParent->appendChild(rli); currentParent->appendChild(rli);
@ -620,14 +628,19 @@ void ReadingListModel::setupReadingListsData(QSqlQuery &sqlquery, ReadingListIte
QList<SpecialListItem *> ReadingListModel::setupSpecialLists(QSqlDatabase & db) QList<SpecialListItem *> ReadingListModel::setupSpecialLists(QSqlDatabase & db)
{ {
QList<SpecialListItem *> list; QList<SpecialListItem *> list;
QSqlQuery selectQuery("SELECT * FROM default_reading_list ORDER BY id,name",db); QSqlQuery selectQuery("SELECT * FROM default_reading_list ORDER BY id,name",db);
QSqlRecord record = selectQuery.record();
int name = record.indexOf("name");
int id = record.indexOf("id");
while(selectQuery.next()) { while(selectQuery.next()) {
QSqlRecord record = selectQuery.record();
list << new SpecialListItem(QList<QVariant>() list << new SpecialListItem(QList<QVariant>()
<< record.value("name") << selectQuery.value(name)
<< record.value("id")); << selectQuery.value(id));
} }
//Reading after Favorites, Why? Because I want to :P //Reading after Favorites, Why? Because I want to :P
@ -638,14 +651,21 @@ QList<SpecialListItem *> ReadingListModel::setupSpecialLists(QSqlDatabase & db)
void ReadingListModel::setupLabels(QSqlDatabase & db) void ReadingListModel::setupLabels(QSqlDatabase & db)
{ {
QSqlQuery selectQuery("SELECT * FROM label ORDER BY ordering,name",db); //TODO add some kind of QSqlQuery selectQuery("SELECT * FROM label ORDER BY ordering,name",db);
QSqlRecord record = selectQuery.record();
int name = record.indexOf("name");
int color = record.indexOf("color");
int id = record.indexOf("id");
int ordering = record.indexOf("ordering");
while(selectQuery.next()) { while(selectQuery.next()) {
QSqlRecord record = selectQuery.record();
addLabelIntoList(new LabelItem(QList<QVariant>() addLabelIntoList(new LabelItem(QList<QVariant>()
<< record.value("name") << selectQuery.value(name)
<< record.value("color") << selectQuery.value(color)
<< record.value("id") << selectQuery.value(id)
<< record.value("ordering"))); << selectQuery.value(ordering)));
} }
//TEST //TEST