Bart De Vries
6cb062dd9c
Disable debug output in queuemodel
2021-04-21 14:53:03 +02:00
Bart De Vries
1faf092d48
Solve problem with entrypage not scrolling
...
The issue was because of a Connection as final component. That seems to
block the scrolling.
By putting the Connection at the top of the ScrollablePage, all problems
are solved.
Very strange ...
2021-04-21 14:53:03 +02:00
Bart De Vries
3a1c88038a
Make sure that drawer handles don't overlap with bottom tabbars
2021-04-21 14:53:03 +02:00
Bart De Vries
c2e4822e85
Remove double definition of duration property in enclosure
2021-04-21 14:53:03 +02:00
Bart De Vries
68771f4911
Solve problem in logic where it would only fetch the first new episode
2021-04-21 14:53:03 +02:00
Bart De Vries
a45351e1de
Make entry models only update if something really changed
2021-04-21 14:53:03 +02:00
Bart De Vries
0f957841b3
Adapt actions specifically for Downloads page
2021-04-21 14:53:03 +02:00
Bart De Vries
7ebfebe01e
Fix potential issue with processing update of authors
2021-04-21 14:53:03 +02:00
Bart De Vries
ae13eb8cfd
Begin refactoring feed updating routines for speed
...
Make sure that property change signals are only emitted when something
has really changed. So far part "feed" has been done. Entries,
enclosures and entry authors still need to be done.
2021-04-21 14:53:03 +02:00
Bart De Vries
dc3599f49c
Don't make PagePool cache pages
...
This has a dramatic performance impact when refreshing feeds when lots
of pages have already been opened.
2021-04-21 14:53:03 +02:00
Bart De Vries
2b11558279
Mark some signal parameters as unused
2021-04-21 14:53:03 +02:00
Bart De Vries
7be1ed28ec
Disable debug output in audiomanager
2021-04-21 14:53:03 +02:00
Bart De Vries
423409403e
Refactor size property in Enclosure
...
This will make sure that the size is automatically updated in the GUI if
it's corrected based on the real, downloaded audio file.
2021-04-21 14:53:03 +02:00
Bart De Vries
7a900b5921
Update enclosure duration if needed
...
If the duration that is mentioned in the enclosure doesn't correspond to
the real duration then update to the real duration in the database.
2021-04-21 14:53:03 +02:00
Bart De Vries
e9d20ec569
Implement Downloads page
...
This change includes an update to the database, adding a downloaded
column in Enclosures.
2021-04-21 14:53:03 +02:00
Bart De Vries
98bc7ffa61
Add icons to make sure they are available on Android
2021-04-21 14:53:03 +02:00
Bart De Vries
6ae1bf5f87
More work on EpisodeSwipePage
...
Implemented
- unread episodes (still looking for better name)
- mobile and non-mobile tab-views
- i18n and messages when lists are empty
2021-04-21 14:53:03 +02:00
Bart De Vries
29d625e810
First attempt at Swipeable episode list (all, new, unread)
2021-04-21 14:53:03 +02:00
Bart De Vries
e92b02795e
Update Kirigami include version
2021-04-21 14:53:03 +02:00
Bart De Vries
130b10aefb
Add first version of EpisodeListPage
2021-04-21 14:53:03 +02:00
Bart De Vries
62440e8609
Remove unneeded includes in models
2021-04-21 14:53:03 +02:00
Bart De Vries
b8b8a312e9
Set opacity to 0.5 for Entries that have been 'read'
2021-04-21 14:53:03 +02:00
Bart De Vries
4fa45b0075
Save last playing track in database instead of config file
2021-04-21 14:53:03 +02:00
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
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
Bart De Vries
139baba454
Remove unused ifdef
2021-04-21 14:53:02 +02:00
Bart De Vries
8fff1e127e
Remove commented, old qml code
2021-04-21 14:53:02 +02:00
Bart De Vries
48e0e509f7
Switch to using PagePool
2021-04-21 14:53:02 +02:00
Bart De Vries
ed58c4eda7
Do not show insertToQueue button if already added to Queue
2021-04-21 14:53:02 +02:00
Bart De Vries
d9013ede9d
Fix another issue with player startup position recovery
2021-04-21 14:53:02 +02:00
Bart De Vries
569c988962
Enabled MPRIS2 (WIP)
...
Simple play controls are working, but there seems to be quite a bit
missing still.
Proper signals are not triggered for the first track on startup.
2021-04-21 14:53:02 +02:00
Bart De Vries
f626cee7af
Fix saving last playing item when application is shutdown
2021-04-21 14:53:02 +02:00
Bart De Vries
593934bc4f
Initial copy and adaptation of MPRIS2 from elisa (WIP)
...
This MPRIS2 implementation compiles without errors, but is not yet
instantiated within the application itself.
To be continued...
2021-04-21 14:53:02 +02:00
Bart De Vries
7e39d83f90
Restore last playing track on startup
2021-04-21 14:53:02 +02:00
Bart De Vries
f5c20a92e2
Slightly adapt (temporary) debug information from enclosure
2021-04-21 14:53:02 +02:00
Bart De Vries
515064e618
Change enclosure license headers
2021-04-21 14:53:02 +02:00
Bart De Vries
f88fb22153
Finally implement restoring playback positions!
2021-04-21 14:53:02 +02:00
Bart De Vries
129707009c
Implement the framework for custom audio starting position
...
What's still needed is the backend for saving the current position
and making the audio player aware of that position when the entry
is changed.
2021-04-21 14:53:02 +02:00
Bart De Vries
527ed67d4a
Remove "source" property from audiomanager
...
Also rename the internal variables of audiomanager to be aligned
with the naming conventions used elsewhere.
2021-04-21 14:53:02 +02:00
Bart De Vries
d531b892e8
Adapt license headers of audiomanager
2021-04-21 14:53:02 +02:00
Bart De Vries
6b62ba2cf9
Add playbackrate capability to AudioManager
2021-04-21 14:53:02 +02:00
Bart De Vries
33f380e387
Clarify comment about read/new status
2021-04-21 14:53:02 +02:00
Bart De Vries
e722ec29ee
Solve issue with miniplayer not hiding on startup
2021-04-21 14:53:02 +02:00
Bart De Vries
3aa4b836d2
Make PlayerManager work
...
Still one issue with the minimized player opening on startup
2021-04-21 14:53:02 +02:00
Bart De Vries
7d94792872
Add audiomanager and powermanagementinterface
...
Both classes are based on classes taken from Elisa.
The audiomanager class will be adapted to add functionality like saving
and restoring play positions and interfacing with MPRIS2.
2021-04-21 14:53:02 +02:00
Bart De Vries
16c052250c
Make main thread more responsive when updating feeds
2021-04-21 14:53:02 +02:00
Bart De Vries
ee13a29d10
Add playposition tracking in enclosure
2021-04-21 14:53:02 +02:00
Bart De Vries
e174269332
Make time countdown setting in player persistent
2021-04-21 14:53:02 +02:00
Bart De Vries
e1b374e375
Make app restore last playing item
2021-04-21 14:53:02 +02:00
Bart De Vries
218b86807e
Make application remember the last opened main page
2021-04-21 14:53:02 +02:00
Bart De Vries
fbaf084a37
Solve issue with imported feeds being processed twice
2021-04-21 14:53:02 +02:00
Bart De Vries
65ef16017b
Rename AlligatorSettings to SettingsManager
2021-04-21 14:53:02 +02:00
Bart De Vries
7468c35b9a
Enable autoDownload
...
There seems to still be a problem with the images not being fetched for
the newly added queue items.
2021-04-21 14:53:02 +02:00
Bart De Vries
718a9ef734
Delete feed pointer as last action
...
This to ensure that there will not be a dangling pointer when doing all
the other delete operations (entries, enclosures, files and images).
2021-04-21 14:53:02 +02:00
Bart De Vries
20730ccc6f
Add autoQueue option to SettingsPage
2021-04-21 14:53:02 +02:00
Bart De Vries
7232238d7b
Add additional checks after enclosure has been downloaded
...
The file size in the database will be corrected if it doesn't match the
real file size.
The "new" status will be unset once the file has been downloaded.
2021-04-21 14:53:02 +02:00
Bart De Vries
61e3af704b
Add "new" label also to queue entries
2021-04-21 14:53:02 +02:00
Bart De Vries
a8e174739f
Implement "new" episodes feature and autoQueue
2021-04-21 14:53:02 +02:00
Bart De Vries
26986616c7
Only mark episodes as read/new on new feeds, not on existing ones
2021-04-21 14:53:02 +02:00
Bart De Vries
056a7b7835
Fix segmentation fault due to non-existent entry in m_feeds
2021-04-21 14:53:02 +02:00
Bart De Vries
3a4cdbfec0
Implement limited number of new entries for new feed
2021-04-21 14:53:02 +02:00
Bart De Vries
58b5719f71
Minor whitespace correction
2021-04-21 14:53:02 +02:00
Bart De Vries
436e66542a
Change to singleton AlligatorSettings class
2021-04-21 14:53:02 +02:00
Bart De Vries
81c2ad90d1
Add "new" label to entry list items
2021-04-21 14:53:02 +02:00
Bart De Vries
4455545daa
More optimizations of PlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
a4dea193ad
Make properties for miniplayer size
2021-04-21 14:53:02 +02:00
Bart De Vries
5d5ca2c58b
Add title and feed name below image in PlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
518dbf293e
Fix scrollview details flickable
2021-04-21 14:53:02 +02:00
Bart De Vries
ec6e47aea7
Change font size on miniplayer
2021-04-21 14:53:02 +02:00
Bart De Vries
5ed70c41ff
Remove unused Feed constructor
...
This constructor was also outdated.
2021-04-21 14:53:02 +02:00
Bart De Vries
bbba177462
More changes to PlayerControls
...
Trying to put the episode description into the swipeview with a minimal
set of code. This will allow EntryPage to be refactored with nicer
headers etc.
2021-04-21 14:53:02 +02:00
Bart De Vries
71c86d5645
Add TODO for enclosure file size check
2021-04-21 14:53:02 +02:00
Bart De Vries
8159e5a2ce
Redesign FeedDetailsPage
2021-04-21 14:53:02 +02:00
Bart De Vries
3cbea5eb17
Enable refreshing on QueuePage
2021-04-21 14:53:02 +02:00
Bart De Vries
6cd88f5116
Refactor and redesign PlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
49e9e7e1e7
Restyle and refactor MinimizedPlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
e85a3068fc
Add check whether to insert or update enclosure to database
2021-04-21 14:53:02 +02:00
Bart De Vries
b9433a348a
Minor adjustments
2021-04-21 14:53:02 +02:00
Bart De Vries
5d6f05e55e
Update copyright headers
2021-04-21 14:53:02 +02:00
Bart De Vries
0ee88666e9
Fixed text in EntryListPage header and make more mobile friendly
2021-04-21 14:53:02 +02:00
Bart De Vries
88b308984d
Update qml import versions
2021-04-21 14:53:02 +02:00
Bart De Vries
3b7d2332a7
Change icon for 'remove from queue' action
2021-04-21 14:53:02 +02:00
Bart De Vries
59da275f0e
Completely fix author update on feed refresh/add
2021-04-21 14:53:02 +02:00
Bart De Vries
df9dd521f3
Work on EntryList qml (WIP)
2021-04-21 14:53:02 +02:00
Bart De Vries
e092354696
Partially solve adding author for feed
2021-04-21 14:53:02 +02:00
Bart De Vries
ed7f75de13
Send proper signals when adding or removing queue items
2021-04-21 14:53:02 +02:00
Bart De Vries
a9b86d0e44
Add podcast specific settings to Settings
2021-04-21 14:53:02 +02:00
Bart De Vries
8e23123e84
Investigate ways to simplify local play and streaming
2021-04-21 14:53:02 +02:00
Bart De Vries
75f8f93da7
Change paths where images and enclosures are saved
...
Images are now stored in the cache directory in a dedicated subdir
called "images".
Enclosures are stored in the data directory in a dedicated subdir
"enclosures".
2021-04-21 14:53:02 +02:00
Bart De Vries
f061b9a00e
Make sure to delete entry images when feed is removed
2021-04-21 14:53:02 +02:00
Bart De Vries
06bffdb5e3
Add "new" and "playposition" to database
...
These fields have been added to, respectively, Entries and Enclosures.
2021-04-21 14:53:02 +02:00
Bart De Vries
5efd4f85f8
Optimize image loading (partially) and improve QueueDelegate
2021-04-21 14:53:02 +02:00
Bart De Vries
ddb64c5f42
Try to use recycler on entrylistdelegate
2021-04-21 14:53:02 +02:00
Bart De Vries
8506068b1f
Fix issues when there is no feed/entry image
2021-04-21 14:53:02 +02:00
Bart De Vries
83526b0a12
Minor changes
2021-04-21 14:53:02 +02:00
Bart De Vries
bb7f3393a7
Enable entry images in listviews/listmodels
2021-04-21 14:53:02 +02:00
Bart De Vries
8bb027dc82
Fix not popping enough pages when feed is removed
2021-04-21 14:53:02 +02:00
Bart De Vries
0aa9e91f19
Add support for additional itunes tags
...
Most of the itunes fields are used as backup for non-existent regular
fields.
One exception is the entry image, which only exists in itunes tags.
2021-04-21 14:53:02 +02:00
Bart De Vries
030bc07bb5
Remove unneeded PodcastPlayerPage and debug lines in main.cpp
2021-04-21 14:53:00 +02:00
Bart De Vries
8b78de960b
Initial attempt at parsing extra itunes tags
2021-04-21 14:52:33 +02:00
Bart De Vries
7e05231b63
Make sure that everything is cleaned up when removing a feed
2021-04-21 14:52:33 +02:00
Bart De Vries
e670a65f6d
Finish most of the Queue manipulations
2021-04-21 14:52:33 +02:00
Bart De Vries
4f11060a41
Queue is functional again
2021-04-21 14:52:33 +02:00