/* (non-Javadoc) * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean) */ @Override public void setVisible(boolean visible) { // check if the stored settings have changed if (visible) { if (fStoredSettings != null && !fStoredSettings.equals(getCurrentSettings())) { fVariableBlock.refresh(null); } } else { if (fVariableBlock.hasChanges()) { String title = PreferencesMessages.ClasspathVariablesPreferencePage_savechanges_title; String message = PreferencesMessages.ClasspathVariablesPreferencePage_savechanges_message; if (MessageDialog.openQuestion(getShell(), title, message)) { performOk(); } fVariableBlock.setChanges(false); // forget } fStoredSettings = getCurrentSettings(); } super.setVisible(visible); }