checkin from browser
authortz
Mon, 08 Dec 1997 22:35:24 +0100
changeset 388 45cf0af38948
parent 387 8fa6afe1b929
child 389 08df40b56d3b
checkin from browser
FileSelectionBrowser.st
ResourceSelectionBrowser.st
--- a/FileSelectionBrowser.st	Mon Dec 08 18:55:19 1997 +0100
+++ b/FileSelectionBrowser.st	Mon Dec 08 22:35:24 1997 +0100
@@ -6,7 +6,7 @@
 !
 
 Object subclass:#Row
-	instanceVariableNames:'fileName size iconKey group owner permissions baseName'
+	instanceVariableNames:'fileName size modified iconKey group owner permissions baseName'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:FileSelectionBrowser
@@ -27,12 +27,26 @@
         fileName: aFileName;
         listOfFileFilters: fileFilters;
         open
+!
+
+title: aTitle requestFileName: aFileName fileFilters: fileFilters
+
+    ^self new
+        title: aTitle;
+        fileName: aFileName;
+        listOfFileFilters: fileFilters;
+        open
 ! !
 
 !FileSelectionBrowser class methodsFor:'accessing'!
 
-lastFileSelectionDirectory
-    "^ LastFileSelectionDirectory"
+loadImageFileNameFilters
+    ^self saveImageFileNameFilters addAll: #('*.jpeg' '*.jpg'); yourself
+
+!
+
+saveImageFileNameFilters
+    ^Array withAll: #('*.xpm' '*.xbm' '*.gif' '*.tif' '*.tiff')
 
 ! !
 
@@ -58,11 +72,11 @@
           #'window:' 
            #(#WindowSpec
               #'name:' 'File Selection Browser'
-              #'layout:' #(#LayoutFrame 410 0 282 0 809 0 581 0)
+              #'layout:' #(#LayoutFrame 301 0 222 0 700 0 521 0)
               #'label:' 'File Selection Browser'
               #'min:' #(#Point 10 10)
               #'max:' #(#Point 1152 900)
-              #'bounds:' #(#Rectangle 410 282 810 582)
+              #'bounds:' #(#Rectangle 301 222 701 522)
               #'usePreferredExtent:' false
           )
           #'component:' 
@@ -145,6 +159,10 @@
                                                         #'canSelect:' false
                                                     )
                                                      #(#DataSetColumnSpec
+                                                        #'label:' 'modified'
+                                                        #'model:' #modified
+                                                    )
+                                                     #(#DataSetColumnSpec
                                                         #'label:' 'permissions'
                                                         #'width:' 85
                                                         #'model:' #permissions
@@ -199,13 +217,13 @@
                          #(
                            #(#ActionButtonSpec
                               #'name:' 'cancelButton'
-                              #'label:' 'cancel'
+                              #'label:' 'Cancel'
                               #'model:' #cancel
                               #'extent:' #(#Point 100 22)
                           )
                            #(#ActionButtonSpec
                               #'name:' 'okButton'
-                              #'label:' 'ok'
+                              #'label:' 'OK'
                               #'model:' #accept
                               #'extent:' #(#Point 100 22)
                           )
@@ -301,14 +319,14 @@
         list addAll:lst beforeIndex:1].
         self selectionOfFile value: (self listOfFiles detect: [:r| r fileName = fileName] ifNone: [nil]).
         self setLabel.
-    ] forkAt: 4
+    ] forkAt: Processor userBackgroundPriority
 ! !
 
 !FileSelectionBrowser methodsFor:'aspects'!
 
 listOfFileFilters
+
     |holder|
-
     (holder := builder bindingAt:#listOfFileFilters) isNil ifTrue:[
         builder aspectAt:#listOfFileFilters put:(holder :=  List with: '*.*').
     ].
@@ -332,7 +350,6 @@
 rootOfDirectory
 
     |holder|
-
     (holder := builder bindingAt:#rootOfDirectory) isNil ifTrue:[
         builder aspectAt:#rootOfDirectory put: (holder :=  ValueHolder with: Filename rootDirectory name).
     ].
@@ -361,8 +378,8 @@
 !
 
 selectionOfFileFilter
+
     |holder|
-
     (holder := builder bindingAt:#selectionOfFileFilter) isNil ifTrue:[
         builder aspectAt:#selectionOfFileFilter put:
         (holder := AspectAdaptor new subject:self; forAspect:#selectedFileFilter).
@@ -401,7 +418,7 @@
     (fileName notNil and: [fileName asFilename exists])
     ifTrue:
     [
-        self class lastSelection: fileName asFilename directoryName.
+        self class lastSelection: fileName asFilename asAbsoluteFilename directoryName.
         self valueOfFileName value: fileName asFilename baseName
     ].
     (builder componentAt: #directoryTreeView) selectPathname: self class lastSelection.
@@ -421,8 +438,13 @@
 selectedFileFilter: aString
 
     selectedFileFilter := aString.
+    self valueOfFileName value: (fileName :=
+        ((self valueOfFileName value ? 'unknown') readStream upTo: $.), '.',
+        (selectedFileFilter reversed readStream upTo: $.) reversed). 
 
-    self readDirectory
+    self readDirectory.
+
+
 ! !
 
 !FileSelectionBrowser::Row methodsFor:'accessing'!
@@ -480,6 +502,11 @@
 
 !
 
+modified
+    ^ modified
+
+!
+
 owner
     owner isNil ifTrue:[
         self validateAttributes
@@ -540,9 +567,10 @@
         iconKey := #fileLocked.
         size    := owner := group := '?'.
       ^ self
-    ].
+    ].        
     size   := info size.
-    owner  := OperatingSystem  getUserNameFromID:(info uid).
+    modified := info modified printString.
+    owner  := OperatingSystem getUserNameFromID:(info uid).
     group  := OperatingSystem getGroupNameFromID:(info gid).
     mode   := info mode.
 
--- a/ResourceSelectionBrowser.st	Mon Dec 08 18:55:19 1997 +0100
+++ b/ResourceSelectionBrowser.st	Mon Dec 08 22:35:24 1997 +0100
@@ -135,13 +135,13 @@
                          #(
                            #(#ActionButtonSpec
                               #'name:' 'actionButton2'
-                              #'label:' 'cancel'
+                              #'label:' 'Cancel'
                               #'model:' #cancel
                               #'extent:' #(#Point 99 22)
                           )
                            #(#ActionButtonSpec
                               #'name:' 'actionButton1'
-                              #'label:' 'ok'
+                              #'label:' 'OK'
                               #'model:' #accept
                               #'extent:' #(#Point 99 22)
                           )