View Single Post
Old 04-26-2018, 03:23 PM   #235
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,017
Karma: 4604635
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
@kovidgoyal,

View Manager plugin can manage the right pane column order, sizes and show/hide and whether splitter is shown or not pretty easily. Adjusting the position of the splitter is down another level. With the existing code I can:

Code:
## uses same state schema (minus 'sort_history') as library_view state
## to show/hide/order/size columns
pin_state = self.gui.library_view.pin_view.get_state()
# ...
self.gui.library_view.pin_view.apply_state(pin_state)

## simple boolean Qt call for splitter visibility.
show = self.gui.library_view.pin_view.isVisible()
# ...
self.gui.library_view.pin_view.setVisible(show)

## Call Qt methods directly, returns PyQt5.QtCore.QByteArray, convert to 
## save/set splitter location
splitter_state = bytearray(self.gui.library_view.pin_view.splitter.saveState())
# ...
self.gui.library_view.pin_view.splitter.restoreState(splitter_state)
Is it acceptable to you(Kovid) for VM to use these?
JimmXinu is offline   Reply With Quote