Commit Graph

77 Commits

Author SHA1 Message Date
Bart De Vries f6977d2e74 Enable color scheme selection through settings
FEATURE: 460177
2023-10-26 10:25:48 +02:00
Bart De Vries 2a58b3002e Remove all qt5-only code 2023-09-14 16:26:37 +02:00
Marco Mattiolo c1a45ed49b Bump KF minimum version to 5.105.0
CCBUG: 473648
2023-09-06 08:02:00 +00:00
Albert Astals Cid b2e79dbb51 GIT_SILENT Upgrade release service version to 23.11.70. 2023-07-17 12:50:21 +02:00
Volker Krause 9ecbc599f4 Fix binary stripping in APKs with Qt 5.15.10
This brings APK sizes back to what they used to be, instead of the 3x-5x
bloated version binary factory produces since the 5.15.10 update.
2023-07-08 09:27:11 +02:00
Bart De Vries 0c54ab7edf Refactor to use QNetworkInformation instead of SolidExtras for Qt6
SolidExtras will still be used for the Qt5 version for the time being.
This refactoring makes it trivial to rip out SolidExtras once the jump
to Qt6-only will be made.
2023-06-02 19:11:10 +02:00
Bart De Vries f69366f6fd Load custom icons through fallbackSearchPaths
BUG: 469567
2023-05-10 14:30:43 +02:00
Albert Astals Cid 4961dce955 GIT_SILENT Upgrade release service version to 23.07.70. 2023-03-10 21:58:56 +01:00
Bart De Vries 1d28cdfed5 Prepare for KF6 2023-03-01 10:28:23 +01:00
Tobias Fella 8207b6af08 Update Tobias' mail address 2023-02-27 19:18:46 +01:00
Bart De Vries 8f6de91577 Allow tray icon type to be set (dark, light, colorful) 2023-02-27 14:39:24 +00:00
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