pnlMain.addRow(Translator.get("size") + ":", new JLabel(size), 10);
edtTargetDirectory = new FilePathField(destFolder.getAbsolutePath(), 40);
pnlMain.addRow(Translator.get("split_file_dialog.target_directory") + ":", edtTargetDirectory, 5);
XBoxPanel pnlSize = new XBoxPanel();
String[] sizes = new String[] {
MSG_AUTO,
"10 " + Translator.get("unit.mb"),
"100 " + Translator.get("unit.mb"),
"250 " + Translator.get("unit.mb"),
"650 " + Translator.get("unit.mb"),
"700 " + Translator.get("unit.mb")
};
edtSize = new JTextField();
EditableComboBox cbSize = new EditableComboBox(edtSize, sizes);
cbSize.setComboSelectionUpdatesTextField(true);
cbSize.setSelectedIndex(1);
edtSize.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
updatePartsNumber();
}
});
cbSize.addComboBoxListener(new ComboBoxListener() {
public void comboBoxSelectionChanged(SaneComboBox source) {
updatePartsNumber();
}
});
pnlSize.add(cbSize);
pnlSize.addSpace(10);
pnlSize.add(new JLabel(Translator.get("split_file_dialog.parts") + ":"));
pnlSize.addSpace(5);
spnParts = new JSpinner(new SpinnerNumberModel(1, 1,
file.getSize(), 1));
spnParts.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
if (!edtChange) {
long parts = ((Number)spnParts.getValue()).longValue();
long newsize = file.getSize() / parts;
if (file.getSize() % parts != 0) {
newsize++;
}
if (getBytes() != newsize) {
edtSize.setText(Long.toString(newsize));
}
}
}
});
pnlSize.add(spnParts);
pnlMain.addRow(Translator.get("split_file_dialog.part_size") + ":", pnlSize, 0);
cbGenerateCRC = new JCheckBox(Translator.get("split_file_dialog.generate_CRC"));
cbGenerateCRC.setSelected(true);
pnlMain.addRow("", cbGenerateCRC, 0);