private void updateMenus() { Controller controller = Controller.getCurrentController(); final ModeController modeController = controller.getModeController(); final MenuBuilder menuBuilder = modeController.getUserInputListenerFactory().getMenuBuilder(); menuBuilder.removeChildElements(MENU_CATEGORY); int i = 0; int maxEntries = getMaxMenuEntries(); for (final String key : lastOpenedList) { if (i == 0 && (!modeController.getModeName().equals(MModeController.MODENAME) || controller.getMap() == null || controller.getMap().getURL() == null)) { i++; maxEntries++; } if (i == maxEntries) { break; } final AFreeplaneAction lastOpenedActionListener = new OpenLastOpenedAction(i++, this); final IFreeplaneAction decoratedAction = menuBuilder.decorateAction(lastOpenedActionListener); final JMenuItem item = new JFreeplaneMenuItem(decoratedAction); item.setActionCommand(key); String text = createOpenMapItemName(key); item.setText(text); item.setMnemonic(0); menuBuilder.addMenuItem( MENU_CATEGORY, item, MENU_CATEGORY + '/' + lastOpenedActionListener.getKey(), UIBuilder.AS_CHILD); } }
public String getRestoreable(final MapModel map) { if (map == null) { return null; } // ignore documentation maps loaded using documentation actions if (map.containsExtension(DocuMapAttribute.class)) return null; final ModeController modeController = Controller.getCurrentModeController(); if (!modeController.getModeName().equals(MModeController.MODENAME)) { return null; } final File file = map.getFile(); return getRestorable(file); }