From 78cd8074942c695ce811e88de28a6072137d8de6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 15 Sep 2020 07:02:36 +0530 Subject: [PATCH] Fix #1895586 [[Enhancement] Show a warning before deleting a bookmark in the Bookmarks panel](https://bugs.launchpad.net/calibre/+bug/1895586) --- src/calibre/gui2/viewer/bookmarks.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/calibre/gui2/viewer/bookmarks.py b/src/calibre/gui2/viewer/bookmarks.py index 42c75b8bdf..6df7e3e87f 100644 --- a/src/calibre/gui2/viewer/bookmarks.py +++ b/src/calibre/gui2/viewer/bookmarks.py @@ -5,7 +5,6 @@ import json from operator import itemgetter - from PyQt5.Qt import ( QAction, QComboBox, QGridLayout, QHBoxLayout, QIcon, QInputDialog, QItemSelectionModel, QLabel, QListWidget, QListWidgetItem, QPushButton, Qt, @@ -13,6 +12,7 @@ from PyQt5.Qt import ( ) from calibre.gui2 import choose_files, choose_save_file +from calibre.gui2.dialogs.confirm_delete import confirm from calibre.gui2.viewer.shortcuts import get_shortcut_for from calibre.gui2.viewer.web_view import vprefs from calibre.utils.date import EPOCH, utcnow @@ -237,13 +237,17 @@ class BookmarkManager(QWidget): item = self.bookmarks_list.currentItem() if item is not None: bm = item.data(Qt.UserRole) - bm['removed'] = True - bm['timestamp'] = utcnow().isoformat() - self.bookmarks_list.blockSignals(True) - item.setData(Qt.UserRole, bm) - self.bookmarks_list.blockSignals(False) - item.setHidden(True) - self.edited.emit(self.get_bookmarks()) + if confirm( + _('Are you sure you want to delete the bookmark: {0}?').format(bm['title']), + 'delete-bookmark-from-viewer', parent=self, config_set=vprefs + ): + bm['removed'] = True + bm['timestamp'] = utcnow().isoformat() + self.bookmarks_list.blockSignals(True) + item.setData(Qt.UserRole, bm) + self.bookmarks_list.blockSignals(False) + item.setHidden(True) + self.edited.emit(self.get_bookmarks()) def edit_bookmark(self): item = self.bookmarks_list.currentItem()