Episode list model: Store and restore episode list filter
This commit is contained in:
parent
65b692b16d
commit
deaa5e8268
6 changed files with 41 additions and 8 deletions
14
main.py
14
main.py
|
@ -70,9 +70,15 @@ class gPotherSide:
|
|||
self.core = core.Core(progname=progname)
|
||||
pyotherside.send('podcast-list-changed')
|
||||
|
||||
self.core.config.add_observer(self._config_option_changed)
|
||||
|
||||
def atexit(self):
|
||||
self.core.shutdown()
|
||||
|
||||
def _config_option_changed(self, name, old_value, new_value):
|
||||
logger.warn('Config option changed: %s = %s -> %s', name, old_value, new_value)
|
||||
pyotherside.send('config-changed', name, new_value)
|
||||
|
||||
def _get_episode_by_id(self, episode_id):
|
||||
for podcast in self.core.model.get_podcasts():
|
||||
for episode in podcast.episodes:
|
||||
|
@ -361,6 +367,12 @@ class gPotherSide:
|
|||
if episode.total_time > 0:
|
||||
yield '%02d:%02d:%02d' % (episode.total_time / (60 * 60), (episode.total_time / 60) % 60, episode.total_time % 60)
|
||||
|
||||
def set_config_value(self, option, value):
|
||||
self.core.config.update_field(option, value)
|
||||
|
||||
def get_config_value(self, option):
|
||||
return self.core.config.get_field(option)
|
||||
|
||||
gpotherside = gPotherSide()
|
||||
pyotherside.atexit(gpotherside.atexit)
|
||||
|
||||
|
@ -385,3 +397,5 @@ change_section = gpotherside.change_section
|
|||
report_playback_event = gpotherside.report_playback_event
|
||||
mark_episodes_as_old = gpotherside.mark_episodes_as_old
|
||||
save_playback_state = gpotherside.save_playback_state
|
||||
set_config_value = gpotherside.set_config_value
|
||||
get_config_value = gpotherside.get_config_value
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue