Merge branch 'master' of git+ssh://dcbw@crank.laptop.org/git/sugar
This commit is contained in:
+15
-6
@@ -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)
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user