Commit Graph

823 Commits

Author SHA1 Message Date
Bart De Vries 5b15f4c7b9 Solve issue with FolderDialog
FolderDialog has issues retrieving the selected folder if that folder
has been selected through xdg-desktop-portal (i.e. flatpaks).  Reverting
to FileDialog from QtQuick.Dialogs.

BUG: 443956
2021-10-28 13:12:04 +02:00
Bart De Vries 2455e543fe Fix fetch-on-startup logic
The fetch-on-startup would only happen if the metered state was
explicitly set to "No".  Hence, when the state is "Unknown" (which will
happen in most cases) no fetching would be done on startup.

The new logic will check for the metered state not being equal to "Yes".
2021-10-27 10:20:44 +02:00
Bart De Vries 3ff1333195 Fix uninitialized member variable m_sizeOnDisk 2021-10-26 23:14:44 +02:00
Bart De Vries 4f83ac8701 Solve memory leak when fetching feeds 2021-10-26 22:32:58 +02:00
Bart De Vries 710f44d2ef Fix parsing chapter marks containing a decimal point 2021-10-25 11:50:40 +02:00
Tobias Fella 3d5a00d2d7 Rename solidextras plugin to prevent name clashes when also using
itinerary
2021-10-24 16:11:47 +02:00
Nicolas Fella dd5b79faea Fix taglib includes
FindTaglib reports <prefix>/include/taglib/ as include path, so we must
not prefix the headers with taglib/
2021-10-15 00:36:03 +02:00
Bart De Vries ca595c985c Make parsing of chapter timestamps more robust
Solves #19
2021-10-13 20:42:24 +02:00
Tobias Fella 6d164e019b Remove debug print 2021-10-13 20:10:24 +02:00
Bart De Vries 9f9bcb639e Remove leftover canCheckNetworkStatus calls 2021-10-11 12:26:17 +02:00
Tobias Fella fc6969e018 Implement network status checking on android
Replaces the whole thing with the solidextras implementation found in
itinerary
2021-10-09 19:32:28 +00:00
Bart De Vries 52f90157ca Make sure chapter marks show up in the correct order 2021-10-07 13:28:47 +02:00
Bart De Vries b77c3b46af Don't make text selectable on mobile since it messes up scrolling 2021-10-07 12:07:14 +02:00
Bart De Vries 0afdb0d50c Add ZLIB optional dependency for Android CI 2021-10-07 11:42:56 +02:00
Tobias Fella f6a8f40d9a Try fixing CI 2021-10-07 11:42:56 +02:00
Nicolás Alvarez 880f1d3dc3 Add GitLab CI for Android 2021-10-07 11:42:55 +02:00
Nicolas Fella e8af438871 Add FreeBSD CI 2021-10-07 01:36:51 +02:00
Bart De Vries de954f644a Fix issues with cached images being accessed while the download is still running 2021-10-06 19:16:06 +00:00
Tobias Fella 044dbf5f23 Implement loading chapters from mpeg files 2021-10-06 21:08:12 +02:00
Nicolas Fella 4c73f1c71c Remove broken windows header
It's not needed and breaks the build
2021-10-04 22:41:49 +02:00
Tobias Fella 67d10d32bf Link against sqlite on android
Tricks androiddeployqt into including the libraries
2021-10-04 19:12:31 +00:00
Bart De Vries 748c9e3116 Fix compiler warnings 2021-10-03 20:49:42 +02:00
Tobias Fella e60880603b Add compile_commands.json to .gitignore 2021-10-03 19:08:09 +02:00
Bart De Vries fdbe348f12 Make Entry and Feed details text selectable 2021-10-02 20:39:15 +02:00
Bart De Vries 157e1219bb Fix 'Allow Once' feed update after it was broken by refactoring 2021-10-02 20:32:36 +02:00
Bart De Vries c061a01c59 Wrap feed update routine in KJob and make it more efficient
The feed update routine which is now spread over several methods
in Fetcher, is now put into a self-contained KJob.  This will allow
to re-use this job later on in e.g. gpodder sync, where it's
required to update feeds before syncing episode statuses.

This also makes the feed update abortable.

Lastly, but most importantly, the feed update procedure has been
optimized to minimize database transactions, resulting in a dramatic
speed-up.  This is especially true for importing new feeds, which
will now be at least 5x faster on slow hardware.
2021-10-01 22:36:42 +02:00
Bart De Vries e4ee0f19fd Do not create feed object if it's not in the database
Also clear errors related to a feed that's being removed from the database.
2021-10-01 15:46:17 +02:00
Albert Astals Cid c0dc8cee6a Add "dummy" contexts to two i18np
gettext complained that there's another string with the same text but
not plural and that is bad, so add a dummy context to make gettext happy

