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