From 14102bcd65f015dcbf12d1406df8ef7ffb64d13d Mon Sep 17 00:00:00 2001 From: Manuel QuiƱones Date: Tue, 20 Dec 2011 13:43:28 +0000 Subject: Store and restore session for each tab For going to a specific item in the history, it uses go_back() method of WebKit.WebView. I tried also with WebKit.WebHistoryItem go_back(), seemed the proper solution, but the page wouldn't update. Signed-off-by: Manuel QuiƱones --- (limited to 'webactivity.py') diff --git a/webactivity.py b/webactivity.py index 0e03fb2..9ccbe4c 100644 --- a/webactivity.py +++ b/webactivity.py @@ -401,7 +401,8 @@ class WebActivity(activity.Activity): logging.debug('########## reading %s', data) self._tabbed_view.set_session(self.model.data['history']) for number, tab in enumerate(self.model.data['currents']): - browser = self._tabbed_view.get_nth_page(number) + scrolled_window = self._tabbed_view.get_nth_page(number) + browser = scrolled_window.get_child() browser.set_history_index(tab['history_index']) self._tabbed_view.set_current_page(self.model.data['current_tab']) @@ -430,22 +431,18 @@ class WebActivity(activity.Activity): else: self.metadata['title'] = browser.props.title - # FIXME - # self.model.data['history'] = self._tabbed_view.get_session() - self.model.data['history'] = [] + self.model.data['history'] = self._tabbed_view.get_session() current_tab = self._tabbed_view.get_current_page() self.model.data['current_tab'] = current_tab self.model.data['currents'] = [] for n in range(0, self._tabbed_view.get_n_pages()): - # FIXME - continue - n_browser = self._tabbed_view.get_nth_page(n) + scrolled_window = self._tabbed_view.get_nth_page(n) + n_browser = scrolled_window.get_child() if n_browser != None: - nsiuri = n_browser.progress.location - ui_uri = n_browser.get_url_from_nsiuri(nsiuri) + uri = n_browser.get_uri() history_index = n_browser.get_history_index() - info = {'title': n_browser.props.title, 'url': ui_uri, + info = {'title': n_browser.props.title, 'url': uri, 'history_index': history_index} self.model.data['currents'].append(info) -- cgit v0.9.1