From b10142db226faf3d43a950a20af83ba29dcd006a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 2 Jul 2017 09:58:43 +0530 Subject: [PATCH] Use position based recounting in a couple more places --- src/calibre/gui2/changes.py | 5 ++++- src/calibre/gui2/tag_browser/model.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/changes.py b/src/calibre/gui2/changes.py index 3bc4720003..d51fe442e9 100644 --- a/src/calibre/gui2/changes.py +++ b/src/calibre/gui2/changes.py @@ -37,10 +37,12 @@ def handle_changes(changes, gui=None): refresh_ids -= added | removed orig = gui.tags_view.disable_recounting, gui.disable_cover_browser_refresh gui.tags_view.disable_recounting = gui.disable_cover_browser_refresh = True + position_based_recount = True try: if added: gui.current_db.data.books_added(added) gui.iactions['Add Books'].refresh_gui(len(added), recount=False) + position_based_recount = False if removed: next_id = gui.current_view().next_id m = gui.library_view.model() @@ -51,6 +53,7 @@ def handle_changes(changes, gui=None): if ss_changed: gui.saved_searches_changed(recount=False) gui.tags_view.disable_recounting = gui.disable_cover_browser_refresh = False - gui.tags_view.recount(), gui.refresh_cover_browser() + (gui.tags_view.recount_with_position_based_index if position_based_recount else gui.tags_view.recount)() + gui.refresh_cover_browser() finally: gui.tags_view.disable_recounting, gui.disable_cover_browser_refresh = orig diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index 7959886fac..276e9f033e 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -1144,6 +1144,7 @@ class TagsModel(QAbstractItemModel): # {{{ self.tag_item_renamed.emit() item.tag.name = val item.tag.state = TAG_SEARCH_STATES['clear'] + self.use_position_based_index_on_next_recount = True if not restrict_to_book_ids: self.rename_item_in_all_user_categories(name, key, val) self.refresh_required.emit()