Commit Graph

37 Commits

Author SHA1 Message Date
Bart De Vries f861f4e802 Add podcast subscription and episode play state synchronization
This implements the gpodder API from scratch.  It turned out that
libmygpo-qt has several critical bugs, and there's no response to pull
requests upstream.  So using that library was not an option.

The implementation into kasts consists of the following:
- Can sync with gpodder.net or with a nextcloud server that has the
  nextcloud-gpodder app installed.  (This app is mostly API compatible
  with gpodder.)
- Passwords are stored using qtkeychain.  If the keychain is
  unavailable it will fallback to file.
- It syncs podcast subscriptions and episode play positions, including
  marking episodes as played. Episodes that have a non-zero play
  position will be added to the queue automatically.
- It will check for a metered connection before syncing.  This is
  coupled to the allowMeteredFeedUpdates setting.
- Full synchronization can be performed either manually (from the
  settings page) or through automatic triggers: on startup and/or on
  feed refresh.
- There is an additional possibility to trigger quick upload-only syncs
  to make sure that the local changes are immediately uploaded to the
  server (if the connection allows).  This will trigger when
  subscriptions are added or removed, when the pause/play button is
  toggled or an episode is marked as played.
- This implements a few safeguards to avoid having multiple feed URLS
  pointing to the same underlying feed (e.g. http vs https).  This
  solves part of #17

Solves #13
2021-10-29 18:47:55 +02:00
Tobias Fella 6ad1818734 Create better Settings
Use the settings components from Kirigami
2021-10-29 17:04:07 +02:00
Tobias Fella 6d164e019b Remove debug print 2021-10-13 20:10:24 +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 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
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
Bhushan Shah ac68c16087 GIT_SILENT: Update cmake version for 21.08 2021-08-31 15:13:22 +05:30
Bhushan Shah 29a74c8552 GIT_SILENT Update version number for 21.06 2021-07-19 10:01:27 +05:30
Bart De Vries 719879072e Workaround for kde_configure_git_pre_commit_hook not working on android CI 2021-06-19 17:05:04 +02:00
Bart De Vries 70024b0865 Add clang-format git hook 2021-06-19 13:39:49 +02:00
Bart De Vries 60432619f1 Bump minimum cmake version
FindKF5.cmake requires cmake minimum version 3.16
2021-06-19 00:26:24 +02:00
Bhushan Shah 8671ec8aa4 GIT_SILENT Update version number for 21.06 2021-06-09 20:11:18 +05:30
Bart De Vries 3983e09634 Use qCDebug in AudioManager 2021-05-28 22:55:18 +02:00
Bart De Vries e4cda46a34 Add PROJECT_VERSION to CMakeLists.txt 2021-05-27 23:19:21 +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 76c30dff87 Fix issues identified in review by Tobias Fella 2021-04-27 09:43:58 +02:00
Bart De Vries 0bf3540dbd Also add DBus as dependency for android 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
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 b8ee516162 Change file names 2020-06-06 18:23:04 +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
Tobias Fella 1ab02966d5 Android build fixes 2020-04-28 21:32:37 +02:00
Tobias Fella 26762aaf7c Allow in-source builds 2020-04-27 21:44:39 +02:00
Tobias Fella 7e828772e0 Add a PlaceholderMessage to the FeedList 2020-04-23 13:47:24 +02:00
Mathis Brüchert c87b2861cc add icon 2020-04-21 22:04:12 +02:00
Tobias Fella 26c57d45d7 Port to Android 2020-04-21 23:27:15 +02:00
Laurent Montel 42ab8a676a Remove executable attribute 2020-04-21 13:23:25 +02:00
Tobias Fella 7dbcb4ccaf prepare for i18n 2020-04-15 21:21:08 +02:00
Tobias Fella 195b6d63ee
add timestamp, aboutpage, settingspage 2020-03-26 14:16:19 +01:00
Tobias Fella e75646cef9 remove kio dependency 2020-02-28 23:57:21 +00:00
Tobias Fella 5ae34b56f7
Initial Commit 2020-02-28 23:25:08 +01:00