diff options
author | Manuel Quiñones <manuq@laptop.org> | 2011-11-30 18:11:13 (GMT) |
---|---|---|
committer | Manuel Quiñones <manuq@laptop.org> | 2011-11-30 18:16:38 (GMT) |
commit | cb60c84225cdd1afb0e6008aecfdaa3b387e00ce (patch) | |
tree | 960329b43d6ea55dfc3cba31544531fa6254a997 /webtoolbar.py | |
parent | abb00924ffbe5329f307b71dc3ca3d4b3f4351c7 (diff) |
Restore url-entry showing url, title and progress bar
We left filepicker.cleanup_temp_files() commented for now, as this can
be functionality that needs to be restored in the future, cleaning the
temporal files when the uri changes.
Signed-off-by: Manuel Quiñones <manuq@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
Diffstat (limited to 'webtoolbar.py')
-rw-r--r-- | webtoolbar.py | 81 |
1 files changed, 37 insertions, 44 deletions
diff --git a/webtoolbar.py b/webtoolbar.py index af89fb5..c3b0e32 100644 --- a/webtoolbar.py +++ b/webtoolbar.py @@ -288,11 +288,11 @@ class PrimaryToolbar(ToolbarBase): self._history = None self._browser = None - self._location_changed_hid = None self._loading_changed_hid = None self._progress_changed_hid = None self._session_history_changed_hid = None self._title_changed_hid = None + self._uri_changed_hid = None GObject.idle_add(lambda: self._connect_to_browser(tabbed_view.props.current_browser)) @@ -303,61 +303,52 @@ class PrimaryToolbar(ToolbarBase): self._connect_to_browser(tabbed_view.props.current_browser) def _connect_to_browser(self, browser): - if self._progress_listener is not None: - self._progress_listener.disconnect(self._location_changed_hid) - self._progress_listener.disconnect(self._loading_changed_hid) - self._progress_listener.disconnect(self._progress_changed_hid) - - self._progress_listener = browser.progress - self._set_progress(self._progress_listener.progress) - if self._progress_listener.location: - self._set_address(self._progress_listener.location) - else: - self._set_address(None) - self._set_loading(self._progress_listener.loading) - self._update_navigation_buttons() - - self._location_changed_hid = self._progress_listener.connect( - 'notify::location', self.__location_changed_cb) - self._loading_changed_hid = self._progress_listener.connect( - 'notify::loading', self.__loading_changed_cb) - self._progress_changed_hid = self._progress_listener.connect( - 'notify::progress', self.__progress_changed_cb) - if self._history is not None: - self._history.disconnect(self._session_history_changed_hid) + # FIXME + # if self._history is not None: + # self._history.disconnect(self._session_history_changed_hid) - self._history = browser.history - self._session_history_changed_hid = self._history.connect( - 'session-history-changed', self._session_history_changed_cb) - self._reload_session_history() + # self._history = browser.history + # self._session_history_changed_hid = self._history.connect( + # 'session-history-changed', self._session_history_changed_cb) + # self._reload_session_history() if self._browser is not None: self._browser.disconnect(self._title_changed_hid) + self._browser.disconnect(self._uri_changed_hid) + self._browser.disconnect(self._progress_changed_hid) self._browser = browser - self._set_title(self._browser.props.title) + if self._browser.props.title: + self._set_title(self._browser.props.title) + else: + self._set_title(_('Untitled')) + self._set_address(self._browser.props.uri) self._title_changed_hid = self._browser.connect( 'notify::title', self._title_changed_cb) + self._uri_changed_hid = self._browser.connect( + 'notify::uri', self.__uri_changed_cb) + self._progress_changed_hid = self._browser.connect( + 'notify::progress', self.__progress_changed_cb) + self._loading_changed_hid = self._browser.connect( + 'notify::load-status', self.__loading_changed_cb) + + self._update_navigation_buttons() def _session_history_changed_cb(self, session_history, current_page_index): # We have to wait until the history info is updated. GObject.idle_add(self._reload_session_history, current_page_index) - def __location_changed_cb(self, progress_listener, pspec): - self._set_address(progress_listener.location) - self._update_navigation_buttons() - filepicker.cleanup_temp_files() - def __loading_changed_cb(self, progress_listener, pspec): - if progress_listener.loading: + status = widget.get_load_status() + if status <= WebKit.LoadStatus.COMMITTED: self._set_title(None) - self._set_loading(progress_listener.loading) + self._set_loading(status >= WebKit.LoadStatus.FINISHED) self._update_navigation_buttons() - def __progress_changed_cb(self, progress_listener, pspec): - self._set_progress(progress_listener.progress) + def __progress_changed_cb(self, widget, param): + self._set_progress(widget.get_progress()) def _set_progress(self, progress): if progress == 1.0: @@ -366,11 +357,7 @@ class PrimaryToolbar(ToolbarBase): self.entry.set_progress_fraction(progress) def _set_address(self, uri): - if uri and self._browser is not None: - ui_uri = self._browser.get_url_from_nsiuri(uri) - else: - ui_uri = None - self.entry.props.address = ui_uri + self.entry.props.address = uri def _set_title(self, title): self.entry.props.title = title @@ -408,8 +395,14 @@ class PrimaryToolbar(ToolbarBase): browser = self._tabbed_view.props.current_browser browser.web_navigation.goForward() - def _title_changed_cb(self, embed, spec): - self._set_title(embed.props.title) + def _title_changed_cb(self, widget, param): + self._set_title(widget.get_title()) + + def __uri_changed_cb(self, widget, param): + self._set_address(widget.get_uri()) + self._update_navigation_buttons() + # FIXME + # filepicker.cleanup_temp_files() def _stop_and_reload_cb(self, entry, icon_pos, button): browser = self._tabbed_view.props.current_browser |