diff options
author | James Simmons <jim@olpc.simmons> | 2009-07-03 23:16:47 (GMT) |
---|---|---|
committer | James Simmons <jim@olpc.simmons> | 2009-07-03 23:16:47 (GMT) |
commit | ce0c8567e62d0fda986a3c437f287d04af995e0d (patch) | |
tree | 2e22e1438cf1bdcb70d4ea2694dff745175fc322 /ReadEtextsActivity.py | |
parent | 296c4123c597fda5ff4ea90ce5c43b2cc51f31cb (diff) |
modified: ReadEtextsActivity.py
modified: activity/activity.info
Get progress bar working for downloads and sharing.
Diffstat (limited to 'ReadEtextsActivity.py')
-rw-r--r-- | ReadEtextsActivity.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/ReadEtextsActivity.py b/ReadEtextsActivity.py index d1c18ed..8d2abf8 100644 --- a/ReadEtextsActivity.py +++ b/ReadEtextsActivity.py @@ -599,6 +599,7 @@ class ReadEtextsActivity(activity.Activity): if self.extra_journal_entry != None and self._close_requested: datastore.delete(self.extra_journal_entry.object_id) + self.metadata['activity'] = self.get_bundle_id() self.save_page_number() def can_close(self): @@ -606,6 +607,7 @@ class ReadEtextsActivity(activity.Activity): return True def selection_cb(self, selection): + self.clear_downloaded_bytes() tv = selection.get_tree_view() model = tv.get_model() sel = selection.get_selected() @@ -617,6 +619,7 @@ class ReadEtextsActivity(activity.Activity): self._books_toolbar._enable_button(True) def find_books(self, search_text): + self.clear_downloaded_bytes() self._books_toolbar._enable_button(False) self.list_scroller.hide() self.list_scroller_visible = False @@ -709,9 +712,10 @@ class ReadEtextsActivity(activity.Activity): bytes_downloaded) total = self._download_content_length self.set_downloaded_bytes(bytes_downloaded, total) - if not speech.supported: - while gtk.events_pending(): - gtk.main_iteration() + gtk.gdk.threads_enter() + while gtk.events_pending(): + gtk.main_iteration() + gtk.gdk.threads_leave() def set_downloaded_bytes(self, bytes, total): fraction = float(bytes) / float(total) @@ -850,6 +854,7 @@ class ReadEtextsActivity(activity.Activity): tempfile, suggested_name, tube_id) self._load_document(tempfile) self.save() + self.progressbar.hide() def _download_progress_cb(self, getter, bytes_downloaded, tube_id): if self._download_content_length > 0: @@ -860,7 +865,11 @@ class ReadEtextsActivity(activity.Activity): _logger.debug("Downloaded %u bytes from tube %u...", bytes_downloaded, tube_id) total = self._download_content_length - self._read_toolbar.set_downloaded_bytes(bytes_downloaded, total) + self.set_downloaded_bytes(bytes_downloaded, total) + gtk.gdk.threads_enter() + while gtk.events_pending(): + gtk.main_iteration() + gtk.gdk.threads_leave() def _download_error_cb(self, getter, err, tube_id): _logger.debug("Error getting document from tube %u: %s", @@ -921,6 +930,7 @@ class ReadEtextsActivity(activity.Activity): # Avoid trying to download the document multiple times at once self._want_document = False + self.progressbar.show() gobject.idle_add(self._download_document, tube_id, path) return False |