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.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):
|
||||
size_changed = (
|
||||
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.daemon = True
|
||||
self.render_thread.start()
|
||||
self.center_grid()
|
||||
|
||||
def render_covers(self):
|
||||
q = self.delegate.render_queue
|
||||
|
Loading…
x
Reference in New Issue
Block a user