Commit Graph

761 Commits

Author SHA1 Message Date
Bart De Vries 6938b331c3 Move toggleRemainingTime to general settings group 2021-04-27 20:48:51 +02:00
Bart De Vries 4d526e89c3 Fix incorrect text on actions on EntryPage 2021-04-27 11:21:23 +02:00
Bart De Vries 64ba96fa32 Remove irrelevant commented out line 2021-04-27 10:54:18 +02:00
Bart De Vries 49d7897e97 Rename showRemainingTime to toggleRemainingTime 2021-04-27 10:16:38 +02:00
Bart De Vries f26c1d5854 Add Bart De Vries as author in AboutData 2021-04-27 10:00:17 +02:00
Bart De Vries 76c30dff87 Fix issues identified in review by Tobias Fella 2021-04-27 09:43:58 +02:00
Bart De Vries c37ee7c7dd Apply 17 suggestion(s) to 7 file(s) 2021-04-27 07:31:26 +00:00
Bart De Vries f2c6c3fae2 Avoid race condition when adding feed
When adding a feed and simultaneously starting a feed update, a race
condition could happen where the feed update would catch up with the
feed adding, and start adding and marking old episodes as new before
the original addFeed method would reach them.
2021-04-26 16:58:22 +02:00
Bart De Vries 0d275b8400 Don't show clear error button when there are no errors
Also add the icon to the icons to be packed for android.
2021-04-26 10:57:55 +02:00
Bart De Vries aa5dd6bdbf Minor fixes for the "Refresh all feeds" actions 2021-04-26 08:05:06 +02:00
Bart De Vries 7d21f5fbe7 Finish basic ErrorListPage implementation 2021-04-25 14:34:14 +02:00
Bart De Vries 3653aa4687 More work on the ErrorListPage delegate 2021-04-25 09:54:15 +02:00
Bart De Vries 5a0972372b Add ErrorModel, just a placholder GUI for now 2021-04-24 23:32:10 +02:00
Bart De Vries 51db7ea1cf Only use custom gst-pipeline on linux
GStreamer is not used as QMediaPlayer backend on other platforms, so
audio will not start with a custom gst-pipeline on Android and Windows.
Still needs a solution to get rid of the horrible pitch change on
Android and Windows, though.
2021-04-23 10:55:59 +02:00
Bart De Vries e2d59a69b0 Move audio positioning hack into a separate method
This allows the hack to be re-used in the play() method.  Apparently on
some systems the stream becomes unresponsive again after pausing.  So
probably it's required to ensure that the stream is fully seekable and
buffered before restarting playback.
2021-04-22 16:48:13 +02:00
Bart De Vries 28d6f7f525 Fix compiler warnings 2021-04-22 11:00:17 +02:00
Bart De Vries a50c8bf001 Add capability to monitor ongoing downloads 2021-04-21 23:09:19 +02:00
Bart De Vries 8c32389b65 Add rounded corners to image on PlayerControls 2021-04-21 22:20:58 +02:00
Bart De Vries fe66490c8f Remove settings from SettingsPage which are not yet fully implemented 2021-04-21 20:43:18 +02:00
Bart De Vries 6c7a271970 Use custom gst-pipeline to avoid pitch changes when audio is sped up 2021-04-21 20:25:01 +02:00
Bart De Vries cbc9f11999 Remove redundant mousearea 2021-04-21 15:41:06 +02:00
Bart De Vries 5a28e48be0 Solve problem with padding in PlayerControls
Kirigami.Page is always adding padding around the content items.  This
gives visual artifacts with the swipepage on the player controls.  Part
of the previous page was still visible because the width of the
swipepage entries is less than the width of the full Kirigami.Page that
they are part of.
2021-04-21 15:27:42 +02:00
Bart De Vries 73c333cf61 Add possibility to delete feed from entrylistpage 2021-04-21 14:53:03 +02:00
Bart De Vries 20b767711a Add rounding to images in genericentrydelegate
Also remove the unused rounding in the feedlistdelegate
2021-04-21 14:53:03 +02:00
Bart De Vries 2b5597cbd6 Redesign feedlistpage and feedlistdelegate 2021-04-21 14:53:03 +02:00
Bart De Vries 3870338e65 Add sourceSize to images 2021-04-21 14:53:03 +02:00
Bart De Vries d949a357ef Center countlabel in update notification 2021-04-21 14:53:03 +02:00
Bart De Vries 02340ec362 Overload addFeed 2021-04-21 14:53:03 +02:00
Bart De Vries 21b47effa9 Take tabbar into account when displaying update notification 2021-04-21 14:53:03 +02:00
Bart De Vries cac0a8b8b6 Adapt signature of error signal
This will be needed for future error logging.
2021-04-21 14:53:03 +02:00
Bart De Vries 295b98a903 Refactor import feeds to be able to show progress 2021-04-21 14:53:03 +02:00
Bart De Vries 695baf9cbb Add fetch function that can take a list of urls 2021-04-21 14:53:03 +02:00
Bart De Vries 28e8051500 Implement update status progress indicator 2021-04-21 14:53:03 +02:00
Bart De Vries 53e2560796 Implement backend for feed update progress 2021-04-21 14:53:03 +02:00
Bart De Vries 3c51ad2052 Remove unnecessary unread tab in episodes 2021-04-21 14:53:03 +02:00
Bart De Vries 6a256baa18 Disable more debug output
Disable in fetcher and datamanager
2021-04-21 14:53:03 +02:00
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
Bart De Vries 5e0772eb63 More work on queuemodel refactoring 2021-04-21 14:52:33 +02:00
Bart De Vries 0808d3b5fe Almost done with complete refactoring (no queue yet) 2021-04-21 14:52:33 +02:00
Bart De Vries 2a9fc8e0a9 Minor fixes (partly on alligator work/podcasts branch) 2021-04-21 14:52:33 +02:00
Bart De Vries 13868709e7 A lot of progress on refactoring with DataManager 2021-04-21 14:52:33 +02:00
Bart De Vries 8035f0fd60 First work on datamanager 2021-04-21 14:52:33 +02:00
Bart De Vries 03573e69c2 Minor improvements 2021-04-21 14:52:33 +02:00
Bart De Vries 514dc1fa51 Switch and rename queue and subscriptions 2021-04-21 14:52:33 +02:00
Bart De Vries d3107dc096 And more work on queue 2021-04-21 14:52:33 +02:00
Bart De Vries f75c29dda6 First work on queuemodel 2021-04-21 14:52:33 +02:00
Bart De Vries 8419fe76ec Some unrelated small changes 2021-04-21 14:52:33 +02:00
Bart De Vries 61d443f0e3 Finished player and beginning of queue 2021-04-21 14:52:31 +02:00
Bart De Vries 5abbd56c88 More work on playercontrols 2021-04-21 14:51:40 +02:00
Bart De Vries c9307d529d Some work 2021-04-21 14:50:22 +02:00
Suraj Kumar Mahto b618229843 Fix the wrapping of entry heading and description and replace emojis with icons 2021-03-31 14:43:53 +00:00
Tobias Fella 8895fcc5a9
i18n 2021-03-22 23:34:04 +01:00
Tobias Fella 205f7a71d3
Unrelated change 2021-03-22 23:34:02 +01:00
Tobias Fella c04f38acc0
Remove unrelated change 2021-03-22 23:33:58 +01:00
Tobias Fella e5837425d3
Support podcasts 2021-03-22 23:33:44 +01:00
Nicolas Fella aff8c3456e Add missing includes 2021-03-12 00:19:04 +01:00
Dimitris Kardarakos 8d850b39df Directly apply configuration
When a configuration option is changed on the settings page, the new configuration is immediately applied. On application quit, the config file is updated as well.
2021-02-17 17:19:23 +02:00
Dimitris Kardarakos 220d3bea3f Simplify settings
Directly use the _settings context property in the Settings page
2021-02-17 12:16:31 +02:00
Dimitris Kardarakos cae8d54921 Improve settings UI/UX
- The "delete after" number is now set by a spin box
- Posts have been renamed to articles
- Settings are organized in sections
2021-02-16 20:34:17 +02:00
Dimitris Kardarakos 8a171a47ff Make article text configurable
When reading a long article it is common to need to adjust the font size. Moreover, you may want this setting to apply only to this use case. So, a set of configuration options have been added to offer this functionality.
2021-02-16 20:27:13 +02:00
Tobias Fella 7d75c6cf9b Make more things const & 2020-11-01 13:18:11 +01:00
Tobias Fella 70393521f3 Call destructors for authors and entries 2020-11-01 13:03:04 +01:00
Tobias Fella b76d1d81d1 Set application domain 2020-11-01 12:58:44 +01:00
Tobias Fella 4ff3987e0f Improve PageStack stability 2020-10-28 22:55:07 +01:00
Nicolas Fella 4b3cb345e3 Remove trailing dots from PlaceholderMessages 2020-10-28 22:12:31 +01:00
Tobias Fella 1cc71b0614 Allow only one entry on the pagestack 2020-10-22 14:46:06 +02:00
Nicolas Fella 76c61c60bb CMake stuff 2020-10-22 14:41:30 +02:00
Tobias Fella 7647edcdc2 Refactor models 2020-10-09 13:48:41 +02:00
Tobias Fella 0f7f79898e Make clazy happier 2020-10-08 20:52:31 +02:00
Tobias Fella c17ddca38c Fix Exporting and Importing Feeds on Android 2020-09-19 20:03:02 +02:00
Tobias Fella c412e99e09 Fix rendering of BasicListItems in SwipeListItems 2020-09-19 18:16:04 +02:00
Tobias Fella c320d90c13 Package missing icons for android 2020-09-19 16:57:29 +02:00
Tobias Fella b8ea078fcf Implement feed export to opml 2020-09-04 16:53:07 +02:00
Tobias Fella fd9420fe2d Implement feed import from opml 2020-09-03 00:09:59 +02:00
Tobias Fella 745c742172 Fix segfault when loading Feeds 2020-09-03 00:06:24 +02:00
Tobias Fella c393955c10 Fix removing feeds 2020-09-02 22:54:32 +02:00
Tobias Fella 86621fe7d6 Fix bools in database 2020-08-22 21:48:32 +02:00
Tobias Fella b412325219 Use material style on android 2020-08-17 20:21:56 +02:00
Tobias Fella db30f159c4 Convert license headers to SPDX 2020-08-14 20:57:40 +02:00
Tobias Fella d1e46397f0 Add refresh action to empty feed lists 2020-07-31 23:59:50 +02:00
Tobias Fella a35ccfc7d8 Improve feed refreshing 2020-07-30 19:53:28 +02:00
Tobias Fella 3206a6798f Fix image loading 2020-07-30 00:16:20 +02:00
Tobias Fella d198a7da84 Fix EntryListDelegate SwipeListItems 2020-07-30 00:13:33 +02:00
Tobias Fella baf894c380 Add main action for open entry in browser 2020-07-29 23:52:01 +02:00
Tobias Fella 5fa40d89d9 Port EntryListDelegate to BasicListItem 2020-07-29 23:49:23 +02:00
Tobias Fella 6c02f118e6 Port FeedListDelegate to BasicListItem 2020-07-29 23:41:11 +02:00
Tobias Fella c8dea42485 Add default feed icon 2020-07-29 22:10:39 +02:00
Tobias Fella 88eab5b96f Refactor the feed images 2020-07-20 17:20:08 +02:00
Tobias Fella 31ed1fe5c2 remove unnecessary feed options 2020-07-06 18:14:43 +02:00
Tobias Fella 81a6b7ad90 Show feed loading errors as InlineMessage 2020-07-05 21:13:20 +02:00
Tobias Fella 3d33cb9569 User QUrl::fromUserInput for adding feeds 2020-07-05 00:11:59 +02:00
Tobias Fella 87ddc41f32 Notify when image finished downloading 2020-07-04 23:29:46 +02:00
Tobias Fella 5a8c5854be Stop refreshing the feed upon error 2020-07-04 22:44:37 +02:00
Tobias Fella f59da86325 Initialize feeds to not have an error 2020-07-04 22:43:11 +02:00
Tobias Fella 1065e3cdd9 Show network errors when entryList is empty 2020-07-04 22:42:19 +02:00
Tobias Fella a321122e5c Push settings and aboutPage onto pagestack layers 2020-07-04 22:34:17 +02:00
Tobias Fella d59a1ef1ec Expose network errors to qml 2020-07-02 21:57:09 +02:00
Tobias Fella 237a6d67ed Set user agent 2020-07-02 19:14:07 +02:00
Tobias Fella 2c4effe372 Improve image width rendering by limiting the image width to the label's width 2020-07-01 19:37:22 +02:00
Tobias Fella a14a4c325e Refactor Entry loading 2020-06-10 00:07:08 +02:00
Tobias Fella 846437dbcb Refactor Feed loading 2020-06-09 23:57:24 +02:00
Tobias Fella a5a449c08b Implement FeedDetailsPage 2020-06-06 00:05:46 +02:00
Tobias Fella 17b4e39eb2 Revert to using a Label for Entry Rendering :( 2020-06-03 17:39:56 +02:00
Tobias Fella ca4a4de2e6 Show description and authors in EntryListHeader 2020-06-03 00:30:12 +02:00
Tobias Fella c6a59392e0 Add option to never delete entries 2020-06-03 00:20:29 +02:00
Tobias Fella 196e6bb003 Remove dead code 2020-06-03 00:15:27 +02:00
Tobias Fella 7a2a677049 Refactor qml 2020-06-03 00:11:09 +02:00
Tobias Fella 7ffcae3dd2 Use WebView's scrolling for now 2020-06-02 17:22:59 +02:00
Carl Schwan 4f7af0f2ff Fix sheet 2020-06-02 14:51:08 +00:00
Tobias Fella 07b2b9b70a Some fixes for Entry Rendering 2020-06-02 16:45:19 +02:00
Carl Schwan cb9bb84b6f
Also fix the about page 2020-06-02 01:11:05 +02:00
Carl Schwan 966d64c74e
fix: Multiples settings page 2020-06-02 01:05:37 +02:00
Tobias Fella 8163a4cd6d Improve Entry rendering 2020-06-01 23:58:58 +02:00
Tobias Fella eb1ed0ad8e Improve command line options 2020-06-01 01:11:21 +02:00
Tobias Fella 07f47d5327 Remove dead code 2020-06-01 01:05:08 +02:00
Tobias Fella 5e090262c3 Fix saving link and description 2020-06-01 00:31:59 +02:00
Tobias Fella a0c871f145 More qml cleanup 2020-06-01 00:15:14 +02:00
Tobias Fella 9e1e637030 Add icon to FeedDetailsPage action 2020-05-31 22:50:04 +02:00
Tobias Fella 4d5684b0d0 Make refreshing consistent on FeedListPage and EntryListPage 2020-05-31 22:47:42 +02:00
Tobias Fella 6fd81f52e9 package missing icons for android 2020-05-31 21:49:30 +02:00
Tobias Fella 3e07ce824b Package alligator icon on android 2020-05-31 18:50:16 +02:00
Tobias Fella da2b9bfad0 use Q_EMIT consistently 2020-05-31 18:48:24 +02:00
Tobias Fella f1c62f067f Add 'refresh all feeds' context action on desktop 2020-05-31 18:47:04 +02:00
Tobias Fella 47a5d7afec Fix indentation in FeedListPage 2020-05-31 18:21:02 +02:00
Tobias Fella 22e766f214 Implement pull-down refreshing in FeedListPage 2020-05-31 18:19:41 +02:00
Tobias Fella a0b7e0d9e1 Make 'add feed' main action on FeedListPage 2020-05-30 23:36:48 +02:00
Tobias Fella dc384c598e store link, description, authors for feed 2020-05-30 17:33:08 +02:00
Tobias Fella 78255fbdef Fix showing feed title 2020-05-26 23:07:27 +02:00
Tobias Fella 8269cb960f Refactor models 2020-05-26 16:32:32 +02:00
Tobias Fella a8fb481631 Expose Fetcher as QML Singleton 2020-05-19 20:37:51 +02:00
Tobias Fella d68d44faa8 Refactor file download 2020-05-18 21:20:23 +02:00
Tobias Fella b338f017c9 Make functions more generic 2020-05-18 21:00:05 +02:00
Tobias Fella b2d10e578a Port EntryList to user SwipeListItems 2020-05-18 20:37:07 +02:00
Tobias Fella 649c6a1e10 Expose Enclosures to QML 2020-05-18 20:22:31 +02:00
Tobias Fella 1129d4c0f2 Store Enclosures 2020-05-18 17:02:46 +02:00
Tobias Fella fc1f5ef378 Refactor Fetcher 2020-05-18 16:47:12 +02:00
Tobias Fella 06df8c0f5d Show authors in EntryList 2020-05-16 22:12:50 +02:00
Tobias Fella dd27c1d3ab Improve 'Add Feed' Sheet 2020-05-13 20:53:07 +02:00
Tobias Fella bec24f9436
Add command line parameters 2020-05-11 21:13:27 +02:00
Tobias Fella fdf69bb116 Clazy Warnings-- 2020-05-10 23:32:03 +02:00
Tobias Fella a4b456efb2 More clazy fixes 2020-05-10 23:29:53 +02:00
Tobias Fella b91171e21f Clazy fix 2020-05-10 23:25:23 +02:00
Tobias Fella 1e29ab02ab Make feed property in EntryListModel notifyable 2020-05-10 23:23:25 +02:00
Tobias Fella e3678fdff5 Clazy fixes 2020-05-10 21:30:50 +02:00
Tobias Fella e0ce488979 Remove unused query 2020-05-10 21:26:00 +02:00
Tobias Fella fdc92f7ff2 Show new Entries when updating 2020-05-10 19:58:07 +02:00
Tobias Fella f761ca437b Open links in Entries 2020-05-10 16:40:47 +02:00
Tobias Fella 7350ac3951 Use help-about-symbolic instead of help-about 2020-05-10 16:24:32 +02:00
Tobias Fella 1c8e0ec66b Code Improvements 2020-05-02 12:26:00 +02:00
Tobias Fella cd2cd738e3 Replace HTML Characters with Unicode in Entry Title 2020-05-01 14:56:29 +02:00
Tobias Fella bb49d372a8 Set EntryListPage title 2020-04-30 17:57:17 +02:00
Tobias Fella 98ac6278da Port to BasicListItem with subtitle 2020-04-30 17:51:55 +02:00
Tobias Fella f069871eb1 Fix showing images in EntryPage by setting baseUrl 2020-04-30 16:17:41 +02:00
Tobias Fella a07c910b1e Set Richtext format 2020-04-29 22:59:32 +02:00
Nicolas Fella df76d92c60 Set material colors to blue
Reviewed by: tfella
2020-04-28 22:28:09 +02:00
Nicolas Fella 4afab2956d Wrap entry title
Reviewed by: tfella
2020-04-28 22:19:09 +02:00
Tobias Fella 804cf33fc2 Package missing Icon for Android 2020-04-28 22:02:31 +02:00
Tobias Fella 1ab02966d5 Android build fixes 2020-04-28 21:32:37 +02:00
Tobias Fella 7b2fbfdca6 Add refresh action to EntryListPage 2020-04-26 23:53:44 +02:00
Tobias Fella 14d8819fb5 Delete image when deleting feed 2020-04-26 23:40:09 +02:00
Tobias Fella 7328745bef Cache images and correctly save relative image paths 2020-04-25 22:16:19 +02:00
Tobias Fella aba24a171d Add Icon to Contextmenu in FeedListPage 2020-04-23 23:03:47 +02:00
Tobias Fella 60341592f1 Add PlaceholderMessage to EntryList 2020-04-23 14:17:54 +02:00
Tobias Fella 6e204c6ec9 Merge branch 'master' of invent.kde.org:kde/alligator 2020-04-23 13:52:30 +02:00
Tobias Fella 7e828772e0 Add a PlaceholderMessage to the FeedList 2020-04-23 13:47:24 +02:00
Tobias Fella 5984af329d Add license header 2020-04-22 19:48:47 +00:00
Tobias Fella 97e9b4c663 Apply clang-format 2020-04-22 02:17:57 +02:00
Tobias Fella 26c57d45d7 Port to Android 2020-04-21 23:27:15 +02:00
Laurent Montel 42ab8a676a Remove executable attribute 2020-04-21 13:23:25 +02:00
Tobias Fella e4735623cb Close EntryListPage when feed is deleted 2020-04-20 14:37:30 +02:00
Tobias Fella 276d8ba831 Remove authors when removing feed 2020-04-20 02:06:21 +02:00
Tobias Fella 593d221c9c remove entries when removing feed 2020-04-20 02:02:31 +02:00
Tobias Fella 708b958da1 QStringLiteralify all the things 2020-04-20 01:50:57 +02:00
Tobias Fella df297dd898 add FeedDetailsPage 2020-04-20 01:47:06 +02:00
Tobias Fella 229ec83406 align versions in qml files 2020-04-20 01:42:13 +02:00
Tobias Fella eb8d24e28a port models to QSqlTableModel 2020-04-18 21:07:49 +02:00
Tobias Fella ff7c03a32c fix opening the entryListPage when clicking on a feed 2020-04-15 22:03:59 +02:00
Tobias Fella 4412d1094f make feed list delegate SwipeListItem again 2020-04-15 21:36:59 +02:00
Tobias Fella 7dbcb4ccaf prepare for i18n 2020-04-15 21:21:08 +02:00
Tobias Fella 5b938722f9 fix debug message 2020-04-11 23:47:49 +02:00
Tobias Fella 2c798db7c1 remove logging categories 2020-04-10 17:28:26 +02:00
Tobias Fella 451a40f9b8 dont crash when feed is invalid 2020-03-31 23:52:03 +02:00
Tobias Fella 08d4a56e9a move qml files 2020-03-30 22:03:05 +02:00
Tobias Fella 03d5b12423 show icons in feedlist 2020-03-30 21:58:30 +02:00
Tobias Fella ce103c9fc3 fix image saving 2020-03-30 21:09:15 +02:00
Tobias Fella c9bb068ec8 add icons to menu 2020-03-30 14:55:41 +02:00
Tobias Fella fb7d52aa48 save and show image 2020-03-29 18:07:28 +02:00
Tobias Fella fed096f96c
fix deletion time handling 2020-03-27 16:41:29 +01:00
Tobias Fella bd8ef20ecc
implement autodeleting entries after <time> 2020-03-26 20:24:28 +01:00
Tobias Fella 9fdee82660
add storage time setting 2020-03-26 18:43:20 +01:00
Tobias Fella 195b6d63ee
add timestamp, aboutpage, settingspage 2020-03-26 14:16:19 +01:00
Tobias Fella 0d1c0104db
only save each entry to the database once 2020-03-19 00:41:27 +01:00
Tobias Fella 552ad82816
make id unique again 2020-03-19 00:16:23 +01:00
Tobias Fella 7013a7278e
add all feeds view 2020-03-17 21:15:10 +01:00
Tobias Fella a6f6969912
Rework the database system 2020-03-16 22:37:04 +01:00
Tobias Fella 8df9f56c48 Fix... 2020-03-08 20:56:36 +00:00
Tobias Fella e1d0eb38da
add debug header 2020-03-06 23:03:30 +01:00
Tobias Fella 8639518e6d
Update name when fetched 2020-03-06 22:45:17 +01:00
Tobias Fella 764fc4b982
add license header 2020-03-04 14:01:01 +01:00
Tobias Fella 73b986933f
add EntryPage 2020-03-04 14:00:27 +01:00
Tobias Fella 1b743f7983
implement saving and showing the feed name 2020-02-29 19:13:30 +01:00
Tobias Fella 11deb2b4c3
fix function name style 2020-02-29 15:47:35 +01:00
Tobias Fella 76aaf32fe3
use other header 2020-02-29 15:34:12 +01:00
Tobias Fella 708a873880
Remove explicit QVariant and this-> 2020-02-29 15:26:40 +01:00
Tobias Fella 1fc7f9b904
qtquick version 2.14 -> 2.13 2020-02-29 01:12:57 +01:00
Tobias Fella 4607bb8370
add Q_DECL_EXPORT to main 2020-02-29 01:03:34 +01:00
Tobias Fella 0c780eb199
improve query definition 2020-02-29 00:55:16 +01:00
Tobias Fella fbd8057f14
delete reply when finished 2020-02-29 00:51:26 +01:00
Tobias Fella be483c951e
change path 2020-02-29 00:19:19 +01:00
Tobias Fella 05965bf39c
remove component 2020-02-29 00:17:11 +01:00
Tobias Fella ed2fb9575e
remove linked libraries 2020-02-29 00:14:25 +01:00
Tobias Fella 5ae34b56f7
Initial Commit 2020-02-28 23:25:08 +01:00