AbstractFileBrowser.st
changeset 4060 efb0431e606d
parent 4050 d63d33ad9c41
child 4071 f923c8257818
equal deleted inserted replaced
4059:47065a1ef813 4060:efb0431e606d
  3457 !
  3457 !
  3458 
  3458 
  3459 openDiffView
  3459 openDiffView
  3460     "open a diff-view"
  3460     "open a diff-view"
  3461 
  3461 
  3462     | name1 name2 text1 text2 f d err nm l1 files title|
  3462     | name1 name2 text1 text2 f d err nm l1 files title defaultName|
  3463 
  3463 
  3464     files := self currentSelectedFiles.
  3464     files := self currentSelectedFiles.
  3465     files isEmpty ifTrue:[
  3465     files isEmpty ifTrue:[
  3466         Dialog warn:'you have to select a file first'.
  3466         Dialog warn:'you have to select a file first'.
  3467         ^ self.
  3467         ^ self.
  3476             and:[LastFileDiffFile isReadable]) ifTrue:[
  3476             and:[LastFileDiffFile isReadable]) ifTrue:[
  3477                 name1 := f.
  3477                 name1 := f.
  3478             ]
  3478             ]
  3479         ].
  3479         ].
  3480         name2 := files first.
  3480         name2 := files first.
  3481         title := 'show difference between ', name2 baseName.
  3481         title := 'show difference between ', name2 baseName, ' and:'.
  3482         name1 := FileSelectionBox requestFileName:title default:(name1 baseName) fromDirectory:(name2 asFilename pathName).
  3482         defaultName := name1 notNil ifTrue:[name1 baseName] ifFalse:[nil].
       
  3483         name1 := DialogBox 
       
  3484                     requestFileName:title 
       
  3485                     default:defaultName 
       
  3486                     ok:'OK' 
       
  3487                     abort:'Use File List' 
       
  3488                     pattern:'*' 
       
  3489                     fromDirectory:(name2 asFilename directory).
       
  3490 
       
  3491 
       
  3492 
  3483     ].
  3493     ].
  3484 
  3494 
  3485     (name1 isNil or:[name1 asString isEmpty]) ifTrue:[
  3495     (name1 isNil or:[name1 asString isEmpty]) ifTrue:[
  3486         text1 := self getAllFilesAsStringCollection asStringCollection withTabs.
  3496         text1 := self getAllFilesAsStringCollection asStringCollection withTabs.
  3487         text1 := text1 collect:[:l | l isNil ifTrue:[' '] ifFalse:[l]].
  3497         text1 := text1 collect:[:l | l isNil ifTrue:[' '] ifFalse:[l]].
  3488         name1 := nil.
  3498         name1 := nil.
  3489         l1 := 'browser contents'
  3499         l1 := 'browser contents'
  3490     ] ifFalse:[
  3500     ] ifFalse:[
       
  3501         name1 := name1 asFilename.
  3491         LastFileDiffFile := name1.
  3502         LastFileDiffFile := name1.
  3492         name1 isReadable ifFalse:[
  3503         name1 asFilename isReadable ifFalse:[
  3493             nm := name1.
  3504             nm := name1.
  3494             name1 exists ifFalse:[
  3505             name1 asFilename exists ifFalse:[
  3495                 err := '%1 does not exist'.
  3506                 err := '%1 does not exist'.
  3496             ] ifTrue:[
  3507             ] ifTrue:[
  3497                 err := '%1 is not readable'
  3508                 err := '%1 is not readable'
  3498             ].
  3509             ].
  3499         ].
  3510         ].
  3500         l1 := name1 pathName
  3511         l1 := name1
  3501     ].
  3512     ].
  3502 
  3513 
  3503     err isNil ifTrue:[
  3514     err isNil ifTrue:[
  3504         name2 isReadable ifFalse:[
  3515         name2 isReadable ifFalse:[
  3505             nm := name2.
  3516             nm := name2.
  3524             self information:'same contents'
  3535             self information:'same contents'
  3525         ] ifFalse:[
  3536         ] ifFalse:[
  3526             d := DiffTextView 
  3537             d := DiffTextView 
  3527                     openOn:text1 label:l1
  3538                     openOn:text1 label:l1
  3528                     and:text2 label:name2 pathName.
  3539                     and:text2 label:name2 pathName.
  3529             d label:'file differences'.
  3540             d topView label:'file differences'.
  3530         ]
  3541         ]
  3531     ]
  3542     ]
  3532 !
  3543 !
  3533 
  3544 
  3534 openEditor
  3545 openEditor
  4863 ! !
  4874 ! !
  4864 
  4875 
  4865 !AbstractFileBrowser class methodsFor:'documentation'!
  4876 !AbstractFileBrowser class methodsFor:'documentation'!
  4866 
  4877 
  4867 version
  4878 version
  4868     ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.31 2002-10-25 09:10:58 penk Exp $'
  4879     ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.32 2002-10-25 12:02:22 penk Exp $'
  4869 ! !
  4880 ! !