Bug 56459 Pref Page Type Filters [code manipulation]
The buttons are not sized according to the dialog font.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SpellingConfigurationBlock.java
dialog.setText(PreferencesMessages.getString("SpellingPreferencePage.filedialog.title")); 
		dialog.setFilterExtensions(new String[] { PreferencesMessages.getString("SpellingPreferencePage.filter.dictionary.extension"), PreferencesMessages.getString("SpellingPreferencePage.filter.all.extension") }); 
		dialog.setFilterNames(new String[] { PreferencesMessages.getString("SpellingPreferencePage.filter.dictionary.label"), PreferencesMessages.getString("SpellingPreferencePage.filter.all.label") }); 
		final String path= dialog.open();
		if (path != null)
			fDictionaryPath.setText(path);
	}
	/*
	 * @see org.eclipse.jdt.internal.ui.preferences.OptionsConfigurationBlock#setOptions(java.util.Map)
	 */
	protected void setOptions(final Map options) {
		final String[] keys= getAllKeys();
		final IPreferenceStore store= PreferenceConstants.getPreferenceStore();
		for (int index= 0; index < keys.length; index++)
			store.setValue(keys[index], (String)fWorkingValues.get(keys[index]));
	}
	/*
	 * @see org.eclipse.jdt.internal.ui.preferences.OptionsConfigurationBlock#validateSettings(java.lang.String,java.lang.String)
	 */
	protected void validateSettings(final String key, final String value) {
		if (key == null || PREF_SPELLING_PROPOSAL_THRESHOLD.equals(key))
			fThresholdStatus= validatePositiveNumber((String)fWorkingValues.get(PREF_SPELLING_PROPOSAL_THRESHOLD));
		if (key == null || PREF_SPELLING_USER_DICTIONARY.equals(key))
			fFileStatus= validateAbsoluteFilePath((String)fWorkingValues.get(PREF_SPELLING_USER_DICTIONARY));
		if (key == null || PREF_SPELLING_LOCALE.equals(key))
			fLocaleStatus= validateLocale((String)fWorkingValues.get(PREF_SPELLING_LOCALE));
		fContext.statusChanged(StatusUtil.getMostSevere(new IStatus[] { fThresholdStatus, fFileStatus, fLocaleStatus }));
	}
}