package floobits.dialogs;
import javax.swing.*;
import java.awt.*;
public class FileListPromptForm {
private JLabel promptText;
private JList changedFiles;
private JPanel contentPanel;
private JList connectionsList;
private JLabel connectionsText;
private JPanel connectionsPanel;
private JScrollPane connectionsScroller;
protected String promptTextFormat;
protected String multiPrompt = "files are";
protected String singlePrompt = "file is";
public FileListPromptForm(String prompt) {
promptTextFormat = String.format("<html><p>%s</p></html>", prompt);
connectionsList.setVisible(false);
connectionsText.setVisible(false);
connectionsPanel.setVisible(false);
connectionsPanel.setPreferredSize(new Dimension(-1, -1));
connectionsScroller.setVisible(false);
}
public void setItems(final String[] conflicts) {
changedFiles.setListData(conflicts);
String promptFill;
if (conflicts.length == 1) {
promptFill = singlePrompt;
} else {
promptFill = multiPrompt;
}
promptText.setText(String.format(promptTextFormat, promptFill));
}
public void setConnections(final String[] connections) {
connectionsPanel.setVisible(true);
connectionsText.setVisible(true);
if (connections.length < 2) {
connectionsText.setText("There is no one else currently connected to the workspace.");
return;
}
connectionsPanel.setPreferredSize(new Dimension(-1, 70));
connectionsText.setText(String.format("There are %s connections to the workspace.", connections.length));
connectionsScroller.setVisible(true);
connectionsList.setVisible(true);
connectionsList.setListData(connections);
}
public JPanel getContentPanel() {
return contentPanel;
}
}