Commit Graph

394 Commits

Author SHA1 Message Date
auouymous 41c312dd68 Change deprecated logger.warn() to logger.warning(). 2022-04-29 02:54:32 -06:00
auouymous f49068311e
Merge pull request #1272 from auouymous/show-episodes-without-enclosures
Show episodes without downloadable content.
2022-04-26 00:12:58 -07:00
auouymous 16777ba5eb Enable new status toggle in Episodes menu when any episode is selected.
The menu item was only enabled when the selected episode could be played
or streamed. It was always enabled in the context menu but the keyboard
accelerator could not be used if the episode was not downloaded and not
streamable.

This also forces the play toolbar button to always show the 'open'
label and icon in the progress tab, instead of whatever random state it
was in before.
2022-04-19 04:13:57 -06:00
auouymous 5d304cbf3d Add comments about never unsetting play_or_download() flags once set. 2022-04-19 01:36:03 -06:00
auouymous 1cc7941331 Show episodes without downloadable content.
Non-media RSS feeds only have a textual description and can't be
subscribed to in gpodder. Some media feeds lack downloadable content and
can only be accessed from the website. In both cases, gpodder removes
the episodes without any feedback to the user as to why, making it
appear to be a problem in gpodder.

This patch adds those episodes but prevents automatic download and
displays a proper error when a manual download is attempted. The
episodes also get a web browser icon to indicate they lack downloadable
content. While not downloadable or transferable to media devices,
gpodder can be used to notify the user when new episodes are available
and they can be accessed by clicking through to the website
2022-04-19 01:24:20 -06:00
auouymous 8cefb936c5 Allow toggling lock of any locked or undeleted episode.
This allows undownloaded episodes to be locked with both menus and
guarantees both menus remain consistent.
2022-04-10 03:48:59 -06:00
auouymous 182abc575b Refactor play_or_download() progress tab action code.
Fixes an issue with the toolbar cancel button turning off and on when
entering the progress tab, even though it can't cancel anything until a
selection is made.

Properly cancels failed tasks manually removed from progress tab. Not
cancelling would leave the error icon and prevent downloading or
cancelling.

The download, pause and cancel actions in toolbar and Episodes
menu can now be used to control downloads in the progress tab. The
delete menu item in Episodes menu removes the download from list. This
also allows keyboard accelerators to be used, such as the Delete key
for removing tasks. Accelerators for cancel, and maybe download/pause,
should added in a future PR.

