# HG changeset patch # User Claus Gittinger # Date 1045152808 -3600 # Node ID f58fa5209587852fc7b154db54dc39220965e733 # Parent 21b055fba6194bb6a8aad839a302c7b96c685e4a *** empty log message *** diff -r 21b055fba619 -r f58fa5209587 DirectoryContentsBrowser.st --- a/DirectoryContentsBrowser.st Thu Feb 13 13:12:12 2003 +0100 +++ b/DirectoryContentsBrowser.st Thu Feb 13 17:13:28 2003 +0100 @@ -2261,6 +2261,27 @@ ^ nil "/ unknown - for now. ! +isDiskUsageInfoStillValid:infoForDirectory + |diskUsageRememberTime infoTimestamp infoKiloBytes infoMegaBytes| + + diskUsageRememberTime := 30. + + infoTimestamp := infoForDirectory key. + infoKiloBytes := infoForDirectory value. + infoMegaBytes := infoKiloBytes // 1024. + + "/ only update info every 30 seconds + "/ plus another second for every 5 megabytes + "/ (i.e. for 100 mb, keep info for 50seconds) + + diskUsageRememberTime := diskUsageRememberTime + (infoMegaBytes / 5). "/ another second for every megabyte + + (AbsoluteTime now - infoTimestamp) > diskUsageRememberTime ifTrue:[ + ^ false + ]. + ^ true +! + showDiskUsageInfoFor:aDirectory as:kiloBytes |kbString| @@ -2271,7 +2292,7 @@ ! startDiskUsageInfoProcessFor:selectedFile - |directory diskUsageRememberTime dirPath infoForDirectory infoTimestamp infoValue| + |directory dirPath infoForDirectory infoValue| self showDiskUsageHolder value ifFalse:[^ self]. @@ -2285,19 +2306,14 @@ directory := selectedFile directory ]. - diskUsageRememberTime := 30. - dirPath := directory pathName. diskUsageInfo isNil ifTrue:[ diskUsageInfo := Dictionary new. ]. infoForDirectory := diskUsageInfo at:dirPath ifAbsent:nil. infoForDirectory notNil ifTrue:[ - infoTimestamp := infoForDirectory key. - infoValue := infoForDirectory value. - - (AbsoluteTime now - infoTimestamp) > diskUsageRememberTime ifTrue:[ - infoValue := nil. + (self isDiskUsageInfoStillValid:infoForDirectory) ifTrue:[ + infoValue := infoForDirectory value. ]. ]. @@ -2847,5 +2863,5 @@ !DirectoryContentsBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.77 2003-02-13 12:11:55 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.78 2003-02-13 16:13:28 cg Exp $' ! !