Commit Graph

178 Commits

Author SHA1 Message Date
auouymous 41c312dd68 Change deprecated logger.warn() to logger.warning(). 2022-04-29 02:54:32 -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
Eric Le Lay 2ee8c23b31 fix #1227 pixbuf could be None in some cases
I couldn't reproduce it but I guess it's possible
2022-03-16 22:29:18 +01:00
Teemu Ikonen 282996cd16 Replace Gtk.STOCK_ icons with standard icon names 2022-02-02 09:31:27 +02:00
auouymous d20fbbe8a0 Set a paused icon in episode list when an episode is paused. 2021-09-14 04:10:40 -06:00
Oliver Smith 9b6149b9f3
gtkui: properly scale cover/pill on hires displays
Fix the cover images and "pill" looking blurry on high resolution
displays. For example, when the adaptive version of gPodder is used with
Phosh on the PinePhone.

Get the scale parameter from the gtkTreeView object and pass it down to
the cover thumbnail size and to draw_text_pill. If the scaling is not 1,
then use the new draw_iconcell_scale() function to draw the pixbuf with
high resolution.
2021-07-29 20:58:57 +02:00
Oliver Smith d8d68e19e2
gtkui: refactor resize_pixbuf_keep_ratio
Do all image size calculation before calling scale_simple, so it only
needs to be called once.

Add a debug log message, since scaling cover images actually takes some
time and it's good to know the target resolution. (On my PinePhone,
scaling these cover images delays startup significantly and thumbnails
are too small when the program is scaled in the Phosh UI).

While at it, return early if no resize is needed so the changed and
result variables can be removed.

Calling scale_simple twice happens with the previous code, if the height
of the source image is greater than max_image_side and greater than the
width. In that case, the resulting image has less quality since the
second scale_simple already works with a scaled down image and scaling
takes twice as long. In practice most podcasts have square artwork so
I assume this didn't have much of a practical effect. But I care about
the log message and figured this would be the most elegant way to add it.
2021-07-24 09:21:45 +02:00
Oliver Smith 71709769c4
gtkui: fix loading of cached thumbnails
Due to this bug, thumbnails did not get loaded from the sqlite database,
but instead were regenerated on each start. Depending on the device this
leads to significant startup slowdown (30 podcast -> ~20s slowdown on my
PinePhone).
2021-07-23 20:20:53 +02:00
auouymous 39db5f4c09 Show section if any of its channels have an update error.
A channel with an update error might not any have visible episodes. When
its section has no other visible channels, the section must still be
displayed to prevent the channel with an error from appearing to be in a
different section.
2021-05-17 20:26:56 -06:00
auouymous 1e10a4f9bd Show error icon on episodes that fail to download. 2021-05-14 20:24:50 -06:00
auouymous 45797eeaea Improve channel and episode searching.
Hide the "All episodes" channel proxy while performing a channel search.
Replaces #1019.

Hide sections that don't contain channels matching the query.

Reset the channel or episode view when query is cleared with backspace.
This is especially useful when "Always show Find entries" is enabled.
2021-05-08 03:28:38 -06:00
Eric Le Lay 64e8cde817 Fix #986 don't sort channels by section if sections are disabled 2021-03-20 09:28:14 +01:00
Eric Le Lay 479d56d51a fix #985 AttributeError: type object 'SeparatorMarker' has no attribute 'get_statistics' 2021-03-19 18:56:04 +01:00
auouymous 8d42bef631 Prevent an exception when sections are not shown
Fixes #981
2021-03-17 21:16:13 -06:00
Eric Le Lay 297c10cc40 make sections selectable + filter episodes on channel search pattern
- sections are now selectable. This enables exporting all episodes in a section to disk, etc.
- when a channel query is active, only display episodes for matching channels
  (when All Episodes or a section is selected)

Closes #921
2021-03-06 16:49:52 +01:00
Eric Le Lay db22288108 remove useless code (already row_separator_func) 2021-02-24 21:41:59 +01:00
auouymous 105255864c Don't display "None" when no file size. 2021-02-14 02:27:48 -07:00
auouymous d82a3a1dd2 Add combined episode duration and size columns. 2021-02-12 20:39:04 -07:00
Eric Le Lay 95e6206ac1
Merge pull request #954 from tpikonen/pytest-3
pytest executable as env variable and regex warning adjustments
2021-02-02 19:48:45 +01:00
Teemu Ikonen 89790e0612 Strip HTML tags from channel descriptions 2021-01-30 20:57:57 +02:00
Teemu Ikonen 0e94386bd3 Use raw strings in regexp patterns, fix DeprecationWarnings 2021-01-15 13:48:21 +02:00
Eric Le Lay 67b0dfcc25 fix gtk warnings in mass unsubscribe dialog when podcast title contains ampersand, etc. 2021-01-05 11:47:54 +01:00
Teemu Ikonen b73282bffb Add 'Always show New episodes' toggle to View menu
Adds a new boolean config item ui.gtk.episode_list.always_show_new,
which can be toggled from menu with View->Always show New episodes.

