corregido marcar/desmarcar como leido cuando hay selecci?n m?ltiple

This commit is contained in:
Luis Ángel San Martín 2013-05-02 21:32:00 +02:00
parent 2cb4b753f7
commit 5b49bcb363
2 changed files with 29 additions and 25 deletions

View File

@ -906,20 +906,40 @@ void LibraryWindow::openComic()
} }
} }
void LibraryWindow::setCurrentComicReaded() void LibraryWindow::setCurrentComicsStatusReaded(bool readed)
{ {
comicFlow->markSlide(comicFlow->centerIndex()); QModelIndexList indexList = comicView->selectionModel()->selectedRows();
QList<ComicDB> comics = dmCV->getComics(indexList);
foreach (QModelIndex mi, indexList)
{
if(readed)
comicFlow->markSlide(mi.row());
else
comicFlow->unmarkSlide(mi.row());
}
comicFlow->updateMarks(); comicFlow->updateMarks();
ComicDB c = dmCV->getComic(comicView->currentIndex());
c.info.read = true;
QSqlDatabase db = DataBaseManagement::loadDatabase(dm->getDatabase()); QSqlDatabase db = DataBaseManagement::loadDatabase(dm->getDatabase());
db.open(); db.open();
c.info.updateRead(db); db.transaction();
foreach (ComicDB c, comics)
{
c.info.read = readed;
c.info.updateRead(db);
}
db.commit();
db.close(); db.close();
QSqlDatabase::removeDatabase(dm->getDatabase()); QSqlDatabase::removeDatabase(dm->getDatabase());
} }
void LibraryWindow::setCurrentComicReaded()
{
this->setCurrentComicsStatusReaded(true);
}
void LibraryWindow::setComicsReaded() void LibraryWindow::setComicsReaded()
{ {
comicFlow->setMarks(dmCV->setAllComicsRead(true)); comicFlow->setMarks(dmCV->setAllComicsRead(true));
@ -928,17 +948,7 @@ void LibraryWindow::setComicsReaded()
void LibraryWindow::setCurrentComicUnreaded() void LibraryWindow::setCurrentComicUnreaded()
{ {
comicFlow->unmarkSlide(comicFlow->centerIndex()); this->setCurrentComicsStatusReaded(false);
comicFlow->updateMarks();
ComicDB c = dmCV->getComic(comicView->currentIndex());
c.info.read = false;
QSqlDatabase db = DataBaseManagement::loadDatabase(dm->getDatabase());
db.open();
c.info.updateRead(db);
db.close();
QSqlDatabase::removeDatabase(dm->getDatabase());
} }
void LibraryWindow::setComicsUnreaded() void LibraryWindow::setComicsUnreaded()
@ -1169,8 +1179,6 @@ void LibraryWindow::toggleFullScreen()
void LibraryWindow::toFullScreen() void LibraryWindow::toFullScreen()
{ {
fromMaximized = this->isMaximized();
comicFlow->hide(); comicFlow->hide();
comicFlow->setSlideSize(slideSizeF); comicFlow->setSlideSize(slideSizeF);
comicFlow->setCenterIndex(comicFlow->centerIndex()); comicFlow->setCenterIndex(comicFlow->centerIndex());
@ -1201,10 +1209,7 @@ void LibraryWindow::toNormal()
libraryToolBar->show(); libraryToolBar->show();
comicFlow->show(); comicFlow->show();
if(fromMaximized) showNormal();
showMaximized();
else
showNormal();
} }
void LibraryWindow::setFoldersFilter(QString filter) void LibraryWindow::setFoldersFilter(QString filter)
@ -1484,5 +1489,5 @@ QString LibraryWindow::getFolderName(const QString & libraryName, qulonglong id)
void LibraryWindow::closeEvent ( QCloseEvent * event ) void LibraryWindow::closeEvent ( QCloseEvent * event )
{ {
settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry()); settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry());
//settings->setValue(MAIN_WINDOW_STATE, saveState()); settings->setValue(MAIN_WINDOW_STATE, saveState());
} }

View File

@ -50,8 +50,6 @@ private:
PropertiesDialog * propertiesDialog; PropertiesDialog * propertiesDialog;
bool fullscreen; bool fullscreen;
bool importedCovers; //if true, the library is read only (not updates,open comic or properties) bool importedCovers; //if true, the library is read only (not updates,open comic or properties)
bool fromMaximized;
//Ya no se usan proxies, el rendimiento de la BD es suficiente //Ya no se usan proxies, el rendimiento de la BD es suficiente
//YACReaderTreeSearch * proxyFilter; //YACReaderTreeSearch * proxyFilter;
//YACReaderSortComics * proxySort; //YACReaderSortComics * proxySort;
@ -202,6 +200,7 @@ public:
void importLibrary(QString clc,QString destPath,QString name); void importLibrary(QString clc,QString destPath,QString name);
void reloadOptions(); void reloadOptions();
void updateFoldersView(QString); void updateFoldersView(QString);
void setCurrentComicsStatusReaded(bool readed);
void setCurrentComicReaded(); void setCurrentComicReaded();
void setCurrentComicUnreaded(); void setCurrentComicUnreaded();
void setComicsReaded(); void setComicsReaded();