Add 'Develop' menu for debug mode with update check

Introduces a new 'Develop' menu that appears when debug mode is enabled.
This commit is contained in:
Stef Tervelde
2025-09-11 16:02:49 +02:00
parent 275d789c64
commit d3f3611d38
3 changed files with 36 additions and 12 deletions
+34 -12
View File
@@ -48,19 +48,8 @@ import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.undo.*;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.util.SystemInfo;
import processing.app.Base;
import processing.app.Formatter;
import processing.app.Language;
import processing.app.Messages;
import processing.app.Mode;
import processing.app.Platform;
import processing.app.Preferences;
import processing.app.Problem;
import processing.app.RunnerListener;
import processing.app.Sketch;
import processing.app.SketchCode;
import processing.app.*;
import processing.utils.SketchException;
import processing.app.contrib.ContributionManager;
import processing.app.laf.PdeMenuItemUI;
@@ -147,6 +136,7 @@ public abstract class Editor extends JFrame implements RunnerListener {
private FindReplace find;
JMenu toolsMenu;
JMenu modePopup;
JMenu developMenu;
protected List<Problem> problems = Collections.emptyList();
@@ -680,6 +670,7 @@ public abstract class Editor extends JFrame implements RunnerListener {
helpMenu.setText(helpMenu.getText() + " ");
}
menubar.add(helpMenu);
updateDevelopMenu(menubar);
Toolkit.setMenuMnemonics(menubar);
setJMenuBar(menubar);
@@ -1060,6 +1051,37 @@ public abstract class Editor extends JFrame implements RunnerListener {
abstract public JMenu buildHelpMenu();
public void buildDevelopMenu(){
developMenu = new JMenu(Language.text("menu.develop"));
var updateTrigger = new JMenuItem(Language.text("menu.develop.check_for_updates"));
updateTrigger.addActionListener(e -> {
Preferences.unset("update.last");
new UpdateCheck(base);
});
developMenu.add(updateTrigger);
}
public void updateDevelopMenu(){
updateDevelopMenu(null);
}
void updateDevelopMenu(JMenuBar menu){
if(menu == null){
menu = getJMenuBar();
}
if(developMenu == null){
buildDevelopMenu();
}
if(Base.DEBUG){
menu.add(developMenu);
}else{
menu.remove(developMenu);
}
}
public void showReference(String filename) {
File file = new File(mode.getReferenceFolder(), filename);
@@ -116,6 +116,7 @@ public class EditorFooter extends Box {
public void mousePressed(MouseEvent e) {
if(e.getClickCount() == 5){
Base.DEBUG = !Base.DEBUG;
editor.updateDevelopMenu();
}
var debugInformation = String.join("\n",
"Version: " + Base.getVersionName(),
@@ -172,6 +172,7 @@ menu.help.visit.url = https://processing.org/
menu.help.report.url = https://github.com/processing/processing4/issues
menu.help.ask.url = https://discourse.processing.org
menu.develop = Develop
# ---------------------------------------
# Basics