diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayer.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayer.java index a17c724..915409b 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayer.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayer.java @@ -41,6 +41,7 @@ import org.openstreetmap.josm.data.osm.UploadPolicy; import org.openstreetmap.josm.data.osm.Way; import org.openstreetmap.josm.gui.MainApplication; import org.openstreetmap.josm.gui.Notification; +import org.openstreetmap.josm.gui.dialogs.layer.DuplicateAction; import org.openstreetmap.josm.gui.layer.Layer; import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent; import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener; @@ -149,8 +150,11 @@ public class MapWithAILayer extends OsmDataLayer implements ActiveLayerChangeLis @Override public Action[] getMenuEntries() { + Collection> forbiddenActions = Arrays.asList(LayerSaveAction.class, + LayerSaveAsAction.class, DuplicateAction.class, LayerGpxExportAction.class, + ConvertToGpxLayerAction.class); final List actions = Arrays.asList(super.getMenuEntries()).stream() - .filter(action -> !(action instanceof LayerSaveAction) && !(action instanceof LayerSaveAsAction)) + .filter(action -> forbiddenActions.stream().noneMatch(clazz -> clazz.isInstance(action))) .collect(Collectors.toCollection(ArrayList::new)); if (actions.isEmpty()) { actions.add(new ContinuousDownloadAction(this));