Commit Graph

761 Commits

Author SHA1 Message Date
Bart De Vries 4d41fc96a3 Fix member array of model not being cleared on refresh 2023-03-21 19:56:32 +01:00
Bart De Vries 97e66aa587 Replace i18n by i18nc in EntryPage 2023-03-21 16:18:25 +01:00
Bart De Vries 0bfd0b919e Make Kasts use the system proxy settings
BUG: 467490
2023-03-19 08:53:57 +00:00
Bart De Vries 3935987705 Re-enable Material style on Android
Breeze style seems to have significant font issues on some Android
devices.
2023-03-16 21:02:33 +01:00
Bart De Vries 02179c72be Add missing document-save icon to android build 2023-03-16 13:40:56 +01:00
Bart De Vries ffbc064908 Re-enable glyph cache workaround for android 2023-03-16 13:40:56 +01:00
Bart De Vries 45e50e40fb Fix bug with empty feed causing nullptr dereference
If an empty URL was entered (i.e. only whitespace) then that would be
accepted and added to the database as temporary entry to be loaded and
checked later.  However, sqlite will convert this to a NULL entry.  This
would lead to Kasts not being able to retrieve that feed from the DB,
and hence not being able to create a proper object.  This would then
lead to a nullptr dereference down the line.
Note that this is a corner case: other invalid URLs are spotted
correctly and do not cause the application to crash.

BUG: 467394
2023-03-15 15:10:47 +01:00
Bart De Vries 56b30203eb Remove "new" status when starting playback of an episode
Before the introduction of streaming, the "status" would be removed when
an episode was downloaded or marked as played, which made sense.  With
the introduction of streaming it makes sense to also remove the "new"
status when (streaming) playback starts.  At that point in time the
episode should indeed no longer considered to be "new".
2023-03-15 12:52:24 +01:00
Bart De Vries 03d090fd92 Add check for the existence of entry before using entry.title 2023-03-14 16:23:34 +01:00
Bart De Vries bc658bcbe2 Android style changes
- Remove qtquickcontrols2.conf
- Use glyph cache workaround only on non-Android
2023-03-14 12:08:30 +01:00
Bart De Vries e45dd71c83 Switch to breeze style on android 2023-03-13 14:10:55 +01:00
Bart De Vries 1d28cdfed5 Prepare for KF6 2023-03-01 10:28:23 +01:00
Bart De Vries 841c43fb09 Remove unneeded import of QtQuick.Dialogs 2023-02-28 16:13:41 +01:00
Bart De Vries 757b88a84d Scroll to item that's opened from GlobalSearchPopup 2023-02-28 16:00:37 +01:00
Bart De Vries 25a22d7bdc Fix filter message being shown for unsubscribed feeds 2023-02-28 15:41:47 +01:00
Bart De Vries c5f4fd23fc Set database to WAL mode on startup
Using WAL mode avoids having to lock the database for certain
transactions.  Therefore, deadlocks between read/writes from different
threads should not happen anymore.  These were rare, but happened
sometimes on slower hardware or slow storage devices.

BUG: 465110
2023-02-28 14:50:21 +01:00
Bart De Vries 6e998d608c Use FolderDialog for non-flatpak builds
Flatpaks have a problem with FolderDialog from labs: it never returns a
path.  Therefore Kasts was - up to now - using FileDialog from QtQuick1.
However, this was causing problems on Android and Windows.  Now we only
use QtQuick1 FileDialog for flatpak and FolderDialog everywhere else.

