Commit Graph

65 Commits

Author SHA1 Message Date
Tobias Fella 044dbf5f23 Implement loading chapters from mpeg files 2021-10-06 21:08:12 +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 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
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 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
Swapnil Tripathi a141cda44a Add chapter marks 2021-09-21 20:36:54 +00: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 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 117f314d0d Move models to dedicated directory 2021-09-18 19:07:15 +02:00
Bart De Vries a15e2dbe5d Make storage path configurable
This adds a new setting to the Settings page.
Existing enclosures and images will be moved to the new location
(first copied, then deleted in the original location).  If any of
the copy actions fail, the operation is aborted and the original
path is restored.
The StorageMoveJob is set up in such a way that it's easy to add other
files or subfolders in the future.

Solves #15
2021-07-24 20:43:11 +02:00
Bart De Vries df07359c07 Change subscription page icon to bookmarks 2021-07-15 13:46:46 +02:00
Swapnil Tripathi 95ee97aefe Expanded the model with more roles and designed frontend. 2021-07-07 12:57:45 +02:00
Tobias Fella fa1c308c2d Add model for searching for podcasts 2021-07-07 12:57:45 +02:00
Bart De Vries d0bc5b2b26 Add capability to check whether network connection is metered
For now this only works with NetworkManager.  The related settings are
greyed out on systems not using NetworkManager.

Some details of the implementation:
- Implement settings in the settings menu to enable/disable feed
  updates, episode downloads and/ or image downloads on metered
  connections.  If the option(s) is disabled, an overlay dialog is shown
  with options to "not allow", "allow once", or "allow always".
- If the network is down, no attempt is made to download images and the
  fallback image will be used until the network is up again.
  This also solves an issue where the application hangs when the network
  is down and feed images have not been cached yet.
- Next to this, part of the cachedImage implementation in Entry and Feed
  has been refactored to re-use code as part of the image() method in
  Fetcher.
- In case something unexpected happens, an error will be logged.
2021-07-03 20:20:27 +02:00
Bart De Vries d7debaaf30 Rework Download list page
This page now has section headers, and show Downloading, Partially
Downloaded and Downloaded enclosures with relevant actions for each.
2021-06-24 11:49:24 +02:00
Bart De Vries 69a87b1afc Add icons needed for OverlaySheet on android 2021-06-23 17:17:28 +02:00
Bart De Vries e86111ed55 Move error list to settings page (as overlaysheet) 2021-06-22 16:26:43 +02:00
Bart De Vries 49977adc38 Refactor Error implementation and add Error::Type
- This refactoring also includes a cleanup of a lot of header includes to
  avoid circular dependencies.
- The error message will now be shown below the info message.
- Add database migration (for Errors)
2021-06-19 17:09:44 +02:00
Bart De Vries 4d6d8ae940 Add basic logging capabilities on android.
This implements debug logging which can be checked through logcat.
2021-06-19 00:26:24 +02:00
Bart De Vries 2ed33aa750 Add debugging logging categories 2021-06-05 22:03:22 +02:00
Bart De Vries 05859cdca0 Add missing icon for android build 2021-06-04 09:05:44 +02:00
Bart De Vries 3983e09634 Use qCDebug in AudioManager 2021-05-28 22:55:18 +02:00
Bart De Vries 370b023a3b Change CMake targets from Qt5::x to Qt::x 2021-05-27 22:46:24 +02:00
Tobias Fella 9cbfde6d7c Add more license information 2021-05-12 13:43:49 +02:00
Bart De Vries 1c44e717ae Renaming alligator to kasts everywhere 2021-05-03 22:31:45 +02:00
Bart De Vries 0846dd9d9b Disable DBus as dependency for Android 2021-05-03 12:59:06 +02:00
Bart De Vries 5a9aa35748 Generate dbus sleep inhbit interfaces from XML 2021-04-30 23:12:22 +02:00
Bart De Vries 8ce5ee0e88 Add dialog-close to icons for Android 2021-04-30 14:46:48 +02:00
Bart De Vries 16a5cfbcf9 Add OverlaySheet with actions on FeedList 2021-04-29 22:48:43 +02:00
Bart De Vries 0d275b8400 Don't show clear error button when there are no errors
Also add the icon to the icons to be packed for android.
2021-04-26 10:57:55 +02:00
Bart De Vries 5a0972372b Add ErrorModel, just a placholder GUI for now 2021-04-24 23:32:10 +02:00
Bart De Vries a50c8bf001 Add capability to monitor ongoing downloads 2021-04-21 23:09:19 +02:00
Bart De Vries 98bc7ffa61 Add icons to make sure they are available on Android 2021-04-21 14:53:03 +02:00
Bart De Vries 130b10aefb Add first version of EpisodeListPage 2021-04-21 14:53:03 +02:00
Bart De Vries 593934bc4f Initial copy and adaptation of MPRIS2 from elisa (WIP)
This MPRIS2 implementation compiles without errors, but is not yet
instantiated within the application itself.
To be continued...
2021-04-21 14:53:02 +02:00
Bart De Vries 7d94792872 Add audiomanager and powermanagementinterface
Both classes are based on classes taken from Elisa.

The audiomanager class will be adapted to add functionality like saving
and restoring play positions and interfacing with MPRIS2.
2021-04-21 14:53:02 +02:00
Bart De Vries 65ef16017b Rename AlligatorSettings to SettingsManager 2021-04-21 14:53:02 +02:00
Bart De Vries 8035f0fd60 First work on datamanager 2021-04-21 14:52:33 +02:00
Bart De Vries f75c29dda6 First work on queuemodel 2021-04-21 14:52:33 +02:00
Tobias Fella e5837425d3
Support podcasts 2021-03-22 23:33:44 +01:00
Nicolas Fella 76c61c60bb CMake stuff 2020-10-22 14:41:30 +02:00
Tobias Fella 7647edcdc2 Refactor models 2020-10-09 13:48:41 +02:00
Tobias Fella c320d90c13 Package missing icons for android 2020-09-19 16:57:29 +02:00
Tobias Fella b412325219 Use material style on android 2020-08-17 20:21:56 +02:00
Tobias Fella c8dea42485 Add default feed icon 2020-07-29 22:10:39 +02:00
Tobias Fella 1065e3cdd9 Show network errors when entryList is empty 2020-07-04 22:42:19 +02:00
Tobias Fella 17b4e39eb2 Revert to using a Label for Entry Rendering :( 2020-06-03 17:39:56 +02:00
Tobias Fella 8163a4cd6d Improve Entry rendering 2020-06-01 23:58:58 +02:00