[Sugar-devel] [PATCH Browse v2] Display 'Loading...' message in the tab and url titles while the page is loading #3550
Manuel Kaufmann
humitos at gmail.com
Fri May 4 08:28:59 EDT 2012
First of all, we don't need to open "about:blank" when we create a new
tab, this was making the history to save that "page" and allowing to
go back to it.
That is related with this PATCH because we are checking the browser
"load-status" property to know what title put in the tab and url
label. Now, we check for the "load-status" property and set the title
according to the load progress: if WebKit is loading the page we put
"Loading..." or the page's title otherwise with the exception of
"about:blank" page that has no title, so we put "Untitled".
Signed-off-by: Manuel Kaufmann <humitos at gmail.com>
---
browser.py | 11 ++++++++++-
webtoolbar.py | 7 +++++++
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/browser.py b/browser.py
index c0bb7bc..6b744a3 100644
--- a/browser.py
+++ b/browser.py
@@ -190,7 +190,6 @@ class TabbedView(BrowserNotebook):
else:
self._append_tab(browser)
self.emit('focus-url-entry')
- browser.load_uri('about:blank')
return browser
def _insert_tab_next(self, browser):
@@ -354,6 +353,7 @@ class TabLabel(Gtk.HBox):
GObject.GObject.__init__(self)
browser.connect('notify::title', self.__title_changed_cb)
+ browser.connect('notify::load-status', self.__load_status_changed_cb)
self._label = Gtk.Label(label=_('Untitled'))
self._label.set_ellipsize(Pango.EllipsizeMode.END)
@@ -392,6 +392,15 @@ class TabLabel(Gtk.HBox):
if widget.props.title:
self._label.set_text(widget.props.title)
+ def __load_status_changed_cb(self, widget, param):
+ status = widget.get_load_status()
+ if WebKit.LoadStatus.PROVISIONAL <= status \
+ < WebKit.LoadStatus.FINISHED:
+ self._label.set_text(_('Loading...'))
+ elif status == WebKit.LoadStatus.FINISHED:
+ if widget.props.title == None:
+ self._label.set_text(_('Untitled'))
+
class Browser(WebKit.WebView):
__gtype_name__ = 'Browser'
diff --git a/webtoolbar.py b/webtoolbar.py
index d0f2dc9..cc53f2d 100644
--- a/webtoolbar.py
+++ b/webtoolbar.py
@@ -350,6 +350,13 @@ class PrimaryToolbar(ToolbarBase):
self._update_navigation_buttons()
def __loading_changed_cb(self, widget, param):
+ status = widget.get_load_status()
+ if WebKit.LoadStatus.PROVISIONAL <= status \
+ < WebKit.LoadStatus.FINISHED:
+ self.entry._set_title(_('Loading...'))
+ elif status == WebKit.LoadStatus.FINISHED:
+ if widget.props.title == None:
+ self.entry._set_title(_('Loading...'))
self._set_status(widget.get_load_status())
def __progress_changed_cb(self, widget, param):
--
1.7.7.6
More information about the Sugar-devel
mailing list