[Sugar-devel] [PATCH] move stop/reload button into the url entry
Simon Schampijer
simon at schampijer.de
Thu Aug 25 12:54:16 EDT 2011
From: Simon Schampijer <simon at laptop.org>
This patch does move the stop and reload button from the toolbar
to the url entry similar to what Safari and Epiphany are doing.
This has the nice side effect that we gain extra space for the
url entry itself.
Signed-off-by: Simon Schampijer <simon at laptop.org>
---
icons/browse-dialog-cancel.svg | 17 +++++++++++++++++
icons/browse-view-refresh.svg | 14 ++++++++++++++
webtoolbar.py | 21 ++++++++++-----------
3 files changed, 41 insertions(+), 11 deletions(-)
create mode 100644 icons/browse-dialog-cancel.svg
create mode 100644 icons/browse-view-refresh.svg
diff --git a/icons/browse-dialog-cancel.svg b/icons/browse-dialog-cancel.svg
new file mode 100644
index 0000000..46692e2
--- /dev/null
+++ b/icons/browse-dialog-cancel.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="22.16" height="22.16" viewBox="0 0 22.16 22.16" id="svg2" xml:space="preserve">
+ <g transform="matrix(1.3,0,0,1.3,-3.2682282,-3.3351543)" id="browse-dialog-cancel" style="stroke-width:2.69230771;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ d="M 14.798121,7.2131543 6.9900671,15.021208"
+ id="path2986"
+ style="fill:none;stroke:&stroke_color;;stroke-width:2.69230771;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 6.9900671,7.2131543 14.798121,15.021208"
+ id="path3756"
+ style="fill:none;stroke:&stroke_color;;stroke-width:2.69230771;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+</svg>
diff --git a/icons/browse-view-refresh.svg b/icons/browse-view-refresh.svg
new file mode 100644
index 0000000..0682978
--- /dev/null
+++ b/icons/browse-view-refresh.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="22.16" height="22.16" viewBox="0 0 22.16 22.16" id="browse-view-refresh" xml:space="preserve">
+ <path
+ d="m 9.769744,17.559712 c -3.044496,-0.6084 -5.33832,-3.295344 -5.33832,-6.51768 0,-3.67224 2.97648,-6.649344 6.646848,-6.649344 3.672864,0 6.649344,2.977104 6.649344,6.649344 0,3.166176 -2.215824,5.816928 -5.18232,6.48648" id="path3220" style="fill:none;stroke:&stroke_color;;stroke-width:2.18400002;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <polyline
+ points=" 22.936,31.578 25.5,37.994 18.746,39.439 "
+ id="polyline3222"
+ style="fill:none;stroke:&stroke_color;;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ transform="matrix(0.624,0,0,0.624,-6.142256,-6.148544)" />
+</svg>
diff --git a/webtoolbar.py b/webtoolbar.py
index 9e0f660..1a0e112 100644
--- a/webtoolbar.py
+++ b/webtoolbar.py
@@ -26,6 +26,7 @@ from xpcom import components
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.menuitem import MenuItem
+from sugar.graphics.iconentry import IconEntry
try:
from sugar.graphics.toolbarbox import ToolbarBox as ToolbarBase
from sugar.activity.widgets import ActivityToolbarButton
@@ -43,7 +44,7 @@ import places
_MAX_HISTORY_ENTRIES = 15
-class WebEntry(gtk.Entry):
+class WebEntry(IconEntry):
_COL_ADDRESS = 0
_COL_TITLE = 1
@@ -260,12 +261,10 @@ class PrimaryToolbar(ToolbarBase):
toolbar.insert(self._go_home, -1)
self._go_home.show()
- self._stop_and_reload = ToolButton('media-playback-stop')
- self._stop_and_reload.connect('clicked', self._stop_and_reload_cb)
- toolbar.insert(self._stop_and_reload, -1)
- self._stop_and_reload.show()
-
self.entry = WebEntry()
+ self.entry.set_icon_from_name(gtk.ENTRY_ICON_SECONDARY,
+ 'browse-dialog-cancel')
+ self.entry.connect('icon-press', self._stop_and_reload_cb)
self.entry.connect('activate', self._entry_activate_cb)
entry_item = gtk.ToolItem()
@@ -400,10 +399,12 @@ class PrimaryToolbar(ToolbarBase):
self.entry.props.title = title
def _show_stop_icon(self):
- self._stop_and_reload.set_icon('media-playback-stop')
+ self.entry.set_icon_from_name(gtk.ENTRY_ICON_SECONDARY,
+ 'browse-dialog-cancel')
def _show_reload_icon(self):
- self._stop_and_reload.set_icon('view-refresh')
+ self.entry.set_icon_from_name(gtk.ENTRY_ICON_SECONDARY,
+ 'browse-view-refresh')
def _update_navigation_buttons(self):
browser = self._tabbed_view.props.current_browser
@@ -436,7 +437,7 @@ class PrimaryToolbar(ToolbarBase):
def _title_changed_cb(self, embed, spec):
self._set_title(embed.props.title)
- def _stop_and_reload_cb(self, button):
+ def _stop_and_reload_cb(self, entry, icon_pos, button):
browser = self._tabbed_view.props.current_browser
if self._loading:
browser.web_navigation.stop(interfaces.nsIWebNavigation.STOP_ALL)
@@ -449,10 +450,8 @@ class PrimaryToolbar(ToolbarBase):
if self._loading:
self._show_stop_icon()
- self._stop_and_reload.set_tooltip(_('Stop'))
else:
self._show_reload_icon()
- self._stop_and_reload.set_tooltip(_('Reload'))
def _reload_session_history(self, current_page_index=None):
browser = self._tabbed_view.props.current_browser
--
1.7.4.4
More information about the Sugar-devel
mailing list