Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-06-16 20:29:51 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-06-16 20:29:51 (GMT)
commit0363ed5457e96ef8527a950f2eed95a60d24e13c (patch)
tree6c257b5e0a56f1eef651cbcc6a0574214553d13f /sugar
parent99d26223e50a303aa0a44e38a5e758161ac94cbb (diff)
More work on chats
Diffstat (limited to 'sugar')
-rw-r--r--sugar/chat/Chat.py19
-rwxr-xr-xsugar/shell/shell.py33
2 files changed, 29 insertions, 23 deletions
diff --git a/sugar/chat/Chat.py b/sugar/chat/Chat.py
index c06bbc1..f6e7270 100644
--- a/sugar/chat/Chat.py
+++ b/sugar/chat/Chat.py
@@ -17,17 +17,15 @@ import richtext
PANGO_SCALE = 1024 # Where is this defined?
-class Chat(gtk.Window):
+class Chat(gtk.VBox):
SERVICE_TYPE = "_olpc_chat._tcp"
SERVICE_PORT = 6100
def __init__(self):
- gtk.Window.__init__(self, gtk.WINDOW_POPUP)
-
- self._stream_writer = None
+ gtk.VBox.__init__(self, False, 6)
- vbox = gtk.VBox(False, 6)
- vbox.set_border_width(12)
+ self._stream_writer = None
+ self.set_border_width(12)
chat_vbox = gtk.VBox()
chat_vbox.set_spacing(6)
@@ -46,21 +44,18 @@ class Chat(gtk.Window):
chat_vbox.pack_start(self._chat_sw)
self._chat_sw.show()
- vbox.pack_start(chat_vbox)
+ self.pack_start(chat_vbox)
chat_vbox.show()
self._editor = ChatEditor()
toolbar = ChatToolbar(self._editor.get_buffer())
- vbox.pack_start(toolbar, False)
+ self.pack_start(toolbar, False)
toolbar.show()
- vbox.pack_start(self._editor, False)
+ self.pack_start(self._editor, False)
self._editor.show()
- self.add(vbox)
- vbox.show()
-
def __get_browser_shell(self):
bus = dbus.SessionBus()
proxy_obj = bus.get_object('com.redhat.Sugar.Browser', '/com/redhat/Sugar/Browser')
diff --git a/sugar/shell/shell.py b/sugar/shell/shell.py
index e846cd9..cc484bc 100755
--- a/sugar/shell/shell.py
+++ b/sugar/shell/shell.py
@@ -76,18 +76,12 @@ class ActivityHost(dbus.service.Object):
self._create_chat()
- def _create_chat():
- group_chat = GroupChat()
- group_chat.set_transient_for(self.activity_container.window)
- group_chat.set_decorated(False)
- group_chat.set_skip_taskbar_hint(True)
+ def _create_chat(self):
+ self._group_chat = GroupChat()
+ self._group_chat.ref()
- wm = WindowManager(group_chat)
-
- wm.set_width(0.5, WindowManager.SCREEN_RELATIVE)
- wm.set_height(0.5, WindowManager.SCREEN_RELATIVE)
- wm.set_position(WindowManager.TOP)
- wm.manage()
+ def get_group_chat(self):
+ return self._group_chat
def __close_button_clicked_reply_cb(self):
pass
@@ -274,6 +268,18 @@ class ActivityContainer(dbus.service.Object):
wm.set_height(1.0, WindowManager.SCREEN_RELATIVE)
wm.set_position(WindowManager.LEFT)
wm.manage()
+
+ self._chat_window = gtk.Window(gtk.WINDOW_POPUP)
+ self._chat_window.set_transient_for(self.window)
+ self._chat_window.set_decorated(False)
+ self._chat_window.set_skip_taskbar_hint(True)
+
+ wm = WindowManager(self._chat_window)
+
+ wm.set_width(0.5, WindowManager.SCREEN_RELATIVE)
+ wm.set_height(0.5, WindowManager.SCREEN_RELATIVE)
+ wm.set_position(WindowManager.TOP)
+ wm.manage()
def show(self):
self.window.show()
@@ -287,6 +293,11 @@ class ActivityContainer(dbus.service.Object):
def set_current_activity(self, activity):
self.current_activity = activity
self._presence_window.set_activity(activity)
+ self._chat_window.remove(self._chat_window.get_child())
+
+ host_chat = activity.get_chat()
+ self._chat_window.add()
+ host_chat.show()
def notebook_tab_changed(self, notebook, page, page_number):
#print "in notebook_tab_changed"