From 8f9159c2f277e663150c0a85bb821483f6ae275b Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Fri, 31 Jul 2009 14:17:21 +0000 Subject: Toolbar redesign --- diff --git a/webactivity.py b/webactivity.py index 7e3ac4f..f5657c7 100644 --- a/webactivity.py +++ b/webactivity.py @@ -44,6 +44,7 @@ from sugar.graphics.tray import HTray from sugar import profile from sugar.graphics.alert import Alert from sugar.graphics.icon import Icon +from sugar.graphics.toolbarbox import ToolbarButton from sugar import mime PROFILE_VERSION = 1 @@ -153,8 +154,8 @@ def _set_accept_languages(): logging.debug('LANG set') from browser import TabbedView +from webtoolbar import PrimaryToolbar from edittoolbar import EditToolbar -from webtoolbar import WebToolbar from viewtoolbar import ViewToolbar import downloadmanager import globalhistory @@ -171,9 +172,6 @@ SERVICE = "org.laptop.WebActivity" IFACE = SERVICE PATH = "/org/laptop/WebActivity" -_TOOLBAR_EDIT = 1 -_TOOLBAR_BROWSE = 2 - _logger = logging.getLogger('web-activity') class WebActivity(activity.Activity): @@ -193,27 +191,30 @@ class WebActivity(activity.Activity): branch = pref_service.getBranch("mozilla.widget.") branch.setBoolPref("disable-native-theme", True) - toolbox = activity.ActivityToolbox(self) + self._primary_toolbar = PrimaryToolbar(self._tabbed_view, self) self._edit_toolbar = EditToolbar(self) - toolbox.add_toolbar(_('Edit'), self._edit_toolbar) - self._edit_toolbar.show() - - self._web_toolbar = WebToolbar(self._tabbed_view) - self._web_toolbar.connect('add-link', self._link_add_button_cb) - toolbox.add_toolbar(_('Browse'), self._web_toolbar) - self._web_toolbar.show() - + self._edit_toolbar_button = ToolbarButton( + page=self._edit_toolbar, + icon_name='toolbar-edit') + self._primary_toolbar.toolbar.insert( + self._edit_toolbar_button, + self._primary_toolbar.toolbar.get_n_items() - 1) + self._tray = HTray() self.set_tray(self._tray, gtk.POS_BOTTOM) self._tray.show() self._view_toolbar = ViewToolbar(self) - toolbox.add_toolbar(_('View'), self._view_toolbar) - self._view_toolbar.show() + view_toolbar_button = ToolbarButton( + page=self._view_toolbar, + icon_name='toolbar-view') + self._primary_toolbar.toolbar.insert( + view_toolbar_button, + self._primary_toolbar.toolbar.get_n_items() - 1) - self.set_toolbox(toolbox) - toolbox.show() + self._primary_toolbar.show_all() + self.set_toolbar_box(self._primary_toolbar) self.set_canvas(self._tabbed_view) self._tabbed_view.show() @@ -222,9 +223,7 @@ class WebActivity(activity.Activity): self.model.connect('add_link', self._add_link_model_cb) self.connect('key-press-event', self._key_press_cb) - - self.toolbox.set_current_toolbar(_TOOLBAR_BROWSE) - + if handle.uri: self._tabbed_view.current_browser.load_uri(handle.uri) elif not self._jobject.file_path: @@ -431,13 +430,12 @@ class WebActivity(activity.Activity): return True elif gtk.gdk.keyval_name(event.keyval) == "f": _logger.debug('keyboard: Find') - self.toolbox.set_current_toolbar(_TOOLBAR_EDIT) - self._edit_toolbar.search_entry.grab_focus() + self._edit_toolbar_button.expanded = True + self._edit_toolbar.search_entry.grab_focus() return True elif gtk.gdk.keyval_name(event.keyval) == "l": _logger.debug('keyboard: Focus url entry') - self.toolbox.set_current_toolbar(_TOOLBAR_BROWSE) - self._web_toolbar.entry.grab_focus() + self._primary_toolbar.entry.grab_focus() return True elif gtk.gdk.keyval_name(event.keyval) == "minus": _logger.debug('keyboard: Zoom out') diff --git a/webtoolbar.py b/webtoolbar.py index f942fa8..f784f34 100644 --- a/webtoolbar.py +++ b/webtoolbar.py @@ -27,6 +27,10 @@ from xpcom import components from sugar.graphics.toolbutton import ToolButton from sugar.graphics.menuitem import MenuItem from sugar._sugarext import AddressEntry +from sugar.graphics.toolbarbox import ToolbarBox +from sugar.activity.widgets import ActivityToolbarButton +from sugar.activity.widgets import StopButton +from sugar.activity import activity import filepicker import places @@ -212,8 +216,8 @@ class WebEntry(AddressEntry): else: self._search_popup() -class WebToolbar(gtk.Toolbar): - __gtype_name__ = 'WebToolbar' +class PrimaryToolbar(ToolbarBox): + __gtype_name__ = 'PrimaryToolbar' __gsignals__ = { 'add-link': (gobject.SIGNAL_RUN_FIRST, @@ -221,30 +225,35 @@ class WebToolbar(gtk.Toolbar): ([])) } - def __init__(self, tabbed_view): - gtk.Toolbar.__init__(self) + def __init__(self, tabbed_view, act): + ToolbarBox.__init__(self) + + self._activity = act self._tabbed_view = tabbed_view self._loading = False + activity_button = ActivityToolbarButton(self._activity) + self.toolbar.insert(activity_button, 0) + self._back = ToolButton('go-previous-paired') self._back.set_tooltip(_('Back')) self._back.props.sensitive = False self._back.connect('clicked', self._go_back_cb) - self.insert(self._back, -1) + self.toolbar.insert(self._back, -1) self._back.show() - + self._forward = ToolButton('go-next-paired') self._forward.set_tooltip(_('Forward')) self._forward.props.sensitive = False self._forward.connect('clicked', self._go_forward_cb) - self.insert(self._forward, -1) + self.toolbar.insert(self._forward, -1) self._forward.show() self._stop_and_reload = ToolButton('media-playback-stop') self._stop_and_reload.connect('clicked', self._stop_and_reload_cb) - self.insert(self._stop_and_reload, -1) + self.toolbar.insert(self._stop_and_reload, -1) self._stop_and_reload.show() self.entry = WebEntry() @@ -255,15 +264,18 @@ class WebToolbar(gtk.Toolbar): entry_item.add(self.entry) self.entry.show() - self.insert(entry_item, -1) + self.toolbar.insert(entry_item, -1) entry_item.show() self._link_add = ToolButton('emblem-favorite') self._link_add.set_tooltip(_('Bookmark')) self._link_add.connect('clicked', self._link_add_clicked_cb) - self.insert(self._link_add, -1) + self.toolbar.insert(self._link_add, -1) self._link_add.show() + stop_button = StopButton(self._activity) + self.toolbar.insert(stop_button, -1) + self._progress_listener = None self._history = None self._browser = None -- cgit v0.9.1