CCBUG: 458331
2023-02-28 14:09:10 +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 7dcf3c52e2 Fix directly jumping to chapter on a non-playing track 2023-02-27 15:04:01 +01:00
Bart De Vries deaf7ebbb5 Add separators to ListViews and clean up ErrorList 2023-02-27 14:43:45 +01:00
Bart De Vries a95c32d447 Fix streaming icon loading 2023-02-27 14:12:12 +01:00
Bart De Vries eedfc28f8f Handle stream redirects through qt rather than libVLC/gstreamer
libVLC has a hardcoded maximum number of redirects. Several podcasts
need more than this number.  Therefore we resolve the final url through
QNetworkReply and send the final url to the audio player.
2023-02-23 18:37:52 +01:00
Bart De Vries 585378b86c Improve image and content parsing from feed 2023-02-21 10:20:45 +01:00
Bart De Vries e6fee85f4e Solve issues with playback signals firing while changing tracks 2023-02-20 11:34:49 +01:00
Bart De Vries cbf586d518 Safeguard against entry not being defined on delegates
This can happen when the episode delegates are being recycled
by ListView through reuseItems.
2023-02-20 10:45:39 +01:00
Bart De Vries 23395e683e Fix globaldrawer RTL behaviour 2023-02-19 19:36:00 +01: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 780e63c2f2 [KMediaSession] Allow app and desktop entry name to be set in constructor 2023-02-16 13:32:52 +01:00
Bart De Vries 71eb79979a Fix user-agent
There was a semicolon in the user agent string which seems to cause
problems on certain servers.

Closes #37
2023-02-15 14:49:54 +01:00
Bart De Vries 0ecb7a3ec0 Add back separator in between episode delegates 2023-02-14 13:34:39 +01:00
Bart De Vries 49bec856b4 Add streaming action to entry context menus 2023-02-11 21:03:12 +01:00
Bart De Vries 40c3a5138c Ensure that currentPage is set on first run 2023-02-10 22:19:49 +01:00
Volker Krause c0410506d1 Replace QSystemTrayIcon with a empty stub on Android
Should hopefully fix the Android builds on binary factory.
2023-02-10 17:21:25 +00:00
Bart De Vries 3f1859e14b Rename main window id to kastsMainWindow instead of root 2023-02-10 15:28:53 +01:00
Bart De Vries 04f44bc078 Simplify saving the current Page 2023-02-10 15:17:36 +01:00
Bart De Vries 97062cad24 Port away from DelegateRecycler 2023-02-09 22:03:07 +01:00
Bart De Vries 082e3d4ce3 Implement systray icon, menu and settings.
BUG: 462470
2023-02-03 21:48:22 +01:00
Bart De Vries bbc8562100 Implement custom playback rate selection
Also refactor playbackrate dialog and store values in settings

Solves #12
2023-02-03 21:30:46 +01:00
Bart De Vries 8ad0365a4a Use vertical volume slider on mobile
This is possible by removing the hack that was causing trouble with the
vertical orientation.
2023-02-02 16:09:04 +01:00
Bart De Vries bc4dc313b7 Display high DPI art when using scaling 2023-02-02 11:30:22 +01:00
Bart De Vries fa8e2da414 Port from deprecated iconName to icon.name 2023-02-01 22:53:44 +01:00
Bart De Vries 72646f5075 Put fullscreen image viewer in Loader 2023-02-01 11:30:36 +01:00
Heiko Becker a973ce547d cmake: Add an option for the gstreamer audio backend
Otherwise it'll become a so-called automagic dependency with no control
over including support for it or not, other than having it installed on
the system or not.
For LIBVLC CMAKE_DISABLE_FIND_PACKAGE can be used, but for
pkg_check_modules no such things exits and we need an explicit option.
2023-01-30 22:26:55 +01:00
Bart De Vries a753b6918a Fix showing chapters on mobile playercontrols 2023-01-25 18:16:04 +01:00
Bart De Vries a014f28ead Also add clickable timestamps to mobile player controls 2023-01-25 10:52:17 +01:00
Bart De Vries cdec053375 Make timestamps in entry contents clickable, like chapter marks
BUG: 446358
2023-01-24 15:22:40 +01:00
Bart De Vries 5678fc0490 Make things clickable (showing a PointingHandCursor) 2023-01-24 10:56:38 +01:00
Bart De Vries 9963132d60 Only set QT_ENABLE_GLYPH_CACHE_WORKAROUND on arm
BUG: 463383
2023-01-24 10:16:20 +01:00
Bart De Vries 48c1cffd4e [KMediaSession] Put compilation of example player behind switch 2023-01-23 20:55:57 +01:00