Search in sources :

Example 1 with SaneComboBox

use of com.mucommander.commons.util.ui.combobox.SaneComboBox 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();
}
Also used : KeyAdapter(java.awt.event.KeyAdapter) JLabel(javax.swing.JLabel) FilePathField(com.mucommander.ui.text.FilePathField) SaneComboBox(com.mucommander.commons.util.ui.combobox.SaneComboBox) JTextField(javax.swing.JTextField) EditableComboBox(com.mucommander.commons.util.ui.combobox.EditableComboBox) KeyEvent(java.awt.event.KeyEvent) SpinnerNumberModel(javax.swing.SpinnerNumberModel) JCheckBox(javax.swing.JCheckBox) Container(java.awt.Container) XAlignedComponentPanel(com.mucommander.commons.util.ui.layout.XAlignedComponentPanel) XBoxPanel(com.mucommander.commons.util.ui.layout.XBoxPanel) BorderLayout(java.awt.BorderLayout) ChangeEvent(javax.swing.event.ChangeEvent) ComboBoxListener(com.mucommander.commons.util.ui.combobox.ComboBoxListener) JSpinner(javax.swing.JSpinner) ChangeListener(javax.swing.event.ChangeListener)

Aggregations

ComboBoxListener (com.mucommander.commons.util.ui.combobox.ComboBoxListener)1 EditableComboBox (com.mucommander.commons.util.ui.combobox.EditableComboBox)1 SaneComboBox (com.mucommander.commons.util.ui.combobox.SaneComboBox)1 XAlignedComponentPanel (com.mucommander.commons.util.ui.layout.XAlignedComponentPanel)1 XBoxPanel (com.mucommander.commons.util.ui.layout.XBoxPanel)1 FilePathField (com.mucommander.ui.text.FilePathField)1 BorderLayout (java.awt.BorderLayout)1 Container (java.awt.Container)1 KeyAdapter (java.awt.event.KeyAdapter)1 KeyEvent (java.awt.event.KeyEvent)1 JCheckBox (javax.swing.JCheckBox)1 JLabel (javax.swing.JLabel)1 JSpinner (javax.swing.JSpinner)1 JTextField (javax.swing.JTextField)1 SpinnerNumberModel (javax.swing.SpinnerNumberModel)1 ChangeEvent (javax.swing.event.ChangeEvent)1 ChangeListener (javax.swing.event.ChangeListener)1