[kupfer] core: Make it possible to incrementally add decorators
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer] core: Make it possible to incrementally add decorators
- Date: Thu, 4 Feb 2010 09:56:41 +0000 (UTC)
commit 08a611dbf43ed18d7bb00d31bdf58fa173a830fc
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Wed Feb 3 23:48:38 2010 +0100
core: Make it possible to incrementally add decorators
kupfer/core/data.py | 4 ++--
kupfer/core/sources.py | 14 ++++++++------
2 files changed, 10 insertions(+), 8 deletions(-)
---
diff --git a/kupfer/core/data.py b/kupfer/core/data.py
index a8cc34f..6cf48e0 100644
--- a/kupfer/core/data.py
+++ b/kupfer/core/data.py
@@ -445,7 +445,7 @@ class DataController (gobject.GObject, pretty.OutputMixin):
for appl_type in action.item_types():
decorate_types.setdefault(appl_type, []).append(action)
sc = GetSourceController()
- sc.set_action_decorators(decorate_types)
+ sc.add_action_decorators(decorate_types)
self.output_debug("Action decorators:")
for typ in decorate_types:
self.output_debug(typ.__name__)
@@ -469,7 +469,7 @@ class DataController (gobject.GObject, pretty.OutputMixin):
continue
decorate_item_types.setdefault(applies, set()).add(c)
sc = GetSourceController()
- sc.set_content_decorators(decorate_item_types)
+ sc.add_content_decorators(decorate_item_types)
self.output_debug("Content decorators:")
for typ in decorate_item_types:
self.output_debug(typ.__name__)
diff --git a/kupfer/core/sources.py b/kupfer/core/sources.py
index a857f68..9707dac 100644
--- a/kupfer/core/sources.py
+++ b/kupfer/core/sources.py
@@ -241,8 +241,8 @@ class SourceController (pretty.OutputMixin):
self.sources = set()
self.toplevel_sources = set()
self.text_sources = set()
- self.content_decorators = set()
- self.action_decorators = set()
+ self.content_decorators = {}
+ self.action_decorators = {}
self.loaded_successfully = False
self._restored_sources = set()
@@ -259,10 +259,12 @@ class SourceController (pretty.OutputMixin):
self.text_sources.update(srcs)
def get_text_sources(self):
return self.text_sources
- def set_content_decorators(self, decos):
- self.content_decorators = decos
- def set_action_decorators(self, decos):
- self.action_decorators = decos
+ def add_content_decorators(self, decos):
+ for typ in decos:
+ self.content_decorators.setdefault(typ, set()).update(decos[typ])
+ def add_action_decorators(self, decos):
+ for typ in decos:
+ self.action_decorators.setdefault(typ, set()).update(decos[typ])
for typ in self.action_decorators:
self._disambiguate_actions(self.action_decorators[typ])
def _disambiguate_actions(self, actions):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]