in src/org/jetbrains/tfsIntegration/ui/UpdateSettingsForm.java [63:115]
public UpdateSettingsForm(final Project project, final String title, final Map<WorkspaceInfo, WorkspaceSettings> workspaceSettings) {
myWorkspaceSettings = workspaceSettings;
List<WorkspaceInfo> workspaces = new ArrayList<>(myWorkspaceSettings.keySet());
Collections.sort(workspaces, (o1, o2) -> o1.getName().compareTo(o2.getName()));
myWorkspacesList.setModel(new CollectionListModel(workspaces));
myWorkspacesList.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
myWorkspacesList.setCellRenderer(new DefaultListCellRenderer() {
@Override
public Component getListCellRendererComponent(final JList list,
final Object value,
final int index,
final boolean isSelected,
final boolean cellHasFocus) {
final Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
final WorkspaceInfo workspace = ((WorkspaceInfo)value);
String label = MessageFormat.format("{0} [{1}]", workspace.getName(), workspace.getServer().getPresentableUri());
setText(label);
return c;
}
});
myWorkspacesList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
try {
applyCurrentValue();
}
catch (ConfigurationException ex) {
Messages.showErrorDialog(project, ex.getMessage(), title);
}
mySelectedWorkspace = ((WorkspaceInfo)myWorkspacesList.getSelectedValue());
if (mySelectedWorkspace != null) {
final WorkspaceSettings workspaceSettings = myWorkspaceSettings.get(mySelectedWorkspace);
mySelectRevisionForm.init(project, mySelectedWorkspace, workspaceSettings.serverPath, workspaceSettings.isDirectory);
mySelectRevisionForm.setVersionSpec(workspaceSettings.version);
}
else {
mySelectRevisionForm.disable();
}
}
});
if (workspaces.isEmpty()) {
mySelectRevisionForm.disable();
}
else {
myWorkspacesList.setSelectedIndex(0);
IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(myWorkspacesList, true));
}
}