← Back to team overview

gnome-zeitgeist team mailing list archive

[Merge] lp:~invernizzi/gnome-activity-journal/GAJ-todo-gtg into lp:gnome-activity-journal

 

Luca Invernizzi has proposed merging lp:~invernizzi/gnome-activity-journal/GAJ-todo-gtg into lp:gnome-activity-journal.

Requested reviews:
  GNOME Zeitgeist Team (gnome-zeitgeist)


Hello there,
This adds support for TODO elements in GAJ, in particular those coming from "Getting Things GNOME!".
The code to export GTG tasks to zeitgeist is available in [0], and will land in GTG trunk in less than a month. 

I'll take this occasion to ask: how can I control the length of the yellow bar in [1] (which "Interpetation" do you use for that)? Yes, I could read your code, just a bit lazy :)


[0] lp:~gtg-user/gtg/multi-backends__invernizzi_gsoc/
[1] http://yfrog.com/3uscreenshottkp
-- 
https://code.launchpad.net/~invernizzi/gnome-activity-journal/GAJ-todo-gtg/+merge/28799
Your team GNOME Zeitgeist Team is requested to review the proposed merge of lp:~invernizzi/gnome-activity-journal/GAJ-todo-gtg into lp:gnome-activity-journal.
=== modified file 'src/config.py'
--- src/config.py	2010-06-19 19:21:44 +0000
+++ src/config.py	2010-06-29 21:05:40 +0000
@@ -244,5 +244,6 @@
     Interpretation.IMMESSAGE.uri: Source(Interpretation.IMMESSAGE, "applications-internet", _("Conversation"), _("Conversations")),
     Interpretation.WEBSITE.uri: Source(Interpretation.WEBSITE, "gnome-mime-html", _("Website"), _("Websites")),
     Interpretation.EMAIL.uri: Source(Interpretation.EMAIL, "applications-internet", _("Email"), _("Emails")),
+    Interpretation.TODO.uri: Source(Interpretation.TODO, "applications-office", _("Todo"), _("Todos")),
     INTERPRETATION_UNKNOWN: Source("Unknown", "applications-other", _("Other Activity"), _("Other Activities")),
 }

=== modified file 'src/content_objects.py'
--- src/content_objects.py	2010-05-30 03:23:30 +0000
+++ src/content_objects.py	2010-06-29 21:05:40 +0000
@@ -709,6 +709,26 @@
             common.launch_command("tomboy", ["--open-note", self.uri])
 
 
+class GTGContentObject(BaseContentType):
+    @classmethod
+    def use_class(cls, event):
+        """ Used by the content object chooser to check if the content object will work for the event"""
+        if event.actor == "application://gtg.desktop":
+            return cls
+        return False
+
+    icon_name = "$ACTOR"
+    text = _("{source._desc_sing} {event.subjects[0].text}")
+    timelineview_text = _("GTG\n{source._desc_sing} {event.subjects[0].text}")
+    thumbview_text = _("GTG\n{source._desc_sing} {event.subjects[0].text}")
+
+    type_color_representation = common.TANGOCOLORS[0], common.TANGOCOLORS[2]
+
+    def launch(self):
+        if common.is_command_available("gtg"):
+            common.launch_command("gtg", [self.uri])
+
+
 class MusicPlayerContentObject(BaseContentType):
     """Used by music players when the backing subject is not a file"""
 
@@ -741,5 +761,5 @@
 # Content object list used by the section function. Should use Subclasses but I like to have some order in which these should be used
 if sys.version_info >= (2,6):
     map(AbstractContentObject.content_object_types.append, (MusicPlayerContentObject, BzrContentObject, WebContentObject,
-                       IMContentObject, TomboyContentObject, EmailContentObject, HamsterContentObject))
+                       IMContentObject, TomboyContentObject, GTGContentObject, EmailContentObject, HamsterContentObject))