mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Make the details splitter state orientation dependent
This commit is contained in:
parent
cb4fc7905b
commit
3de1500627
@ -1140,6 +1140,11 @@ class DetailsLayout(QSplitter): # {{{
|
|||||||
self.resize_timer.setInterval(5)
|
self.resize_timer.setInterval(5)
|
||||||
self.resize_timer.timeout.connect(self.do_resize)
|
self.resize_timer.timeout.connect(self.do_resize)
|
||||||
|
|
||||||
|
def change_layout(self, vertical):
|
||||||
|
self.vertical = vertical
|
||||||
|
self.setOrientation(Qt.Orientation.Vertical if self.vertical else Qt.Orientation.Horizontal)
|
||||||
|
self.restore_splitter_state()
|
||||||
|
|
||||||
def do_resize(self, *args):
|
def do_resize(self, *args):
|
||||||
super().resizeEvent(self._resize_ev)
|
super().resizeEvent(self._resize_ev)
|
||||||
self.do_layout(self.rect())
|
self.do_layout(self.rect())
|
||||||
@ -1164,8 +1169,14 @@ class DetailsLayout(QSplitter): # {{{
|
|||||||
def sizeHint(self):
|
def sizeHint(self):
|
||||||
return self.minimumSize()
|
return self.minimumSize()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def splitter_state_pref_name(self):
|
||||||
|
return 'book_details_widget_splitter_state_' + ('vertical' if self.vertical else 'horizontal')
|
||||||
|
|
||||||
def restore_splitter_state(self):
|
def restore_splitter_state(self):
|
||||||
s = gprefs.get('book_details_widget_splitter_state')
|
s = gprefs.get(self.splitter_state_pref_name)
|
||||||
|
if s is None:
|
||||||
|
s = gprefs.get('book_details_widget_splitter_state')
|
||||||
if s is None:
|
if s is None:
|
||||||
# Without this on first start the splitter is rendered over the cover
|
# Without this on first start the splitter is rendered over the cover
|
||||||
self.setSizes([20, 80])
|
self.setSizes([20, 80])
|
||||||
@ -1178,7 +1189,7 @@ class DetailsLayout(QSplitter): # {{{
|
|||||||
self.do_layout(self.geometry())
|
self.do_layout(self.geometry())
|
||||||
|
|
||||||
def do_splitter_moved(self, *args):
|
def do_splitter_moved(self, *args):
|
||||||
gprefs['book_details_widget_splitter_state'] = bytearray(self.saveState())
|
gprefs[self.splitter_state_pref_name] = bytearray(self.saveState())
|
||||||
self._children[0].do_layout()
|
self._children[0].do_layout()
|
||||||
|
|
||||||
def cover_height(self, r):
|
def cover_height(self, r):
|
||||||
@ -1339,10 +1350,9 @@ class BookDetails(DetailsLayout): # {{{
|
|||||||
|
|
||||||
def change_layout(self, vertical):
|
def change_layout(self, vertical):
|
||||||
if vertical != self.vertical:
|
if vertical != self.vertical:
|
||||||
self.vertical = vertical
|
super().change_layout(vertical)
|
||||||
self.cover_view.change_layout(vertical)
|
self.cover_view.change_layout(vertical)
|
||||||
self.book_info.change_layout(vertical)
|
self.book_info.change_layout(vertical)
|
||||||
self.setOrientation(Qt.Orientation.Vertical if self.vertical else Qt.Orientation.Horizontal)
|
|
||||||
self.do_layout(self.rect())
|
self.do_layout(self.rect())
|
||||||
|
|
||||||
def search_internet(self, data):
|
def search_internet(self, data):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user