The progress tab context menu now has the same ordering as the other
menus.
2022-03-23 18:53:38 -06:00
auouymous 01cd2696f7 Refactor play_or_download() episode action code.
Streaming was always possible (#867) for all audio and video episodes if
an audio player was configured. Now it is only possible if a player is
configured for the episode's type.

Methods have been added to PodcastEpisode that are either now used by
actions or replicate the conditions used by actions to filter
selections. This will help prevent mismatched conditions between
play_or_download() and episode actions. And play_or_download() is easier
to reason about and should prevent future bugs such as #1250.

Fixes #1250.
2022-03-20 02:50:46 -06:00
auouymous 5cbd3175b2 Group Play with Preview and Stream since all three use the same icon. 2022-03-20 02:40:51 -06:00
Eric Le Lay a35e81fe0e
Merge pull request #1249 from auouymous/set-episode-toolbar-menu-actions
Set episode toolbar and menu actions.
2022-03-16 22:44:40 +01:00
Eric Le Lay 5043b0b192
Merge pull request #1248 from auouymous/cancel-failed-tasks
Allow failed downloads to be cancelled from episodes list.
2022-03-16 21:10:01 +01:00
auouymous dabd6b3353 Also toggle delete in Episodes menu when toggling lock. 2022-03-16 05:39:19 -06:00
auouymous de2094253a Set episode toolbar and menu actions.
Items in the Episode menu were not disabled when the progess tab was
opened. This consolidates the enabling and disabling of buttons in the
toolbar and items in the Episodes menu, and fixes that issue.

It also changes the label and icon for the toolbar play button to be
Open, Play, Preview or Stream.
2022-03-16 05:15:44 -06:00
auouymous 3a60f36876 Disable episode delete menu item when it can't be used.
Locked episodes can not be deleted, but the delete menu item remained
active for them.
2022-03-16 02:38:12 -06:00
auouymous f0156e1bda Directly access the Extras menu to add extension menu items. 2022-03-16 02:20:26 -06:00
auouymous fdccfec41c Fix downloading file count when pausing or cancelling synchronizing tasks.
PR #1243 added separate pausing and cancelling counts, and included them
in the downloading file count. However, synchronizing tasks can also be
pausing or cancelling and would erroneously be included in the
downloading file count.
2022-03-16 01:58:34 -06:00
auouymous f91f9e29b1 Change order of progress button status counts. 2022-03-16 01:47:36 -06:00
auouymous 6731b63706 Allow failed downloads to be cancelled from episodes list.
This not only removes the failed download from the progress list, but
also removes the error icon from the episode list.
2022-03-15 19:51:45 -06:00
auouymous bc65930578
Merge pull request #1244 from auouymous/undelete-episode-on-download
Undelete deleted episodes when a download is attempted.
2022-03-15 15:06:45 -07:00
auouymous 4313db72c0
Merge pull request #1243 from auouymous/nr-cancelling-pausing-tasks
Show number of pausing and cancelling tasks in progress tab.
2022-03-15 15:04:55 -07:00
auouymous 91829b82f6
Merge pull request #1242 from auouymous/pause-resume
Add pausing and resuming from Episodes and context menus, and toolbar.
2022-03-15 14:58:00 -07:00
JuanCanham d7b5843123
Make error message more verbose on NotFound sync error (#1235)
* Make error message more verbose on NotFound sync error

* Add Spanish translation

Co-authored-by: Rioting Pacifist <linux@riotingpacifist.net>
2022-03-08 21:59:40 -07:00
auouymous d0ad77b9a7 Undelete deleted episodes when a download is attempted.
In the event of a download failure, the error icon will properly
display, and the episode will remain undeleted after a restart for
another download attempt.
2022-03-08 17:38:50 -07:00
auouymous e1d90d8765 Show number of pausing and cancelling tasks in progress tab.
These transitions can sometimes take a while and this will provide some
feedback to the user that the transition is happening.
2022-03-08 17:06:31 -07:00
auouymous 6f0f623ead Add pausing and resuming from Episodes and context menus, and toolbar.
Queued and downloading episodes can now be paused from the episode list,
and the download button can then be used to resume the paused episode.

Fixes #1162.
2022-03-08 06:21:10 -07:00
auouymous f7497c617a Create partial file when reusing cancelled tasks.
The partial file for a cancelled task is deleted, but the task is not
removed from progress list while other tasks are downloading.
Downloading the cancelled episode again would reuse the existing task
without creating a new partial file. This prevented resuming the
download after restarting gPodder, and caused the youtube-dl extension
to fail if used to re-download it.
2022-02-08 03:57:22 -07:00
Teemu Ikonen e9cb4e9eaa Fix typo on do_save_episode() strings 2022-02-05 22:22:38 +02:00
Teemu Ikonen 222dba31be GtkBuilderWidget: Remove '_builder_expose' kwarg, add '_gtk_properties'
The '_builder_expose' argument to GtkBuilderWidget.__init__() allowed
binding of names in the ui-file to objects defined outside of the
ui-file.

Glade does not allow setting properties to values which are not defined
in the ui-file, so we set GTK/Gobject properties explicitly. This is
made with a new kwarg '_gtk_properties' in GtkBuilderWidget.__init__()
which is a dict with a (object_id, property_name) key.
2022-02-02 12:14:30 +02:00
Teemu Ikonen cb61d76474 Replace Gtk.STOCK_ button labels with strings 2022-02-02 12:13:24 +02:00
Teemu Ikonen 282996cd16 Replace Gtk.STOCK_ icons with standard icon names 2022-02-02 09:31:27 +02:00
auouymous 57045619d3 Also open dialog if xdg-open is not found when opening a folder. 2022-01-16 22:02:27 -07:00
Benedikt Wildenhain 34098c19fc
Open error dialog if user tries to use not-installed program
Currently trying to use default player (xdg-)open when it's not installed
will only cause messages on the console, which might not be visible to
the user. This PR creates an alert box in this case.

Fixes #1003.
2022-01-16 18:24:41 +01:00
auouymous ce99daf065
Merge pull request #1171 from auouymous/fix-1147
Fix youtube-dl re-download after a failed download
2021-10-28 03:27:56 -07:00
Teemu Ikonen 5990e57a81 episodeselector: Add underline mnemonics to all buttons
Set use-underline on all buttons in gpodderepisodeselector.ui.

Add underscore mnemonics to the special 'gpodder-download' button and in
'remove-button' and 'ok-button' args of callers in main.py.
2021-10-18 15:30:54 +03:00
Teemu Ikonen ce66b5fa62 episodeselector: Remove GtkStock usage
* Rename gPodderEpisodeSelector constructor kwarg 'stock_ok_button'
   to 'ok_button'. Change callers in main.py to use it with text labels
   instead of Gtk.STOCK_* values
 * Set transient for parent widget
2021-10-12 23:14:14 +03:00
auouymous db2aa385d0 Cancel failed task before streaming.
livestream to be streamed, after realizing it was a livestream. This
however caused the youtube-dl extension to fail when downloading DRM
content after gpodder failed to download it, because the partial file
was missing.

This removes that fix and properly cancels the failed task before
streaming to remove the partial file.

Fixes #1147.
2021-10-11 20:11:18 -06:00
auouymous d508a3df8d Show paused tasks in progress tab. 2021-09-14 03:34:27 -06:00
Mark Weaver ed5d18e1b0 fixes #1152 and an odd corner case (#1155)
* #1152: fix re-ordering downloads list

* fix downloading a task that's already been removed from the download list

* fix download/delete/download of the same episode

* fix pausing/cancelling sync tasks; clean up partially synchronised files

* fix cancelling a failed download

* make failed/paused/cancelled mutually exclusive so the code has less paths (and hopefully is easier to follow)
2021-09-14 00:53:15 -07:00
blushingpenguin c86c7412ae remove unused variables 2021-09-13 15:45:39 +01:00
auouymous 3d966b95b2
Merge pull request #1149 from blushingpenguin/queue
#1117, #1137: fixes for pause/resume/cancelling download tasks
2021-09-08 16:23:18 -07:00
auouymous 9d92e86bc1
Merge pull request #1141 from auouymous/delay-column-reorder
Delay episode treeview column reordering.
2021-08-31 22:03:40 -07:00
blushingpenguin 3c322b610a Merge branch 'master' into queue 2021-08-31 14:42:20 +01:00
blushingpenguin 723c052fc2 #1117, #1137: fix lint issue 2021-08-31 14:40:13 +01:00
blushingpenguin 8760b6d315 #1117, #1137: fix re-introduced race queuing tasks 2021-08-31 14:37:36 +01:00
blushingpenguin 68195acc00 #1117, #1137: fixes for pause/resume/cancelling download tasks 2021-08-30 15:45:20 +01:00
Thomas Perl 4310fdbf5e Gtk UI: Use a TextView for dialogs with multiple text lines 2021-08-28 09:06:01 +02:00
auouymous a8386049af Delay episode treeview column reordering.
Moving columns before shown can produce "Negative content height"
warnings for themes with vertical padding or borders on treeview header
buttons.
2021-08-26 05:34:16 -06:00
Eric Le Lay 90d2112c76
Merge pull request #1108 from ollieparanoid/close-after-startup
bin/gpodder cli: add sections and --close-after-startup option
2021-08-18 14:06:49 +02:00
auouymous d0171a7c8c Allow distributions to disable the update check.
Fixes #1103.
2021-08-16 18:37:33 -06:00
Oliver Smith ec60a55c36
bin/gpodder: add --close-after-startup option
Add an option that helps with measuring / profiling startup performance.
2021-08-15 20:36:45 +02:00