This fix is rather a temporary and ugly hack, since the current mess
with how download states are being maintained (in the presence of
multiple sources of their updates) asks for a major clean-up.
This fixes the bugs related to pending download statuses being discarded
by filtering and similar operations that result in full update of the
ContentManagerModel.
Instead this commit leads to a new bug - completion of a download
is not always properly detected for very small (and thus instantaneous)
downloads. This is caused by library update events triggered by ZIM
directory monitoring (which notifies about a new ZIM file appearing
in the download directory) interfering with the download status update
signal.
Now DownloadState is an optional element of the state of RowNode
and is set in it only in case of an active (even if paused) download
associated with the that entry.
Download update timers are no-longer managed separately in
ContentManagerModel. Instead the timer associated with each active
download is owned by the respective RowNode object.
So far the details of the host serving the OPDS catalog were hardcoded.
In order to debug issues related to large downloads it helps if one
can use one's own server. Hence this enhancement.
If a filter which is available in remote catalog but not in local catalog (or vice versa) is selected, then we keep that filter applied even after the catalog is switched.
Earlier we used, "*" to signify all languages and "all" for all categories. This change removes these inconsistencies.
Now, if the filter value is empty, it should signify that no filter is set (show all values)
Options menu shows up on pressing down arrow
Clicking kiwixchoicebox when options is shown doesn't result in flashing now
Display placeholder only if there are no options selected.
Fixed the height of selector to show 6 elements maximum
Reduced distance between filters
Increased margin between choiceItem and container box
All of the choicebox is now clickable and shows up the list on click
This change allows one to navigate through the choices using up and down arrow keys from keyboard
Enter/Return key can be pressed to select the current item
Replaced the old content type filters with KiwixChoiceBox
Previously, the content type was a tri state checkbox having yes, no & no-filter values.
This changes that to add the values in the following format:
Pictures (_pictures:yes)
No Pictures (_pictures:no)
"no-filter" is simulated by not having any of the above 2 selected.