Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/canvas.py
diff options
context:
space:
mode:
authorAgustin Zubiaga <aguz@sugarlabs.org>2012-06-20 03:46:35 (GMT)
committer Agustin Zubiaga <aguz@sugarlabs.org>2012-06-20 03:46:35 (GMT)
commit39a82dfa2d59a9751263cf3578335026e0beef7a (patch)
tree305a06d688a55dad559461ab3e581761fcc65240 /canvas.py
parentc548bbea4b71fb91875da4fcf993abb303321048 (diff)
Fixing try again bugs
Diffstat (limited to 'canvas.py')
-rw-r--r--canvas.py46
1 files changed, 25 insertions, 21 deletions
diff --git a/canvas.py b/canvas.py
index 2b3ab53..0f4feba 100644
--- a/canvas.py
+++ b/canvas.py
@@ -19,6 +19,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import gtk
+import gobject
import pango
import threading
import utils
@@ -79,40 +80,43 @@ class List(gtk.VBox):
self.download_list = DownloadList()
self._parent = parent
-
self.thread = None
self.words = ''
-
self.can_search = False
- self.can_download_again = True
self.show_all()
def setup(self, search_entry, try_again_btn):
try_again_btn.hide()
- if not self.can_download_again:
- label_box = gtk.VBox()
- label = gtk.Label(_("Loading..."))
- label.modify_font(pango.FontDescription("25"))
- label_box.pack_start(label, True, True, 0)
-
- self.pack_start(label_box, True, True, 0)
- self.can_download_again = False
- threading.Thread(target=utils.update_list,
- args=(self.set_list,
- search_entry,
- label,
- try_again_btn)).start()
-
- def set_list(self, search_entry, label, try_again_btn):
+
+ self._try_again_btn = try_again_btn
+ self._search_entry = search_entry
+
+ label_box = gtk.VBox()
+ self._label = gtk.Label(_("Loading..."))
+ self._label.modify_font(pango.FontDescription("25"))
+ label_box.pack_start(self._label, True, True, 0)
+
+ self.pack_start(label_box, True, True, 0)
+ thread = threading.Thread(target=utils.update_list)
+ gobject.timeout_add(100, self._is_ready, thread)
+
+ thread.start()
+
+ def _is_ready(self, thread):
+ if utils.downloading:
+ self.set_list()
+
+ def set_list(self):
self._list = utils.get_store_list()
+ _logger.info('LISTAAA: %s' % self._list)
if self._list:
- search_entry.set_sensitive(True)
+ self._search_entry.set_sensitive(True)
self.can_search = True
self.clear()
else:
- label.set_text(_("Failed to download the list"))
- try_again_btn.show()
+ self._label.set_text(_("Failed to download the list"))
+ self._try_again_btn.show()
def _add_activity(self, widget):
self.pack_start(widget, False, False, 7)