From 5d0e8932ddc23cd83134a1e40bad391fb4a97b0e Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Fri, 11 Mar 2016 12:56:38 +0100 Subject: [PATCH] fix bug #1555871: Manage user categories causes loss of sorting --- src/calibre/gui2/tag_browser/ui.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/tag_browser/ui.py b/src/calibre/gui2/tag_browser/ui.py index 2c8c4ecede..c8ba6160e1 100644 --- a/src/calibre/gui2/tag_browser/ui.py +++ b/src/calibre/gui2/tag_browser/ui.py @@ -111,10 +111,10 @@ class TagBrowserMixin(object): # {{{ d = TagCategories(self, db, on_category, book_ids=self.tags_view.model().get_book_ids_to_use()) if d.exec_() == d.Accepted: - db.new_api.set_pref('user_categories', d.categories) + # Order is important. The categories must be removed before setting + # the preference because setting the pref recomputes the dynamic categories db.field_metadata.remove_user_categories() - for k in d.categories: - db.field_metadata.add_user_category('@' + k, k) + db.new_api.set_pref('user_categories', d.categories) db.new_api.refresh_search_locations() self.tags_view.recount()