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
|
sugardir = $(pkgdatadir)/activities/chat
|
||||||
sugar_PYTHON = \
|
sugar_PYTHON = \
|
||||||
__init__.py \
|
__init__.py \
|
||||||
ChatActivity.py
|
chatactivity.py
|
||||||
|
|
||||||
EXTRA_DIST = chat.activity
|
EXTRA_DIST = chat.activity
|
||||||
|
@ -3,4 +3,4 @@ name = GroupChat
|
|||||||
icon = activity-chat
|
icon = activity-chat
|
||||||
id = org.laptop.ChatActivity
|
id = org.laptop.ChatActivity
|
||||||
python_module = chat.chatactivity.ChatActivity
|
python_module = chat.chatactivity.ChatActivity
|
||||||
show_launcher = no
|
show_launcher = yes
|
||||||
|
@ -17,8 +17,33 @@
|
|||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
|
|
||||||
from sugar.activity.Activity import Activity
|
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):
|
def __init__(self):
|
||||||
Activity.__init__(self)
|
Activity.__init__(self)
|
||||||
|
|
||||||
|
self._group_stream = None
|
||||||
|
|
||||||
self.set_title(_('Group chat'))
|
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)
|
self._insert_sketch(buddy, chunk)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def set_stream_writer(self, stream_writer):
|
||||||
|
self._stream_writer = stream_writer
|
||||||
|
|
||||||
def send_sketch(self, svgdata):
|
def send_sketch(self, svgdata):
|
||||||
if not svgdata or not len(svgdata):
|
if not svgdata or not len(svgdata):
|
||||||
return
|
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 = \
|
sugar_PYTHON = \
|
||||||
__init__.py \
|
__init__.py \
|
||||||
ActivityChat.py \
|
ActivityChat.py \
|
||||||
BuddyChat.py \
|
|
||||||
Chat.py \
|
Chat.py \
|
||||||
ChatEditor.py \
|
ChatEditor.py \
|
||||||
ChatToolbar.py \
|
ChatToolbar.py \
|
||||||
Emoticons.py \
|
Emoticons.py \
|
||||||
GroupChat.py \
|
|
||||||
richtext.py
|
richtext.py
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
|
Loading…
Reference in New Issue
Block a user