Ticket #2361: write-permissions.patch

File write-permissions.patch, 1.6 KB (added by deni, 15 years ago)
  • src/main/java/org/sophie2/main/func/file/dialogs/FileDialog.java

    ### Eclipse Workspace Patch 1.0
    #P org.sophie2.main.func.file
     
    8484                        case JFileChooser.APPROVE_OPTION: 
    8585                                File files[] = input.isMultiSelectEnabled() ? this.fileChooser.getSelectedFiles() 
    8686                                                : new File[] { this.fileChooser.getSelectedFile() }; 
    87                                 FileDialogInput.FileContainer fileContainer = peformFileCheck(input, files); 
     87                                FileDialogInput.FileContainer fileContainer = performFileCheck(input, files); 
    8888 
    8989                                if (fileContainer != null) { 
    9090                                        return fileContainer; 
     
    104104                return input.getFileAccessory().getData(); 
    105105        } 
    106106         
    107         private final FileDialogInput.FileContainer peformFileCheck(FileDialogInput input, File[] files) { 
     107        private final FileDialogInput.FileContainer performFileCheck(FileDialogInput input, File[] files) { 
    108108                FileDialogInput.Kind inputKind = input.getKind(); 
    109109 
    110110                if (inputKind.equals(FileDialogInput.Kind.SAVE)) { 
    111111                        assert input.isMultiSelectEnabled() == false : "Cannot save in multiple resouces!"; 
     112                        if (!files[0].getParentFile().canWrite()) { 
     113                                DialogUtils.showErrorDialog(this.fileChooser.getParent(), 
     114                                                "You don't have permissions to write in this directory.",  
     115                                                "Permission denied"); 
     116                                return null; 
     117                        } 
     118                         
    112119                        if (files[0].exists()) { 
    113120                                ConfirmDialogInput confirmInput = new ConfirmDialogInput(this.fileChooser 
    114121                                                .getParent(),