MCPcopy Create free account
hub / github.com/YACReader/yacreader / deleteComicsFromDisk

Method deleteComicsFromDisk

YACReaderLibrary/library_window.cpp:2514–2549  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2512}
2513
2514void LibraryWindow::deleteComicsFromDisk()
2515{
2516 int ret = QMessageBox::question(this, tr("Delete comics"), tr("All the selected comics will be deleted from your disk. Are you sure?"), QMessageBox::Yes, QMessageBox::No);
2517
2518 if (ret == QMessageBox::Yes) {
2519
2520 QModelIndexList indexList = getSelectedComics();
2521
2522 QList<ComicDB> comics = comicsModel->getComics(indexList);
2523
2524 QList<QString> paths;
2525 QString libraryPath = currentPath();
2526 for (const auto &comic : comics) {
2527 paths.append(libraryPath + comic.path);
2528 QLOG_TRACE() << comic.path;
2529 QLOG_TRACE() << comic.id;
2530 QLOG_TRACE() << comic.parentId;
2531 }
2532
2533 auto remover = new ComicsRemover(indexList, paths, comics.at(0).parentId);
2534 const auto thread = new QThread(this);
2535 moveAndConnectRemoverToThread(remover, thread);
2536
2537 comicsModel->startTransaction();
2538
2539 connect(remover, &ComicsRemover::remove, comicsModel, &ComicModel::remove);
2540 connect(remover, &ComicsRemover::removeError, this, &LibraryWindow::setRemoveError);
2541 connect(remover, &ComicsRemover::finished, comicsModel, &ComicModel::finishTransaction);
2542 connect(remover, &ComicsRemover::removedItemsFromFolder, foldersModel, &FolderModel::updateFolderChildrenInfo);
2543
2544 connect(remover, &ComicsRemover::finished, this, &LibraryWindow::checkEmptyFolder);
2545 connect(remover, &ComicsRemover::finished, this, &LibraryWindow::checkRemoveError);
2546
2547 thread->start();
2548 }
2549}
2550
2551void LibraryWindow::deleteComicsFromList()
2552{

Callers

nothing calls this directly

Calls 4

startTransactionMethod · 0.80
startMethod · 0.80
getComicsMethod · 0.45

Tested by

no test coverage detected