From edd1b8e4cc84b76130ae96e6183dcb26f10b00bd Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 11 Jul 2016 16:18:13 +0200 Subject: [PATCH] library is cleared if new file is opened --- .../de/neemann/digital/gui/LibrarySelector.java | 15 +++++++++++---- src/main/java/de/neemann/digital/gui/Main.java | 3 +++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/LibrarySelector.java b/src/main/java/de/neemann/digital/gui/LibrarySelector.java index ed4e92684..6b4724392 100644 --- a/src/main/java/de/neemann/digital/gui/LibrarySelector.java +++ b/src/main/java/de/neemann/digital/gui/LibrarySelector.java @@ -89,10 +89,7 @@ public void actionPerformed(ActionEvent e) { customMenu.add(new ToolTipAction(Lang.get("menu_refresh")) { @Override public void actionPerformed(ActionEvent e) { - for (ImportedItem item : importedElements) { - library.removeElement(item.file); - customMenu.remove(item.menuEntry); - } + removeCustomElements(); } }.setToolTip(Lang.get("menu_refresh_tt")).createJMenuItem()); @@ -114,6 +111,16 @@ public void actionPerformed(ActionEvent e) { return parts; } + /** + * removes all custom elements + */ + public void removeCustomElements() { + for (ImportedItem item : importedElements) { + library.removeElement(item.file); + customMenu.remove(item.menuEntry); + } + } + private String createToolTipText(String elementName) { String toolTipText = Lang.getNull("elem_" + elementName + "_tt"); if (toolTipText == null) diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index c1931d4c1..6e3b0db2c 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -279,6 +279,7 @@ public void actionPerformed(ActionEvent e) { setFilename(null, true); circuitComponent.setCircuit(new Circuit()); windowPosManager.closeAll(); + librarySelector.removeCustomElements(); } } }.setActive(normalMode); @@ -289,6 +290,7 @@ public void actionPerformed(ActionEvent e) { if (ClosingWindowListener.checkForSave(Main.this, Main.this)) { JFileChooser fc = getJFileChooser(lastFilename); if (fc.showOpenDialog(Main.this) == JFileChooser.APPROVE_OPTION) { + librarySelector.removeCustomElements(); loadFile(fc.getSelectedFile(), true); } } @@ -776,6 +778,7 @@ public void saveChanges() { @Override public void open(File file) { + librarySelector.removeCustomElements(); loadFile(file, true); }