Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webactivity.py46
-rw-r--r--webtoolbar.py32
2 files changed, 44 insertions, 34 deletions
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