Preserve booklist horizontal scroll position when merging books. Fixes #1579637 [enhancement stationary cursor](https://bugs.launchpad.net/calibre/+bug/1579637)

This commit is contained in:
Kovid Goyal 2016-05-12 10:18:36 +05:30
parent 70ab27ecd5
commit 0f37808458

View File

@ -434,6 +434,7 @@ class EditMetadataAction(InterfaceAction):
dest_id, src_ids = self.books_to_merge(rows) dest_id, src_ids = self.books_to_merge(rows)
mi = self.gui.current_db.new_api.get_proxy_metadata(dest_id) mi = self.gui.current_db.new_api.get_proxy_metadata(dest_id)
title = mi.title title = mi.title
hpos = self.gui.library_view.horizontalScrollBar().value()
if safe_merge: if safe_merge:
if not confirm_merge('<p>'+_( if not confirm_merge('<p>'+_(
'Book formats and metadata from the selected books ' 'Book formats and metadata from the selected books '
@ -484,6 +485,7 @@ class EditMetadataAction(InterfaceAction):
self.gui.library_view.set_current_row(dest_row) self.gui.library_view.set_current_row(dest_row)
cr = self.gui.library_view.currentIndex().row() cr = self.gui.library_view.currentIndex().row()
self.gui.library_view.model().refresh_ids((dest_id,), cr) self.gui.library_view.model().refresh_ids((dest_id,), cr)
self.gui.library_view.horizontalScrollBar().setValue(hpos)
def add_formats(self, dest_id, src_books, replace=False): def add_formats(self, dest_id, src_books, replace=False):
for src_book in src_books: for src_book in src_books: