diff options
author | Manuel Kaufmann <humitos@gmail.com> | 2012-04-26 15:04:47 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2012-05-04 20:30:23 (GMT) |
commit | 057c8cab9a3f996fc9db85429a161e90b00f3810 (patch) | |
tree | 43525569f614ea6126d662ccde5761962582020b | |
parent | 67252589d137e58adce9d90c97b622b9453fa739 (diff) |
Migrated to Gtk3 and WebKit.WebView SL #3466
- All the code was migrated to Gtk3 following this guide[1]
- Toolbar View's icon was changed from "camera" to the right one:
"toolbar-view"
- Back and Forward buttons are working properly
- WebKit.WebView inside a Gtk.ScrolledWindow to be able to scroll the page.
[1] http://wiki.sugarlabs.org/go/Features/GTK3/Porting
Signed-off-by: Manuel Kaufmann <humitos@gmail.com>
Acked-by: Manuel QuiƱones <manuq@laptop.org>
-rw-r--r-- | browser.py | 43 | ||||
-rwxr-xr-x | helpactivity.py | 36 |
2 files changed, 15 insertions, 64 deletions
diff --git a/browser.py b/browser.py deleted file mode 100644 index 85017cb..0000000 --- a/browser.py +++ /dev/null @@ -1,43 +0,0 @@ -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# 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 WebKit - -_ZOOM_AMOUNT = 0.1 - - -class Browser(WebKit.WebView): - def __init__(self): - WebKit.WebView.__init__(self) - - def do_setup(self): - WebKit.WebView.do_setup(self) - - def zoom_in(self): - # contentViewer = self.doc_shell.queryInterface( \ - # interfaces.nsIDocShell).contentViewer - # if contentViewer is not None: - # markupDocumentViewer = contentViewer.queryInterface( \ - # interfaces.nsIMarkupDocumentViewer) - # markupDocumentViewer.fullZoom += _ZOOM_AMOUNT - pass - - def zoom_out(self): - # contentViewer = self.doc_shell.queryInterface( \ - # interfaces.nsIDocShell).contentViewer - # if contentViewer is not None: - # markupDocumentViewer = contentViewer.queryInterface( \ - # interfaces.nsIMarkupDocumentViewer) - # markupDocumentViewer.fullZoom -= _ZOOM_AMOUNT - pass diff --git a/helpactivity.py b/helpactivity.py index f8e3435..85ca801 100755 --- a/helpactivity.py +++ b/helpactivity.py @@ -17,14 +17,15 @@ from gettext import gettext as _ from gi.repository import Gtk from gi.repository import GObject +from gi.repository import WebKit from sugar3.activity import activity from sugar3.graphics.toolbutton import ToolButton -from sugar3.graphics.toolbarbox import ToolbarBox, ToolbarButton +from sugar3.graphics.toolbarbox import ToolbarBox +from sugar3.graphics.toolbarbox import ToolbarButton from sugar3.activity.widgets import ActivityToolbarButton from sugar3.activity.widgets import StopButton -from browser import Browser from viewtoolbar import ViewToolbar HOME = 'file://' + os.path.join(activity.get_bundle_path(), @@ -37,8 +38,10 @@ class HelpActivity(activity.Activity): self.props.max_participants = 1 - self._web_view = Browser() - + self._web_view = WebKit.WebView() + _scrolled_window = Gtk.ScrolledWindow() + _scrolled_window.add(self._web_view) + _scrolled_window.show() toolbar_box = ToolbarBox() @@ -48,7 +51,7 @@ class HelpActivity(activity.Activity): viewtoolbar = ViewToolbar(self) viewbutton = ToolbarButton(page=viewtoolbar, \ - icon_name='camera') + icon_name='toolbar-view') toolbar_box.toolbar.insert(viewbutton, -1) viewbutton.show() @@ -96,9 +99,8 @@ class HelpActivity(activity.Activity): self.set_toolbar_box(toolbar_box) toolbar_box.show() - self.set_canvas(self._web_view) + self.set_canvas(_scrolled_window) self._web_view.show() - self._web_view.load_uri(HOME) @@ -128,31 +130,23 @@ class Toolbar(Gtk.Toolbar): self.insert(self._home, -1) self._home.show() - """ - progress_listener = self._web_view.progress - progress_listener.connect('location-changed', - self._location_changed_cb) - progress_listener.connect('loading-stop', self._loading_stop_cb) - """ + self._web_view.connect('notify::uri', self._uri_changed_cb) - def _location_changed_cb(self, progress_listener, uri): + def _uri_changed_cb(self, progress_listener, uri): self.update_navigation_buttons() def _loading_stop_cb(self, progress_listener): self.update_navigation_buttons() def update_navigation_buttons(self): - can_go_back = self._web_view.web_navigation.canGoBack - self._back.props.sensitive = can_go_back - - can_go_forward = self._web_view.web_navigation.canGoForward - self._forward.props.sensitive = can_go_forward + self._back.props.sensitive = self._web_view.can_go_back() + self._forward.props.sensitive = self._web_view.can_go_forward() def _go_back_cb(self, button): - self._web_view.web_navigation.goBack() + self._web_view.go_back() def _go_forward_cb(self, button): - self._web_view.web_navigation.goForward() + self._web_view.go_forward() def _go_home_cb(self, button): self._web_view.load_uri(HOME) |