|
48 | 48 | import javax.swing.text.html.*; |
49 | 49 | import javax.swing.undo.*; |
50 | 50 |
|
51 | | -import com.formdev.flatlaf.FlatLaf; |
52 | 51 | import com.formdev.flatlaf.util.SystemInfo; |
53 | | -import processing.app.Base; |
54 | | -import processing.app.Formatter; |
55 | | -import processing.app.Language; |
56 | | -import processing.app.Messages; |
57 | | -import processing.app.Mode; |
58 | | -import processing.app.Platform; |
59 | | -import processing.app.Preferences; |
60 | | -import processing.app.Problem; |
61 | | -import processing.app.RunnerListener; |
62 | | -import processing.app.Sketch; |
63 | | -import processing.app.SketchCode; |
| 52 | +import processing.app.*; |
64 | 53 | import processing.utils.SketchException; |
65 | 54 | import processing.app.contrib.ContributionManager; |
66 | 55 | import processing.app.laf.PdeMenuItemUI; |
@@ -147,6 +136,7 @@ public abstract class Editor extends JFrame implements RunnerListener { |
147 | 136 | private FindReplace find; |
148 | 137 | JMenu toolsMenu; |
149 | 138 | JMenu modePopup; |
| 139 | + JMenu developMenu; |
150 | 140 |
|
151 | 141 | protected List<Problem> problems = Collections.emptyList(); |
152 | 142 |
|
@@ -680,6 +670,7 @@ protected void buildMenuBar() { |
680 | 670 | helpMenu.setText(helpMenu.getText() + " "); |
681 | 671 | } |
682 | 672 | menubar.add(helpMenu); |
| 673 | + updateDevelopMenu(menubar); |
683 | 674 |
|
684 | 675 | Toolkit.setMenuMnemonics(menubar); |
685 | 676 | setJMenuBar(menubar); |
@@ -1060,6 +1051,37 @@ public JMenu buildModeMenu() { |
1060 | 1051 |
|
1061 | 1052 | abstract public JMenu buildHelpMenu(); |
1062 | 1053 |
|
| 1054 | + public void buildDevelopMenu(){ |
| 1055 | + developMenu = new JMenu(Language.text("menu.develop")); |
| 1056 | + |
| 1057 | + var updateTrigger = new JMenuItem(Language.text("menu.develop.check_for_updates")); |
| 1058 | + updateTrigger.addActionListener(e -> { |
| 1059 | + Preferences.unset("update.last"); |
| 1060 | + new UpdateCheck(base); |
| 1061 | + }); |
| 1062 | + developMenu.add(updateTrigger); |
| 1063 | + |
| 1064 | + } |
| 1065 | + |
| 1066 | + public void updateDevelopMenu(){ |
| 1067 | + updateDevelopMenu(null); |
| 1068 | + } |
| 1069 | + |
| 1070 | + void updateDevelopMenu(JMenuBar menu){ |
| 1071 | + if(menu == null){ |
| 1072 | + menu = getJMenuBar(); |
| 1073 | + } |
| 1074 | + if(developMenu == null){ |
| 1075 | + buildDevelopMenu(); |
| 1076 | + } |
| 1077 | + if(Base.DEBUG){ |
| 1078 | + menu.add(developMenu); |
| 1079 | + }else{ |
| 1080 | + menu.remove(developMenu); |
| 1081 | + } |
| 1082 | + |
| 1083 | + } |
| 1084 | + |
1063 | 1085 |
|
1064 | 1086 | public void showReference(String filename) { |
1065 | 1087 | File file = new File(mode.getReferenceFolder(), filename); |
|
0 commit comments