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:
Kovid Goyal 2013-08-16 22:40:23 +05:30
parent eba16881fd
commit 598093b709

View File

@ -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