Commit Graph

66 Commits

Author SHA1 Message Date
Bart De Vries
e5e046e412 Implement episode search functionality
Add search capabilities to the main window toolbar and the episode lists.

BUG: 459983
2023-02-17 21:14:57 +00:00
Bart De Vries
082e3d4ce3 Implement systray icon, menu and settings.
BUG: 462470
2023-02-03 21:48:22 +01:00
Carl Schwan
c1c7393b64 Move Kasts to the release service
See https://invent.kde.org/sysadmin/release-tools/-/merge_requests/27

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-01-30 20:14:43 +01:00
Carl Schwan
459e6e3d78 Bump version to 23.01
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-01-27 22:15:16 +01:00
Bart De Vries
48c1cffd4e [KMediaSession] Put compilation of example player behind switch 2023-01-23 20:55:57 +01:00
Bart De Vries
9e423a5fb7 Update CMakeLists.txt 2023-01-21 12:49:55 +01:00
Bart De Vries
9ead23ff59 Port c++ to qt6 2023-01-20 14:23:30 +00:00
Bart De Vries
eb07e67f70 [KMediaSession] Implement dynamic audio backend framework
KMediaSession is an audio player library that has an API which is close
to QMediaPlayer and which allows to use --- and dynamically switch
between --- different audio backends. At this moment there is
implementation for libVLC, gstreamer and QtMultimedia. Only QtMultimedia
is a hard dependency in order to at least have one functional backend on
all platforms; all other dependencies are optional.

KMediaSession has out-of-the-box, built-in MPRIS2 support, sleep inhibit,
and basic metadata support.

BUG: 462358

Closes #35
2023-01-16 15:36:54 +01:00
Bart De Vries
fba4822874 Bump KF minimum version to 5.102.0 2023-01-16 15:36:28 +01:00
Bart De Vries
cd6ee1c812 Install cloud playback icon to system 2023-01-01 15:22:03 +01:00
Devin Lin
c30bfbb5a5 Use pageStack.popHiddenPages
This uses a new property in Kirigami to simplify the code.
2022-12-18 10:24:15 +00:00
Devin Lin
60c99fe31f Add strict Kirigami Addons compile time dependency 2022-11-30 14:34:08 +01:00
Devin Lin
6c8d0fa404 Port settings to MobileForm components 2022-11-30 14:34:08 +01:00
Bhushan Shah
bcfcaf3bfd Update version number for 22.11
GIT_SILENT
2022-11-30 13:27:27 +05:30
Bart De Vries
db802b6b17 Look for, and link to, Kirigami and QtSvg on all platforms
I don't know why they were historically only included for Android.  But
this fixes qt6 porting.
2022-10-06 19:07:55 +02:00
Bart De Vries
cee1bb9dab Add Kirigami as dependency on all platforms
Don't know why this was missed until now.
2022-09-30 21:52:13 +02:00
Bhushan Shah
30de73132a GIT_SILENT: bump version to 22.09 2022-09-27 20:24:02 +05:30
Bart De Vries
1043f4a63e Add app icons for windows build
Closes #26
2022-06-30 20:23:34 +00:00
Bhushan Shah
2411829546 GIT_SILENT: bump version to 22.06 2022-06-23 21:11:20 +05:30
Bart De Vries
633f4fd0f0 Use multithreading for feed updates (using ThreadWeaver)
This contains the following changes:
- Use separate db connections for feed updates (required for
  multithreading.
- Add ThreadWeaver dependency.
- Port update job from KJob to ThreadWeaver::Job
- This should also solve the bug where the update process would hang
  on the "processEvents" call, which was intended to keep the UI
  responsive during updates.

BUG: 452585
2022-05-29 15:22:23 +02:00
Nicolas Fella
4369127934 Adapt build system to Qt6 2022-05-02 10:24:12 +00:00
Bhushan Shah
38f4f154af GIT_SILENT: bump version to 22.04 2022-04-23 17:04:12 +05:30
Tobias Fella
7887ff2cc9 Add ki18n_install 2022-04-07 17:00:44 +02:00
Devin Lin
36d9a84bff Port to Kirigami.Dialog
This should simplify logic, and also handles scrolling nicely.
Appearance and UX-wise, everything should be the same as before with OverlaySheet.
2022-03-04 09:11:22 +00:00
Bhushan Shah
bea2ab7992 GIT_SILENT: Update version and appstream data for 22.02 2022-02-08 18:23:50 +05:30
Bhushan Shah
e09b6f614b GIT_SILENT Update version number for 21.12 2021-12-05 10:16:24 +05:30
Tobias Fella
226176f48c Add build.gradle
This gives us more control over the files that are added to the apk
2021-11-20 20:42:19 +00:00
Bart De Vries
19d7a2c12b Bump KF5_MIN_VERSION to 5.87.0
This is required for NavigationTabBar

BUG 445423
2021-11-13 18:11:53 +01:00
Tobias Fella
02d78b2f32 Don't try to use clang-format on android at all 2021-11-04 19:51:06 +01:00
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