this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

AssetsPanel: allow selecting directories

+29 -11
+29 -11
src/main/java/app/pane/AssetsPanel.java
··· 39 39 public class AssetsPanel extends JPanel 40 40 { 41 41 private String currentPath = ""; 42 - private AssetHandle selectedAsset; 42 + private String selectedName; 43 43 private JPanel selectedPanel; 44 44 45 45 private JPanel breadcrumbBar; ··· 58 58 add(breadcrumbBar, "growx, wrap"); 59 59 60 60 resultsPanel = new JPanel(new UniformGridLayout(80, 80, 0, 0)); 61 + resultsPanel.addMouseListener(new MouseAdapter() { 62 + @Override 63 + public void mouseClicked(MouseEvent e) 64 + { 65 + clearSelection(); 66 + } 67 + }); 61 68 scrollPane = new JScrollPane(resultsPanel); 62 69 scrollPane.setBorder(null); 63 70 add(scrollPane, "grow, push"); ··· 78 85 private void navigateTo(String path) 79 86 { 80 87 currentPath = path; 81 - selectedAsset = null; 82 - selectedPanel = null; 88 + clearSelection(); 83 89 rebuildBreadcrumb(); 84 90 refresh(); 85 91 registerWatchers(); 86 92 } 87 93 88 - private void selectAsset(AssetHandle asset, JPanel panel) 94 + private void select(String name, JPanel panel) 89 95 { 90 - // Deselect previous 91 96 if (selectedPanel != null) { 92 97 selectedPanel.repaint(); 93 98 } 94 99 95 - selectedAsset = asset; 100 + selectedName = name; 96 101 selectedPanel = panel; 97 102 panel.repaint(); 98 103 rebuildBreadcrumb(); 99 104 } 100 105 106 + private void clearSelection() 107 + { 108 + if (selectedPanel != null) { 109 + selectedPanel.repaint(); 110 + } 111 + selectedName = null; 112 + selectedPanel = null; 113 + rebuildBreadcrumb(); 114 + } 115 + 101 116 // --- Breadcrumb --- 102 117 103 118 private void rebuildBreadcrumb() ··· 140 155 } 141 156 } 142 157 143 - // Selected asset filename 144 - if (selectedAsset != null) { 158 + // Selected item name 159 + if (selectedName != null) { 145 160 breadcrumbBar.add(createSeparatorLabel()); 146 161 147 - JLabel fileLabel = new JLabel(selectedAsset.getAssetName()); 162 + JLabel fileLabel = new JLabel(selectedName); 148 163 fileLabel.setFont(fileLabel.getFont().deriveFont(Font.BOLD)); 149 164 breadcrumbBar.add(fileLabel); 150 165 } ··· 218 233 @Override 219 234 public void mouseClicked(MouseEvent e) 220 235 { 221 - if (e.getClickCount() == 2) { 236 + if (e.getClickCount() == 1) { 237 + select(name, panel); 238 + } 239 + else if (e.getClickCount() == 2) { 222 240 navigateTo(currentPath + name + "/"); 223 241 } 224 242 } ··· 263 281 public void mouseClicked(MouseEvent e) 264 282 { 265 283 if (e.getClickCount() == 1) { 266 - selectAsset(asset, panel); 284 + select(asset.getAssetName(), panel); 267 285 } 268 286 else if (e.getClickCount() == 2) { 269 287 openAsset(asset);