From d6c56f8184de2b3980aca34fb644d2a8f0f4b64f Mon Sep 17 00:00:00 2001 From: Manuel QuiƱones Date: Tue, 22 May 2012 15:20:26 +0000 Subject: Unset "loading..." message when the loading fails SL #3620 Browse has to restore the previous title in the tab and in the URL entry when the loading finishes with WEBKIT_LOAD_FAILED status. This fixes bug #3620 in Sugarlabs trac. The WEBKIT_LOAD_FAILED status is reached in the current webview when the loading is manually handled in the mime-type-policy-decision-requested callback. Signed-off-by: Manuel QuiƱones Tested-by: Manuel Kaufmann Acked-by: Simon Schampijer --- diff --git a/browser.py b/browser.py index 764f913..6895667 100644 --- a/browser.py +++ b/browser.py @@ -361,7 +361,8 @@ class TabLabel(Gtk.HBox): 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._title = _('Untitled') + self._label = Gtk.Label(label=self._title) self._label.set_ellipsize(Pango.EllipsizeMode.END) self._label.set_alignment(0, 0.5) self.pack_start(self._label, True, True, 0) @@ -397,15 +398,19 @@ class TabLabel(Gtk.HBox): def __title_changed_cb(self, widget, param): if widget.props.title: self._label.set_text(widget.props.title) + self._title = widget.props.title def __load_status_changed_cb(self, widget, param): status = widget.get_load_status() - if WebKit.LoadStatus.PROVISIONAL <= status \ + if status == WebKit.LoadStatus.FAILED: + self._label.set_text(self._title) + elif 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')) + self._title = _('Untitled') class Browser(WebKit.WebView): diff --git a/webtoolbar.py b/webtoolbar.py index 6241eb1..99c5fd6 100644 --- a/webtoolbar.py +++ b/webtoolbar.py @@ -241,6 +241,7 @@ class PrimaryToolbar(ToolbarBase): self._tabbed_view = tabbed_view self._loading = False + self._title = _('Untitled') toolbar = self.toolbar activity_button = ActivityToolbarButton(self._activity) @@ -353,12 +354,15 @@ class PrimaryToolbar(ToolbarBase): def __loading_changed_cb(self, widget, param): status = widget.get_load_status() - if WebKit.LoadStatus.PROVISIONAL <= status \ + if status == WebKit.LoadStatus.FAILED: + self.entry._set_title(self._title) + elif 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(_('Untitled')) + self._title = _('Untitled') self._set_status(widget.get_load_status()) def __progress_changed_cb(self, widget, param): @@ -381,6 +385,7 @@ class PrimaryToolbar(ToolbarBase): def _set_title(self, title): self.entry.props.title = title + self._title = title def _show_stop_icon(self): self.entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY, -- cgit v0.9.1