mirror of
https://github.com/arduino/Arduino.git
synced 2025-03-15 12:29:26 +01:00
Fixing longstanding bug that made File and Tools menu items overlap "sometimes"
This commit is contained in:
parent
50a5034176
commit
9d92baa14c
@ -183,15 +183,6 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
addWindowListener(new WindowAdapter() {
|
addWindowListener(new WindowAdapter() {
|
||||||
public void windowActivated(WindowEvent e) {
|
public void windowActivated(WindowEvent e) {
|
||||||
base.handleActivated(Editor.this);
|
base.handleActivated(Editor.this);
|
||||||
// re-add the sub-menus that are shared by all windows
|
|
||||||
fileMenu.insert(sketchbookMenu, 2);
|
|
||||||
fileMenu.insert(examplesMenu, 3);
|
|
||||||
int offset = 0;
|
|
||||||
for (JMenu menu : base.getBoardsCustomMenus()) {
|
|
||||||
toolsMenu.insert(menu, numTools + offset);
|
|
||||||
offset++;
|
|
||||||
}
|
|
||||||
toolsMenu.insert(serialMenu, numTools + offset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// added for 1.0.5
|
// added for 1.0.5
|
||||||
@ -488,7 +479,23 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
|
|
||||||
protected void buildMenuBar() throws Exception {
|
protected void buildMenuBar() throws Exception {
|
||||||
JMenuBar menubar = new JMenuBar();
|
JMenuBar menubar = new JMenuBar();
|
||||||
menubar.add(buildFileMenu());
|
final JMenu fileMenu = buildFileMenu();
|
||||||
|
fileMenu.addMenuListener(new StubMenuListener() {
|
||||||
|
@Override
|
||||||
|
public void menuSelected(MenuEvent e) {
|
||||||
|
List<Component> components = Arrays.asList(fileMenu.getComponents());
|
||||||
|
if (!components.contains(sketchbookMenu)) {
|
||||||
|
fileMenu.insert(sketchbookMenu, 2);
|
||||||
|
}
|
||||||
|
if (!components.contains(sketchbookMenu)) {
|
||||||
|
fileMenu.insert(examplesMenu, 3);
|
||||||
|
}
|
||||||
|
fileMenu.revalidate();
|
||||||
|
validate();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
menubar.add(fileMenu);
|
||||||
|
|
||||||
menubar.add(buildEditMenu());
|
menubar.add(buildEditMenu());
|
||||||
|
|
||||||
final JMenu sketchMenu = new JMenu(_("Sketch"));
|
final JMenu sketchMenu = new JMenu(_("Sketch"));
|
||||||
@ -504,7 +511,27 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
buildSketchMenu(sketchMenu);
|
buildSketchMenu(sketchMenu);
|
||||||
menubar.add(sketchMenu);
|
menubar.add(sketchMenu);
|
||||||
|
|
||||||
menubar.add(buildToolsMenu());
|
final JMenu toolsMenu = buildToolsMenu();
|
||||||
|
toolsMenu.addMenuListener(new StubMenuListener() {
|
||||||
|
@Override
|
||||||
|
public void menuSelected(MenuEvent e) {
|
||||||
|
List<Component> components = Arrays.asList(fileMenu.getComponents());
|
||||||
|
int offset = 0;
|
||||||
|
for (JMenu menu : base.getBoardsCustomMenus()) {
|
||||||
|
if (!components.contains(menu)) {
|
||||||
|
toolsMenu.insert(menu, numTools + offset);
|
||||||
|
offset++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!components.contains(serialMenu)) {
|
||||||
|
toolsMenu.insert(serialMenu, numTools + offset);
|
||||||
|
}
|
||||||
|
toolsMenu.revalidate();
|
||||||
|
validate();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
menubar.add(toolsMenu);
|
||||||
|
|
||||||
menubar.add(buildHelpMenu());
|
menubar.add(buildHelpMenu());
|
||||||
setJMenuBar(menubar);
|
setJMenuBar(menubar);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user