mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Bug 1996649: Enhancement: Tag Browser: Use search folder icon when appropriate
This commit is contained in:
parent
c3778f5a02
commit
1fc7cdd2f5
@ -119,6 +119,8 @@ class TagTreeItem: # {{{
|
||||
else:
|
||||
if self.is_gst:
|
||||
cc = self.category_custom_icons.get(self.root_node().category_key, None)
|
||||
elif self.tag.category == 'search' and not self.tag.is_searchable:
|
||||
cc = self.category_custom_icons.get('search_folder:', None)
|
||||
else:
|
||||
cc = self.category_custom_icons.get(self.tag.category, None)
|
||||
elif self.type == self.CATEGORY:
|
||||
@ -451,6 +453,8 @@ class TagsModel(QAbstractItemModel): # {{{
|
||||
data = self._get_category_nodes(config['sort_tags_by'])
|
||||
gst = self.db.new_api.pref('grouped_search_terms', {})
|
||||
|
||||
if self.category_custom_icons.get('search_folder:', None) is None:
|
||||
self.category_custom_icons['search_folder:'] = QIcon.ic('folder_saved_search')
|
||||
last_category_node = None
|
||||
category_node_map = {}
|
||||
self.user_category_node_tree = {}
|
||||
|
@ -112,8 +112,7 @@ class TagDelegate(QStyledItemDelegate): # {{{
|
||||
style = QApplication.style() if widget is None else widget.style()
|
||||
self.initStyleOption(option, index)
|
||||
item = index.data(Qt.ItemDataRole.UserRole)
|
||||
if item.type != TagTreeItem.TAG or item.tag.category != 'search' or item.tag.search_expression:
|
||||
self.draw_icon(style, painter, option, widget)
|
||||
self.draw_icon(style, painter, option, widget)
|
||||
painter.save()
|
||||
self.draw_text(style, painter, option, widget, index, item)
|
||||
painter.restore()
|
||||
@ -1007,11 +1006,25 @@ class TagsView(QTreeView): # {{{
|
||||
add_show_hidden_categories()
|
||||
|
||||
if tag is None:
|
||||
self.context_menu.addSeparator()
|
||||
self.context_menu.addAction(_('Change category icon'),
|
||||
partial(self.context_menu_handler, action='set_icon', key=key)).setIcon(QIcon.ic('icon_choose.png'))
|
||||
self.context_menu.addAction(_('Restore default icon'),
|
||||
partial(self.context_menu_handler, action='clear_icon', key=key)).setIcon(QIcon.ic('edit-clear.png'))
|
||||
cm = self.context_menu
|
||||
cm.addSeparator()
|
||||
sm = cm.addAction(_('Change {} category icon').format(category),
|
||||
partial(self.context_menu_handler, action='set_icon',
|
||||
key=key, category=category))
|
||||
sm.setIcon(QIcon.ic('icon_choose.png'))
|
||||
sm = cm.addAction(_('Restore {} category default icon').format(category),
|
||||
partial(self.context_menu_handler, action='clear_icon',
|
||||
key=key, category=category))
|
||||
sm.setIcon(QIcon.ic('edit-clear.png'))
|
||||
if key == 'search':
|
||||
sm = cm.addAction(_('Change Saved searches folder icon'),
|
||||
partial(self.context_menu_handler, action='set_icon',
|
||||
key='search_folder:', category=_('Saved searches folder')))
|
||||
sm.setIcon(QIcon.ic('icon_choose.png'))
|
||||
sm = cm.addAction(_('Restore Saved searches folder default icon'),
|
||||
partial(self.context_menu_handler, action='clear_icon',
|
||||
key='search_folder:', category=_('Saved searches folder')))
|
||||
sm.setIcon(QIcon.ic('edit-clear.png'))
|
||||
|
||||
# Always show the User categories editor
|
||||
self.context_menu.addSeparator()
|
||||
|
Loading…
x
Reference in New Issue
Block a user