mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Cover cache: Resize covers larger than 600x800 in the cover cache to reduce memory consumption in the GUI
This commit is contained in:
parent
7dbdf55b13
commit
ac4c623c39
@ -10,14 +10,14 @@ import collections, glob, os, re, itertools, functools
|
|||||||
from itertools import repeat
|
from itertools import repeat
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
from PyQt4.QtCore import QThread, QReadWriteLock
|
from PyQt4.Qt import QThread, QReadWriteLock, QImage, Qt
|
||||||
from PyQt4.QtGui import QImage
|
|
||||||
|
|
||||||
from calibre.utils.config import tweaks
|
from calibre.utils.config import tweaks
|
||||||
from calibre.utils.date import parse_date, now, UNDEFINED_DATE
|
from calibre.utils.date import parse_date, now, UNDEFINED_DATE
|
||||||
from calibre.utils.search_query_parser import SearchQueryParser
|
from calibre.utils.search_query_parser import SearchQueryParser
|
||||||
from calibre.utils.pyparsing import ParseException
|
from calibre.utils.pyparsing import ParseException
|
||||||
from calibre.ebooks.metadata import title_sort
|
from calibre.ebooks.metadata import title_sort
|
||||||
|
from calibre import fit_image
|
||||||
|
|
||||||
class CoverCache(QThread):
|
class CoverCache(QThread):
|
||||||
|
|
||||||
@ -96,6 +96,11 @@ class CoverCache(QThread):
|
|||||||
img.loadFromData(data)
|
img.loadFromData(data)
|
||||||
if img.isNull():
|
if img.isNull():
|
||||||
continue
|
continue
|
||||||
|
scaled, nwidth, nheight = fit_image(img.width(),
|
||||||
|
img.height(), 600, 800)
|
||||||
|
if scaled:
|
||||||
|
img = img.scaled(nwidth, nheight, Qt.KeepAspectRatio,
|
||||||
|
Qt.SmoothTransformation)
|
||||||
except:
|
except:
|
||||||
continue
|
continue
|
||||||
self.cache_lock.lockForWrite()
|
self.cache_lock.lockForWrite()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user