shift+enter fixed

This commit is contained in:
Radek Davidek 2026-01-22 16:23:12 +01:00
parent eae9c014b0
commit ed3ca4cceb
2 changed files with 28 additions and 5 deletions

View File

@ -1678,11 +1678,25 @@ public class FilePanelTab extends JPanel {
JMenuItem deleteItem = new JMenuItem("Delete");
setMenuItemEnabled(deleteItem, !isParentDir);
deleteItem.addActionListener(ae -> {
int res = JOptionPane.showConfirmDialog(FilePanelTab.this,
"Really delete '" + item.getName() + "'?",
"Delete",
JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE);
JOptionPane pane = new JOptionPane("Really delete '" + item.getName() + "'?",
JOptionPane.WARNING_MESSAGE,
JOptionPane.YES_NO_OPTION);
JDialog dialog = pane.createDialog(FilePanelTab.this, "Delete");
pane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, KeyEvent.SHIFT_DOWN_MASK), "confirmShiftEnter");
pane.getActionMap().put("confirmShiftEnter", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
pane.setValue(JOptionPane.YES_OPTION);
dialog.dispose();
}
});
dialog.setVisible(true);
Object result = pane.getValue();
int res = (result instanceof Integer) ? (Integer) result : JOptionPane.CLOSED_OPTION;
if (res == JOptionPane.YES_OPTION) {
java.util.List<FileItem> toDelete = new java.util.ArrayList<>();
toDelete.add(item);

View File

@ -1548,6 +1548,15 @@ public class MainWindow extends JFrame {
}
});
pane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, KeyEvent.SHIFT_DOWN_MASK), "confirmShiftEnter");
pane.getActionMap().put("confirmShiftEnter", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
pane.setValue(options[0]);
dialog.dispose();
}
});
dialog.setVisible(true);
// Ensure focus returns to main window after dialog