From 4511d13fb50f9f9ebb0d8115c662950422baa8dc Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 23 Jun 2006 02:42:35 +0000 Subject: Merge branch 'master' of git+ssh://dcbw@crank.laptop.org/git/sugar --- (limited to 'shell') diff --git a/shell/PresenceWindow.py b/shell/PresenceWindow.py index 16544a5..fb6d517 100644 --- a/shell/PresenceWindow.py +++ b/shell/PresenceWindow.py @@ -2,8 +2,11 @@ import pygtk pygtk.require('2.0') import gtk import gobject +import dbus from sugar.presence.PresenceService import PresenceService +from sugar.presence.Service import Service +from sugar.chat.BuddyChat import BuddyChat class PresenceWindow(gtk.Window): _MODEL_COL_NICK = 0 @@ -20,9 +23,10 @@ class PresenceWindow(gtk.Window): self._pservice = PresenceService.get_instance() self._pservice.connect("buddy-appeared", self._on_buddy_appeared_cb) self._pservice.connect("buddy-disappeared", self._on_buddy_disappeared_cb) - self._pservice.set_debug(True) self._pservice.start() + self._pservice.track_service_type(BuddyChat.SERVICE_TYPE) + self._setup_ui() def _is_buddy_visible(self, buddy): @@ -116,11 +120,16 @@ class PresenceWindow(gtk.Window): (model, aniter) = view.get_selection().get_selected() chat = None buddy = view.get_model().get_value(aniter, self._MODEL_COL_BUDDY) - if buddy and not self._chats.has_key(buddy): - #chat = BuddyChat(self, buddy) - #self._chats[buddy] = chat - #chat.connect_to_shell() - pass + if buddy: + chat_service = buddy.get_service_of_type(BuddyChat.SERVICE_TYPE) + if chat_service: + bus = dbus.SessionBus() + proxy_obj = bus.get_object('com.redhat.Sugar.Chat', '/com/redhat/Sugar/Chat') + chat_shell = dbus.Interface(proxy_obj, 'com.redhat.Sugar.ChatShell') + serialized_service = Service.serialize(chat_service) + chat_shell.open_chat(serialized_service) + else: + print 'Could not find buddy chat' def __buddy_icon_changed_cb(self, buddy): it = self._get_iter_for_buddy(buddy) diff --git a/shell/shell.py b/shell/shell.py index 895d3c1..5d9e9ae 100755 --- a/shell/shell.py +++ b/shell/shell.py @@ -342,7 +342,7 @@ class ActivityContainer(dbus.service.Object): wm = WindowManager(self._presence_window) - wm.set_width(0.15, WindowManager.SCREEN_RELATIVE) + wm.set_width(0.18, WindowManager.SCREEN_RELATIVE) wm.set_height(1.0, WindowManager.SCREEN_RELATIVE) wm.set_position(WindowManager.LEFT) wm.manage() -- cgit v0.9.1