Commit Graph

902 Commits

Author SHA1 Message Date
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
Bart De Vries 59c4894639 Remove EpisodeSwipePage; only showing all episodes for now
The "New Episodes" tab is to be replaced by a filter view button and
dialog to be able to filter several episode statuses.  I.e. new,
played / not played, etc.
2021-09-18 19:07:15 +02:00
Bart De Vries c7676d51a4 Revert "Fix overflow-menu icon color on FeedListDelegate"
This reverts commit 5c8a6ea6a4.
It turns out that the issue is caused by qqc2-desktop-style and
qqc2-breeze-style.  The problem should be solved upstream.  And, anyway,
this workaround didn't completely solve the issue either.
2021-09-18 19:05:12 +02:00
Bart De Vries 5c8a6ea6a4 Fix overflow-menu icon color on FeedListDelegate 2021-09-16 12:01:54 +02:00
Christopher Hock d7ac052f73 Update links to Android version 2021-09-14 16:16:44 +02:00
Devin Lin a567be01be Move mobile handles to header 2021-09-11 16:19:31 +00:00
Bart De Vries 938a517f09 Fix subtle problem with pushing EntryPages and EntryListPages to pageStack 2021-09-09 11:25:49 +02:00
Bart De Vries 2e6bd7bdcc Change titles of Kirigami pages such that toolbar icons don't move around
CCBUG: 441764
2021-09-09 11:11:40 +02:00
Bart De Vries 6413085c12 Small fix: start custom roles from Qt::UserRole in podcastsearchmodel.h 2021-09-08 20:31:17 +02:00
l10n daemon script 91a6cc652e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-09-08 01:29:28 +00:00
l10n daemon script c46d65507d GIT_SILENT made messages (after extraction) 2021-09-08 00:23:21 +00:00
Bart De Vries ff8da31ddb Add license info to .kde-ci.yml 2021-09-07 19:22:47 +02:00
Tobias Fella 8a57c1ed42 Add KDE CI config 2021-09-05 13:59:52 +02:00
Bart De Vries c0fff75d6b Add 21.08 release changelog to appdata 2021-08-31 12:52:19 +02:00
Bhushan Shah 9611436a6d GIT_SILENT: Update appstream data for 21.08 2021-08-31 15:40:02 +05:30
Bhushan Shah ac68c16087 GIT_SILENT: Update cmake version for 21.08 2021-08-31 15:13:22 +05:30
l10n daemon script 4efca614f6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-08-15 01:25:31 +00:00
l10n daemon script 1ae4f66952 GIT_SILENT made messages (after extraction) 2021-08-15 00:20:54 +00:00
Bart De Vries 0b33c62a10 Select first enclosure if entry has multiple enclosure entries
Kasts can currently only handle one enclosure per entry.  In case an
entry/item has multiple enclosures, it's probably safe to assume that the
first one is the one that's preferred by the author.

CCBUG: 440389
2021-07-30 14:20:51 +02:00
Bart De Vries 6eb13167f2 Fix bug with feeds with multiple enclosures per entry
BUG: 440389
2021-07-30 08:44:43 +02:00
Devin Lin 00be5e3872 Add X-KDE-FormFactor 2021-07-27 22:25:16 +00:00
Yuri Chornoivan 9384f3c073 Fix minor typo 2021-07-27 12:53:21 +03:00