()
| 907 | } |
| 908 | |
| 909 | protected void rebuildRecentSketchesMenuItems() { |
| 910 | Set<File> recentSketches = new LinkedHashSet<File>() { |
| 911 | |
| 912 | @Override |
| 913 | public boolean add(File file) { |
| 914 | if (size() >= RECENT_SKETCHES_MAX_SIZE) { |
| 915 | return false; |
| 916 | } |
| 917 | return super.add(file); |
| 918 | } |
| 919 | }; |
| 920 | |
| 921 | for (String path : PreferencesData.getCollection("recent.sketches")) { |
| 922 | File file = new File(path); |
| 923 | if (file.exists()) { |
| 924 | recentSketches.add(file); |
| 925 | } |
| 926 | } |
| 927 | |
| 928 | recentSketchesMenuItems.clear(); |
| 929 | for (final File recentSketch : recentSketches) { |
| 930 | JMenuItem recentSketchMenuItem = new JMenuItem(recentSketch.getParentFile().getName()); |
| 931 | recentSketchMenuItem.addActionListener(new ActionListener() { |
| 932 | @Override |
| 933 | public void actionPerformed(ActionEvent actionEvent) { |
| 934 | try { |
| 935 | handleOpen(recentSketch); |
| 936 | } catch (Exception e) { |
| 937 | e.printStackTrace(); |
| 938 | } |
| 939 | } |
| 940 | }); |
| 941 | recentSketchesMenuItems.add(recentSketchMenuItem); |
| 942 | } |
| 943 | } |
| 944 | |
| 945 | |
| 946 | /** |
no test coverage detected