Commit graph

5149 commits

Author SHA1 Message Date
auouymous
f64440867d Don't display stacktrace for common download errors. 2023-01-25 16:44:06 -07:00
auouymous
eb02ddd9d5 Add 'url', 'link' and 'filename' EQL nouns. 2023-01-25 16:30:47 -07:00
auouymous
92c741b02f Log URL when youtube.py can't get channel ID. 2023-01-22 17:21:23 -07:00
auouymous
7c2b8621a3 Document the episode description fields. 2023-01-12 15:04:26 -07:00
auouymous
9d46b2d3de Add comment about unknown external files for youtube-dl/yt-dlp downloads. 2023-01-12 04:10:08 -07:00
auouymous
993b7a5428 Use list of channels and episodes instead of the episode list model.
The model is initialized with 'None' for each entry, and then sets
episode for each one. Renaming immediately after selecting a channel
causes 'state' to be accessed on 'NoneType'.

Fixes #1446.
2023-01-12 03:28:59 -07:00
auouymous
87d9018918 Change 'Finishing...' to something more descriptive of the operation. 2023-01-12 01:17:56 -07:00
auouymous
ba93b66382 Use the same dialog title to reduce translation strings. 2023-01-12 00:40:14 -07:00
auouymous
ec23dc86b5 Show dialog if no downloaded episodes to rename. 2023-01-12 00:35:05 -07:00
auouymous
9b7d53f9b2 Don't use parameter labels when calling __for_each_task_set_status().
They make the call harder to read and cause it to wrap lines.
2023-01-12 00:26:03 -07:00
auouymous
bdecd607c1
Merge pull request #1452 from auouymous/fix-ui-issues
Fix UI issues
2023-01-12 00:12:22 -07:00
auouymous
8b5bf2c361
Merge pull request #1444 from auouymous/add-trim-episode-title-prefix-setting
Add setting to disable trimming episode title prefix.
2023-01-04 01:38:41 -07:00
auouymous
3adfcf7b2f Speed up queueing by not updating download list a second time. 2023-01-04 01:34:02 -07:00
auouymous
9d16460571 Show progress indicator when pausing tasks.
This also significantly speeds up pausing by disabling download update
timer and download queue manager.
2023-01-04 01:27:48 -07:00
auouymous
43afafcc23 Show progress indicator when queueing paused and failed tasks.
The indicator was previously shown only while queueing new tasks, but
not when queueing failed tasks or unpausing paused tasks. It is now
displayed while scanning the episodes and then restarts when queueing
new tasks.

The download update timer and download queue manager are also disabled
earlier to significantly speed up the process.
2023-01-04 01:03:08 -07:00
auouymous
bda12a53c1 Allow IdleTimeout to scale based on how long the callback took.
upload_downloads_list() is now called at upto 5 second intervals when
there are a lot of tasks. Previously, it could take 5 seconds to run and
then only sleep for 1.5 seconds, making the UI unresponsive for long
periods.
2023-01-03 15:33:31 -07:00
auouymous
6470ed5484 Add a progress dialog when cancelling tasks. 2023-01-03 15:33:03 -07:00
auouymous
6c7337f5fb Process episode list selection changes every 250ms.
A fast key repeat rate can cause on_episode_list_selection_changed to be
called quicker than it can update the UI. This slows down
shift-selections and results in continued processing long after the key
has been released.

The 250ms timer batches multiple events into a single update, and
improves responsiveness on slower machines.
2023-01-03 06:01:15 -07:00
auouymous
e1fc290ef2 Remove all timer deadlocks by using idle_add priority for them.
Add util.idle_timeout_add() to register timers with the same priority as
idle_add(). Change the IdleTimeout to also use the idle_add() priority.
This eliminates the chance of a timer blocking any idle_add from
running.

Change most timeout_add's to idle_timeout_add. Change the timer in
DownloadStatusModel::get_next() back to an idle_add.
2023-01-03 06:01:15 -07:00
auouymous
d2f34d0d87 Disable background operations while progress dialogs are open.
Changing task state causes UI to hang while DownloadQueueManager spawns
threads and updates progress tab. And the update_downloads_list() timer
can hang UI for several seconds at a time when thousands of tasks are
queued.

Disabling both of these while a progress dialog is open allows tasks to
be queued faster and the dialog closed sooner.
2023-01-03 06:01:15 -07:00
auouymous
36dbad9c53 Refactor ProgressIndicator.
Add on_ticks() and max_ticks to simplify code using progress indicators.
And support final ticks to set progress to 100% before a final long
operation.

