diff options
Diffstat (limited to 'src/fringlib/fringwalker.py')
-rw-r--r-- | src/fringlib/fringwalker.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/fringlib/fringwalker.py b/src/fringlib/fringwalker.py index 28cda4b..1bf5c68 100644 --- a/src/fringlib/fringwalker.py +++ b/src/fringlib/fringwalker.py @@ -18,10 +18,11 @@ class FringWalker( gobject.GObject ): 'progress': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_INT,gobject.TYPE_INT)), } - def __init__(self): + def __init__(self, sumlistcollection): gobject.GObject.__init__(self) self.thread = None self.showhidden = True + self.collection = sumlistcollection def walk(self,uri): self.stop() @@ -83,7 +84,10 @@ class WalkThread( threading.Thread ): result.append_child( SumList(d.name, None, d.size) ) except StopIteration: pass - if recursionlvl <= self.max_recursion_sort: result.sort_by_size() + if recursionlvl <= self.max_recursion_sort: + result.sort_by_size() + self.master.collection.set_sumlist(unicode(uri),result) + return result def run(self): @@ -110,6 +114,8 @@ class WalkThread( threading.Thread ): except StopIteration: pass # emit an intermediate version to fill up the screen while waiting + self.result.sort() + self.master.collection.set_sumlist(unicode(self.uri),self.result) self.master._progress_fn(self, 0, len(subdirectories), self.result) # walk the subdirectories @@ -119,12 +125,11 @@ class WalkThread( threading.Thread ): self.result.append_child( self.build_tree_gnomevfs(self.uri.append_path(directory)) ) if self.stopsignal: return + self.result.sort() + self.master.collection.set_sumlist(unicode(self.uri),self.result) - # emit an intermediate version after each directory self.master._progress_fn(self, c, len(subdirectories), self.result) - - self.result.sort() # emit final signal self.master._finished_fn(self,self.result) |