Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py147
1 files changed, 84 insertions, 63 deletions
diff --git a/activity.py b/activity.py
index fa94eab..126d4c7 100644
--- a/activity.py
+++ b/activity.py
@@ -12,37 +12,37 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-from gi.repository import Gtk
-from gi.repository import GObject
+import gtk
from gettext import gettext as _
-GObject.threads_init()
-
-from sugar3.graphics.toolbutton import ToolButton
-from sugar3.graphics.toggletoolbutton import ToggleToolButton
-from sugar3.graphics.toolbarbox import ToolbarBox, ToolbarButton
-from sugar3.activity.widgets import StopButton
-from sugar3.activity import activity
-from sugar3.graphics.radiotoolbutton import RadioToolButton
-from sugar3.activity.widgets import ActivityToolbarButton
+from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics.toggletoolbutton import ToggleToolButton
+from sugar.activity.activity import ActivityToolbox
+OLD_TOOLBAR = False
+try:
+ from sugar.graphics.toolbarbox import ToolbarBox, ToolbarButton
+ from sugar.activity.widgets import StopButton
+ from sugar.graphics.radiotoolbutton import RadioToolButton
+ from sugar.activity.widgets import ActivityToolbarButton
+except ImportError:
+ OLD_TOOLBAR = True
+from port.activity import SharedActivity
import library
import edit
import book
-class InfoslicerActivity(activity.Activity):
+gtk.gdk.threads_init()
+gtk.gdk.threads_enter()
+
+class InfoslicerActivity(SharedActivity):
def __init__(self, handle):
- self.notebook = Gtk.Notebook()
+ self.notebook = gtk.Notebook()
self.notebook.show()
self.notebook.props.show_border = False
self.notebook.props.show_tabs = False
- activity.Activity.__init__(self, handle)
-
- self.max_participants = 1
-
- self.set_canvas(self.notebook)
- self.instance()
+ SharedActivity.__init__(self, self.notebook, 'SERVICE', handle)
def instance(self):
book.wiki = book.WikiBook()
@@ -53,52 +53,71 @@ class InfoslicerActivity(activity.Activity):
self.edit = edit.View()
self.library = library.View(self)
- toolbar_box = ToolbarBox()
- activity_button = ActivityToolbarButton(self)
- toolbar_box.toolbar.insert(activity_button, 0)
- self.set_toolbar_box(toolbar_box)
- self._toolbar = toolbar_box.toolbar
-
- tool_group = None
- search_button = RadioToolButton()
- search_button.props.group = tool_group
- tool_group = search_button
- search_button.props.icon_name = 'white-search'
- search_button.set_tooltip(_('Library'))
- search_button.mode = 'search'
- search_button.connect('clicked', self.__mode_button_clicked)
- self._toolbar.insert(search_button, -1)
-
- edit_button = RadioToolButton()
- edit_button.props.group = tool_group
- edit_button.props.icon_name = 'toolbar-edit'
- edit_button.set_tooltip(_('Edit'))
- edit_button.mode = 'edit'
- edit_button.connect('clicked', self.__mode_button_clicked)
- self._toolbar.insert(edit_button, -1)
- self._toolbar.insert(Gtk.SeparatorToolItem(), -1)
- self.edit_bar = edit.ToolbarBuilder(self.edit, self._toolbar)
- self.library_bar = library.ToolbarBuilder(self.library,
- activity_button)
- self.library_bar.publish.show()
-
- edit_fake = Gtk.EventBox()
-
- self.notebook.append_page(self.library, None)
- self.notebook.append_page(self.edit, None)
- self.notebook.append_page(edit_fake, None)
+ if OLD_TOOLBAR:
+ self.edit_toolbar = gtk.Toolbar()
+ self.edit_bar = edit.ToolbarBuilder(self.edit, self.edit_toolbar)
+ self.edit_toolbar.show_all()
+
+ self.library_toolbar = gtk.Toolbar()
+ self.library_bar = library.ToolbarBuilder(self.library,
+ self.library_toolbar)
+ self.library_toolbar.show_all()
+
+ toolbox = ActivityToolbox(self)
+ toolbox.connect('current-toolbar-changed',
+ self._toolbar_changed_cb)
+ self.set_toolbox(toolbox)
+ toolbox.add_toolbar(_('Library'), self.library_toolbar)
+ toolbox.add_toolbar(_('Edit'), self.edit_toolbar)
+ toolbox.set_current_toolbar(1)
+ else:
+ toolbar_box = ToolbarBox()
+ activity_button = ActivityToolbarButton(self)
+ toolbar_box.toolbar.insert(activity_button, 0)
+ self.set_toolbar_box(toolbar_box)
+ self._toolbar = toolbar_box.toolbar
+
+ tool_group = None
+ search_button = RadioToolButton()
+ search_button.props.group = tool_group
+ tool_group = search_button
+ search_button.props.icon_name = 'white-search'
+ search_button.set_tooltip(_('Library'))
+ search_button.mode = 'search'
+ search_button.connect('clicked', self.__mode_button_clicked)
+ self._toolbar.insert(search_button, -1)
+
+ edit_button = RadioToolButton()
+ edit_button.props.group = tool_group
+ edit_button.props.icon_name = 'toolbar-edit'
+ edit_button.set_tooltip(_('Edit'))
+ edit_button.mode = 'edit'
+ edit_button.connect('clicked', self.__mode_button_clicked)
+ self._toolbar.insert(edit_button, -1)
+ self._toolbar.insert(gtk.SeparatorToolItem(), -1)
+ self.edit_bar = edit.ToolbarBuilder(self.edit, self._toolbar)
+ self.library_bar = library.ToolbarBuilder(self.library,
+ activity_button)
+ self.library_bar.publish.show()
+
+ edit_fake = gtk.EventBox()
+
+ self.notebook.append_page(self.library)
+ self.notebook.append_page(self.edit)
+ self.notebook.append_page(edit_fake)
self.show_all()
- self.__mode_button_clicked(search_button)
- separator = Gtk.SeparatorToolItem()
- separator.props.draw = False
- separator.set_expand(True)
- separator.show()
- self._toolbar.insert(separator, -1)
- stop_button = StopButton(self)
- stop_button.show()
- self._toolbar.insert(stop_button, -1)
+ if not OLD_TOOLBAR:
+ self.__mode_button_clicked(search_button)
+ separator = gtk.SeparatorToolItem()
+ separator.props.draw = False
+ separator.set_expand(True)
+ separator.show()
+ self._toolbar.insert(separator, -1)
+ stop_button = StopButton(self)
+ stop_button.show()
+ self._toolbar.insert(stop_button, -1)
def new_instance(self):
self.instance()
@@ -112,7 +131,9 @@ class InfoslicerActivity(activity.Activity):
book.custom.sync(filepath)
def set_edit_sensitive(self, enable):
- pass
+ if OLD_TOOLBAR:
+ #self.edit_toolbar.props.sensitive = enable
+ self.edit_page = (enable and 1 or 2)
def _toolbar_changed_cb(self, widget, index):
if index > 0: