Make mirroring a no-op when pin view is not visible

This commit is contained in:
Kovid Goyal 2018-02-02 13:24:39 +05:30
parent 3dfd846b7b
commit 94de403265
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -335,10 +335,13 @@ class BooksView(QTableView): # {{{
def set_pin_view_visibility(self, visible=False):
self.pin_view.setVisible(visible)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff if visible else Qt.ScrollBarAsNeeded)
self.mirror_selection_between_views(self)
def mirror_selection_between_views(self, src):
if self.allow_mirroring:
dest = self.pin_view if src is self else self
if dest is self.pin_view and not dest.isVisible():
return
self.allow_mirroring = False
dest.selectionModel().select(src.selectionModel().selection(), QItemSelectionModel.ClearAndSelect)
ci = dest.currentIndex()