Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/groupthink
diff options
context:
space:
mode:
authorRafael Ortiz <rafael@activitycentral.com>2012-06-30 06:57:01 (GMT)
committer Rafael Ortiz <rafael@activitycentral.com>2012-06-30 06:57:01 (GMT)
commitddb636e728a19f7e1b0c21f3ee6222f593dd1b6e (patch)
tree247c44aa61c1dfcfadc925ef8d725e341cf39822 /groupthink
parentebae32267a9369ed9cdf389571581f43c871b38c (diff)
Various fixes to gtk3 port, by (flavio danesse
fdanesse@activitycentral.com) and (rafael ortiz rafael@activitycentral.com)
Diffstat (limited to 'groupthink')
-rw-r--r--groupthink/gtk_tools.py12
-rw-r--r--groupthink/sugar_tools.py69
2 files changed, 41 insertions, 40 deletions
diff --git a/groupthink/gtk_tools.py b/groupthink/gtk_tools.py
index 2b74276..3bf4772 100644
--- a/groupthink/gtk_tools.py
+++ b/groupthink/gtk_tools.py
@@ -1,8 +1,4 @@
-import gi
from gi.repository import Gtk
-from gi.repository import Gdk
-from gi.repository import GObject
-
import groupthink_base as groupthink
import logging
import stringtree
@@ -36,8 +32,7 @@ class RecentEntry(groupthink.UnorderedHandlerAcceptor, Gtk.Entry):
self.set_text(text)
self.handler_unblock(self._text_changed_handler)
-'''
-class SharedTreeStore(groupthink.CausalHandlerAcceptor, Gtk.GenericTreeModel):
+class SharedTreeStore(groupthink.CausalHandlerAcceptor, Gtk.TreeStore):
def __init__(self, columntypes=(), translators=()):
self._columntypes = columntypes
self._causaltree = groupthink.CausalTree()
@@ -288,7 +283,7 @@ class SharedTreeStore(groupthink.CausalHandlerAcceptor, Gtk.GenericTreeModel):
def move(self, it, newparent):
node = self.get_user_data(row)
p = self.get_user_data(newparent)
- self._causaltree.change_parent(node,p)'''
+ self._causaltree.change_parent(node,p)
class TextBufferUnorderedStringLinker:
def __init__(self,tb,us):
@@ -325,9 +320,10 @@ class TextBufferUnorderedStringLinker:
self._tb.handler_unblock(self._insert_handler)
self._tb.handler_unblock(self._delete_handler)
+
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 cb651c6..e0fe82b 100644
--- a/groupthink/sugar_tools.py
+++ b/groupthink/sugar_tools.py
@@ -16,17 +16,21 @@
import logging
import telepathy
-import gi
-from gi.repository import Gtk
-from gi.repository import Gdk
-from gi.repository import GObject
+
from sugar3.activity.activity import Activity
from sugar3.presence import presenceservice
+
from sugar3.presence.tubeconn import TubeConnection
from sugar3.graphics.window import Window
+
+from gi.repository import Gtk
+from gi.repository import Gdk
+from gi.repository import GObject
+
+import groupthink_base as groupthink
+
from sugar3.graphics.toolbarbox import ToolbarBox, ToolbarButton
from sugar3.activity.widgets import ActivityToolbarButton
-import groupthink_base as groupthink
def exhaust_event_loop():
while Gtk.events_pending():
@@ -58,24 +62,27 @@ class GroupActivity(Activity):
self._handle = handle
+ # HACK = self._shared_activity: attribute does not exist
+ self._shared_activity = None
+
##GObject.threads_init()
-
- #self._sharing_completed = not self._shared_activity
+
+ self._sharing_completed = not self._shared_activity
self._readfile_completed = not handle.object_id
- #if self._shared_activity:
- # self.message = self.message_joining
- #elif handle.object_id:
- # self.message = self.message_loading
- #else:
- # self.message = self.message_preparing
- self.message = "Shared No Funciona"
+
+ if self._shared_activity:
+ self.message = self.message_joining
+ elif handle.object_id:
+ self.message = self.message_loading
+ else:
+ self.message = self.message_preparing
toolbar_box = ToolbarBox()
self.activity_button = ActivityToolbarButton(self)
toolbar_box.toolbar.insert(self.activity_button, 0)
self.set_toolbar_box(toolbar_box)
- v = Gtk.VBox()
+ v = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.startup_label = Gtk.Label(label=self.message)
v.pack_start(self.startup_label, True, True, 0)
Window.set_canvas(self,v)
@@ -105,13 +112,13 @@ class GroupActivity(Activity):
owner = self.pservice.get_owner()
self.owner = owner
- #self.connect('shared', self._shared_cb)
- #self.connect('joined', self._joined_cb)
- #if self.get_shared():
- # if self.initiating:
- # self._shared_cb(self)
- # else:
- # self._joined_cb(self)
+ self.connect('shared', self._shared_cb)
+ self.connect('joined', self._joined_cb)
+ if self.get_shared():
+ if self.initiating:
+ self._shared_cb(self)
+ else:
+ self._joined_cb(self)
self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK)
self.connect("visibility-notify-event", self._visible_cb)
@@ -119,8 +126,8 @@ class GroupActivity(Activity):
if not self._readfile_completed:
self.read_file(self._jobject.file_path)
- #elif not self._shared_activity:
- # GObject.idle_add(self._initialize_cleanstart)
+ elif not self._shared_activity:
+ GObject.idle_add(self._initialize_cleanstart)
def _initialize_cleanstart(self):
self.initialize_cleanstart()
@@ -142,19 +149,19 @@ class GroupActivity(Activity):
main_widget = self.initialize_display()
Window.set_canvas(self, main_widget)
self.initialized = True
- '''
+
if self._shared_activity and not self._processed_share:
# We are joining a shared activity, but when_shared has not yet
# been called
self.when_shared()
- self._processed_share = True'''
+ self._processed_share = True
self.show_all()
def initialize_display(self):
"""All subclasses must override this method, in order to display
their GUI using self.set_canvas()"""
raise NotImplementedError
- '''
+
def share(self, private=False):
"""The purpose of this function is solely to permit us to determine
whether share() has been called. This is necessary because share() may
@@ -227,15 +234,13 @@ class GroupActivity(Activity):
self.tubebox.insert_tube(tube_conn, self.initiating)
self._sharing_completed = True
if self._readfile_completed and not self.initialized:
- self._initialize_display()'''
+ self._initialize_display()
def read_file(self, file_path):
self.cloud.loads(self.load_from_journal(file_path))
self._readfile_completed = True
- #if self._sharing_completed and not self.initialized:
- # self._initialize_display()
- self._initialize_display()
- pass
+ if self._sharing_completed and not self.initialized:
+ self._initialize_display()
def load_from_journal(self, file_path):
"""This implementation of load_from_journal simply returns the contents