From f5bee6b8d9a6d9fe18f5d32993566f15748a7a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Wed, 28 Dec 2022 21:18:08 +0100 Subject: [PATCH] Keystrokes on folder list. --- .../decompiler/flash/gui/FolderListPanel.java | 4 +++- .../jpexs/decompiler/flash/gui/MainPanel.java | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/com/jpexs/decompiler/flash/gui/FolderListPanel.java b/src/com/jpexs/decompiler/flash/gui/FolderListPanel.java index 1a83615f3..0c6dcb89f 100644 --- a/src/com/jpexs/decompiler/flash/gui/FolderListPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FolderListPanel.java @@ -122,6 +122,7 @@ public class FolderListPanel extends JPanel { @Override public void mousePressed(MouseEvent e) { + requestFocusInWindow(); int width = getWidth(); int cols = width / CELL_WIDTH; @@ -165,6 +166,7 @@ public class FolderListPanel extends JPanel { repaint(); } }); + setFocusable(true); } public synchronized void setItems(TreePath parentPath, List items) { @@ -174,7 +176,7 @@ public class FolderListPanel extends JPanel { repaint(); selectedItems.clear(); selectedIndex = -1; - ((JScrollPane)getParent().getParent()).getVerticalScrollBar().setValue(0); + ((JScrollPane)getParent().getParent()).getVerticalScrollBar().setValue(0); } public void clear() { diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 6e1433df1..9cfce9e07 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -489,6 +489,8 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se List items = new ArrayList<>(); if (source == folderPreviewPanel) { items.addAll(folderPreviewPanel.selectedItems.values()); + } else if (source == folderListPanel) { + items.addAll(folderListPanel.selectedItems.values()); } else { AbstractTagTree tree = (AbstractTagTree) e.getSource(); TreePath[] paths = tree.getSelectionPaths(); @@ -574,6 +576,8 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se List items = new ArrayList<>(); if (source == folderPreviewPanel) { items.addAll(folderPreviewPanel.selectedItems.values()); + } else if (source == folderListPanel) { + items.addAll(folderListPanel.selectedItems.values()); } else { AbstractTagTree tree = (AbstractTagTree) e.getSource(); TreePath[] paths = tree.getSelectionPaths(); @@ -950,6 +954,18 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se folderListPanel = new FolderListPanel(this, new ArrayList<>()); folderListCard.add(new FasterScrollPane(folderListPanel), BorderLayout.CENTER); + folderListPanel.addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + handleKeyReleased(e); + } + + @Override + public void keyPressed(KeyEvent e) { + handleKeyPressed(e); + } + }); + return folderListCard; }