02-18-2011, 07:57 AM | #1 |
Zealot
Posts: 107
Karma: 554
Join Date: Oct 2008
Device: none
|
Tag Completion
I have some tags like this: !not finished, +favourite, -deleted,... After typing "!", "+" or "-" as first character, the tag completion didn't appear (Tags start with alphabetical character work just fine). I created ticket #9028 and kovidgoyal said it worked for him. I think there is something wrong in my configuration but I don't know what is. Could anyone check this and/or have the same problem? Thank you very much.
|
02-18-2011, 08:19 AM | #2 |
Sigil & calibre developer
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
|
+ works fine ! and - do not work.
|
Advert | |
|
02-18-2011, 09:48 AM | #3 |
Grand Sorcerer
Posts: 11,740
Karma: 6997045
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
|
The problem is that ICU's sort_key (ICU == International Components for Unicode, sort_key == the unicode sort key generator) orders the list differently from ASCII order, putting '!' and '+' after '-' instead of before it. Calibre tells the Qt completer that the list is ordered, so unless the search gets lucky (the binary search hits exactly), the out-of-order items are never found. The same problem exists with accented characters like é, because ascii and ICU disagree about the order.
Two possible solutions: 1) change to an ascii ordering. Not sure this will really work in the face of non-ansi (larger than 255) unicode characters. 2) Tell the completer that the list is not ordered (c.setModelSorting(QCompleter.UnsortedModel). This works because the completer scans for a match, but will be somewhat more costly if the completion list is very long. My guess is that unless the list is in excess of hundreds of thousands, the performance penalty won't be visible. I leave it to the owners of completer.py to decide what to do. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Bug Tracker not returning completion on entering tickets | DoctorOhh | Calibre | 1 | 02-07-2011 12:08 PM |
Tag Synchronization | ccowie | Calibre | 2 | 08-27-2010 07:41 PM |
Tag behavior... | guyanonymous | Calibre | 1 | 11-29-2009 02:57 PM |
Google announces completion of Bodleian & other Oxford libraries PD book scans | AnemicOak | News | 2 | 03-26-2009 11:46 PM |
'Keep' tag? | AnemicOak | Amazon Kindle | 13 | 03-17-2009 04:19 PM |