[kupfer] data: Decorate inserted objects
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer] data: Decorate inserted objects
- Date: Thu, 7 Jan 2010 00:54:44 +0000 (UTC)
commit 75a7ae713e7e4fb2cc02531eb92ddad8bc15b991
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Wed Jan 6 02:03:16 2010 +0100
data: Decorate inserted objects
This makes sure we unite the way objects are "inserted" (by summoning,
for example Ctrl+T, or by composition by Ctrl+Return): we always
"decorate" the objects with content first if possible.
kupfer/data.py | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/kupfer/data.py b/kupfer/data.py
index 4ca9a89..d95bd43 100644
--- a/kupfer/data.py
+++ b/kupfer/data.py
@@ -1056,11 +1056,17 @@ class DataController (gobject.GObject, pretty.OutputMixin):
if res not in commandexec.RESULTS_SYNC:
self.emit("launched-action")
+ def _insert_object(self, pane, obj):
+ "Insert @obj in @pane: prepare the object, then emit pane-reset"
+ sc = GetSourceController()
+ sc.decorate_object(obj)
+ self.emit("pane-reset", pane, search.wrap_rankable(obj))
+
def _command_execution_result(self, ctx, result_type, ret):
if result_type == commandexec.RESULT_SOURCE:
self.source_pane.push_source(ret)
elif result_type == commandexec.RESULT_OBJECT:
- self.emit("pane-reset", SourcePane, search.wrap_rankable(ret))
+ self._insert_object(SourcePane, ret)
else:
return
self.emit("command-result", result_type)
@@ -1071,7 +1077,7 @@ class DataController (gobject.GObject, pretty.OutputMixin):
qf = qfurl.qfurl(url=url)
found = qf.resolve_in_catalog(sc.sources)
if found and not found == self.source_pane.get_selection():
- self.emit("pane-reset", SourcePane, search.wrap_rankable(found))
+ self._insert_object(SourcePane, found)
def compose_selection(self):
leaf = self.source_pane.get_selection()
@@ -1085,7 +1091,7 @@ class DataController (gobject.GObject, pretty.OutputMixin):
else:
iobj = None
obj = objects.ComposedLeaf(leaf, action, iobj)
- self.emit("pane-reset", SourcePane, search.wrap_rankable(obj))
+ self._insert_object(SourcePane, obj)
# pane cleared or set with new item
# pane, item
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]