mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Restore linkages between cover browser and book list
This commit is contained in:
parent
e355672c70
commit
e3168f8a81
@ -128,6 +128,7 @@ class CoverFlowMixin(object):
|
||||
self.cb_splitter.insertWidget(self.cb_splitter.side_index, self.cover_flow)
|
||||
if CoverFlow is not None:
|
||||
self.cover_flow.stop.connect(self.cb_splitter.hide_side_pane)
|
||||
self.cb_splitter.button.toggled.connect(self.cover_browser_toggled)
|
||||
|
||||
def toggle_cover_browser(self):
|
||||
cbd = getattr(self, 'cb_dialog', None)
|
||||
@ -136,7 +137,14 @@ class CoverFlowMixin(object):
|
||||
else:
|
||||
self.show_cover_browser()
|
||||
|
||||
def show_cover_browser(self):
|
||||
def cover_browser_toggled(self, *args):
|
||||
if self.cb_splitter.button.isChecked():
|
||||
self.cover_browser_shown()
|
||||
else:
|
||||
self.cover_browser_hidden()
|
||||
|
||||
def cover_browser_shown(self):
|
||||
self.cover_flow.setFocus(Qt.OtherFocusReason)
|
||||
if CoverFlow is not None:
|
||||
self.cover_flow.setCurrentSlide(self.library_view.currentIndex().row())
|
||||
self.cover_flow_sync_timer.start(500)
|
||||
@ -144,7 +152,18 @@ class CoverFlowMixin(object):
|
||||
self.library_view.currentIndex())
|
||||
self.library_view.scroll_to_row(self.library_view.currentIndex().row())
|
||||
|
||||
if config['separate_cover_flow']:
|
||||
def cover_browser_hidden(self):
|
||||
if CoverFlow is not None:
|
||||
self.cover_flow_sync_timer.stop()
|
||||
idx = self.library_view.model().index(self.cover_flow.currentSlide(), 0)
|
||||
if idx.isValid():
|
||||
sm = self.library_view.selectionModel()
|
||||
sm.select(idx, sm.ClearAndSelect|sm.Rows)
|
||||
self.library_view.setCurrentIndex(idx)
|
||||
self.library_view.scroll_to_row(idx.row())
|
||||
|
||||
|
||||
def show_cover_browser(self):
|
||||
d = QDialog(self)
|
||||
ah, aw = available_height(), available_width()
|
||||
d.resize(int(aw/1.5), ah-60)
|
||||
@ -158,20 +177,8 @@ class CoverFlowMixin(object):
|
||||
self.cb_splitter.button.set_state_to_hide()
|
||||
d.finished.connect(self.cb_splitter.button.set_state_to_show)
|
||||
self.cb_dialog = d
|
||||
else:
|
||||
self.cover_flow.setFocus(Qt.OtherFocusReason)
|
||||
|
||||
def hide_cover_browser(self):
|
||||
if CoverFlow is not None:
|
||||
self.cover_flow_sync_timer.stop()
|
||||
idx = self.library_view.model().index(self.cover_flow.currentSlide(), 0)
|
||||
if idx.isValid():
|
||||
sm = self.library_view.selectionModel()
|
||||
sm.select(idx, sm.ClearAndSelect|sm.Rows)
|
||||
self.library_view.setCurrentIndex(idx)
|
||||
self.library_view.scroll_to_row(idx.row())
|
||||
|
||||
if config['separate_cover_flow']:
|
||||
cbd = getattr(self, 'cb_dialog', None)
|
||||
if cbd is not None:
|
||||
cbd.accept()
|
||||
|
Loading…
x
Reference in New Issue
Block a user