Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--edit_app.py15
-rw-r--r--groupthink/groupthink_base.py28
-rw-r--r--groupthink/gtk_tools.py4
-rw-r--r--groupthink/sugar_tools.py2
4 files changed, 22 insertions, 27 deletions
diff --git a/edit_app.py b/edit_app.py
index adfc060..4c1ff2f 100644
--- a/edit_app.py
+++ b/edit_app.py
@@ -11,8 +11,7 @@ from gi.repository import Pango
from gi.repository import GtkSource
from groupthink.sugar_tools import GroupActivity
-# Fixme: There is an error that I have not even given: TextBufferSharePoint
-#from groupthink.gtk_tools import TextBufferSharePoint
+from groupthink.gtk_tools import TextBufferSharePoint
from sugar3.activity import activity
from sugar3.graphics.toolbarbox import ToolbarBox
@@ -107,8 +106,7 @@ class EditActivity(GroupActivity):
def initialize_display(self):
'''Set up GTK and friends'''
self.fix_mimetype()
- # Fixme: There is an error that I have not even given: TextBufferSharePoint
- #self.cloud.shared_buffer = TextBufferSharePoint(self.buffer)
+ self.cloud.shared_buffer = TextBufferSharePoint(self.buffer)
self.setup_toolbar()
#Some graphics code borrowed from Pippy
@@ -176,17 +174,14 @@ class EditActivity(GroupActivity):
fhandle = open(filename, "w")
bounds = self.buffer.get_bounds()
- # FIXME: TypeError: get_text() takes exactly 4 arguments (3 given)
- #text = self.buffer.get_text(bounds[0], bounds[1])
- # FIXME: TypeError: get_text() takes exactly 4 arguments (3 given)
- #fhandle.write(text)
+ text = self.buffer.get_text(bounds[0], bounds[1], True)
+ fhandle.write(text)
fhandle.close()
self.fix_mimetype()
#We can do full-text search on all Edit documents, yay
- # FIXME: TypeError: get_text() takes exactly 4 arguments (3 given)
- #self.metadata[mdnames.contents_md] = text
+ self.metadata[mdnames.contents_md] = text
#If we edit the file in another way, we need to reload the contents
#we fudge the timestamp forwards by 5 seconds
diff --git a/groupthink/groupthink_base.py b/groupthink/groupthink_base.py
index ca7d6a6..2c21e59 100644
--- a/groupthink/groupthink_base.py
+++ b/groupthink/groupthink_base.py
@@ -166,7 +166,7 @@ class TubeBox:
class TimeHandler(dbus.gobject_service.ExportedGObject):
"""A TimeHandler provides a universal clock for a sharing instance. It is a
- sort of cheap, decentralized synchronization system. The TimeHandler
+ sort of cheap, decentralized synchronization system. The TimeHandler
determines the offset between local time and group time by sending a
broadcast and accepting the first response, and assuming that both transfer
displays were equal. The initiator's offset is 0.0, but once another group
@@ -177,7 +177,7 @@ class TimeHandler(dbus.gobject_service.ExportedGObject):
TimeHandler is not perfectly resilient to disappearances. If the group
splits, and one of the daughter groups does not contain any members that
have had a chance to synchronize, then they will not sync to each other. I
- am not yet aware of any sensible synchronization system that avoids this
+ am not yet aware of any sensible synchronization system that avoids this
problem.
"""
IFACE = "org.dobject.TimeHandler"
@@ -380,7 +380,7 @@ class UnorderedHandler(dbus.gobject_service.ExportedGObject):
self.object.add_history(hist)
#Alternative implementation of a members_changed (not yet working)
- """
+ """
def members_changed(self, message, added, removed, local_pending, remote_pending, actor, reason):
added_names = self.tube.InspectHandles(telepathy.CONNECTION_HANDLE_TYPE_LIST, added)
for name in added_names:
@@ -414,7 +414,7 @@ class HandlerAcceptor:
raise NotImplementedError
class UnorderedHandlerAcceptor(HandlerAcceptor):
- HANDLER_TYPE = UnorderedHandler
+ HANDLER_TYPE = UnorderedHandler
class UnorderedObject(UnorderedHandlerAcceptor):
""" The most basic DObject is the Unordered Object (UO). A UO has the
@@ -534,7 +534,7 @@ class HighScore(UnorderedObject):
if self._break_ties and (tiebreaker is None):
tiebreaker = random.random()
self._lock.acquire()
- if self._break_ties:
+ if self._break_ties:
if (self._score < score) or ((self._score == score) and (self._tiebreaker < tiebreaker)):
self._value = value
self._score = score
@@ -729,7 +729,7 @@ class AddOnlySet(UnorderedObject):
self._lock = threading.Lock()
self._trans = translator
- self._listeners = []
+ self._listeners = []
self.__and__ = self._set.__and__
self.__cmp__ = self._set.__cmp__
@@ -811,7 +811,7 @@ class AddOnlySet(UnorderedObject):
if len(self._set) > 0:
return dbus.Array([self._trans(el, True) for el in self._set])
else:
- return dbus.Array([], type=dbus.Boolean) #Prevent introspection of empty list, which fails
+ return dbus.Array([], type=dbus.Boolean) #Prevent introspection of empty list, which fails
add_history = receive_message
@@ -843,7 +843,7 @@ class AddOnlySortedSet(UnorderedObject):
self._lock = threading.Lock()
self._trans = translator
- self._listeners = []
+ self._listeners = []
self.__and__ = self._set.__and__
self.__contains__ = self._set.__contains__
@@ -1065,7 +1065,7 @@ class CausalObject(CausalHandlerAcceptor):
a CausalObject is completely specified by an ordered list of messages,
sorted according to an opaque index associated with each message.
This index must be monotonically increasing in time for new messages as they
- are created, but old messages may arrive long after they were created, and
+ are created, but old messages may arrive long after they were created, and
are then inserted into the middle of the timestream.
The following code is an abstract class for CausalObject, serving
@@ -1171,7 +1171,7 @@ class CausalDict(CausalObject):
def set_handler(self, handler):
if self.handler is not None:
raise
- else:
+ else:
self.handler = handler
self._clear = self.handler.get_index() #this must happen before index_dict initialization, so that self._clear is less than any index in index_dict
self._index_dict = dict(((k, self.handler.get_index()) for k in self._dict))
@@ -1426,7 +1426,7 @@ class UserDict(dbus.gobject_service.ExportedGObject):
self._dict[sender] = self._trans(value, False)
#Alternative implementation of a members_changed (not yet working)
- """
+ """
def members_changed(self, message, added, removed, local_pending, remote_pending, actor, reason):
added_names = self.tube.InspectHandles(telepathy.CONNECTION_HANDLE_TYPE_LIST, added)
for name in added_names:
@@ -1474,7 +1474,7 @@ class UnorderedString(UnorderedObject):
self._trigger(transformed_list)
def get_history(self):
- return dbus.Array((stringtree.translator(c, True)
+ return dbus.Array((stringtree.translator(c, True)
for c in self._tree.get_changes()),
signature = 'v')
@@ -1642,7 +1642,7 @@ class CausalTree(CausalObject):
if len(cmd) == 2: #DELETE_NODE
return (self._instruction_trans(cmd[0],pack), self.node_trans(cmd[1],pack))
elif len(cmd) == 3: #SET_PARENT
- return (self._instruction_trans(cmd[0],pack),
+ return (self._instruction_trans(cmd[0],pack),
self.node_trans(cmd[1],pack),
self.node_trans(cmd[2],pack))
@@ -1710,7 +1710,7 @@ class CausalTree(CausalObject):
def get_history(self):
return dbus.Array(
- (self.handler.index_trans(i,True), self._cmd_trans(cmd,True))
+ (self.handler.index_trans(i,True), self._cmd_trans(cmd,True))
for (i,cmd) in self._timeline)
def add_history(self,h):
diff --git a/groupthink/gtk_tools.py b/groupthink/gtk_tools.py
index 938c7a0..195fda1 100644
--- a/groupthink/gtk_tools.py
+++ b/groupthink/gtk_tools.py
@@ -38,7 +38,7 @@ class RecentEntry(groupthink.UnorderedHandlerAcceptor, Gtk.Entry):
self.set_text(text)
self.handler_unblock(self._text_changed_handler)
-class SharedTreeStore(groupthink.CausalHandlerAcceptor, Gtk.TreeModel):
+class SharedTreeStore(groupthink.CausalHandlerAcceptor, Gtk.TreeStore):
def __init__(self, columntypes=(), translators=()):
@@ -396,7 +396,7 @@ class TextBufferSharePoint(groupthink.UnorderedHandlerAcceptor):
def __init__(self, buff):
- self._us = groupthink.UnorderedString(buff.get_text(buff.get_start_iter(), buff.get_end_iter()))
+ self._us = groupthink.UnorderedString(buff.get_text(buff.get_start_iter(), buff.get_end_iter(), True))
self._linker = TextBufferUnorderedStringLinker(buff, self._us)
def set_handler(self, handler):
diff --git a/groupthink/sugar_tools.py b/groupthink/sugar_tools.py
index fdd4d98..0aed445 100644
--- a/groupthink/sugar_tools.py
+++ b/groupthink/sugar_tools.py
@@ -73,7 +73,7 @@ class GroupActivity(Activity):
# top toolbar with share and close buttons:
toolbox = ToolbarBox(self)
- self.toolbox = toolbox
+ self.set_toolbar_box(toolbox)
toolbox.show()
v = Gtk.VBox()