From fec7d8bddfea6f3726154cac9bb97108085acd12 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 22 Feb 2024 11:31:20 +0530 Subject: [PATCH] Allow deleting saved profiles from toolbar button --- src/calibre/gui2/viewer/toolbars.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/calibre/gui2/viewer/toolbars.py b/src/calibre/gui2/viewer/toolbars.py index 5b0403f588..f8ebea7ed6 100644 --- a/src/calibre/gui2/viewer/toolbars.py +++ b/src/calibre/gui2/viewer/toolbars.py @@ -370,12 +370,24 @@ class ActionsToolBar(ToolBar): a(profile_name) m.addSeparator() m.addAction(_('Save current settings as a profile')).triggered.connect(self.save_profile) + if len(self.profiles) > 1: + s = m.addMenu(_('Delete saved profile...')) + for pname in self.profiles: + if pname != '__default__': + a = s.addAction(pname) + a.setObjectName(f'profile-delete-action:{pname}') + a.triggered.connect(self.profile_delete_triggerred) def profile_switch_triggered(self): key = self.sender().objectName().partition(':')[-1] profile = self.profiles[key] self.web_view.profile_op('apply-profile', key, profile) + def profile_delete_triggerred(self): + key = self.sender().objectName().partition(':')[-1] + from calibre.gui2.viewer.config import save_viewer_profile + save_viewer_profile(key, None, 'viewer:') + def save_profile(self): name, ok = QInputDialog.getText(self, _('Enter name of profile to create'), _('&Name of profile')) if ok: