From 9f83d3b59d0fc6b5d0aa2f8a2e1b547714489fd1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 20 Jul 2013 10:55:14 +0530 Subject: [PATCH] Fix refresh_ids() and rendering of size and datetime fields --- src/calibre/db/view.py | 2 +- src/calibre/gui2/library/models.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/calibre/db/view.py b/src/calibre/db/view.py index ffaa0ce746..a8cd75d2c2 100644 --- a/src/calibre/db/view.py +++ b/src/calibre/db/view.py @@ -321,7 +321,7 @@ class View(object): if self.search_restriction or self.base_restriction: self.search('', return_matches=False) - def refresh_ids(self, db, ids): + def refresh_ids(self, ids): self.cache.clear_caches(book_ids=ids) try: return list(map(self.id_to_index, ids)) diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 7320e36ee5..e70122fd36 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -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.ptempfile import PersistentTemporaryFile 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.search_query_parser import SearchQueryParser 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) def func(idx): val = fffunc(field_obj, idfunc(idx), default_value=0) or 0 + if val is 0: + return NONE ans = u'%.1f' % (val * sz_mult) - if val > 0 and ans == u'0.0': - ans = u'<0.1' - return QVariant(ans) + return QVariant(u'<0.1' if ans == u'0.0' else ans) elif field == 'languages': def func(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='')) elif dt == 'datetime': 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': def func(idx): return QVariant(int(fffunc(field_obj, idfunc(idx), default_value=0)/2.0))