Commit Graph

603 Commits

Author SHA1 Message Date
Bart De Vries ed2d1ee2c8 Remove old, unused code 2021-04-21 14:53:03 +02:00
Bart De Vries da456a19f9 Fix switch to next track on removing currently playing track from Queue 2021-04-21 14:53:02 +02:00
Bart De Vries 07afc98978 Consolidate all EntryDelegate actions
QueueDelegates and EntryListDelegates are now using the same actions
defined in GenericEntryDelegate.
2021-04-21 14:53:02 +02:00
Bart De Vries 1ceb5532b2 Close EntryPage when Entry is opened from Queue and Entry is removed from Queue 2021-04-21 14:53:02 +02:00
Bart De Vries 952dbdea5e Refactor Queue and EntryList to use a GenericEntryDelegate
Still to be done is putting the actions into the GenericEntryDelegate
itself.
2021-04-21 14:53:02 +02:00
Bart De Vries 0bf3540dbd Also add DBus as dependency for android 2021-04-21 14:53:02 +02:00
Bart De Vries 5026703bdd Add contextual actions to EntryPage 2021-04-21 14:53:02 +02:00
Bart De Vries 9364a5b88f Clean up old code in comments 2021-04-21 14:53:02 +02:00
Bart De Vries 05e03d20e3 Close entrypage when removing that item from queue when in queuepage 2021-04-21 14:53:02 +02:00
Bart De Vries b2dd9961ed Rework actions on queue, entrylist and entrypage 2021-04-21 14:53:02 +02:00
Bart De Vries 23b6b68500 Make sure that canGoNext is accurate when changing anything in queue 2021-04-21 14:53:02 +02:00
Bart De Vries ecceb5c0fe Make header on info page of PlayerControl slightly smaller 2021-04-21 14:53:02 +02:00
Bart De Vries 5f4a24a11d Refactor adding/removing to queue
All adding and removing should now go through the entry itself, using
queueStatus.
2021-04-21 14:53:02 +02:00
Bart De Vries f681ef0f4f Change to inline header for EntryPage
This includes a minor update to GenericListHeader
2021-04-21 14:53:02 +02:00
Bart De Vries 7a3cd64c6b Add "addToQueue" action for entry if relevant 2021-04-21 14:53:02 +02:00
Bart De Vries f5930c8399 Make sure that queue status of items is correct 2021-04-21 14:53:02 +02:00
Bart De Vries 7113b23530 Add title to entry description on PlayerControls 2021-04-21 14:53:02 +02:00
Bart De Vries 5a3a5f40d1 Use header on EntryPage 2021-04-21 14:53:02 +02:00
Bart De Vries 8abbae4772 Refactor to re-usable header for list and details pages 2021-04-21 14:53:02 +02:00
Bart De Vries 97d8e8290a Change default visible action on EntryListDelegate 2021-04-21 14:53:02 +02:00
Bart De Vries 28b47f6a4b Refactor addToQueue and change visible actions on EntryListDelegate 2021-04-21 14:53:02 +02:00
Bart De Vries 015851287d Only enable one visible action on queuedelegate 2021-04-21 14:53:02 +02:00
Bart De Vries d17b422547 Also add playProgressBar to EntryListDelegate 2021-04-21 14:53:02 +02:00
Bart De Vries 00a9d75c33 Make sure that duration and position labels are readable on resize 2021-04-21 14:53:02 +02:00
Bart De Vries 2e118d9a7e Make sure that canGoNext status is still accurate when queue items have been moved around 2021-04-21 14:53:02 +02:00
Bart De Vries 401f12c02d Adapt spacing of controls on PlayerControls 2021-04-21 14:53:02 +02:00
Bart De Vries 4edacbc5e8 Make drawer handles disappear when PlayerControls are opened 2021-04-21 14:53:02 +02:00
Bart De Vries 6eca639ce4 Add button to close PlayerControls 2021-04-21 14:53:02 +02:00
Bart De Vries 97bed3def8 Add playProgress progressbar to entry items in queue 2021-04-21 14:53:02 +02:00
Bart De Vries c158222d33 Delete old commented code and minor restructuring 2021-04-21 14:53:02 +02:00
Bart De Vries 5edc0b0f3e Fix drawer handles getting in the way of the miniplayer 2021-04-21 14:53:02 +02:00
Bart De Vries 364dd52f9a Implement swipe to open/close miniplayer/full player 2021-04-21 14:53:02 +02:00
Bart De Vries 0d778c2a47 Add missing bit for MPRIS taskbar progress (which still doesn't work) 2021-04-21 14:53:02 +02:00
Bart De Vries 49baa7915b More elegant solution for setting MPRIS2 audio duration when changing tracks 2021-04-21 14:53:02 +02:00
Bart De Vries a624040ef3 Make player robust against having no track loaded at end of queue 2021-04-21 14:53:02 +02:00
Bart De Vries 8c1295372a Fix enclosure status
Enclosure wasn't checking if file existed on disk.  Hence, if the
enclosure was reporting a file size of 0 (which matches the non-existent
file size, then it would set the status incorrectly to Enclosure::Downloaded.
2021-04-21 14:53:02 +02:00
Bart De Vries 65c5a16dc8 Expose duration from Enclosure 2021-04-21 14:53:02 +02:00
Bart De Vries f85dbd0572 Remove episodes from queue once they've been fully played 2021-04-21 14:53:02 +02:00
Bart De Vries b2ba953a33 Mark fully played episodes as read 2021-04-21 14:53:02 +02:00
Bart De Vries 2f389e02aa Move some buttons around to more logical places 2021-04-21 14:53:02 +02:00
Bart De Vries 32f01b03bd Enable next button in Player
This functionality has safeguards built in, including a canGoNext
property.
This can be extended with streaming playing in the future.
2021-04-21 14:53:02 +02:00
Bart De Vries 3cc8eeffb4 Solve problem with MPRIS2 handles not working
This only happened when no track was loaded at startup.
According to the MPRIS2 spec, a special "properties changed" signal
needs to be sent.
2021-04-21 14:53:02 +02:00
Bart De Vries 2afc8803f8 Final(?) step of cleaning up MPRIS2 implementation 2021-04-21 14:53:02 +02:00
Bart De Vries 3e79321c90 Solve a few remaining problems with MPRIS2
Now the application doesn't crash anymore if no track is loading on
startup.
Seeking through MPRIS2 also works again.
2021-04-21 14:53:02 +02:00
Bart De Vries 60330608ac Refactor the MPRIS2 MediaPlayer2.Player implementation
Changed most items to refer to the underlying AudioManager methods and
signals.
WIP: Still need to check the ProgressOnTaskBar stuff.
2021-04-21 14:53:02 +02:00
Bart De Vries 7c4658db2d Change implementation of seekable in AudioManager
We cannot simply pass on the value from the underlying QMediaPlayer,
since it is not reliable (see hacks concerning restoring startup player
position).  Instead we keep track of it ourselves and send out the
signal in the proper places.
2021-04-21 14:53:02 +02:00
Bart De Vries 21feef8ce0 Refactor to use skipForward and skipBackward
This is done to make the distinction between skipping time and changing
track.
2021-04-21 14:53:02 +02:00
Bart De Vries 791c25ad19 Use next() and previous() in PlayerControl
Also change to std::min and std::max for the implementation of next and
previous.
2021-04-21 14:53:02 +02:00
Bart De Vries 2aa237342c Minor tweak to let MPRIS2 load the correct track info on startup
It's still crashing without a proper track being loaded on startup.
Still needs to be resolved.
2021-04-21 14:53:02 +02:00
Bart De Vries c7164b3f6b Refactor audiomanager to be closer to MPRIS2 interface 2021-04-21 14:53:02 +02:00