Bug 60506 Workbench preference wording
I20040428 The responsive UI dynamic team (and Julian) have flagged the workbench background execution preference wording as unclear. Julian recommended a simpler message, possibly with a tool-tip to give further explanation. As MVM and I discussed previously, we may want to revisit all of the central workbench preferences to make them less wordy (and possibly augment with a tooltip). I will write an initial set of suggestions here and we can discuss. 1) Perform build automaticaly on resource modification. -> Title: "Build automatically" (to match toggle command name in projet menu) -> Tooltip: "Perform build automaticaly on resource modification" 2) Save all modified resources automatically prior to manual build -> Title: "Save automatically before build" -> Tooltip: "Save all modified resources automatically prior to manual build" 3) Keep next/previous part dialog open - Julian mentioned this was particularly confusing. Perhaps it should be moved to the "Appearance" preference page? It doesn't seem to deserve a prominent place. 4) Prompt for actions requiring activity enablement -> Title: "Prompt when enabling new activities" -> Tooltip: "Prompt when a feature is first used that requires enablement of an activity" 5) Run user actions in background where possible -> Title: "Always run in background" (to match "Run in Background" button on dialog) -> Tooltip: "Run long operations in the background where possible" 6) Refresh Workspace automatically in the background -> Title: "Refresh Workspace automatically" -> Tooltip: "Detect and automatically refresh changes made to the workspace externally" While we're at it, I also recommend shuffling the order. I propose: "Always run in background" "Build automatically" "Refresh Workspace automatically" "Save automatically before build" "Prompt when enabling new activities"
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
* 
     * @param parent
     */
    private void createAutoRefreshControls(Composite parent) {
        
        this.autoRefreshButton = new Button(parent, SWT.CHECK);
        this.autoRefreshButton.setText(IDEWorkbenchMessages.getString("IDEWorkbenchPreferencePage.RefreshButtonText"));  
        this.autoRefreshButton.setToolTipText(IDEWorkbenchMessages.getString("IDEWorkbenchPreferencePage.RefreshButtonTooltip"));  
        boolean autoRefresh = ResourcesPlugin.getPlugin()
                .getPluginPreferences().getBoolean(
                        ResourcesPlugin.PREF_AUTO_REFRESH);
        this.autoRefreshButton.setSelection(autoRefresh);
    }
    
    /**
	 * Check the state of the text
	 */
	protected boolean checkState(Text text) {
		if (text == null)
			return false;
		try {
			Integer.valueOf(text.getText()).intValue();
			setErrorMessage(null);
			return true;
		} catch (NumberFormatException e1) {
			setErrorMessage(WorkInProgressMessages.getString("WorkInProgressPreferencePage.InvalidMessage")); 
		}
		return false;
	}
}