DirectoryView.st
changeset 3491 c1333ee85336
parent 3366 70c6139984a6
child 3556 5513f508bcf2
equal deleted inserted replaced
3490:e3b6106384a8 3491:c1333ee85336
   938 
   938 
   939     ^group
   939     ^group
   940 !
   940 !
   941 
   941 
   942 iconOn:aGC
   942 iconOn:aGC
   943 
       
   944     |icon|
   943     |icon|
   945     iconKey isNil 
   944     
   946     ifTrue: 
   945     iconKey isNil ifTrue: [
   947     [
       
   948         self validateAttributes.
   946         self validateAttributes.
   949         (imageFromFile isNil and: [iconKey == #imageFileIcon])
   947         (imageFromFile isNil and: [iconKey == #imageFileIcon]) ifTrue:  [
   950             ifTrue:  [icon := self retrieveImageFromFileAndRegisterOn: aGC]
   948             icon := self retrieveImageFromFileAndRegisterOn: aGC
   951     ].
   949         ]
   952     imageFromFile == true
   950     ].
   953         ifFalse: [icon := aGC registerImage: (self class perform: iconKey) key: iconKey]
   951     imageFromFile == true ifFalse: [
   954         ifTrue:  [icon := aGC registeredImageAt: iconKey].
   952         icon := aGC registerImage: (self class perform: iconKey) key: iconKey
   955     ^icon
   953     ] ifTrue:  [
   956 
   954         icon := aGC registeredImageAt: iconKey
   957     "Modified: / 18.2.1998 / 18:01:52 / cg"
   955     ].
       
   956     ^ icon
       
   957 
       
   958     "Modified: / 18-02-1998 / 18:01:52 / cg"
       
   959     "Modified (format): / 13-09-2017 / 09:57:53 / cg"
   958 !
   960 !
   959 
   961 
   960 modified
   962 modified
   961 
   963 
   962     ^modified
   964     ^modified
   978     |image maxImageFileSize|
   980     |image maxImageFileSize|
   979 
   981 
   980     maxImageFileSize := MaxImageFileSize ? 20000.
   982     maxImageFileSize := MaxImageFileSize ? 20000.
   981 
   983 
   982     imageFromFile := false.       
   984     imageFromFile := false.       
   983     (image := aGC registeredImageAt: fileName name asSymbol) isNil
   985     (image := aGC registeredImageAt: fileName name asSymbol) isNil ifTrue:[            
   984     ifTrue:[            
       
   985         size < maxImageFileSize ifTrue:[     
   986         size < maxImageFileSize ifTrue:[     
   986             Error handle: [:ex|]
   987             Error handle: [:ex|]
   987             do:[   
   988             do:[   
   988                 (image := Image fromFile: fileName name) notNil ifTrue:[
   989                 (image := Image fromFile: fileName name) notNil ifTrue:[
   989                     image extent y > 22 ifTrue:[         
   990                     image extent y > 22 ifTrue:[         
   994             ] 
   995             ] 
   995         ].
   996         ].
   996     ].
   997     ].
   997     image notNil ifTrue: [imageFromFile := true. iconKey := fileName name asSymbol].
   998     image notNil ifTrue: [imageFromFile := true. iconKey := fileName name asSymbol].
   998     ^image
   999     ^image
       
  1000 
       
  1001     "Modified (format): / 13-09-2017 / 09:58:19 / cg"
   999 !
  1002 !
  1000 
  1003 
  1001 size
  1004 size
       
  1005     size isNil ifTrue:[
       
  1006         self validateAttributes.
       
  1007     ].
       
  1008     
  1002     size isNumber ifFalse:[^ size].
  1009     size isNumber ifFalse:[^ size].
       
  1010 
       
  1011     "/ ^ UnitConverter fileSizeStringFor:size.
       
  1012     
  1003     size < 1000        ifTrue: [^ size printString].
  1013     size < 1000        ifTrue: [^ size printString].
  1004     size < (100*1024)  ifTrue: [^(((size/1024) * 10) asInteger/10) asFloat printString, ' Kb'].
  1014     size < (100*1024)  ifTrue: [^(((size/1024) * 10) asInteger/10) asFloat printString, ' Kb'].
  1005     size < (1000*1024) ifTrue: [^(((size/1024)) asInteger) printString, ' Kb'].
  1015     size < (1000*1024) ifTrue: [^(((size/1024)) asInteger) printString, ' Kb'].
  1006     ^(((size/1048576) * 10) asInteger/10) asFloat printString, ' Mb'
  1016     ^(((size/1048576) * 10) asInteger/10) asFloat printString, ' Mb'
  1007 
  1017 
  1008     "Modified: / 6.2.1998 / 03:38:45 / cg"
  1018     "Modified: / 13-09-2017 / 09:58:42 / cg"
  1009 ! !
  1019 ! !
  1010 
  1020 
  1011 !DirectoryView::FileRow methodsFor:'private'!
  1021 !DirectoryView::FileRow methodsFor:'private'!
  1012 
  1022 
  1013 validateAttributes
  1023 validateAttributes
  1018     (info := fileName info) isNil ifTrue:[
  1028     (info := fileName info) isNil ifTrue:[
  1019         iconKey := #lockedFileIcon.
  1029         iconKey := #lockedFileIcon.
  1020         size    := owner := group := '?'.
  1030         size    := owner := group := '?'.
  1021         ^ self
  1031         ^ self
  1022     ].        
  1032     ].        
  1023     size   := info size.
  1033     size   := info fileSize.
  1024     modified := info modificationTime printString.
  1034     modified := info modificationTime printString.
  1025     owner  := OperatingSystem getUserNameFromID: info uid.
  1035     owner  := OperatingSystem getUserNameFromID: info uid.
  1026     group  := OperatingSystem getGroupNameFromID: info gid.
  1036     group  := OperatingSystem getGroupNameFromID: info gid.
  1027     mode   := info mode.
  1037     mode   := info mode.
  1028 
  1038 
  1054 
  1064 
  1055         fileName isExecutableProgram ifTrue:[
  1065         fileName isExecutableProgram ifTrue:[
  1056             ^ iconKey := #exeFileIcon
  1066             ^ iconKey := #exeFileIcon
  1057         ]
  1067         ]
  1058     ]
  1068     ]
       
  1069 
       
  1070     "Modified: / 13-09-2017 / 10:00:42 / cg"
  1059 ! !
  1071 ! !
  1060 
  1072 
  1061 !DirectoryView class methodsFor:'documentation'!
  1073 !DirectoryView class methodsFor:'documentation'!
  1062 
  1074 
  1063 version
  1075 version