From 73829f7e63a548920d58ed78d5b3aabfdde81883 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 01 Aug 2011 10:45:26 +0000 Subject: add support for new toolbars to TamTamMini Adds support for new toolbars to TamTamMini. Note that TamTamMini has play and record toolbars that are currently commented out in this code. If we do decide to reinstate these toolbars, we will need to decide on toolbar icons (placeholders are used for the moment). --- diff --git a/Mini/miniTamTamMain.py b/Mini/miniTamTamMain.py index 5230633..4f3b0e4 100644 --- a/Mini/miniTamTamMain.py +++ b/Mini/miniTamTamMain.py @@ -140,8 +140,35 @@ class miniTamTamMain(gtk.EventBox): #------------------------------------------------------------------- # Toolbar - self.activity.activity_toolbar.share.show() - self._playToolbar = playToolbar(self.activity.toolbox, self) + if self.activity.have_toolbox: + from sugar.graphics.toolbarbox import ToolbarButton + + # no sharing + # self.max_participants = 1 + + self._playToolbar = playToolbar(self) + ## Uncomment to show play and record tabs ## + ''' + play_toolbar_button = ToolbarButton(label=_('Play'), + page=self._playToolbar, + # Fixme: need an icon + icon_name='activity-start') + self._playToolbar.show() + play_toolbar_button.show() + self.activity.toolbox.toolbar.insert(play_toolbar_button, -1) + + self._recordToolbar = recordToolbar(self) + record_toolbar_button = ToolbarButton(label=_('Record'), + page=self._recordToolbar, + # Fixme: need an icon + icon_name='media-record') + self._recordToolbar.show() + record_toolbar_button.show() + self.activity.toolbox.toolbar.insert(record_toolbar_button, -1) + ''' + self.activity.add_stop_button() + else: + self._playToolbar = playToolbar(self) ## set to 1 to show play and record tabs ## if 0: @@ -152,7 +179,8 @@ class miniTamTamMain(gtk.EventBox): self._playToolbar.show() self._recordToolbar.show() - self.activity.connect( "shared", self.shared ) + if not self.activity.have_toolbox: + self.activity.connect( "shared", self.shared ) if os.path.isfile("FORCE_SHARE"): # HOST r = random.random() diff --git a/Mini/miniToolbars.py b/Mini/miniToolbars.py index 867e00a..50cb013 100644 --- a/Mini/miniToolbars.py +++ b/Mini/miniToolbars.py @@ -11,7 +11,7 @@ from sugar.graphics.palette import Palette from gettext import gettext as _ class playToolbar(gtk.Toolbar): - def __init__(self,toolbox, miniTamTam): + def __init__(self, miniTamTam): gtk.Toolbar.__init__(self) def _insertSeparator(x = 1): @@ -21,7 +21,6 @@ class playToolbar(gtk.Toolbar): self.insert(self.separator,-1) self.separator.show() - self.toolbox = toolbox self.miniTamTam = miniTamTam self.tooltips = gtk.Tooltips() @@ -76,6 +75,8 @@ class playToolbar(gtk.Toolbar): self.reverbSliderTool.show() self.reverbSliderTool.set_tooltip(self.tooltips, _('Reverb')) + self.show_all() + class recordToolbar(gtk.Toolbar): def __init__(self,toolbox, miniTamTam): diff --git a/TamTamMini.py b/TamTamMini.py index 275f46d..47e04fc 100644 --- a/TamTamMini.py +++ b/TamTamMini.py @@ -44,6 +44,15 @@ from common.Util.Trackpad import Trackpad from gettext import gettext as _ import commands from sugar.activity import activity +try: + from sugar.graphics.toolbarbox import ToolbarBox + HAVE_TOOLBOX = True +except ImportError: + HAVE_TOOLBOX = False + +if HAVE_TOOLBOX: + from sugar.activity.widgets import ActivityToolbarButton + from sugar.activity.widgets import StopButton class TamTamMini(activity.Activity): @@ -68,19 +77,23 @@ class TamTamMini(activity.Activity): self.connect('destroy', self.onDestroy) #load the sugar toolbar - toolbox = activity.ActivityToolbox(self) - self.set_toolbox(toolbox) - self.activity_toolbar = toolbox.get_activity_toolbar() - toolbox.show() + self.have_toolbox = HAVE_TOOLBOX + if self.have_toolbox: + self.toolbox = ToolbarBox() + activity_button = ActivityToolbarButton(self) + self.toolbox.toolbar.insert(activity_button, 0) + activity_button.show() + else: + self.toolbox = activity.ActivityToolbox(self) + self.set_toolbox(self.toolbox) + + self.toolbox.show() self.mini = miniTamTamMain(self) self.mini.onActivate(arg=None) self.mini.updateInstrumentPanel() #self.modeList[mode].regenerate() - self.activity_toolbar.share.hide() - self.activity_toolbar.keep.hide() - self.set_canvas(self.mini) self.show() @@ -125,3 +138,16 @@ class TamTamMini(activity.Activity): def write_file(self, file_path): f = open(file_path, 'w') f.close() + + def add_stop_button(self): + ''' Add a stop button if using the new toolbars ''' + if self.have_toolbox: + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + self.toolbox.toolbar.insert(separator, -1) + separator.show() + stop_button = StopButton(self) + stop_button.props.accelerator = 'q' + self.toolbox.toolbar.insert(stop_button, -1) + stop_button.show() -- cgit v0.9.1