diff options
author | Dani Megert | 2008-04-29 14:50:28 +0000 |
---|---|---|
committer | Dani Megert | 2008-04-29 14:50:28 +0000 |
commit | 8685ad38cc91af69ca8b33a2a6bd6542b3f99274 (patch) | |
tree | fa0ea7dfb2072ce8ebf258aa5d6350f5c0e19c72 /org.eclipse.ui.editors | |
parent | c44e58548532bebfc21ac710c764f24fbf0d0d6b (diff) | |
download | eclipse.platform.text-8685ad38cc91af69ca8b33a2a6bd6542b3f99274.tar.gz eclipse.platform.text-8685ad38cc91af69ca8b33a2a6bd6542b3f99274.tar.xz eclipse.platform.text-8685ad38cc91af69ca8b33a2a6bd6542b3f99274.zip |
Fixed bug 139673: [misc] Improve 'Convert Line Delimiters To' for unknown content types
Diffstat (limited to 'org.eclipse.ui.editors')
-rw-r--r-- | org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/ConvertLineDelimitersAction.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/ConvertLineDelimitersAction.java b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/ConvertLineDelimitersAction.java index c73ee56a8a0..852b621490c 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/ConvertLineDelimitersAction.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/ConvertLineDelimitersAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -23,8 +23,12 @@ import org.eclipse.core.filebuffers.ITextFileBufferManager; import org.eclipse.core.filebuffers.manipulation.ConvertLineDelimitersOperation; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.window.Window; +import org.eclipse.jface.text.ITextSelection; + import org.eclipse.ui.editors.text.FileBufferOperationAction; import org.eclipse.ui.internal.editors.text.SelectResourcesDialog.IFilter; @@ -39,6 +43,7 @@ import org.eclipse.ui.internal.editors.text.SelectResourcesDialog.IFilter; public class ConvertLineDelimitersAction extends FileBufferOperationAction { private String fLabel; + private boolean fStrictCheckIfTextLocation; protected ConvertLineDelimitersAction(String lineDelimiter, String label) { super(new ConvertLineDelimitersOperation(lineDelimiter)); @@ -57,13 +62,19 @@ public class ConvertLineDelimitersAction extends FileBufferOperationAction { */ protected boolean isAcceptableLocation(IPath location) { ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager(); - return location != null && manager.isTextFileLocation(location, true); + return location != null && manager.isTextFileLocation(location, fStrictCheckIfTextLocation); + } + + public void selectionChanged(IAction action, ISelection selection) { + super.selectionChanged(action, selection); + fStrictCheckIfTextLocation= !(selection instanceof ITextSelection); } /* * @see org.eclipse.ui.internal.editors.text.FileBufferOperationAction#collectFiles(org.eclipse.core.resources.IResource[]) */ - protected IFile[] collectFiles(IResource[] resources) { + protected IFile[] collectFiles(final IResource[] resources) { + fStrictCheckIfTextLocation= fStrictCheckIfTextLocation || resources.length != 1 || resources[0].getType() != IResource.FILE; IFile[] files= super.collectFiles(resources); files= filterUnacceptableFiles(files); if (containsOnlyFiles(resources)) |