diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index a58480e791..6919800ca4 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -470,12 +470,14 @@ class TagsModel(QAbstractItemModel): # {{{ self.prefs['tags_browser_value_icons'] =self.value_icons self._remove_icon_file(file_name) - def remove_all_value_icons(self, key): + def remove_all_value_icons(self, key, keep_template=True): self.value_icons = self.prefs['tags_browser_value_icons'] values = self.value_icons.pop(key, {}) self.value_icons[key] = {} + template = values.pop(TEMPLATE_ICON_INDICATOR, None) + if keep_template and template is not None: + self.value_icons[key][TEMPLATE_ICON_INDICATOR] = template self.prefs['tags_browser_value_icons'] = self.value_icons - values.pop(TEMPLATE_ICON_INDICATOR, None) for file_name,child in values.values(): self._remove_icon_file(file_name) diff --git a/src/calibre/gui2/tag_browser/view.py b/src/calibre/gui2/tag_browser/view.py index a9fd94ef8f..a8fd07ff17 100644 --- a/src/calibre/gui2/tag_browser/view.py +++ b/src/calibre/gui2/tag_browser/view.py @@ -735,7 +735,7 @@ class TagsView(QTreeView): # {{{ return if action == 'clear_icon': if extra == 'all': - self._model.remove_all_value_icons(key) + self._model.remove_all_value_icons(key, keep_template=True) elif extra == 'value': if index is not None: val, icon_name = make_icon_name(key, index) @@ -1298,7 +1298,7 @@ class TagsView(QTreeView): # {{{ key=key, index=None, category=category, extra='value')) ma.setEnabled(self._model.value_icons.get(key, {}).get(TEMPLATE_ICON_INDICATOR) is not None) im.addSection(_('All values')) - ma = im.addAction(_('Reset all value icons to category icon'), + ma = im.addAction(_('Reset all value icons to the default icon'), partial(self.context_menu_handler, action='clear_icon', key=key, index=None, category=category, extra='all')) im.addSeparator()