xgettext: warning: msgid 'Remove Podcast' is used without plural and with plural.
             ./qml/FeedListDelegate.qml:279: Here is the occurrence without plural.
             ./qml/FeedListPage.qml:249: Here is the occurrence with plural.
          Workaround: If the msgid is a sentence, change the wording of the sentence; otherwise, use contexts for disambiguation.
xgettext: warning: msgid 'Delete Download' is used without plural and with plural.
             ./qml/GenericEntryDelegate.qml:294: Here is the occurrence without plural.
             ./qml/GenericEntryListView.qml:207: Here is the occurrence with plural.
          Workaround: If the msgid is a sentence, change the wording of the sentence; otherwise, use contexts for disambiguation.
2021-09-30 22:43:49 +02:00
Nicolas Fella 0b272313ed Enable proper Linux CI 2021-09-29 16:05:02 +02:00
Bart De Vries f0f4da8aa7 Improve contextual actions for the FeedList and EntryLists
This adds "select all", "deselect all" to the page contextual actions
and adds "show podcast info" to the OverlayPage opened by clicking on
the overflow menu button on the cards.
This also adds correct use of plurals for the actions if more than one
item has been selected.
2021-09-29 08:50:00 +02:00
Felipe Kinoshita e1c80bff3d
Don't use contextProperty to make KAboutData available on QML
Context properties always takes in a QVariant, which means that
whenever you access the property it is re-evaluated because in
between each access the property may be changed as
setContextProperty() can be used at any moment in time.
2021-09-28 17:46:01 -03:00
Bart De Vries b4d67ffeb4 Solve width binding loop and messed up height for UpdateNotification 2021-09-28 14:42:45 +02:00
Bart De Vries 4a20959522 Switch from DelegateRecycler to reuseItems (except for queue) 2021-09-27 16:48:12 +02:00
Tobias Fella 06e8d8d573 Remove android job 2021-09-26 10:32:15 +02:00
Bart De Vries 78986c5da7 Make FeedList sorting update when the feed details (e.g. title) have been updated 2021-09-25 09:58:36 +02:00
Bart De Vries 074dad647b Fix deleting multiple feeds 2021-09-24 16:10:19 +02:00
Bart De Vries 8900186990 Fix crash on multi-selection download/delete action
Solves #16
2021-09-23 13:17:53 +02:00
Bart De Vries bd1cf2c5f0 Add FeedListPage sorting
The feeds will be sorted by (1) descending number of unread/unplayed
entries and (2) alphabetically by name.  The current item and current
selection are maintained after re-sorting when the number of unread
entries has changed.
2021-09-21 22:44:12 +02:00
Bart De Vries c84d8ed47f Add selection, navigation and context menus to FeedListPage 2021-09-21 22:44:12 +02:00
Swapnil Tripathi a141cda44a Add chapter marks 2021-09-21 20:36:54 +00:00
Bart De Vries 4c2aa9e3ab Port away from deprecated Kirigami.Units.fontMetrics 2021-09-21 14:09:05 +02:00
Bart De Vries 3f0dadd901 Fix minor bugs related to selection/context menus 2021-09-20 09:53:17 +02:00
Bart De Vries 4b2da3533c Enable multi-selection and context menus on all lists of entries
This commit adds keyboard navigation to entry lists.
Selection of items can be done through keyboard (shift+up/down), mouse
(left, left+shift, left+ctrl) or touch (long press).
When items are selected, contextual actions will show up on
the page (useful for touch screens), or, alternatively, a context menu
with the same actions can be opened through right mouse click (useful
for desktop).
If a single entry is selected, then only the relevant actions will be
shown (e.g. only "Mark as Played" if the entry has not been played yet).

Additionally, (database) transactions for the actions have been
optimized.  This was necessary to make sure that actions on large
selections of entries finish within an acceptable time.  E.g. actions on
a list of 1000 items should finish within a few seconds (on all but
underpowered hardware).

BUG: 441764
2021-09-19 21:37:10 +02:00
Bart De Vries 6121f6622f Remove deprecated usages of devicePixelRatio 2021-09-18 21:35:52 +02:00
Bart De Vries 91e43c4013 Add tools-report-bug icon for android
This icon is automatically added to the AboutPage, but is missing on
android if not added explicitly.
2021-09-18 19:46:21 +02:00
Bart De Vries 86d1476687 Implement Filter actions in GUI 2021-09-18 19:07:15 +02:00
Bart De Vries 531c6a2483 Implement EpisodeProxyModel to filter based on status 2021-09-18 19:07:15 +02:00
Bart De Vries 6d5831a715 Add roles to EpisodeModel in preparation for filtering 2021-09-18 19:07:15 +02:00
Bart De Vries bb8cd2807c Refactor EpisodeModel and DownloadModel to make them more performant 2021-09-18 19:07:15 +02:00
Bart De Vries 117f314d0d Move models to dedicated directory 2021-09-18 19:07:15 +02:00