AbstractFileBrowser.st
changeset 6373 16fb0a500e0d
parent 6371 b5dab61da244
child 6374 f9bed8385350
equal deleted inserted replaced
6372:d59bab947578 6373:16fb0a500e0d
  3390         copy result ifFalse:[
  3390         copy result ifFalse:[
  3391             self notify:copy errorString.
  3391             self notify:copy errorString.
  3392         ].
  3392         ].
  3393         self updateCurrentDirectory.
  3393         self updateCurrentDirectory.
  3394     ].
  3394     ].
  3395     ^ copy colOfCopiedFiles
  3395     ^ copy collectionOfCopiedFiles
  3396 !
  3396 !
  3397 
  3397 
  3398 copyOrMoveDialog:aCollectionOfFiles for:aDestinationDirectory
  3398 copyOrMoveDialog:aCollectionOfFiles for:aDestinationDirectory
  3399     |size stream msg answer file|
  3399     |size stream msg answer file|
  3400 
  3400 
  3512     LastMoveDestination := destination.
  3512     LastMoveDestination := destination.
  3513     self copyFiles:selectedFiles to:destination
  3513     self copyFiles:selectedFiles to:destination
  3514 !
  3514 !
  3515 
  3515 
  3516 deleteFile:aFile
  3516 deleteFile:aFile
  3517     "delete current selected files/directories
  3517     "delete the selected files/directories"
  3518     "
       
  3519 
  3518 
  3520     ^ self deleteFiles:(OrderedCollection with:aFile).
  3519     ^ self deleteFiles:(OrderedCollection with:aFile).
  3521 !
  3520 !
  3522 
  3521 
  3523 deleteFiles:colOfFiles
  3522 deleteFiles:colOfFiles
  3524     "delete current selected files/directories
  3523     "delete some files/directories"
  3525     "
  3524 
  3526     ^ self deleteFiles:colOfFiles confirm:true.
  3525     ^ self deleteFiles:colOfFiles confirm:true.
  3527 !
  3526 !
  3528 
  3527 
  3529 deleteFiles:colOfFiles confirm:confirm
  3528 deleteFiles:colOfFiles confirm:confirm
  3530     "delete current selected files/directories
  3529     "delete some files/directories"
  3531     "
  3530 
  3532     |delete result|
  3531     |delete result|
  3533 
  3532 
  3534     self windowGroup withWaitCursorDo:[
  3533     self windowGroup withWaitCursorDo:[
  3535         delete := FileOperation deleteFiles:colOfFiles confirm:confirm.
  3534         delete := FileOperation deleteFiles:colOfFiles confirm:confirm.
  3536         result := delete result.
  3535         result := delete result.
  3544     ].
  3543     ].
  3545     ^ result.
  3544     ^ result.
  3546 !
  3545 !
  3547 
  3546 
  3548 eraseFiles:colOfFiles
  3547 eraseFiles:colOfFiles
  3549     "delete current selected files/directories
  3548     "erase (clear and delete) some files/directories"
  3550     "
  3549 
  3551     ^ self eraseFiles:colOfFiles confirm:true.
  3550     ^ self eraseFiles:colOfFiles confirm:true.
  3552 !
  3551 !
  3553 
  3552 
  3554 eraseFiles:colOfFiles confirm:confirm
  3553 eraseFiles:colOfFiles confirm:confirm
  3555     "erase current selected files/directories
  3554     "erase (clear and delete) some files/directories"
  3556     "
  3555 
  3557     |delete result|
  3556     |delete result|
  3558 
  3557 
  3559     self windowGroup withWaitCursorDo:[
  3558     self windowGroup withWaitCursorDo:[
  3560         delete := FileOperation eraseFiles:colOfFiles confirm:confirm.
  3559         delete := FileOperation eraseFiles:colOfFiles confirm:confirm.
  3561         result := delete result.
  3560         result := delete result.
  3569     ].
  3568     ].
  3570     ^ result.
  3569     ^ result.
  3571 !
  3570 !
  3572 
  3571 
  3573 moveFile:aSourceFile to:aDestFile
  3572 moveFile:aSourceFile to:aDestFile
  3574     "defete current selected files/directories"
  3573     "move a file/directory"
  3575 
  3574 
  3576     |move|
  3575     |move|
  3577 
  3576 
  3578     move := FileOperation moveFile:aSourceFile to:aDestFile.
  3577     move := FileOperation moveFile:aSourceFile to:aDestFile.
  3579     move result ifTrue:[
  3578     move result ifTrue:[
  3584     self updateCurrentDirectory.
  3583     self updateCurrentDirectory.
  3585     ^ move result
  3584     ^ move result
  3586 !
  3585 !
  3587 
  3586 
  3588 moveFiles:aColOfSourceFiles to:aDirectory 
  3587 moveFiles:aColOfSourceFiles to:aDirectory 
  3589    "move aColOfSourceFiles to aDirectory
  3588    "move some files to aDirectory"
  3590    "
  3589 
  3591     |move|
  3590     |move|
  3592 
  3591 
  3593     self windowGroup withWaitCursorDo:[
  3592     self windowGroup withWaitCursorDo:[
  3594         move := FileOperation moveFiles:aColOfSourceFiles to:aDirectory.
  3593         move := FileOperation moveFiles:aColOfSourceFiles to:aDirectory.
  3595         move result ifFalse:[
  3594         move result ifFalse:[
  3596             self notify:move errorString.
  3595             self notify:move errorString.
  3597         ].
  3596         ].
  3598         self updateCurrentDirectory.
  3597         self updateCurrentDirectory.
  3599     ].
  3598     ].
  3600     ^ move colOfMovedFiles
  3599     ^ move collectionOfMovedFiles
  3601 !
  3600 !
  3602 
  3601 
  3603 moveSelectionTo
  3602 moveSelectionTo
  3604     "move the selected file(s) to another directory"
  3603     "move the selected file(s) to another directory"
  3605 
  3604 
  3683 
  3682 
  3684     self newLink:#hard.
  3683     self newLink:#hard.
  3685 !
  3684 !
  3686 
  3685 
  3687 newLink:typeOfLink
  3686 newLink:typeOfLink
  3688 
       
  3689     "ask for and create a symbolic if symbolic is true otherwise a hard link (unix only)"
  3687     "ask for and create a symbolic if symbolic is true otherwise a hard link (unix only)"
  3690 
  3688 
  3691     | sel dir create createdFile|
  3689     | sel dir create createdFile|
  3692 
  3690 
  3693     sel := self currentFileNameHolder value.
  3691     sel := self currentFileNameHolder value.
  3714 
  3712 
  3715     self newLink:#soft.
  3713     self newLink:#soft.
  3716 !
  3714 !
  3717 
  3715 
  3718 pasteFiles
  3716 pasteFiles
  3719     "defete current selected files/directories
  3717     "paste from clipBoard"
  3720     "
  3718 
  3721     | buffer destination files directories copiedFiles|
  3719     |buffer destination files directories copiedFiles thisIsAFileMoveOperation|
  3722 
  3720 
  3723     files := self clipboard files.
  3721     files := self clipboard files.
  3724     (files isNil or:[files isEmpty]) ifTrue:[ ^ self ].
  3722     (files isNil or:[files isEmpty]) ifTrue:[ ^ self ].
       
  3723 
       
  3724     thisIsAFileMoveOperation := self clipboard method == #cut.
       
  3725 
  3725     buffer := self clipboard copy.
  3726     buffer := self clipboard copy.
  3726     directories := self currentSelectedDirectories.
  3727     directories := self currentSelectedDirectories.
  3727     directories size ~~ 1 ifTrue:[
  3728     directories size ~~ 1 ifTrue:[
  3728         |box dirStringCol|
  3729         |box dirStringCol|
  3729 
  3730 
  3730         dirStringCol := directories collect:[:aDir| aDir asString].
  3731         dirStringCol := directories collect:[:aDir| aDir asString].
  3731         box := ListSelectionBox new.
  3732         box := ListSelectionBox new.
  3732         box title:'In which directory you want to paste ?'.
  3733         box title:'Paste into which directory ?'.
  3733         box list:dirStringCol.
  3734         box list:dirStringCol.
  3734         box okAction:[:sel | destination := sel asFilename].
  3735         box okAction:[:sel | destination := sel asFilename].
  3735         box show.
  3736         box show.
  3736         box destroy.
  3737         box destroy.
  3737     ] ifFalse:[
  3738     ] ifFalse:[
  3738         destination := directories anElement.
  3739         destination := directories anElement.
  3739     ].
  3740     ].
  3740     (self clipboard method == #cut) ifTrue:[
  3741 
       
  3742     thisIsAFileMoveOperation ifTrue:[
  3741         buffer files copy do:[:aFile|
  3743         buffer files copy do:[:aFile|
  3742             aFile directory = destination ifTrue:[
  3744             aFile directory = destination ifTrue:[
  3743                 buffer files remove:aFile.
  3745                 buffer files remove:aFile.
  3744             ].
  3746             ].
  3745         ].
  3747         ].
  3746     ].
  3748     ].
  3747     copiedFiles := self copyFiles:(buffer files) to:destination.
  3749     copiedFiles := self copyFiles:(buffer files) to:destination.
  3748     (self clipboard method == #cut) ifTrue:[
  3750     thisIsAFileMoveOperation ifTrue:[
  3749         self deleteFiles:copiedFiles confirm:false.
  3751         self deleteFiles:copiedFiles confirm:false.
  3750     ]. 
  3752     ]. 
       
  3753     "/ select those pasted files.
       
  3754 self halt.
       
  3755     self currentFileNameHolder value:buffer files.
  3751 !
  3756 !
  3752 
  3757 
  3753 renameFile:aFile 
  3758 renameFile:aFile 
  3754     "rename the selected file(s)"
  3759     "rename the selected file(s)"
  3755 
  3760 
  3771     ].
  3776     ].
  3772     ^ rename result
  3777     ^ rename result
  3773 !
  3778 !
  3774 
  3779 
  3775 renameFiles:aColOfFiles 
  3780 renameFiles:aColOfFiles 
  3776     "rename the selected file(s)"
  3781     "rename some file(s)"
  3777 
  3782 
  3778     |rename|
  3783     |rename|
  3779 
  3784 
  3780     rename := FileOperation renameFiles:aColOfFiles.
  3785     rename := FileOperation renameFiles:aColOfFiles.
  3781     rename result ifFalse:[
  3786     rename result ifFalse:[
  6792 ! !
  6797 ! !
  6793 
  6798 
  6794 !AbstractFileBrowser class methodsFor:'documentation'!
  6799 !AbstractFileBrowser class methodsFor:'documentation'!
  6795 
  6800 
  6796 version
  6801 version
  6797     ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.303 2005-08-02 15:34:26 cg Exp $'
  6802     ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.304 2005-08-05 09:34:33 cg Exp $'
  6798 ! !
  6803 ! !