Change interval from 100ms to 250ms, to allow more time to be spent on
the operation.
2023-01-03 05:58:42 -07:00
auouymous
733cdd2169 The rename downloads extension should not improt Gtk when used in gpo. 2022-12-26 13:28:31 -07:00
auouymous
54c86d6023
Merge pull request #1363 from tpikonen/ytdl-subs
Embed subtitles to videos downloaded with the youtube-dl extension
2022-12-17 14:49:22 -07:00
Teemu Ikonen
e7a32f9371 Download and embed subtitles in youtube-dl downloader
Add a checkbox in youtube-dl preferences to enable subtitle embedding if
ffmpeg is found. If ffmpeg is not found, show an infobox informing the
user that ffmpeg is required.
2022-12-17 23:40:42 +02:00
auouymous
9df414560d Show message when rename extension finishes renaming all episodes. 2022-12-17 05:54:33 -07:00
auouymous
d9f05e666a Only update downloads list when no tasks were queued.
Avoids a double update when there are queued tasks.
2022-12-17 01:54:03 -07:00
auouymous
58e678b33f Use length of tasks, not episodes, for download progress indicator. 2022-12-16 18:17:09 -07:00
auouymous
9babf0eb44 Set download list state only once after batch queueing tasks.
Queueing thousands of tasks happens faster when update_download_list()
is not called for each one.
2022-12-16 16:04:33 -07:00
auouymous
e05ba2e929 Don't show episodes without URLs in "new episodes available" when
subscribing.
2022-12-15 06:34:00 -07:00
auouymous
6e38e1b527 Set error icon for episodes with invalid URLs. 2022-12-15 06:08:47 -07:00
auouymous
2e7b1678d4 Don't discard episodes with invalid urls and links. 2022-12-15 05:50:27 -07:00
auouymous
6e29aa12ce Add setting to disable trimming episode title prefix. 2022-12-15 03:41:01 -07:00
auouymous
526c335662 Rename showEpisodeDescription's internal names to match other items. 2022-12-15 03:34:24 -07:00
auouymous
b842e86101 Organize View menu.
And move all-episodes and sections settings from preferences to View
menu.
2022-12-15 02:46:18 -07:00
auouymous
d2253d4acd Cache episode list config values.
Decreases episode list update time by 5% for new episodes.
2022-12-15 00:44:37 -07:00
auouymous
f967fa9bda Change include_description parameter to required.
Nothing made use of the optional parameter, and it should always be set
from the config value.
2022-12-14 06:29:54 -07:00
auouymous
808895f287
Merge pull request #1443 from auouymous/remove-legacy-settings
Remove legacy settings
2022-12-09 20:00:58 -07:00
auouymous
3203a0ef81 Remove gPodderSettings_LegacySupport. 2022-12-08 15:59:17 -07:00
auouymous
7aa649e6d1 episode_list_columns -> ui.gtk.episode_list.columns 2022-12-08 15:57:46 -07:00
auouymous
2daa5e9550 podcast_list_hide_boring -> ui.gtk.podcast_list.hide_empty 2022-12-08 15:56:26 -07:00
auouymous
f62e4294e0 podcast_list_view_mode -> ui.gtk.podcast_list.view_mode 2022-12-08 15:55:08 -07:00
auouymous
fcfb9efe1a episode_list_view_mode -> ui.gtk.episode_list.view_mode 2022-12-08 15:54:24 -07:00
auouymous
fe969e8c15 podcast_list_sections -> ui.gtk.podcast_list.sections 2022-12-08 15:52:23 -07:00
auouymous
8ca292e5a5 podcast_list_view_all -> ui.gtk.podcast_list.all_episodes 2022-12-08 15:50:56 -07:00
auouymous
ff2c19e186 auto_cleanup_downloads -> ui.gtk.download_list.remove_finished 2022-12-08 15:48:16 -07:00
auouymous
bcf84cbdf7 auto_update_feeds -> auto.update.enabled 2022-12-08 15:47:33 -07:00
auouymous
f19632c426 auto_update_frequency -> auto.update.frequency 2022-12-08 15:46:11 -07:00
auouymous
599682f4f2 auto_download -> ui.gtk.new_episodes 2022-12-08 15:43:51 -07:00
auouymous
816b5c15f3 show_toolbar -> ui.gtk.toolbar 2022-12-08 15:39:34 -07:00
auouymous
b39edcfe83 max_episodes_per_feed -> limit.episodes 2022-12-08 15:37:36 -07:00