Merge lp:~laszlok/zeitgeist-datasources/trunk into lp:zeitgeist-datasources/0.8

Proposed by Laszlo Pandy
Status: Merged
Merged at revision: not available
Proposed branch: lp:~laszlok/zeitgeist-datasources/trunk
Merge into: lp:zeitgeist-datasources/0.8
Diff against target: 79 lines (+28/-22)
1 file modified
gedit/zeitgeist_plugin.py (+28/-22)
To merge this branch: bzr merge lp:~laszlok/zeitgeist-datasources/trunk
Reviewer Review Type Date Requested Status
Seif Lotfy Pending
Zeitgeist Framework Team Pending
Review via email: mp+17719@code.launchpad.net
To post a comment you must log in.
28. By Laszlo Pandy

OPEN and CLOSE events for rhythmbox.

29. By Laszlo Pandy

Catch 'eos' signal to determine if the user explicitly changed the song or not.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'gedit/zeitgeist_plugin.py'
--- gedit/zeitgeist_plugin.py 2009-11-25 22:24:13 +0000
+++ gedit/zeitgeist_plugin.py 2010-01-20 07:05:24 +0000
@@ -34,39 +34,46 @@
34 def __init__(self, plugin, window):34 def __init__(self, plugin, window):
35 self._window = window35 self._window = window
36 self._plugin = plugin36 self._plugin = plugin
37 self.docs = self._window.get_documents()37 self._window.connect("tab-added", self.TabAddedHandler)
38 self._handler = self._window.connect("tab-removed", self.TabRemovedHandler)38 self._window.connect("tab-removed", self.TabRemovedHandler)
39 self._handler = self._window.connect("active-tab-changed", self.TabChangedHandler)
40 self._tabs = 0
4139
42 def deactivate(self):40 def deactivate(self):
43 self._window.disconnect(self._handler)41 self._window.disconnect_by_func(self.TabAddedHandler)
42 self._window.disconnect_by_func(self.TabRemovedHandler)
44 self._window = None43 self._window = None
45 self._plugin = None44 self._plugin = None
46 self._handler = None45
46 def TabAddedHandler(self, window, tab):
47 doc = tab.get_document()
48 print "Zeitgeist: loaded new tab ", doc.get_uri()
49
50 """
51 We don't send an OPEN_EVENT here because that will
52 be done after the document's 'loaded' signal is emitted.
53
54 We do this because when if there are any empty tabs when
55 the user opens a file, the new file will replace the empty
56 tab, and the document's 'loaded' signal will fire, but no
57 tab is added and therefore no 'tab-added' is fired.
58 """
59
60 doc.connect("saved", self.SaveDocHandler)
61 doc.connect("loaded", self.TabLoadedHandler)
4762
48 def TabRemovedHandler(self, window, tab):63 def TabRemovedHandler(self, window, tab):
49 doc = tab.get_document()64 doc = tab.get_document()
50 print "tab removed", doc.get_uri()65 print "Zeitgeist: tab removed", doc.get_uri()
66 doc.disconnect_by_func(self.SaveDocHandler)
67 doc.disconnect_by_func(self.TabLoadedHandler)
51 self.SendToZeitgeist(doc, Interpretation.CLOSE_EVENT)68 self.SendToZeitgeist(doc, Interpretation.CLOSE_EVENT)
52 self.docs = self._window.get_documents()
5369
54 def TabChangedHandler(self, window, tab):70 def TabLoadedHandler(self, doc, data):
55 doc = tab.get_document()71 print "Zeitgeist: tab loaded document", doc.get_uri()
56 if self.docs.count(doc) == 0:72 self.SendToZeitgeist(doc, Interpretation.OPEN_EVENT)
57 print "loaded new document ", doc.get_uri()
58 self.SendToZeitgeist(doc, Interpretation.OPEN_EVENT)
59 doc.connect("saved", self.SaveDocHandler)
60 else:
61 print "tab changed", doc.get_uri()
62 self.docs = self._window.get_documents()
63 print "***", self.docs
6473
65 def SaveDocHandler(self, doc, data):74 def SaveDocHandler(self, doc, data):
66 print "saved document", doc.get_uri()75 print "Zeitgeist: saved document", doc.get_uri()
67 self.docs = self._window.get_documents()
68 self.SendToZeitgeist(doc, Interpretation.SAVE_EVENT)76 self.SendToZeitgeist(doc, Interpretation.SAVE_EVENT)
69 print "***", self.docs
7077
71 def SendToZeitgeist(self, doc, event):78 def SendToZeitgeist(self, doc, event):
72 if doc.get_uri():79 if doc.get_uri():
@@ -93,7 +100,6 @@
93 self._instances = {}100 self._instances = {}
94101
95 def activate(self, window):102 def activate(self, window):
96 print window
97 self._instances[window] = ZeitgeistLogic(self, window)103 self._instances[window] = ZeitgeistLogic(self, window)
98104
99 def deactivate(self, window):105 def deactivate(self, window):

Subscribers

People subscribed via source and target branches