Sitelet https://github.com/gpodder/gpodder/pull/1444/files
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions share/gpodder/ui/gtk/menus.ui
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,10 @@
<attribute name="action">win.viewAlwaysShowNewEpisodes</attribute>
<attribute name="label" translatable="yes">Always show New Episodes</attribute>
</item>
<item>
<attribute name="action">win.viewTrimEpisodeTitlePrefix</attribute>
<attribute name="label" translatable="yes">Trim episode title prefix</attribute>
</item>
<item>
<attribute name="action">win.viewShowEpisodeDescription</attribute>
<attribute name="label" translatable="yes">Episode descriptions</attribute>
Expand Down
1 change: 1 addition & 0 deletions src/gpodder/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@
'episode_list': {
'view_mode': 1,
'always_show_new': True,
'trim_title_prefix': True,
'descriptions': True,
'ctrl_click_to_sort': False,
'columns': int('110', 2), # bitfield of visible columns
Expand Down
11 changes: 11 additions & 0 deletions src/gpodder/gtkui/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,11 @@ def create_actions(self):
action.connect('activate', self.on_item_view_always_show_new_episodes_toggled)
g.add_action(action)

action = Gio.SimpleAction.new_stateful(
'viewTrimEpisodeTitlePrefix', None, GLib.Variant.new_boolean(self.config.ui.gtk.episode_list.trim_title_prefix))
action.connect('activate', self.on_item_view_trim_episode_title_prefix_toggled)
g.add_action(action)

action = Gio.SimpleAction.new_stateful(
'viewShowEpisodeDescription', None, GLib.Variant.new_boolean(self.config.ui.gtk.episode_list.descriptions))
action.connect('activate', self.on_item_view_show_episode_description_toggled)
Expand Down Expand Up @@ -1341,6 +1346,7 @@ def _on_config_changed(self, name, old_value, new_value):
if name == 'ui.gtk.toolbar':
self.toolbar.set_property('visible', new_value)
elif name in ('ui.gtk.episode_list.descriptions',
'ui.gtk.episode_list.trim_title_prefix',
'ui.gtk.episode_list.always_show_new'):
self.update_episode_list_model()
elif name in ('auto.update.enabled', 'auto.update.frequency'):
Expand Down Expand Up @@ -3426,6 +3432,11 @@ def on_item_view_always_show_new_episodes_toggled(self, action, param):
self.config.ui.gtk.episode_list.always_show_new = not state
action.set_state(GLib.Variant.new_boolean(not state))

def on_item_view_trim_episode_title_prefix_toggled(self, action, param):
state = action.get_state()
self.config.ui.gtk.episode_list.trim_title_prefix = not state
action.set_state(GLib.Variant.new_boolean(not state))

def on_item_view_show_episode_description_toggled(self, action, param):
state = action.get_state()
self.config.ui.gtk.episode_list.descriptions = not state
Expand Down
4 changes: 3 additions & 1 deletion src/gpodder/gtkui/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,12 @@ def __init__(self, on_filter_changed=lambda has_episodes: None):
# Caching config values is faster than accessing them directly from config.ui.gtk.episode_list.*
# and is easier to maintain then threading them through every method call.
self._config_ui_gtk_episode_list_always_show_new = False
self._config_ui_gtk_episode_list_trim_title_prefix = False
self._config_ui_gtk_episode_list_descriptions = False

def cache_config(self, config):
self._config_ui_gtk_episode_list_always_show_new = config.ui.gtk.episode_list.always_show_new
self._config_ui_gtk_episode_list_trim_title_prefix = config.ui.gtk.episode_list.trim_title_prefix
self._config_ui_gtk_episode_list_descriptions = config.ui.gtk.episode_list.descriptions

def _format_filesize(self, episode):
Expand Down Expand Up @@ -292,7 +294,7 @@ def get_search_term(self):
def _format_description(self, episode):
d = []

title = episode.trimmed_title
title = episode.trimmed_title if self._config_ui_gtk_episode_list_trim_title_prefix else episode.title
if episode.state != gpodder.STATE_DELETED and episode.is_new:
d.append('<b>')
d.append(html.escape(title))
Expand Down