diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index a0630dc8d3..daea4c7f00 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -346,9 +346,12 @@ class BooksView(QTableView): # {{{ dest.selectionModel().select(src.selectionModel().selection(), QItemSelectionModel.ClearAndSelect) ci = dest.currentIndex() nci = src.selectionModel().currentIndex() + # Save/restore horz scroll. ci column may be scrolled out of view. + hpos = dest.horizontalScrollBar().value() if ci.isValid(): nci = dest.model().index(nci.row(), ci.column()) dest.selectionModel().setCurrentIndex(nci, QItemSelectionModel.NoUpdate) + dest.horizontalScrollBar().setValue(hpos) self.allow_mirroring = True def mirror_vscroll(self, src, *a):