On Mon, Jun 6, 2011 at 3:31 PM, <godi...@sugarlabs.org> wrote: > From: Gonzalo Odiard <godi...@gmail.com> > > If the user go back, or select any page in the history and > close the activity, need restore at the next start, the history, > and the index in the history too. > --- > browser.py | 6 ++++++ > webactivity.py | 24 ++++++++++-------------- > 2 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/browser.py b/browser.py > index b9c1f69..9bb7a1b 100644 > --- a/browser.py > +++ b/browser.py > @@ -351,6 +351,12 @@ class Browser(WebView): > interfaces.nsIMarkupDocumentViewer) > markupDocumentViewer.fullZoom -= _ZOOM_AMOUNT > > + def get_history_index(self): > + return self.web_navigation.sessionHistory.index > + > + def set_history_index(self, index): > + self.web_navigation.gotoIndex(index) > + > > class PopupDialog(gtk.Window): > def __init__(self): > diff --git a/webactivity.py b/webactivity.py > index 48cb3ed..8619144 100644 > --- a/webactivity.py > +++ b/webactivity.py > @@ -458,6 +458,12 @@ class WebActivity(activity.Activity): > link['owner'], -1, link['hash']) > logging.debug('########## reading %s', data) > self._tabbed_view.set_session(self.model.data['history']) > + tab_number = 0 > + for current in self.model.data['currents']: > + browser = self._tabbed_view.get_nth_page(tab_number) > + browser.set_history_index(current['index']) > + tab_number = tab_number + 1 > + > > self._tabbed_view.set_current_page(self.model.data['current_tab']) > elif self.metadata['mime_type'] == 'text/uri-list': > data = self._get_data_from_file_path(file_path) > @@ -469,19 +475,6 @@ class WebActivity(activity.Activity): > 'list of multiple uris by now.') > else: > self._tabbed_view.props.current_browser.load_uri(file_path) > - self._load_urls() > - > - def _load_urls(self): > - if self.model.data['currents'] != None: > - first = True > - for current_tab in self.model.data['currents']: > - if first: > - browser = self._tabbed_view.current_browser > - first = False > - else: > - browser = Browser() > - self._tabbed_view._append_tab(browser) > - browser.load_uri(current_tab['url']) > > def write_file(self, file_path): > if not self.metadata['mime_type']: > @@ -505,7 +498,10 @@ class WebActivity(activity.Activity): > if n_browser != None: > nsiuri = browser.progress.location > ui_uri = browser.get_url_from_nsiuri(nsiuri) > - info = {'title': browser.props.title, 'url': ui_uri} > + index = browser.get_history_index() > + info = {'title': browser.props.title, 'url': ui_uri, > + 'index': index} > + > self.model.data['currents'].append(info) > > f = open(file_path, 'w') > -- > 1.7.4.4 > > Tested and works as expected.
Thanks and cheers. > _______________________________________________ > Sugar-devel mailing list > Sugar-devel@lists.sugarlabs.org > http://lists.sugarlabs.org/listinfo/sugar-devel >
_______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel