The proxy model was causing issues with item dragging.
The model would reset after each swapped item. This meant that items
could only be swapped one position at a time.
This would happen when the current track is changed to "no track".
Signals from the backend KMediaSession would still trigger duration()
calls which would try to dereference the pointer to the current track
entry.
The current list of things to sort on (ascending and descending), includes:
- unplayed episodes
- new episodes
- favorite episodes
- title (alphabetical)
For the first three categories, the value of the sort quantity will be shown
in the upper right corner of the delegate.
BUG: 471012
CCBUG: 459885
Replace the custom FullScreenImage component (which was a copy of a
component used in other apps) with the new AlbumMaximizeComponent from
kirigami-addons.
Instead of using the MD5 hash of the enclosure download URL, we
create a filename which follows `feedname/entry_title.hash.ext`, where
feedname is a uniquefied feed title (stored in the DB), a truncated version
of the entry title, a shortened hash based on the download URL, and the
original file extension extracted from the download URL.
BUG: 457848
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.
Stop spamming the DBus with positionChanged signals if playback is
progressing at the nominal playback rate. This brings the
implementation in line with the MPRIS2 player spec. The previous
implementation was causing android battery drain issues with KDEConnect
constantly updating the position (and player details) on the notification
widget.
This implementation will still send the current playback position every
10 seconds to ensure that clients that don't implement the standard
properly or did not receive previous messages, will still get regularly
updated.
This also fixes correct signaling of playback rate changes over DBus.
Make seek times adjustable. Expose seek time under Playback Settings.
Set min time allowed in seconds to 1 and max time in seconds to 300.
FEATURE: 468686
Up to now, RadioButton and CheckButton were added to Menus explicitly
because MenuItem would not use the correct delegate (i.e. CheckButton
instead of RadioButton for a selection group). Since this has been
fixed in qqc2-desktop-style, we can use the proper component again.