1028 Commits

Author SHA1 Message Date
Veloman Yunkan
341c7ed8e3 Extracted ContentManagerModel::updateDownload()
The diff is simpler if whitespace changes are ignored.
2023-12-14 17:21:21 +04:00
Veloman Yunkan
3e3cd676b5 More reliable updates of download status
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.
2023-12-14 17:21:21 +04:00
Veloman Yunkan
79e71e3c3d Consistent capitalization across download actions 2023-12-14 17:21:21 +04:00
Veloman Yunkan
e020d52745 Rearranged code in DonwloadState::update()
It's more logical to check for the conditions of a disappeared download
first.
2023-12-14 17:21:12 +04:00
Veloman Yunkan
c20eedf9f6 ContentManagerModel maintains the download state
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.
2023-12-14 13:03:16 +04:00
Veloman Yunkan
ef2131d7f3 Preparing RowNode for shared DownloadState
This is needed for preserving download state across filtering and
similar operations that currently work by fully rebuilding the
ContentManagerModel.
2023-12-13 21:31:29 +04:00
Veloman Yunkan
a13a1c0f6b Renamed a few member functions 2023-12-13 20:26:09 +04:00
Veloman Yunkan
9ce484a664 RowNode stops deriving from DownloadState
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.
2023-12-13 20:22:49 +04:00
Veloman Yunkan
ad09ee10e1 Better grouping of code 2023-12-13 19:43:49 +04:00
Veloman Yunkan
8ad42a2dc2 Got rid of DownloadState::setDownloadInfo() 2023-12-13 19:40:55 +04:00
Veloman Yunkan
960f955723 Extracted DownloadState 2023-12-13 19:36:20 +04:00
Veloman Yunkan
06a93d117f RowNode::{pause,resume}Download() 2023-12-13 17:39:34 +04:00
Veloman Yunkan
509e7be467 Deleted unused local variables 2023-12-13 17:28:40 +04:00
Veloman Yunkan
f8ec68cfb8 RowNode::updateDownloadStatus() 2023-12-13 17:28:01 +04:00
Veloman Yunkan
4fcf1fbea4 Moved download update timers into RowNode objects
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.
2023-12-13 17:05:44 +04:00
Veloman Yunkan
faf8496095 Introduced BookInfo & BookInfoList typedefs 2023-12-13 15:50:55 +04:00
Veloman Yunkan
d38ec6bfa3 Made ContentManagerModel::createNode() non-static 2023-12-13 15:44:11 +04:00
Veloman Yunkan
a7f0309e7d Moved RowNode::createNode() to ContentManagerModel
The static function RowNode::createNode() was moved into
ContentManagerModel as is.
2023-12-13 15:40:26 +04:00
Veloman Yunkan
4f197f5a38 Fixed a compilation warning 2023-12-13 15:04:38 +04:00
Veloman Yunkan
3ea69331d4 Fixed download progress for files larger than 2GiB 2023-12-11 19:04:01 +04:00
Veloman Yunkan
c10026a3a2 User-controllable catalog host & port
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.
2023-12-10 16:21:44 +04:00
Matthieu Gautier
9924570670
Merge pull request #1015 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2023-11-25 10:20:10 +01:00
translatewiki.net
9d036d241d Localisation updates from https://translatewiki.net. 2023-11-23 13:09:29 +01:00
Kelson
39d723d370
Merge pull request #1012 from kiwix/requires-libkiwix-13
Requires libkiwix13
2023-11-19 14:34:44 +01:00
Emmanuel Engelhart
aeaa570786
Requires libkiwix13 2023-11-19 14:26:34 +01:00
Kelson
d5ce9b4253
Merge pull request #1004 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2023-11-17 13:47:50 +01:00
translatewiki.net
dcea97676c Localisation updates from https://translatewiki.net. 2023-11-16 13:08:37 +01:00
Matthieu Gautier
b6a2f136fa
Merge pull request #1002 from kiwix/translatewiki 2023-10-24 14:13:10 +02:00
Matthieu Gautier
22f9223f08 Add new translations into resource file. 2023-10-24 14:12:54 +02:00
translatewiki.net
47cacee212 Localisation updates from https://translatewiki.net. 2023-10-23 13:10:05 +02:00
Matthieu Gautier
d721eea9d1
Merge pull request #992 from kiwix/adapt_libkiwix_991 2023-10-12 18:07:06 +02:00
Matthieu Gautier
238bd534a4 SearchRenderer now take the NameMapper on the getHtml method. 2023-10-06 11:47:47 +02:00
Matthieu Gautier
ab80463b58 Adapt to new api introduced in kiwix/libkiwix#991 2023-10-06 11:45:14 +02:00
Kelson
8eb9dc8e51
Merge pull request #991 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2023-10-04 19:00:50 +02:00
translatewiki.net
4198b00ad7 Localisation updates from https://translatewiki.net. 2023-10-04 18:54:38 +02:00
Matthieu Gautier
a0931f81a9
Merge pull request #965 from kiwix/betterFilters 2023-10-04 17:48:52 +02:00
Nikhil Tanwar
f61635e7ca Save filter settings with their keys
Now, the filter settings (language, category and content type) are saved as:
keys|values in QSettings.
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
d2a6098eca Introduce KiwixApp::parseStyleFromFile()
This change adds a new function parseStyleFromFile(QString filePath)
It takes a file path, reads it and returns the string
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
a50f1e73be Keep selected values when changing catalog
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.
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
cadac0a1e9 Use empty string to signify no filter values consistently
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)
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
3c16f795d4 Increase searcher width based on entered text
The searcher doesn't have a predefined width now. It increases based on text entered.
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
1c5bb8345e Don't set focus/show options menu if choiceItem is clicked 2023-10-04 16:53:04 +02:00
Nikhil Tanwar
fce5b004b4 Put newly selected item on top of options menu
When a new item is selected, it is not kept on top of options menu
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
877352d3bd Cosmetic changes related to showing options menu
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.
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
907a225abd Move Search-files between Local-files and language filter
This change puts the file-search option after Catalog buttons (Online and local files) putting all filters on catalog in one place.
First suggested in https://github.com/kiwix/kiwix-desktop/pull/965#pullrequestreview-1585813810
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
00392aebfd Minor style fixes
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
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
b3a0542ba7 Navigate through choices using up,down keys
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
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
146705ba93 Content type now uses KiwixChoiceBox
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.
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
ccf1e505a1 Remember language and category values
Language and category values are now a setting
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
fd371d2a47 Add styles for KiwixChoiceBox
Added styles for KiwixChoiceBox to make it match the model.
Also moved everything in contentmanagerside more to the left.
2023-10-04 16:53:04 +02:00