diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-10-09 21:48:04 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-10-09 21:48:04 +0000 |
| commit | 0c40ad392824c8a5ee1e0efe7556e12f54d3ceed (patch) | |
| tree | 9f874d48967c4b153794bb3ad291e3dd45c21283 | |
| parent | c7d2c96f39fbb38e026ac336c2e338090ce7eb30 (diff) | |
| download | enigma2-0c40ad392824c8a5ee1e0efe7556e12f54d3ceed.tar.gz enigma2-0c40ad392824c8a5ee1e0efe7556e12f54d3ceed.zip | |
add optional addNotifier(initial_call=False)-support
| -rw-r--r-- | lib/python/Components/config.py | 9 | ||||
| -rw-r--r-- | lib/python/Plugins/SystemPlugins/Satfinder/plugin.py | 16 |
2 files changed, 13 insertions, 12 deletions
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index cf94614c..b16b93e3 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -71,19 +71,20 @@ class ConfigElement(object): for x in self.notifiers: x(self) - def addNotifier(self, notifier): + def addNotifier(self, notifier, initial_call = True): assert callable(notifier), "notifiers must be callable" self.notifiers.append(notifier) - + # CHECKME: # do we want to call the notifier - # - at all when adding it? (yes) + # - at all when adding it? (yes, though optional) # - when the default is active? (yes) # - when no value *yet* has been set, # because no config has ever been read (currently yes) # (though that's not so easy to detect. # the entry could just be new.) - notifier(self) + if initial_call: + notifier(self) def disableSave(self): self.save_disabled = True diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py index 06a0f3fb..b8f380d3 100644 --- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py @@ -175,13 +175,13 @@ class Satfinder(ScanSetup): self.updateSats() - self.tuning_type.addNotifier(self.retune) - self.tuning_sat.addNotifier(self.sat_changed) - self.scan_sat.frequency.addNotifier(self.retune) - self.scan_sat.inversion.addNotifier(self.retune) - self.scan_sat.symbolrate.addNotifier(self.retune) - self.scan_sat.polarization.addNotifier(self.retune) - self.scan_sat.fec.addNotifier(self.retune) + self.tuning_type.addNotifier(self.retune, initial_call = False) + self.tuning_sat.addNotifier(self.sat_changed, initial_call = False) + self.scan_sat.frequency.addNotifier(self.retune, initial_call = False) + self.scan_sat.inversion.addNotifier(self.retune, initial_call = False) + self.scan_sat.symbolrate.addNotifier(self.retune, initial_call = False) + self.scan_sat.polarization.addNotifier(self.retune, initial_call = False) + self.scan_sat.fec.addNotifier(self.retune, initial_call = False) def updateSats(self): orb_pos = self.tuning_sat.orbital_position @@ -215,7 +215,7 @@ class Satfinder(ScanSetup): fec = "FEC_None" list.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec) self.tuning_transponder = ConfigSelection(choices = list) - self.tuning_transponder.addNotifier(self.retune) + self.tuning_transponder.addNotifier(self.retune, initial_call = False) def keyGo(self): self.retune(self.tuning_type) |
