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/IDEEditorsPreferencePage.java
return true;
        } catch (UnsupportedEncodingException e) {
            return false;
        }
    }
    private void updateEncodingState(boolean useDefault) {
        defaultEncodingButton.setSelection(useDefault);
        otherEncodingButton.setSelection(!useDefault);
        encodingCombo.setEnabled(!useDefault);
        updateValidState();
    }
    /**
     * The default button has been pressed. 
     */
    protected void performDefaults() {
        
        clearUserSettings = true;
        
        List encodings = WorkbenchEncoding.getDefinedEncodings();
        Collections.sort(encodings);
        
        populateEncodingsCombo(encodings,null);
        updateEncodingState(true);
        
        super.performDefaults();
    }
    /* (non-Javadoc)
     * @see org.eclipse.ui.internal.dialogs.FileEditorsPreferencePage#performOk()
     */
    public boolean performOk() {