Fix regression that broke deleting items from the Manage X dialogs. Fix #8925 (Allow different libraries top display different items in the Tag Browser)

This commit is contained in:
Kovid Goyal 2011-02-12 09:58:52 -07:00
commit 9b656833c0
3 changed files with 17 additions and 6 deletions

View File

@ -137,14 +137,18 @@ def _config():
help=_('Automatically download the cover, if available')) help=_('Automatically download the cover, if available'))
c.add_opt('enforce_cpu_limit', default=True, c.add_opt('enforce_cpu_limit', default=True,
help=_('Limit max simultaneous jobs to number of CPUs')) help=_('Limit max simultaneous jobs to number of CPUs'))
c.add_opt('tag_browser_hidden_categories', default=set(),
help=_('tag browser categories not to display'))
c.add_opt('gui_layout', choices=['wide', 'narrow'], c.add_opt('gui_layout', choices=['wide', 'narrow'],
help=_('The layout of the user interface'), default='wide') help=_('The layout of the user interface'), default='wide')
c.add_opt('show_avg_rating', default=True, c.add_opt('show_avg_rating', default=True,
help=_('Show the average rating per item indication in the tag browser')) help=_('Show the average rating per item indication in the tag browser'))
c.add_opt('disable_animations', default=False, c.add_opt('disable_animations', default=False,
help=_('Disable UI animations')) help=_('Disable UI animations'))
# This option is no longer used. It remains for compatibility with upgrades
# so the value can be migrated
c.add_opt('tag_browser_hidden_categories', default=set(),
help=_('tag browser categories not to display'))
c.add_opt c.add_opt
return ConfigProxy(c) return ConfigProxy(c)

View File

@ -99,8 +99,8 @@ class TagListEditor(QDialog, Ui_TagListEditor):
return return
self.available_tags.editItem(item) self.available_tags.editItem(item)
def delete_tags(self, item=None): def delete_tags(self):
deletes = self.available_tags.selectedItems() if item is None else [item] deletes = self.available_tags.selectedItems()
if not deletes: if not deletes:
error_dialog(self, _('No items selected'), error_dialog(self, _('No items selected'),
_('You must select at least one items from the list.')).exec_() _('You must select at least one items from the list.')).exec_()

View File

@ -116,7 +116,14 @@ class TagsView(QTreeView): # {{{
self.set_new_model(self._model.get_filter_categories_by()) self.set_new_model(self._model.get_filter_categories_by())
def set_database(self, db, tag_match, sort_by): def set_database(self, db, tag_match, sort_by):
self.hidden_categories = db.prefs.get('tag_browser_hidden_categories', None)
# migrate from config to db prefs
if self.hidden_categories is None:
self.hidden_categories = config['tag_browser_hidden_categories'] self.hidden_categories = config['tag_browser_hidden_categories']
db.prefs.set('tag_browser_hidden_categories', list(self.hidden_categories))
else:
self.hidden_categories = set(self.hidden_categories)
old = getattr(self, '_model', None) old = getattr(self, '_model', None)
if old is not None: if old is not None:
old.break_cycles() old.break_cycles()
@ -234,7 +241,7 @@ class TagsView(QTreeView): # {{{
gprefs['tags_browser_partition_method'] = category gprefs['tags_browser_partition_method'] = category
elif action == 'defaults': elif action == 'defaults':
self.hidden_categories.clear() self.hidden_categories.clear()
config.set('tag_browser_hidden_categories', self.hidden_categories) self.db.prefs.set('tag_browser_hidden_categories', list(self.hidden_categories))
self.set_new_model() self.set_new_model()
except: except:
return return