Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/chat/ChatEditor.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2006-06-15 20:51:30 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2006-06-15 20:51:30 (GMT)
commit1b611fc842f29270479013cd0b8635d3efcccdfe (patch)
treebe515fe519e580f7b3e3478ca47bc4e8041c49b5 /sugar/chat/ChatEditor.py
parentc05bc5a669c8a333e902ae02ab3d55c4307cf56f (diff)
More chat refactoring
Diffstat (limited to 'sugar/chat/ChatEditor.py')
-rw-r--r--sugar/chat/ChatEditor.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/sugar/chat/ChatEditor.py b/sugar/chat/ChatEditor.py
new file mode 100644
index 0000000..c2a57c1
--- /dev/null
+++ b/sugar/chat/ChatEditor.py
@@ -0,0 +1,48 @@
+import pygtk
+pygtk.require('2.0')
+import gtk
+
+from sugar.chat.sketchpad.SketchPad import SketchPad
+import richtext
+
+class ChatEditor(gtk.Notebook):
+ def __init__(self):
+ gtk.Notebook.__init__(self)
+
+ self.set_show_tabs(False)
+ self.set_show_border(False)
+ self.set_size_request(-1, 70)
+
+ chat_view_sw = gtk.ScrolledWindow()
+ chat_view_sw.set_shadow_type(gtk.SHADOW_IN)
+ chat_view_sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ self._text_view = richtext.RichTextView()
+ self._text_view.connect("key-press-event", self.__key_press_event_cb)
+ chat_view_sw.add(self._text_view)
+ self._text_view.show()
+
+ self.append_page(chat_view_sw)
+ chat_view_sw.show()
+
+ self._sketchpad = SketchPad()
+ self.append_page(self._sketchpad)
+ self._sketchpad.show()
+
+ self.set_current_page(0)
+
+ def get_buffer(self):
+ return self._text_view.get_buffer()
+
+ def __key_press_event_cb(self, text_view, event):
+ if event.keyval == gtk.keysyms.Return:
+ buf = text_view.get_buffer()
+ text = buf.get_text(buf.get_start_iter(), buf.get_end_iter())
+ if len(text.strip()) > 0:
+ serializer = richtext.RichTextSerializer()
+ text = serializer.serialize(buf)
+ self.send_text_message(text)
+
+ buf.set_text("")
+ buf.place_cursor(buf.get_start_iter())
+
+ return True