diff -up gwibber-875bzr/gwibber/client.py.dm gwibber-875bzr/gwibber/client.py --- gwibber-875bzr/gwibber/client.py.dm 2010-10-07 10:22:55.595095848 -0400 +++ gwibber-875bzr/gwibber/client.py 2010-10-07 10:23:23.022095848 -0400 @@ -450,6 +450,9 @@ class GwibberClient(gtk.Window): def perform_action(mi, act, widget, msg): act(widget, self, msg) for a in actions.MENU_ITEMS: + if a.action.__self__.__name__ == "private" and msg["sender"]["is_me"]: + continue + if a.include(self, msg): image = gtk.image_new_from_icon_name(a.icon, gtk.ICON_SIZE_MENU) mi = gtk.ImageMenuItem() diff -up gwibber-875bzr/gwibber/microblog/identica.py.dm gwibber-875bzr/gwibber/microblog/identica.py --- gwibber-875bzr/gwibber/microblog/identica.py.dm 2010-10-07 10:23:54.622095850 -0400 +++ gwibber-875bzr/gwibber/microblog/identica.py 2010-10-07 10:24:20.236095867 -0400 @@ -174,7 +174,9 @@ class Client: return self._get("statuses/mentions.json", count=count, since_id=since) def private(self, count=util.COUNT, since=None): - return self._get("direct_messages.json", "private", count=count, since_id=since) + private = self._get("direct_messages.json", "private", count=count, since_id=since) + private_sent = self._get("direct_messages/sent.json", "private", count=count, since_id=since) + return private + private_sent def public(self): return self._get("statuses/public_timeline.json") diff -up gwibber-875bzr/gwibber/microblog/twitter.py.dm gwibber-875bzr/gwibber/microblog/twitter.py --- gwibber-875bzr/gwibber/microblog/twitter.py.dm 2010-10-07 10:24:51.997095781 -0400 +++ gwibber-875bzr/gwibber/microblog/twitter.py 2010-10-07 10:25:06.213095760 -0400 @@ -232,7 +232,9 @@ class Client: return self._get("statuses/mentions.json", count=count, since_id=since) def private(self, count=util.COUNT, since=None): - return self._get("direct_messages.json", "private", count=count, since_id=since) + private = self._get("direct_messages.json", "private", count=count, since_id=since) + private_sent = self._get("direct_messages/sent.json", "private", count=count, since_id=since) + return private + private_sent def public(self): return self._get("statuses/public_timeline.json") diff -up gwibber-875bzr/ui/templates/base.mako.dm gwibber-875bzr/ui/templates/base.mako --- gwibber-875bzr/ui/templates/base.mako.dm 2010-10-07 10:26:56.291095849 -0400 +++ gwibber-875bzr/ui/templates/base.mako 2010-10-07 10:36:00.756095811 -0400 @@ -56,11 +56,33 @@ <%def name="image(data)"> - % if "sender" in data: - % if "image" in data["sender"]: - -
+ % if data.get("private", 0): + % if "recipient" in data: + % if data['recipient'].get("is_me", 0): + % if "sender" in data: + % if "image" in data["sender"]: +
+
+
+
+ % endif + % endif + % else: + % if "image" in data["recipient"]: + +
+
+
+ % endif + % endif + % endif + % else: + % if "sender" in data: + % if "image" in data["sender"]: + +
+ % endif % endif % endif @@ -125,9 +147,33 @@ <%def name="sender(data)" filter="trim"> % if "sender" in data: % if preferences["show_fullname"]: - ${data['sender'].get("name", 0) or data["sender"].get("nick", "")} + % if data.get("private", 0): + % if "recipient" in data: + % if data['recipient'].get("is_me", 0): + ${data['sender'].get("name", 0) or data["sender"].get("nick", "")} + % else: + ${data['recipient'].get("name", 0) or data["recipient"].get("nick", "")} + % endif + % else: + ${data['sender'].get("name", 0) or data["sender"].get("nick", "")} + % endif + % else: + ${data['sender'].get("name", 0) or data["sender"].get("nick", "")} + % endif % else: - ${data['sender'].get("nick", 0) or data["sender"].get("name", "")} + % if data.get("private", 0): + % if "recipient" in data: + % if data['recipient'].get("is_me", 0): + ${data['sender'].get("nick", 0) or data["sender"].get("name", "")} + % else: + ${data['recipient'].get("nick", 0) or data["recipient"].get("name", "")} + % endif + % else: + ${data['sender'].get("nick", 0) or data["sender"].get("name", "")} + % endif + % else: + ${data['sender'].get("nick", 0) or data["sender"].get("name", "")} + % endif % endif % endif @@ -144,7 +190,15 @@ % endif % if data.get("private", 0): - + % if "recipient" in data: + % if data['recipient'].get("is_me", 0): + + % else: + + % endif + % else: + + % endif % endif