Bug 56957 [Encoding] Reusable EncodingFieldEditor
I have added the ability to set an encoding for a repository so that commit messages and file names can be properly translated between a client and server whose encodings differ. I have extracted much of the code from IDEEditorsPreferencePage into an EncodingFieldEditor class so I could us it. I was planning on providing a patch to the UI with the hope that this class could be API but there is a roadblock that prevents this. Basically, the encoding preference is in a org.eclipse.core.Preferences node but a field editor requires an IPreferenceStore. There are already two adapters for this is the platform but one is a private inner class of AbstractUIPlugin and the other lives in the text plugin. Instead of creating a patch, I'm just attaching the EncodingFieldEditor class for future consideration.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
}
	/**
	 * Get the string that identifies the type of this resource.
	 */
	private String getTypeString(IResource resource) {
		if (resource.getType() == IResource.FILE) {
			if (resource.isLinked())
				return LINKED_FILE_LABEL;
			if (resource instanceof IFile) {
				String contentType = getContentTypeString((IFile) resource);
				if (contentType != null)
					return MessageFormat.format(FILE_TYPE_FORMAT,
							new String[] { contentType });
			}
			return FILE_LABEL;
		}
		if (resource.getType() == IResource.FOLDER) {
			if (resource.isLinked())
				return LINKED_FOLDER_LABEL;
			return FOLDER_LABEL;
		}
		if (resource.getType() == IResource.PROJECT)
			return PROJECT_LABEL;
		
		return UNKNOWN_LABEL;
	}
	/**
	 * Returns whether the given resource is a linked resource bound to a path
	 * variable.
	 *