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. |
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 |
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 |