mirror of
https://github.com/YACReader/yacreader
synced 2025-07-27 01:15:07 -04:00
Refactorizaci?n para mover c?digo de LibraryWindow a TableModel
This commit is contained in:
@ -33,6 +33,10 @@ QVariant TableItem::data(int column) const
|
||||
}
|
||||
//! [6]
|
||||
|
||||
void TableItem::setData(int column,const QVariant & value)
|
||||
{
|
||||
itemData[column] = value;
|
||||
}
|
||||
|
||||
//! [8]
|
||||
int TableItem::row() const
|
||||
|
@ -12,6 +12,7 @@ public:
|
||||
~TableItem();
|
||||
int columnCount() const;
|
||||
QVariant data(int column) const;
|
||||
void setData(int column,const QVariant & value);
|
||||
int row() const;
|
||||
unsigned long long int id; //TODO sustituir por una clase adecuada
|
||||
//Comic comic;
|
||||
|
@ -347,7 +347,7 @@ QVector<bool> TableModel::setAllComicsRead(bool read)
|
||||
for(int i=0;i<numComics;i++)
|
||||
{
|
||||
readList[i] = read;
|
||||
_data.value(i)->data(READ) = QVariant(true);
|
||||
_data.value(i)->setData(READ,QVariant(read));
|
||||
ComicDB c;
|
||||
c.load(_data.value(i)->data(ID).toULongLong(),db);
|
||||
c.info.read = read;
|
||||
@ -377,6 +377,45 @@ QList<ComicDB> TableModel::getComics(QList<QModelIndex> list)
|
||||
return comics;
|
||||
}
|
||||
|
||||
QVector<bool> TableModel::setComicsRead(QList<QModelIndex> list,bool read)
|
||||
{
|
||||
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||
db.transaction();
|
||||
foreach (QModelIndex mi, list)
|
||||
{
|
||||
_data.value(mi.row())->setData(READ, QVariant(read));
|
||||
ComicDB c;
|
||||
c.load(_data.value(mi.row())->data(ID).toULongLong(),db);
|
||||
c.info.read = read;
|
||||
c.info.update(db);
|
||||
}
|
||||
db.commit();
|
||||
db.close();
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
|
||||
return getReadList();
|
||||
}
|
||||
qint64 TableModel::asignNumbers(QList<QModelIndex> list,int startingNumber)
|
||||
{
|
||||
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||
db.transaction();
|
||||
qint64 idFirst = _data.value(list[0].row())->data(ID).toULongLong();
|
||||
int i = 0;
|
||||
foreach (QModelIndex mi, list)
|
||||
{
|
||||
ComicDB c;
|
||||
c.load(_data.value(mi.row())->data(ID).toULongLong(),db);
|
||||
c.info.setNumber(startingNumber+i);
|
||||
c.info.edited = true;
|
||||
c.info.update(db);
|
||||
i++;
|
||||
}
|
||||
|
||||
db.commit();
|
||||
db.close();
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
return idFirst;
|
||||
}
|
||||
QModelIndex TableModel::getIndexFromId(quint64 id)
|
||||
{
|
||||
QList<TableItem *>::ConstIterator itr;
|
||||
|
@ -43,6 +43,8 @@ public:
|
||||
//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
|
||||
QVector<bool> setComicsRead(QList<QModelIndex> list,bool read);
|
||||
qint64 asignNumbers(QList<QModelIndex> list,int startingNumber);
|
||||
private:
|
||||
void setupModelData( QSqlQuery &sqlquery);
|
||||
ComicDB _getComic(const QModelIndex & mi);
|
||||
|
Reference in New Issue
Block a user