summaryrefslogtreecommitdiffstats
path: root/src/fringlib/fringwalker.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/fringlib/fringwalker.py')
-rw-r--r--src/fringlib/fringwalker.py15
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)