diff --git a/YACReaderLibrary/db/tableitem.cpp b/YACReaderLibrary/db/tableitem.cpp index c1a4e21f..7c85c3b4 100644 --- a/YACReaderLibrary/db/tableitem.cpp +++ b/YACReaderLibrary/db/tableitem.cpp @@ -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 diff --git a/YACReaderLibrary/db/tableitem.h b/YACReaderLibrary/db/tableitem.h index a25616ac..847be8bc 100644 --- a/YACReaderLibrary/db/tableitem.h +++ b/YACReaderLibrary/db/tableitem.h @@ -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; diff --git a/YACReaderLibrary/db/tablemodel.cpp b/YACReaderLibrary/db/tablemodel.cpp index d651235d..d24df72e 100644 --- a/YACReaderLibrary/db/tablemodel.cpp +++ b/YACReaderLibrary/db/tablemodel.cpp @@ -347,7 +347,7 @@ QVector TableModel::setAllComicsRead(bool read) for(int i=0;idata(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 TableModel::getComics(QList list) return comics; } +QVector TableModel::setComicsRead(QList 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 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::ConstIterator itr; diff --git a/YACReaderLibrary/db/tablemodel.h b/YACReaderLibrary/db/tablemodel.h index 5cff3f11..62b80960 100644 --- a/YACReaderLibrary/db/tablemodel.h +++ b/YACReaderLibrary/db/tablemodel.h @@ -43,6 +43,8 @@ public: //setcomicInfo(QModelIndex & mi); --> inserta en la base datos //setComicInfoForAllComics(); --> inserta la información común a todos los cómics de una sola vez. //setComicInfoForSelectedComis(QList list); -->inserta la información común para los comics seleccionados + QVector setComicsRead(QList list,bool read); + qint64 asignNumbers(QList list,int startingNumber); private: void setupModelData( QSqlQuery &sqlquery); ComicDB _getComic(const QModelIndex & mi); diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 4ddc1b8e..12c1f2c5 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -356,10 +356,6 @@ void LibraryWindow::createActions() renameLibraryAction->setShortcut(Qt::Key_R); renameLibraryAction->setIcon(QIcon(":/images/edit.png")); - /*deleteLibraryAction = new QAction(this); - deleteLibraryAction->setToolTip(tr("Delete current library from disk")); - deleteLibraryAction->setIcon(QIcon(":/images/deleteLibrary.png"));*/ - removeLibraryAction = new QAction(this); removeLibraryAction->setToolTip(tr("Remove current library from your collection")); removeLibraryAction->setIcon(QIcon(":/images/removeLibrary.png")); @@ -986,31 +982,8 @@ void LibraryWindow::openComic() void LibraryWindow::setCurrentComicsStatusReaded(bool readed) { - QModelIndexList indexList = comicView->selectionModel()->selectedRows(); - - QList comics = dmCV->getComics(indexList); - - foreach (QModelIndex mi, indexList) - { - if(readed) - comicFlow->markSlide(mi.row()); - else - comicFlow->unmarkSlide(mi.row()); - - } + comicFlow->setMarks(dmCV->setComicsRead(comicView->selectionModel()->selectedRows(),readed)); comicFlow->updateMarks(); - - QSqlDatabase db = DataBaseManagement::loadDatabase(dm->getDatabase()); - db.open(); - db.transaction(); - foreach (ComicDB c, comics) - { - c.info.read = readed; - c.info.updateRead(db); - } - db.commit(); - db.close(); - QSqlDatabase::removeDatabase(dm->getDatabase()); } void LibraryWindow::setCurrentComicReaded() @@ -1335,39 +1308,18 @@ void LibraryWindow::asignNumbers() { QModelIndexList indexList = comicView->selectionModel()->selectedRows(); - QList comics = dmCV->getComics(indexList); - ComicDB c = comics[0]; - _comicIdEdited = c.id; - - int startingNumber = dmCV->getIndexFromId(comics[0].id).row()+1; - if(comics.count()>1) + int startingNumber = indexList[0].row()+1; + if(indexList.count()>1) { bool ok; int n = QInputDialog::getInt(this, tr("Asign comics numbers"), - tr("Asign numbers starting in:"), dmCV->getIndexFromId(comics[0].id).row()+1,0,2147483647,1,&ok); + tr("Asign numbers starting in:"), startingNumber,0,2147483647,1,&ok); if (ok) startingNumber = n; else return; } - - QSqlDatabase db = DataBaseManagement::loadDatabase(dm->getDatabase()); - db.transaction(); - - for(int i = 0;igetDatabase()); + _comicIdEdited = dmCV->asignNumbers(indexList,startingNumber); reloadCovers(); } diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 1e27518c..12d22aa7 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -114,7 +114,6 @@ private: QAction * importLibraryAction; QAction * updateLibraryAction; - //QAction * deleteLibraryAction; QAction * removeLibraryAction; QAction * helpAboutAction; QAction * renameLibraryAction; diff --git a/release/server/logs/debug.log b/release/server/logs/debug.log deleted file mode 100644 index e69de29b..00000000 diff --git a/release/server/logs/main.log b/release/server/logs/main.log deleted file mode 100644 index e69de29b..00000000