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)
|
self.cb_splitter.insertWidget(self.cb_splitter.side_index, self.cover_flow)
|
||||||
if CoverFlow is not None:
|
if CoverFlow is not None:
|
||||||
self.cover_flow.stop.connect(self.cb_splitter.hide_side_pane)
|
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):
|
def toggle_cover_browser(self):
|
||||||
cbd = getattr(self, 'cb_dialog', None)
|
cbd = getattr(self, 'cb_dialog', None)
|
||||||
@ -136,7 +137,14 @@ class CoverFlowMixin(object):
|
|||||||
else:
|
else:
|
||||||
self.show_cover_browser()
|
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:
|
if CoverFlow is not None:
|
||||||
self.cover_flow.setCurrentSlide(self.library_view.currentIndex().row())
|
self.cover_flow.setCurrentSlide(self.library_view.currentIndex().row())
|
||||||
self.cover_flow_sync_timer.start(500)
|
self.cover_flow_sync_timer.start(500)
|
||||||
@ -144,7 +152,18 @@ class CoverFlowMixin(object):
|
|||||||
self.library_view.currentIndex())
|
self.library_view.currentIndex())
|
||||||
self.library_view.scroll_to_row(self.library_view.currentIndex().row())
|
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)
|
d = QDialog(self)
|
||||||
ah, aw = available_height(), available_width()
|
ah, aw = available_height(), available_width()
|
||||||
d.resize(int(aw/1.5), ah-60)
|
d.resize(int(aw/1.5), ah-60)
|
||||||
@ -158,20 +177,8 @@ class CoverFlowMixin(object):
|
|||||||
self.cb_splitter.button.set_state_to_hide()
|
self.cb_splitter.button.set_state_to_hide()
|
||||||
d.finished.connect(self.cb_splitter.button.set_state_to_show)
|
d.finished.connect(self.cb_splitter.button.set_state_to_show)
|
||||||
self.cb_dialog = d
|
self.cb_dialog = d
|
||||||
else:
|
|
||||||
self.cover_flow.setFocus(Qt.OtherFocusReason)
|
|
||||||
|
|
||||||
def hide_cover_browser(self):
|
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)
|
cbd = getattr(self, 'cb_dialog', None)
|
||||||
if cbd is not None:
|
if cbd is not None:
|
||||||
cbd.accept()
|
cbd.accept()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user