[Sugar-devel] [PATCH Browse] Display 'Loading...' message in the tab title while the page is loading #3550
Manuel Quiñones
manuq at laptop.org
Thu May 3 15:25:11 EDT 2012
2012/5/3 Manuel Kaufmann <humitos at gmail.com>:
> 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 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 | 12 +++++++++++-
> 1 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/browser.py b/browser.py
> index c0bb7bc..3cb8f38 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')
This line is an important fix, there is no need to load about:blank,
WebKit will show an empty page by default. It was messing the web
history. Thanks!
> 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,16 @@ 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 widget.get_uri() == 'about:blank':
> + self._label.set_text(_('Untitled'))
> + return None
This problem with this is that it applies each time the loading status
changes. Further, I tested and there is other case that leave us with
"Loading..." after the loading finishes: pages without title (with no
<title> label in the <head>). The attached re-patch will fix it.
> + if WebKit.LoadStatus.PROVISIONAL <= status \
> + < WebKit.LoadStatus.FINISHED:
> + self._label.set_text(_('Loading...'))
> +
>
> class Browser(WebKit.WebView):
> __gtype_name__ = 'Browser'
> --
> 1.7.7.6
>
--
.. manuq ..
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tab-label-fix.patch
Type: text/x-patch
Size: 709 bytes
Desc: not available
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20120503/9ad95996/attachment.bin>
More information about the Sugar-devel
mailing list