From 7761c6f7b37f7c5689ac989063aee3a177b1d8e3 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Fri, 3 May 2024 16:31:08 +0200 Subject: [PATCH] Context menu takes error states into account --- src/contentmanager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 71f9d9e..2634a3f 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -218,7 +218,8 @@ void ContentManager::onCustomContextMenu(const QPoint &point) QAction menuCancelBook(gt("cancel-download"), this); QAction menuOpenFolder(gt("open-folder"), this); - switch ( getBookState(id) ) { + const auto bookState = getBookState(id); + switch ( bookState ) { case BookState::DOWNLOAD_PAUSED: contextMenu.addAction(&menuResumeBook); contextMenu.addAction(&menuCancelBook); @@ -230,10 +231,14 @@ void ContentManager::onCustomContextMenu(const QPoint &point) break; case BookState::AVAILABLE_LOCALLY_AND_HEALTHY: + case BookState::ERROR_MISSING_ZIM_FILE: + case BookState::ERROR_CORRUPTED_ZIM_FILE: { const auto book = mp_library->getBookById(id); auto bookPath = QString::fromStdString(book.getPath()); - contextMenu.addAction(&menuOpenBook); + if ( bookState == BookState::AVAILABLE_LOCALLY_AND_HEALTHY ) { + contextMenu.addAction(&menuOpenBook); + } contextMenu.addAction(&menuDeleteBook); contextMenu.addAction(&menuOpenFolder); connect(&menuOpenFolder, &QAction::triggered, [=]() {