Skip to content

Commit

Permalink
Fixed the name field in Sprite import panel
Browse files Browse the repository at this point in the history
gurkenlabs#778 where the sprite name is updated simultaneously in the list and in the text field
  • Loading branch information
iamllcoolray committed Mar 11, 2024
1 parent 70e9c48 commit 4658909
Showing 1 changed file with 24 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.table.DefaultTableModel;

public class SpritesheetImportPanel extends JPanel implements IUpdateable {
Expand Down Expand Up @@ -182,13 +184,20 @@ public Component getListCellRendererComponent(
textField.setColumns(10);
fileList.addListSelectionListener(e -> textField.setText(fileList.getSelectedValue().getName()));

textField.addFocusListener(
new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
fileList.getSelectedValue().setName(textField.getText());
}
});
textField.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
updateSelectedFile();
}
@Override
public void removeUpdate(DocumentEvent e) {
updateSelectedFile();
}
@Override
public void changedUpdate(DocumentEvent e) {
updateSelectedFile();
}
});

JLabel lblKeyframes = new JLabel("keyframes:");

Expand Down Expand Up @@ -523,6 +532,14 @@ private void updatePreview(SpriteFileWrapper file) {
this.isUpdating = false;
}
}
private void updateSelectedFile() {
int selectedIndex = fileList.getSelectedIndex();
if (selectedIndex != -1) {
SpriteFileWrapper selectedFile = fileListModel.getElementAt(selectedIndex);
selectedFile.setName(textField.getText());
fileList.repaint();
}
}

private static class SpriteFileWrapper {
private static final int MAX_WIDTH_ICON = 280;
Expand Down

0 comments on commit 4658909

Please sign in to comment.