--- a/DirectoryView.st Wed Jul 26 14:44:13 2000 +0200
+++ b/DirectoryView.st Thu Jul 27 17:26:05 2000 +0200
@@ -11,6 +11,8 @@
"
+"{ Package: 'stx:libtool2' }"
+
ApplicationModel subclass:#DirectoryView
instanceVariableNames:'directory selectedFileFilter readTask monitoring
monitoringTimeBlock fileDoubleClickAction fileSelectAction
@@ -23,7 +25,7 @@
Object subclass:#FileRow
instanceVariableNames:'fileName size modified iconKey imageFromFile group owner
permissions baseName'
- classVariableNames:''
+ classVariableNames:'MaxImageFileSize'
poolDictionaries:''
privateIn:DirectoryView
!
@@ -849,24 +851,20 @@
!
retrieveImageFromFileAndRegisterOn: aGC
+ "retrieve a bitmap image - but only if it is smaller than some limit (currently 20k)"
- |image|
+ |image maxImageFileSize|
+
+ maxImageFileSize := MaxImageFileSize ? 20000.
+
imageFromFile := false.
(image := aGC registeredImageAt: fileName name asSymbol) isNil
- ifTrue:
- [
- size < 5000
- ifTrue:
- [
+ ifTrue:[
+ size < maxImageFileSize ifTrue:[
Object errorSignal handle: [:ex|]
- do:
- [
- (image := Image fromFile: fileName name) notNil
- ifTrue:
- [
- image extent y > 22
- ifTrue:
- [
+ do:[
+ (image := Image fromFile: fileName name) notNil ifTrue:[
+ image extent y > 22 ifTrue:[
image := image magnifiedBy: 22/image extent y
].
image := aGC registerImage: image key: fileName name asSymbol.