From f4cf9b2bfca3e18cadc8a77ccc7c022ec27ffad4 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Wed, 8 Apr 2020 23:36:51 +0100 Subject: [PATCH] Add composite columns with "date" search/sort type to the advanced search "date" tab. --- src/calibre/gui2/dialogs/search.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/dialogs/search.py b/src/calibre/gui2/dialogs/search.py index 5a387b0200..f3cace7f82 100644 --- a/src/calibre/gui2/dialogs/search.py +++ b/src/calibre/gui2/dialogs/search.py @@ -180,7 +180,11 @@ def create_date_tab(self, db): w.h1 = h = QHBoxLayout() l.addLayout(h) self.date_field = df = add(_("&Search the"), QComboBox(w)) - vals = [((v['search_terms'] or [k])[0], v['name'] or k) for k, v in db.field_metadata.iter_items() if v.get('datatype', None) == 'datetime'] + vals = [((v['search_terms'] or [k])[0], v['name'] or k) + for k, v in db.field_metadata.iter_items() + if v.get('datatype', None) == 'datetime' or + (v.get('datatype', None) == 'composite' and + v.get('display', {}).get('composite_sort', None) == 'date')] for k, v in sorted(vals, key=lambda k_v: sort_key(k_v[1])): df.addItem(v, k) h.addWidget(df)