mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Nuke the grid centering code
It was causing problems when there was exactly a screenful of items to be displayed as the layout would bounce betwen having a scrollbar and not having a scrollbar.
This commit is contained in:
parent
eba16881fd
commit
598093b709
@ -558,33 +558,6 @@ class GridView(QListView):
|
|||||||
self.setPalette(pal)
|
self.setPalette(pal)
|
||||||
self.delegate.highlight_color = pal.color(pal.Text)
|
self.delegate.highlight_color = pal.color(pal.Text)
|
||||||
|
|
||||||
def center_grid(self):
|
|
||||||
if self.gui.library_view.alternate_views.current_view is not self:
|
|
||||||
return
|
|
||||||
layout_width = self.viewport().width() + self.padding_left
|
|
||||||
try:
|
|
||||||
sz = self.spacing()*2 + self.delegate.item_size.width()
|
|
||||||
num = layout_width // sz
|
|
||||||
except (AttributeError, ZeroDivisionError):
|
|
||||||
return
|
|
||||||
extra = max(0, int((layout_width - (num * sz)) / 2))
|
|
||||||
if extra != self.padding_left:
|
|
||||||
self.padding_left = extra
|
|
||||||
self.setViewportMargins(self.padding_left, 0, 0, 0)
|
|
||||||
|
|
||||||
def resizeEvent(self, e):
|
|
||||||
self.center_grid()
|
|
||||||
return QListView.resizeEvent(self, e)
|
|
||||||
|
|
||||||
def event(self, e):
|
|
||||||
if e.type() == e.Paint:
|
|
||||||
p = QPainter(self)
|
|
||||||
# Without this the viewport margin is rendered in QPalette::Window
|
|
||||||
# instead of QPalette::Base
|
|
||||||
p.fillRect(0, 0, self.padding_left+2, self.height(), self.palette().color(QPalette.Base))
|
|
||||||
p.end()
|
|
||||||
return QListView.event(self, e)
|
|
||||||
|
|
||||||
def refresh_settings(self):
|
def refresh_settings(self):
|
||||||
size_changed = (
|
size_changed = (
|
||||||
gprefs['cover_grid_width'] != self.delegate.original_width or
|
gprefs['cover_grid_width'] != self.delegate.original_width or
|
||||||
@ -612,7 +585,6 @@ class GridView(QListView):
|
|||||||
self.render_thread = Thread(target=self.render_covers)
|
self.render_thread = Thread(target=self.render_covers)
|
||||||
self.render_thread.daemon = True
|
self.render_thread.daemon = True
|
||||||
self.render_thread.start()
|
self.render_thread.start()
|
||||||
self.center_grid()
|
|
||||||
|
|
||||||
def render_covers(self):
|
def render_covers(self):
|
||||||
q = self.delegate.render_queue
|
q = self.delegate.render_queue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user