mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix refresh_ids() and rendering of size and datetime fields
This commit is contained in:
parent
f6d8c8f1cd
commit
9f83d3b59d
@ -321,7 +321,7 @@ class View(object):
|
|||||||
if self.search_restriction or self.base_restriction:
|
if self.search_restriction or self.base_restriction:
|
||||||
self.search('', return_matches=False)
|
self.search('', return_matches=False)
|
||||||
|
|
||||||
def refresh_ids(self, db, ids):
|
def refresh_ids(self, ids):
|
||||||
self.cache.clear_caches(book_ids=ids)
|
self.cache.clear_caches(book_ids=ids)
|
||||||
try:
|
try:
|
||||||
return list(map(self.id_to_index, ids))
|
return list(map(self.id_to_index, ids))
|
||||||
|
@ -17,7 +17,7 @@ from calibre.ebooks.metadata import fmt_sidx, authors_to_string, string_to_autho
|
|||||||
from calibre.ebooks.metadata.book.formatter import SafeFormat
|
from calibre.ebooks.metadata.book.formatter import SafeFormat
|
||||||
from calibre.ptempfile import PersistentTemporaryFile
|
from calibre.ptempfile import PersistentTemporaryFile
|
||||||
from calibre.utils.config import tweaks, device_prefs, prefs
|
from calibre.utils.config import tweaks, device_prefs, prefs
|
||||||
from calibre.utils.date import dt_factory, qt_to_dt, as_local_time
|
from calibre.utils.date import dt_factory, qt_to_dt, as_local_time, UNDEFINED_DATE
|
||||||
from calibre.utils.icu import sort_key
|
from calibre.utils.icu import sort_key
|
||||||
from calibre.utils.search_query_parser import SearchQueryParser
|
from calibre.utils.search_query_parser import SearchQueryParser
|
||||||
from calibre.db.search import _match, CONTAINS_MATCH, EQUALS_MATCH, REGEXP_MATCH
|
from calibre.db.search import _match, CONTAINS_MATCH, EQUALS_MATCH, REGEXP_MATCH
|
||||||
@ -661,10 +661,10 @@ class BooksModel(QAbstractTableModel): # {{{
|
|||||||
sz_mult = 1.0/(1024**2)
|
sz_mult = 1.0/(1024**2)
|
||||||
def func(idx):
|
def func(idx):
|
||||||
val = fffunc(field_obj, idfunc(idx), default_value=0) or 0
|
val = fffunc(field_obj, idfunc(idx), default_value=0) or 0
|
||||||
|
if val is 0:
|
||||||
|
return NONE
|
||||||
ans = u'%.1f' % (val * sz_mult)
|
ans = u'%.1f' % (val * sz_mult)
|
||||||
if val > 0 and ans == u'0.0':
|
return QVariant(u'<0.1' if ans == u'0.0' else ans)
|
||||||
ans = u'<0.1'
|
|
||||||
return QVariant(ans)
|
|
||||||
elif field == 'languages':
|
elif field == 'languages':
|
||||||
def func(idx):
|
def func(idx):
|
||||||
return QVariant(', '.join(calibre_langcode_to_name(x) for x in fffunc(field_obj, idfunc(idx))))
|
return QVariant(', '.join(calibre_langcode_to_name(x) for x in fffunc(field_obj, idfunc(idx))))
|
||||||
@ -693,7 +693,7 @@ class BooksModel(QAbstractTableModel): # {{{
|
|||||||
return QVariant(fffunc(field_obj, idfunc(idx), default_value=''))
|
return QVariant(fffunc(field_obj, idfunc(idx), default_value=''))
|
||||||
elif dt == 'datetime':
|
elif dt == 'datetime':
|
||||||
def func(idx):
|
def func(idx):
|
||||||
return QVariant(fffunc(field_obj, idfunc(idx), default_value=UNDEFINED_QDATETIME))
|
return QVariant(QDateTime(as_local_time(fffunc(field_obj, idfunc(idx), default_value=UNDEFINED_DATE))))
|
||||||
elif dt == 'rating':
|
elif dt == 'rating':
|
||||||
def func(idx):
|
def func(idx):
|
||||||
return QVariant(int(fffunc(field_obj, idfunc(idx), default_value=0)/2.0))
|
return QVariant(int(fffunc(field_obj, idfunc(idx), default_value=0)/2.0))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user