mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Tag browser: Fix position not bing preserved when deleting books. Fixes #1740387 [[Enhancement] Working with lists](https://bugs.launchpad.net/calibre/+bug/1740387)
This commit is contained in:
parent
b40d65c578
commit
19638bffd1
@ -73,8 +73,7 @@ class MultiDeleter(QObject): # {{{
|
|||||||
self.pd = None
|
self.pd = None
|
||||||
self.model.db.commit()
|
self.model.db.commit()
|
||||||
self.model.db.clean()
|
self.model.db.clean()
|
||||||
self.model.books_deleted()
|
self.model.books_deleted() # calls recount on the tag browser
|
||||||
self.gui.tags_view.recount()
|
|
||||||
self.callback(self.deleted_ids)
|
self.callback(self.deleted_ids)
|
||||||
if self.failures:
|
if self.failures:
|
||||||
msg = ['==> '+x[1]+'\n'+x[2] for x in self.failures]
|
msg = ['==> '+x[1]+'\n'+x[2] for x in self.failures]
|
||||||
@ -182,14 +181,14 @@ class DeleteAction(InterfaceAction):
|
|||||||
self.gui.library_view.model().refresh_ids([book_id])
|
self.gui.library_view.model().refresh_ids([book_id])
|
||||||
self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(),
|
self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(),
|
||||||
self.gui.library_view.currentIndex())
|
self.gui.library_view.currentIndex())
|
||||||
self.gui.tags_view.recount()
|
self.gui.tags_view.recount_with_position_based_index()
|
||||||
|
|
||||||
def restore_format(self, book_id, original_fmt):
|
def restore_format(self, book_id, original_fmt):
|
||||||
self.gui.current_db.restore_original_format(book_id, original_fmt)
|
self.gui.current_db.restore_original_format(book_id, original_fmt)
|
||||||
self.gui.library_view.model().refresh_ids([book_id])
|
self.gui.library_view.model().refresh_ids([book_id])
|
||||||
self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(),
|
self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(),
|
||||||
self.gui.library_view.currentIndex())
|
self.gui.library_view.currentIndex())
|
||||||
self.gui.tags_view.recount()
|
self.gui.tags_view.recount_with_position_based_index()
|
||||||
|
|
||||||
def delete_selected_formats(self, *args):
|
def delete_selected_formats(self, *args):
|
||||||
ids = self._get_selected_ids()
|
ids = self._get_selected_ids()
|
||||||
@ -205,7 +204,7 @@ class DeleteAction(InterfaceAction):
|
|||||||
m.current_changed(self.gui.library_view.currentIndex(),
|
m.current_changed(self.gui.library_view.currentIndex(),
|
||||||
self.gui.library_view.currentIndex())
|
self.gui.library_view.currentIndex())
|
||||||
if ids:
|
if ids:
|
||||||
self.gui.tags_view.recount()
|
self.gui.tags_view.recount_with_position_based_index()
|
||||||
|
|
||||||
def delete_all_but_selected_formats(self, *args):
|
def delete_all_but_selected_formats(self, *args):
|
||||||
ids = self._get_selected_ids()
|
ids = self._get_selected_ids()
|
||||||
@ -235,7 +234,7 @@ class DeleteAction(InterfaceAction):
|
|||||||
m.current_changed(self.gui.library_view.currentIndex(),
|
m.current_changed(self.gui.library_view.currentIndex(),
|
||||||
self.gui.library_view.currentIndex())
|
self.gui.library_view.currentIndex())
|
||||||
if ids:
|
if ids:
|
||||||
self.gui.tags_view.recount()
|
self.gui.tags_view.recount_with_position_based_index()
|
||||||
|
|
||||||
def delete_all_formats(self, *args):
|
def delete_all_formats(self, *args):
|
||||||
ids = self._get_selected_ids()
|
ids = self._get_selected_ids()
|
||||||
@ -258,7 +257,7 @@ class DeleteAction(InterfaceAction):
|
|||||||
self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(),
|
self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(),
|
||||||
self.gui.library_view.currentIndex())
|
self.gui.library_view.currentIndex())
|
||||||
if ids:
|
if ids:
|
||||||
self.gui.tags_view.recount()
|
self.gui.tags_view.recount_with_position_based_index()
|
||||||
|
|
||||||
def remove_matching_books_from_device(self, *args):
|
def remove_matching_books_from_device(self, *args):
|
||||||
if not self.gui.device_manager.is_device_present:
|
if not self.gui.device_manager.is_device_present:
|
||||||
|
@ -69,7 +69,7 @@ class TagBrowserMixin(object): # {{{
|
|||||||
m.addAction(name, partial(self.do_tags_list_edit, None, cat))
|
m.addAction(name, partial(self.do_tags_list_edit, None, cat))
|
||||||
|
|
||||||
def init_tag_browser_mixin(self, db):
|
def init_tag_browser_mixin(self, db):
|
||||||
self.library_view.model().count_changed_signal.connect(self.tags_view.recount)
|
self.library_view.model().count_changed_signal.connect(self.tags_view.recount_with_position_based_index)
|
||||||
self.tags_view.set_database(db, self.alter_tb)
|
self.tags_view.set_database(db, self.alter_tb)
|
||||||
self.tags_view.tags_marked.connect(self.search.set_search_string)
|
self.tags_view.tags_marked.connect(self.search.set_search_string)
|
||||||
self.tags_view.tags_list_edit.connect(self.do_tags_list_edit)
|
self.tags_view.tags_list_edit.connect(self.do_tags_list_edit)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user