use of com.mucommander.ui.text.FilePathField in project mucommander by mucommander.
the class SplitFileDialog method initialize.
/**
* Initializes the dialog.
*/
protected void initialize() {
Container content = getContentPane();
content.setLayout(new BorderLayout(0, 5));
XAlignedComponentPanel pnlMain = new XAlignedComponentPanel(10);
pnlMain.addRow(Translator.get("split_file_dialog.file_to_split") + ":", new JLabel(file.getName()), 0);
String size = SizeFormat.format(file.getSize(), SizeFormat.DIGITS_FULL | SizeFormat.UNIT_LONG | SizeFormat.INCLUDE_SPACE);
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);
content.add(pnlMain, BorderLayout.CENTER);
content.add(getPnlButtons(), BorderLayout.SOUTH);
getRootPane().setDefaultButton(btnSplit);
updatePartsNumber();
}
use of com.mucommander.ui.text.FilePathField in project mucommander by mucommander.
the class PackDialog method itemStateChanged.
// ////////////////////////
// ItemListener methods //
// ////////////////////////
public void itemStateChanged(ItemEvent e) {
int newFormatIndex;
FilePathField pathField = getPathField();
// Updates the GUI if, and only if, the format selection has changed.
if (lastFormatIndex != (newFormatIndex = formatsComboBox.getSelectedIndex())) {
// Name of the destination archive file.
String fileName = pathField.getText();
// Old/current format's extension
String oldFormatExtension = Archiver.getFormatExtension(formats[lastFormatIndex]);
if (fileName.endsWith("." + oldFormatExtension)) {
int selectionStart;
int selectionEnd;
// Saves the old selection.
selectionStart = pathField.getSelectionStart();
selectionEnd = pathField.getSelectionEnd();
// Computes the new file name.
fileName = fileName.substring(0, fileName.length() - oldFormatExtension.length()) + Archiver.getFormatExtension(formats[newFormatIndex]);
// Makes sure that the selection stays somewhat coherent.
if (selectionEnd == pathField.getText().length())
selectionEnd = fileName.length();
// Resets the file path field.
pathField.setText(fileName);
pathField.setSelectionStart(selectionStart);
pathField.setSelectionEnd(selectionEnd);
}
commentArea.setEnabled(Archiver.formatSupportsComment(formats[formatsComboBox.getSelectedIndex()]));
lastFormatIndex = newFormatIndex;
}
// Transfer focus back to the text field
pathField.requestFocus();
}
Aggregations