in org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/HttpRepositorySettingsPage.java [137:196]
protected void addTokenCheckbox(boolean userOptional) {
needsUser = !userOptional;
useToken = new Button(compositeContainer, SWT.CHECK);
useToken.setText(Messages.HttpRepositorySettingsPage_LabelUseToken);
useToken.setToolTipText(
Messages.HttpRepositorySettingsPage_TooltipUseToken);
useToken.moveBelow(savePasswordButton);
GridDataFactory.defaultsFor(useToken).span(3, 1).applyTo(useToken);
String savePasswordText = savePasswordButton.getText();
boolean[] allowAnon = { isAnonymousAccess() };
SelectionAdapter listener = new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean isChecked = useToken.getSelection();
if (isChecked) {
repositoryPasswordEditor.setLabelText(
Messages.HttpRepositorySettingsPage_LabelToken);
savePasswordButton.setText(
Messages.HttpRepositorySettingsPage_LabelSaveToken);
if (anonymousButton != null) {
allowAnon[0] = isAnonymousAccess();
setAnonymous(false);
anonymousButton.setEnabled(false);
}
} else {
repositoryPasswordEditor.setLabelText(LABEL_PASSWORD);
savePasswordButton.setText(savePasswordText);
if (anonymousButton != null) {
anonymousButton.setEnabled(true);
setAnonymous(allowAnon[0]);
}
}
if (userOptional) {
repositoryUserNameEditor.getTextControl(compositeContainer)
.setEnabled(!isChecked);
repositoryUserNameEditor.setEmptyStringAllowed(isChecked);
}
repositoryPasswordEditor.getLabelControl(compositeContainer)
.requestLayout();
// Trigger page validation if needed
if (userOptional && getWizard() != null) {
getWizard().getContainer().updateButtons();
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
};
useToken.addSelectionListener(listener);
TaskRepository taskRepository = getRepository();
if (taskRepository != null) {
useToken.setSelection(Boolean.parseBoolean(
taskRepository.getProperty(GitHub.PROPERTY_USE_TOKEN)));
// setSelection does not fire a selection event
listener.widgetSelected(null);
}
}