Add setting to disable trimming episode title prefix.
This commit is contained in:
parent
526c335662
commit
6e29aa12ce
|
@ -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>
|
||||
|
|
|
@ -168,6 +168,7 @@ defaults = {
|
|||
'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
|
||||
|
|
|
@ -307,6 +307,11 @@ class gPodder(BuilderWidget, dbus.service.Object):
|
|||
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)
|
||||
|
@ -1341,6 +1346,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
|
|||
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'):
|
||||
|
@ -3426,6 +3432,11 @@ class gPodder(BuilderWidget, dbus.service.Object):
|
|||
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
|
||||
|
|
|
@ -213,10 +213,12 @@ class EpisodeListModel(Gtk.ListStore):
|
|||
# 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):
|
||||
|
@ -292,7 +294,7 @@ class EpisodeListModel(Gtk.ListStore):
|
|||
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))
|
||||
|
|
Loading…
Reference in New Issue