Write a chat activity, remove some unused code
This commit is contained in:
parent
bae47abd09
commit
03d82108d7
@ -1,6 +1,6 @@
|
||||
sugardir = $(pkgdatadir)/activities/chat
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
ChatActivity.py
|
||||
chatactivity.py
|
||||
|
||||
EXTRA_DIST = chat.activity
|
||||
|
@ -3,4 +3,4 @@ name = GroupChat
|
||||
icon = activity-chat
|
||||
id = org.laptop.ChatActivity
|
||||
python_module = chat.chatactivity.ChatActivity
|
||||
show_launcher = no
|
||||
show_launcher = yes
|
||||
|
@ -17,8 +17,33 @@
|
||||
from gettext import gettext as _
|
||||
|
||||
from sugar.activity.Activity import Activity
|
||||
from sugar.chat.Chat import Chat
|
||||
from sugar.p2p.Stream import Stream
|
||||
|
||||
class GroupChatActivity(Activity):
|
||||
class ChatActivity(Activity):
|
||||
def __init__(self):
|
||||
Activity.__init__(self)
|
||||
|
||||
self._group_stream = None
|
||||
|
||||
self.set_title(_('Group chat'))
|
||||
|
||||
self._chat = Chat()
|
||||
self.add(self._chat)
|
||||
self._chat.show()
|
||||
|
||||
def join(self, activity_ps):
|
||||
Activity.join(self, activity_ps)
|
||||
self._setup_stream()
|
||||
|
||||
def share(self):
|
||||
Activity.share(self)
|
||||
self._setup_stream()
|
||||
|
||||
def _setup_stream(self):
|
||||
self._group_stream = Stream.new_from_service(self._service)
|
||||
self._group_stream.set_data_listener(self._group_recv_message)
|
||||
self._chat.set_stream_writer(self._group_stream.new_writer())
|
||||
|
||||
def _group_recv_message(self, address, msg):
|
||||
self._chat.recv_message(msg)
|
||||
|
@ -1,31 +0,0 @@
|
||||
# Copyright (C) 2006, Red Hat, Inc.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
from sugar.chat.Chat import Chat
|
||||
from sugar.p2p.Stream import Stream
|
||||
|
||||
class BuddyChat(Chat):
|
||||
SERVICE_TYPE = "_olpc_buddy_chat._tcp"
|
||||
|
||||
def __init__(self, service):
|
||||
Chat.__init__(self)
|
||||
|
||||
self._stream = Stream.new_from_service(service, False)
|
||||
self._stream_writer = self._stream.new_writer(service)
|
||||
|
||||
def _recv_message_cb(self, address, msg):
|
||||
self.recv_message(msg)
|
@ -246,6 +246,9 @@ class Chat(gtk.VBox):
|
||||
self._insert_sketch(buddy, chunk)
|
||||
return
|
||||
|
||||
def set_stream_writer(self, stream_writer):
|
||||
self._stream_writer = stream_writer
|
||||
|
||||
def send_sketch(self, svgdata):
|
||||
if not svgdata or not len(svgdata):
|
||||
return
|
||||
|
@ -1,37 +0,0 @@
|
||||
# Copyright (C) 2006, Red Hat, Inc.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
import logging
|
||||
|
||||
from sugar.chat.Chat import Chat
|
||||
from sugar.p2p.Stream import Stream
|
||||
from sugar.presence.PresenceService import PresenceService
|
||||
import sugar.env
|
||||
|
||||
class GroupChat(Chat):
|
||||
def __init__(self):
|
||||
Chat.__init__(self)
|
||||
self._group_stream = None
|
||||
|
||||
def _setup_stream(self, service):
|
||||
self._group_stream = Stream.new_from_service(service)
|
||||
self._group_stream.set_data_listener(self._group_recv_message)
|
||||
self._stream_writer = self._group_stream.new_writer()
|
||||
|
||||
def _group_recv_message(self, address, msg):
|
||||
logging.debug('Group chat received from %s message %s' % (address, msg))
|
||||
self.recv_message(msg)
|
@ -4,12 +4,10 @@ sugardir = $(pythondir)/sugar/chat
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
ActivityChat.py \
|
||||
BuddyChat.py \
|
||||
Chat.py \
|
||||
ChatEditor.py \
|
||||
ChatToolbar.py \
|
||||
Emoticons.py \
|
||||
GroupChat.py \
|
||||
richtext.py
|
||||
|
||||
EXTRA_DIST = \
|
||||
|
Loading…
Reference in New Issue
Block a user