From 8266ac5aad6b83abffcfe586807d08972d33e082 Mon Sep 17 00:00:00 2001
From: Federico Fissore <federico@fissore.org>
Date: Fri, 19 Oct 2012 10:49:23 +0200
Subject: [PATCH] better error message when library names clash filter out non
 .ZIP files

---
 app/src/processing/app/Base.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java
index 2e8091eb9..efad32f1b 100644
--- a/app/src/processing/app/Base.java
+++ b/app/src/processing/app/Base.java
@@ -28,6 +28,7 @@ import java.io.*;
 import java.util.*;
 
 import javax.swing.*;
+import javax.swing.filechooser.FileNameExtensionFilter;
 
 import processing.app.debug.Compiler;
 import processing.app.debug.Target;
@@ -2380,6 +2381,7 @@ public class Base {
     JFileChooser fileChooser = new JFileChooser(System.getProperty("user.home"));
     fileChooser.setDialogTitle(_("Select a zip file or a folder containing the library you'd like to add"));
     fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
+    fileChooser.setFileFilter(new FileNameExtensionFilter("ZIP files or folders", "zip"));
 
     Dimension preferredSize = fileChooser.getPreferredSize();
     fileChooser.setPreferredSize(new Dimension(preferredSize.width + 200, preferredSize.height + 200));
@@ -2426,7 +2428,7 @@ public class Base {
       // copy folder
       File destinationFolder = new File(getSketchbookLibrariesFolder(), sourceFile.getName());
       if (!destinationFolder.mkdir()) {
-        editor.statusError("Can't create folder: " + sourceFile.getName() + " into libraries folder");
+        editor.statusError("A library named " + sourceFile.getName() + " already exists");
         return;
       }
       try {