From 9c5386d6e6288126e4defbc4f542e109b27fbbfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Mon, 10 Aug 2009 23:30:06 +0200 Subject: [PATCH] [GTK] Show display picture in conversation --- amsn2/gui/front_ends/gtk/chat_window.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/amsn2/gui/front_ends/gtk/chat_window.py b/amsn2/gui/front_ends/gtk/chat_window.py index d004930c..4f18c7f7 100644 --- a/amsn2/gui/front_ends/gtk/chat_window.py +++ b/amsn2/gui/front_ends/gtk/chat_window.py @@ -32,6 +32,8 @@ import gtk_extras import papyon import gobject +import os +from image import Image class aMSNChatWindow(base.aMSNChatWindow, gtk.Window): def __init__(self, amsn_core): @@ -41,7 +43,7 @@ def __init__(self, amsn_core): self.showed = False self.set_default_size(550, 450) self.set_position(gtk.WIN_POS_CENTER) - self.set_title("aMSN - Chatwindow") + self._theme_manager = amsn_core._core._theme_manager #leave @@ -76,7 +78,10 @@ def __init__(self, amsn_conversation, parent, contacts_uid): amsncontacts = [self._contactlist_manager.getContact(uid) for uid in contacts_uid] cviews = [ContactView(self._amsn_core, c) for c in amsncontacts] - self.chatheader = aMSNChatHeader(cviews) + self.chatheader = aMSNChatHeader(self._theme_manager, cviews) + + # Titlebar + parent.set_title("aMSN2 - " + str(cviews[0].name.getTag("nickname"))) # Middle self.textview = HtmlTextView() @@ -353,7 +358,7 @@ def onUserJoined(self, contact): def onUserLeft(self, contact): print "%s left the conversation" % (contact,) self.__print_info("%s left the conversation" % (contact,)) - self.__set_statusbar_text("%s left the comversation" % (contact,)) + self.__set_statusbar_text("%s left the conversation" % (contact,)) self.__typingStopped() def onUserTyping(self, contact): @@ -373,7 +378,7 @@ def nudge(self): class aMSNChatHeader(gtk.EventBox): - def __init__(self, cviews=None): + def __init__(self, theme_manager, cviews=None): gtk.EventBox.__init__(self) self.buddy_icon = gtk.Image() @@ -381,6 +386,7 @@ def __init__(self, cviews=None): self.dp = gtk.Image() self.title_color = gtk.gdk.color_parse('#dadada') self.psm_color = '#999999' + self.theme_manager = theme_manager self.title.set_use_markup(True) self.title.set_justify(gtk.JUSTIFY_LEFT) @@ -410,6 +416,10 @@ def update(self, cviews): psm = cviews[0].name.getTag("psm") status = cviews[0].name.getTag("status") + #FIXME: Which user do we show in a multiconversation? + img = Image(self.theme_manager, cviews[0].dp) + self.dp.set_from_pixbuf(img.to_pixbuf(50,50)) + title = '%s' % (nickname, ) title += ' %s' % (status, )