mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Make sure that the changes made to folders are propagated to the subfolder model in FolderContentView
This commit is contained in:
parent
23deb889b9
commit
00f7d92c9a
@ -378,9 +378,11 @@ void FolderModel::updateFolderCompletedStatus(const QModelIndexList &list, bool
|
||||
auto item = static_cast<FolderItem *>(mi.internalPointer());
|
||||
item->setData(FolderModel::Completed, status);
|
||||
|
||||
Folder f = DBHelper::loadFolder(item->id, db);
|
||||
f.setCompleted(status);
|
||||
DBHelper::update(f, db);
|
||||
if (!isSubfolder) {
|
||||
Folder f = DBHelper::loadFolder(item->id, db);
|
||||
f.setCompleted(status);
|
||||
DBHelper::update(f, db);
|
||||
}
|
||||
}
|
||||
db.commit();
|
||||
connectionName = db.connectionName();
|
||||
@ -400,9 +402,11 @@ void FolderModel::updateFolderFinishedStatus(const QModelIndexList &list, bool s
|
||||
auto item = static_cast<FolderItem *>(mi.internalPointer());
|
||||
item->setData(FolderModel::Finished, status);
|
||||
|
||||
Folder f = DBHelper::loadFolder(item->id, db);
|
||||
f.setFinished(status);
|
||||
DBHelper::update(f, db);
|
||||
if (!isSubfolder) {
|
||||
Folder f = DBHelper::loadFolder(item->id, db);
|
||||
f.setFinished(status);
|
||||
DBHelper::update(f, db);
|
||||
}
|
||||
}
|
||||
db.commit();
|
||||
connectionName = db.connectionName();
|
||||
@ -432,7 +436,9 @@ void FolderModel::updateFolderManga(const QModelIndexList &list, bool manga)
|
||||
|
||||
setManga(item, manga);
|
||||
|
||||
DBHelper::updateFolderTreeManga(item->id, db, manga);
|
||||
if (!isSubfolder) {
|
||||
DBHelper::updateFolderTreeManga(item->id, db, manga);
|
||||
}
|
||||
}
|
||||
db.commit();
|
||||
connectionName = db.connectionName();
|
||||
|
@ -23,6 +23,7 @@ public:
|
||||
void setModel(const QModelIndex &parent, FolderModel *model);
|
||||
void setContinueReadingModel(ComicModel *model);
|
||||
|
||||
FolderModel *currentFolderModel() { return folderModel; }
|
||||
signals:
|
||||
void subfolderSelected(QModelIndex, int);
|
||||
void openComic(const ComicDB &comic, const ComicModel::Mode mode);
|
||||
|
@ -1831,6 +1831,8 @@ void LibraryWindow::showGridFoldersContextMenu(QPoint point, Folder folder)
|
||||
else
|
||||
menu.addAction(setFolderAsMangaAction);
|
||||
|
||||
auto subfolderModel = comicsViewsManager->folderContentView->currentFolderModel();
|
||||
|
||||
// TODO update the subfolder model loaded in folderContentView
|
||||
connect(openContainingFolderAction, &QAction::triggered, this, [=]() {
|
||||
QDesktopServices::openUrl(QUrl("file:///" + QDir::cleanPath(currentPath() + "/" + folder.path), QUrl::TolerantMode));
|
||||
@ -1840,21 +1842,27 @@ void LibraryWindow::showGridFoldersContextMenu(QPoint point, Folder folder)
|
||||
});
|
||||
connect(setFolderAsNotCompletedAction, &QAction::triggered, this, [=]() {
|
||||
foldersModel->updateFolderCompletedStatus(QModelIndexList() << foldersModel->getIndexFromFolder(folder), false);
|
||||
subfolderModel->updateFolderCompletedStatus(QModelIndexList() << subfolderModel->getIndexFromFolder(folder), false);
|
||||
});
|
||||
connect(setFolderAsCompletedAction, &QAction::triggered, this, [=]() {
|
||||
foldersModel->updateFolderCompletedStatus(QModelIndexList() << foldersModel->getIndexFromFolder(folder), true);
|
||||
subfolderModel->updateFolderCompletedStatus(QModelIndexList() << subfolderModel->getIndexFromFolder(folder), true);
|
||||
});
|
||||
connect(setFolderAsReadAction, &QAction::triggered, this, [=]() {
|
||||
foldersModel->updateFolderFinishedStatus(QModelIndexList() << foldersModel->getIndexFromFolder(folder), true);
|
||||
subfolderModel->updateFolderFinishedStatus(QModelIndexList() << subfolderModel->getIndexFromFolder(folder), true);
|
||||
});
|
||||
connect(setFolderAsUnreadAction, &QAction::triggered, this, [=]() {
|
||||
foldersModel->updateFolderFinishedStatus(QModelIndexList() << foldersModel->getIndexFromFolder(folder), false);
|
||||
subfolderModel->updateFolderFinishedStatus(QModelIndexList() << subfolderModel->getIndexFromFolder(folder), false);
|
||||
});
|
||||
connect(setFolderAsMangaAction, &QAction::triggered, this, [=]() {
|
||||
foldersModel->updateFolderManga(QModelIndexList() << foldersModel->getIndexFromFolder(folder), true);
|
||||
subfolderModel->updateFolderManga(QModelIndexList() << subfolderModel->getIndexFromFolder(folder), true);
|
||||
});
|
||||
connect(setFolderAsNormalAction, &QAction::triggered, this, [=]() {
|
||||
foldersModel->updateFolderManga(QModelIndexList() << foldersModel->getIndexFromFolder(folder), false);
|
||||
subfolderModel->updateFolderManga(QModelIndexList() << subfolderModel->getIndexFromFolder(folder), false);
|
||||
});
|
||||
|
||||
menu.exec(comicsViewsManager->folderContentView->mapToGlobal(point));
|
||||
|
Loading…
Reference in New Issue
Block a user