If set, the Downloaded episodes view also shows new episodes.
2020-11-10 22:55:06 +02:00
Eric Le Lay 966631ecc0 fix linter warning 2020-09-11 14:52:42 +02:00
Eric Le Lay c1ad49659b fix #727 gtk exception when hiding deleted episodes
background update sometimes operates on destroyed? widget, so catch the exception
and abort silently
2020-09-11 14:51:53 +02:00
Eric Le Lay ad053a755a refine podcast cover status overlay 2020-03-31 16:37:29 -06:00
Eric Le Lay f6588c79ea use new icon name for podcast pause subscription 2020-03-31 16:37:26 -06:00
Eric Le Lay 0eb50ca34e add warning icon to cover on error 2020-03-31 16:37:24 -06:00
auouymous b31a868583 always show channels with update errors 2020-03-31 16:34:51 -06:00
auouymous e1c49cc0a6 replace channel description with error reason when feed can't be updated 2020-03-31 16:34:09 -06:00
Eric Le Lay 09151094e7 fix python warning 2020-03-01 11:35:43 +01:00
auouymous cbc4ced799 Gtk.STOCK_DELETE is deprecated and should be changed to edit-delete for deleted episodes 2020-01-10 21:53:26 -07:00
Karl Ove Hufthammer 54ccd1bf9e Format number of episodes using (locale-aware) thousands separator
The number of episodes shown in the ‘pill boxes’ in the podcast list
are now formatted like ‘12,345’ or ‘12 345’ (depending on the locale),
instead of ‘12345’.
2019-09-15 10:07:41 +02:00
Eric Le Lay 3c58c27b2c replace cgi.escape with html.escape everywhere
cgi.escape is deprecated
2019-09-08 18:14:52 +02:00
Eric Le Lay 8afbe93faf fix linter warnings 2019-02-02 17:07:20 +01:00
Eric Le Lay a36a9ace22 dynamic channel cover icon based on tree text size
See #590
2019-01-24 19:03:42 +01:00
Eric Le Lay 1ad321def7 deduce progress bar size from treeAvailable text size
See #590
2019-01-24 18:44:03 +01:00
MarkusHackspacher 9a45b04c23 fix E128 continuation line under-indented for visual indent 2018-08-18 12:27:24 +02:00
MarkusHackspacher 3ce9cd55e7 remove too many blank lines 2018-07-24 14:11:05 +02:00
MarkusHackspacher 82f41f4c21 sorting imports
with isort -y -rc
see #393
2018-07-24 11:08:10 +02:00
Eric Le Lay 92dcb1c0c3 Merge branch 'master' into gtk3-win_installer 2018-05-27 10:05:11 +02:00
MarkusHackspacher 0a851a1302 fix E265 block comment should start with '# ' 2018-05-16 18:17:52 +02:00
Eric Le Lay dac2d2c09c win: fix opus episodes are shown as text
e.g. in Binärgewitter opus feed
2018-05-12 19:09:03 +02:00
MarkusHackspacher 005b9615f5 Fix E502 the backslash is redundant between brackets 2018-05-08 11:41:52 +02:00
MarkusHackspacher 49bb08c8a3 fix E502 the backslash is redundant between brackets 2018-05-08 10:43:56 +02:00
MarkusHackspacher 2075ea8d5f fix E225 missing whitespace around operator 2018-04-17 14:39:05 +02:00
Markus Hackspacher dc7661419b
Fix W503 line break before binary operator 2018-03-28 07:54:48 +02:00
MarkusHackspacher 6a6f8f3abd fix E226 missing whitespace around arithmetic operator
src/gpodder/gtkui/interface/tagcloud.py
src/gpodder/gtkui/macosx.py
src/gpodder/gtkui/main.py
src/gpodder/gtkui/model.py
src/gpodder/gtkui/widgets.py
2018-03-23 20:53:31 +01:00
MarkusHackspacher a90fa0b521 fix W391 blank line at end of file 2018-02-11 21:51:40 +01:00
MarkusHackspacher 0c18a43d13 fix E302 and E303, only blank line change 2018-02-11 00:22:00 +01:00