- self._phoneBackends[self._selectedBackendId].logout()
- self._accountViews[self._selectedBackendId].clear()
- self._recentViews[self._selectedBackendId].clear()
- self._messagesViews[self._selectedBackendId].clear()
- self._contactsViews[self._selectedBackendId].clear()
- self._change_loggedin_status(self.NULL_BACKEND)
-
- self._spawn_attempt_login(2, True)
-
- def _on_notebook_switch_page(self, notebook, page, page_num):
- if page_num == self.RECENT_TAB:
- self._recentViews[self._selectedBackendId].update()
- elif page_num == self.MESSAGES_TAB:
- self._messagesViews[self._selectedBackendId].update()
- elif page_num == self.CONTACTS_TAB:
- self._contactsViews[self._selectedBackendId].update()
- elif page_num == self.ACCOUNT_TAB:
- self._accountViews[self._selectedBackendId].update()
-
- tabTitle = self._notebook.get_tab_label(self._notebook.get_nth_page(page_num)).get_text()
- if hildon is not None:
- self._window.set_title(tabTitle)
- else:
- self._window.set_title("%s - %s" % (constants.__pretty_app_name__, tabTitle))
+ try:
+ self._phoneBackends[self._selectedBackendId].logout()
+ self._accountViews[self._selectedBackendId].clear()
+ self._recentViews[self._selectedBackendId].clear()
+ self._messagesViews[self._selectedBackendId].clear()
+ self._contactsViews[self._selectedBackendId].clear()
+ self._change_loggedin_status(self.NULL_BACKEND)
+
+ self._spawn_attempt_login(2, True)
+ except Exception, e:
+ self._errorDisplay.push_exception()
+
+ def _on_notebook_switch_page(self, notebook, page, pageIndex):
+ try:
+ self._reset_tab_refresh()
+
+ didRecentUpdate = False
+ didMessagesUpdate = False
+
+ if pageIndex == self.RECENT_TAB:
+ didRecentUpdate = self._recentViews[self._selectedBackendId].update()
+ elif pageIndex == self.MESSAGES_TAB:
+ didMessagesUpdate = self._messagesViews[self._selectedBackendId].update()
+ elif pageIndex == self.CONTACTS_TAB:
+ self._contactsViews[self._selectedBackendId].update()
+ elif pageIndex == self.ACCOUNT_TAB:
+ self._accountViews[self._selectedBackendId].update()
+
+ if didRecentUpdate or didMessagesUpdate:
+ if self._ledHandler is not None:
+ self._ledHandler.off()
+ except Exception, e:
+ self._errorDisplay.push_exception()
+
+ def _set_tab_refresh(self, *args):
+ try:
+ pageIndex = self._notebook.get_current_page()
+ child = self._notebook.get_nth_page(pageIndex)
+ self._notebook.get_tab_label(child).set_text("Refresh?")
+ except Exception, e:
+ self._errorDisplay.push_exception()
+ return False
+
+ def _reset_tab_refresh(self, *args):
+ try:
+ pageIndex = self._notebook.get_current_page()
+ child = self._notebook.get_nth_page(pageIndex)
+ self._notebook.get_tab_label(child).set_text(self._originalCurrentLabels[pageIndex])
+ except Exception, e:
+ self._errorDisplay.push_exception()
+ return False
+
+ def _on_tab_refresh(self, *args):
+ try:
+ self._refresh_active_tab()
+ self._reset_tab_refresh()
+ except Exception, e:
+ self._errorDisplay.push_exception()
+ return False