Fix macOS 10.13 missing menubar

The global bar is being used if locale is English and About() menu is present
This commit is contained in:
Martino Facchin 2017-09-27 16:49:09 +02:00
parent 7c27d09c6f
commit a2b5f661b8
3 changed files with 7 additions and 6 deletions

View File

@ -133,6 +133,10 @@ public class Base {
System.setProperty("java.net.useSystemProxies", "true");
if (OSUtils.isMacOS()) {
System.setProperty("apple.laf.useScreenMenuBar",
String.valueOf(!System.getProperty("os.version").startsWith("10.13")
|| com.apple.eawt.Application.getApplication().isAboutMenuItemPresent()));
ThinkDifferent.init();
}

View File

@ -619,7 +619,7 @@ public class Editor extends JFrame implements RunnerListener {
fileMenu.add(item);
// macosx already has its own preferences and quit menu
if (!OSUtils.isMacOS()) {
if (!OSUtils.isMacOS() || System.getProperty("apple.laf.useScreenMenuBar") == "false") {
fileMenu.addSeparator();
item = newJMenuItem(tr("Preferences"), ',');
@ -1252,7 +1252,7 @@ public class Editor extends JFrame implements RunnerListener {
menu.add(item);
// macosx already has its own about menu
if (!OSUtils.isMacOS()) {
if (!OSUtils.isMacOS() || System.getProperty("apple.laf.useScreenMenuBar") == "false") {
menu.addSeparator();
item = new JMenuItem(tr("About Arduino"));
item.addActionListener(new ActionListener() {
@ -1812,7 +1812,7 @@ public class Editor extends JFrame implements RunnerListener {
String prompt = I18n.format(tr("Save changes to \"{0}\"? "),
sketch.getName());
if (!OSUtils.isMacOS()) {
if (!OSUtils.isMacOS() || System.getProperty("apple.laf.useScreenMenuBar") == "false") {
int result =
JOptionPane.showConfirmDialog(this, prompt, tr("Close"),
JOptionPane.YES_NO_CANCEL_OPTION,

View File

@ -62,9 +62,6 @@ public class Platform extends processing.app.Platform {
@Override
public void init() throws Exception {
super.init();
System.setProperty("apple.laf.useScreenMenuBar", "true");
discoverRealOsArch();
}