Commit Graph

1283 Commits

Author SHA1 Message Date
Teemu Ikonen 490d5695a9 Merge tag '3.11.2' into dev-adaptive
gPodder 3.11.2 release
2023-08-15 15:08:21 +03:00
auouymous 839b0b2aa5 Fix linter issues for pycodestyle 2.11.0. 2023-08-07 19:46:44 -06:00
auouymous 375a94a139 Fix typos found by codespell. 2023-07-19 02:30:44 -06:00
luzpaz 8a995cb097 Fix various typos
Found via `codespell -q 3 -S *.po -L bloc,extracter,parms`
2023-07-14 12:13:50 +00:00
auouymous 5224565642 Always show released time in shownotes. 2023-04-29 22:11:27 -06:00
auouymous df4195dc5c Add a View menu option to right align the episode released column. 2023-04-29 21:41:38 -06:00
auouymous b0ce535ca9 Add a View menu option to show time in the episode released column. 2023-04-29 21:10:33 -06:00
auouymous 43eb6ca5f5 Log exceptions when searching for podcasts on gpodder.net. 2023-04-02 23:17:13 -06:00
auouymous 7323e0c604 Refactor _receive_configure_event().
Add comment about bug when state event is sent after configure event.
2023-03-11 20:52:05 -07:00
auouymous ab7b93d4d7 Fix commit 1725b471fa.
The window manager needs a position to unmaximize window to.
2023-03-11 16:10:27 -07:00
auouymous 1725b471fa Do not move window if maximised.
The delayed move can reposition the window after it has been maximized.
2023-03-11 03:15:29 -07:00
Teemu Ikonen 8010d831be widgets.py: Fix code style 2023-02-28 14:21:55 +02:00
Teemu Ikonen 4539d8c5e4 Merge tag '3.11.1' into dev-adaptive
gPodder 3.11.1 release
2023-02-27 12:46:18 +02:00
auouymous 8d31d9dd40 Display feed name when logging update errors.
Avoids worthless log entries such as "Error: not found".
2023-02-21 21:23:47 -07:00
auouymous a3cf8b96ed
Merge pull request #1297 from tpikonen/update-really-new
Treat only really new episodes as new after an update
2023-02-07 02:08:21 -07:00
auouymous 96e3b3bfe9 Allow channel to be selected from both episode menus.
Closes #1170.
2023-01-25 19:26:23 -07:00
auouymous 87d9018918 Change 'Finishing...' to something more descriptive of the operation. 2023-01-12 01:17:56 -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
Teemu Ikonen b5ac4034f3 preferences: Add a checkbutton for ui.gtk.only_added_are_new config var 2023-01-06 13:55:20 +02:00
Teemu Ikonen 2552e6e0ec Treat only really new episodes as new after an update
Make PodcastChannel.update() return a list of new episodes. Add a new
config variable ui.gtk.only_added_are_new. If this variable is True,
download, queue or show (depending on the value of config var
auto_download) only these new episodes, instead of all episodes marked
as new, after an update.
2023-01-06 13:55:07 +02: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
Teemu Ikonen f00eef5e5c Merge branch 'master' into dev-adaptive 2022-12-19 23:02:01 +02: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 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 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 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 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