1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-01-31 20:52:13 +01:00

Preserve all menu items for restoring when the menu is closed

This commit is contained in:
Cristian Maglie 2021-04-25 23:14:25 +02:00
parent 6c3c1c09b1
commit cb1b845fbd

View File

@ -34,6 +34,7 @@ public class MenuScroller {
private JPopupMenu menu;
private Component[] menuItems;
private Component[] allMenuItems;
private MenuScrollItem upItem;
private MenuScrollItem downItem;
private final MenuScrollListener menuListener = new MenuScrollListener();
@ -540,7 +541,8 @@ public class MenuScroller {
}
private void setMenuItems() {
menuItems = Arrays.stream(menu.getComponents()).filter(x -> x.isVisible()).toArray(Component[]::new);
allMenuItems = menu.getComponents();
menuItems = Arrays.stream(allMenuItems).filter(x -> x.isVisible()).toArray(Component[]::new);
if (keepVisibleIndex >= topFixedCount
&& keepVisibleIndex <= menuItems.length - bottomFixedCount
&& (keepVisibleIndex > firstIndex + scrollCount
@ -555,7 +557,7 @@ public class MenuScroller {
private void restoreMenuItems() {
menu.removeAll();
for (Component component : menuItems) {
for (Component component : allMenuItems) {
menu.add(component);
}
}