ShellView.st
changeset 782 62f2cd2978d5
parent 762 ba7c3153f9d1
child 874 ab93fcd829c5
equal deleted inserted replaced
781:d1f4401ae467 782:62f2cd2978d5
   136     ^directory ? (directory := Filename currentDirectory asAbsoluteFilename name) 
   136     ^directory ? (directory := Filename currentDirectory asAbsoluteFilename name) 
   137 !
   137 !
   138 
   138 
   139 directory: aDirectory
   139 directory: aDirectory
   140 
   140 
   141     directory := aDirectory asFilename asAbsoluteFilename name
   141     |dir|
       
   142     (directory ~= (dir := aDirectory asFilename asAbsoluteFilename name))
       
   143     ifTrue:
       
   144     [
       
   145         directory := dir.
       
   146         self listOfShellOutput
       
   147                 at: self listOfShellOutput size
       
   148                 put: self getDirectoryTextString
       
   149     ]
   142 !
   150 !
   143 
   151 
   144 numberOfMaxLines
   152 numberOfMaxLines
   145 
   153 
   146     ^numberOfMaxLines ? (numberOfMaxLines := 500)
   154     ^numberOfMaxLines ? (numberOfMaxLines := 500)
   286 
   294 
   287 listDoubleClicked: anLineIndex
   295 listDoubleClicked: anLineIndex
   288 
   296 
   289     |stream streamAtLine possibleFileName selectedFileName fileFound|
   297     |stream streamAtLine possibleFileName selectedFileName fileFound|
   290     possibleFileName := ''.
   298     possibleFileName := ''.
   291     stream := (self listOfShellOutput at: anLineIndex) readStream.
   299     stream := (self listOfShellOutput at: anLineIndex) string readStream.
   292     fileFound := false.
   300     fileFound := false.
   293     [stream atEnd | fileFound]
   301     [stream atEnd | fileFound]
   294     whileFalse: 
   302     whileFalse: 
   295     [      
   303     [                
   296         possibleFileName := possibleFileName, stream next.
   304         possibleFileName := possibleFileName, stream next.
   297         (("((selectedFileName := possibleFileName) asFilename exists) or:"
   305         (("((selectedFileName := possibleFileName) asFilename exists) or:"
   298         (selectedFileName := directory, Filename separator, possibleFileName) asFilename exists)
   306         (selectedFileName := directory, Filename separator, possibleFileName) asFilename exists)
   299          and: [selectedFileName asFilename isDirectory not])
   307          and: [selectedFileName asFilename isDirectory not])
   300         ifTrue:
   308         ifTrue:
   301         [   
   309         [   
   302             |possibleLineIndex listSize lineNumber|
   310             |possibleLineIndex listSize lineNumber|   
   303             fileFound := true.  
   311             fileFound := true.  
   304             self openFile: selectedFileName.
   312             self openFile: selectedFileName.
   305             [stream atEnd | lineNumber notNil]
   313             [stream atEnd | lineNumber notNil]
   306             whileFalse: 
   314             whileFalse: 
   307             [
   315             [            
   308                 lineNumber := Integer readFrom: stream nextAlphaNumericWord onError: nil.
   316                 lineNumber := Integer readFrom: stream nextAlphaNumericWord onError: nil.
   309             ].
   317             ].
   310             lineNumber := lineNumber ? 1.
   318             lineNumber := lineNumber ? 1.
   311             listSize := self fileContentsView list size.
   319             listSize := self fileContentsView list size.
   312             (lineNumber between: 1 and: listSize)
   320             (lineNumber between: 1 and: listSize)