mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Grid view: Render covers in pauses during scrolling or slow scrolling
This commit is contained in:
parent
e5ce1ca2a4
commit
ad1de3729e
@ -495,16 +495,24 @@ class GridView(QListView):
|
|||||||
|
|
||||||
def update_viewport(self):
|
def update_viewport(self):
|
||||||
self.ignore_render_requests.clear()
|
self.ignore_render_requests.clear()
|
||||||
|
self.update_timer.stop()
|
||||||
m = self.model()
|
m = self.model()
|
||||||
for r in xrange(self.first_visible_row or 0, self.last_visible_row or (m.count() - 1)):
|
for r in xrange(self.first_visible_row or 0, self.last_visible_row or (m.count() - 1)):
|
||||||
self.update(m.index(r, 0))
|
self.update(m.index(r, 0))
|
||||||
|
|
||||||
def slider_pressed(self):
|
def slider_pressed(self):
|
||||||
self.ignore_render_requests.set()
|
self.ignore_render_requests.set()
|
||||||
|
self.verticalScrollBar().valueChanged.connect(self.value_changed_during_scroll)
|
||||||
|
|
||||||
def slider_released(self):
|
def slider_released(self):
|
||||||
self.ignore_render_requests.clear()
|
|
||||||
self.update_viewport()
|
self.update_viewport()
|
||||||
|
self.verticalScrollBar().valueChanged.disconnect(self.value_changed_during_scroll)
|
||||||
|
|
||||||
|
def value_changed_during_scroll(self):
|
||||||
|
if self.ignore_render_requests.is_set():
|
||||||
|
self.update_timer.start()
|
||||||
|
else:
|
||||||
|
self.ignore_render_requests.set()
|
||||||
|
|
||||||
def wheelEvent(self, e):
|
def wheelEvent(self, e):
|
||||||
self.ignore_render_requests.set()
|
self.ignore_render_requests.set()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user