Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.0, 1.0.1, and 1.0.2

cslist: show status text while updating the item list

Changeset 234a8ca45ec7

Parent 52c121844b5f

by Yuki KODAMA

Changes to one file · Browse files at 234a8ca45ec7 Showing diff from parent 52c121844b5f Diff from another changeset...

 
20
21
22
 
 
23
24
25
 
255
256
257
258
 
 
259
260
261
 
523
524
525
526
 
 
527
528
529
530
531
532
533
534
535
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
536
537
538
 
20
21
22
23
24
25
26
27
 
257
258
259
 
260
261
262
263
264
 
526
527
528
 
529
530
531
 
 
 
 
532
 
 
 
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
@@ -20,6 +20,8 @@
 CSL_DND_ITEM = 1024  CSL_DND_URI_LIST = 1025   +ASYNC_LIMIT = 60 +  class ChangesetList(gtk.Frame):     __gsignals__ = { @@ -255,7 +257,8 @@
  # update status   self.update_status()   - if numshow < 80: + # determine doing it now or later + if numshow < ASYNC_LIMIT:   proc()   else:   self.update_status(updating=True) @@ -523,16 +526,27 @@
  def expand_items(self):   if not self.has_limit():   return - # insert snipped csinfo + + # fix up snipped items   rest = self.curitems[self.limit - 1:-1] - for pos, item in enumerate(rest): - self.insert_csinfo(item, self.limit + pos) - # remove snip - self.remove_snip()   - self.showitems = self.curitems[:] - self.update_seps() - self.update_status() + def proc(): + # insert snipped csinfo + for pos, item in enumerate(rest): + self.insert_csinfo(item, self.limit + pos) + # remove snip + self.remove_snip() + + self.showitems = self.curitems[:] + self.update_seps() + self.update_status() + + # determine doing it now or later + if len(rest) < ASYNC_LIMIT: + proc() + else: + self.update_status(updating=True) + gtklib.idle_add_single_call(proc)     def reorder_item(self, pos, insert):   """