Author: ruschein
Date: 2011-06-24 14:42:56 -0700 (Fri, 24 Jun 2011)
New Revision: 25927
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
Log:
Fixed Redmine Bug #95.
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
===================================================================
---
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
2011-06-24 21:24:23 UTC (rev 25926)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
2011-06-24 21:42:56 UTC (rev 25927)
@@ -142,26 +142,23 @@
fileTextField.setText("Please select a " +
fileCategory.toLowerCase() + " file...");
titleLabel.setText((input ? "Load " : "Save ") +
initialCaps(fileCategory) + " File");
+ fileChooser.setAcceptAllFileFilterUsed(false);
+
int i = 0;
- boolean selectedDefault = false;
+ FileChooserFilter defaultFilter = null;
for (FileChooserFilter filter : filters) {
// If we're down to the last filter and we haven't yet
selected a default,
// do it now!
- if (++i == filters.size() && !selectedDefault)
- fileChooser.setFileFilter(filter);
-
+ if (++i == filters.size() && defaultFilter == null)
+ defaultFilter = filter;
// If we haven't yet selected a default and our
filter's description starts
// with "All ", make it the default.
- else if (!selectedDefault &&
filter.getDescription().startsWith("All ")) {
- fileChooser.setFileFilter(filter);
- selectedDefault = true;
- }
+ else if (defaultFilter == null &&
filter.getDescription().startsWith("All "))
+ defaultFilter = filter;
- // Not a "special" filter, just add it to the list.
- else
- fileChooser.addChoosableFileFilter(filter);
+ fileChooser.addChoosableFileFilter(filter);
}
- fileChooser.setAcceptAllFileFilterUsed(false);
+ fileChooser.setFileFilter(defaultFilter);
}
private String getFileCategory() {
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
===================================================================
---
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
2011-06-24 21:24:23 UTC (rev 25926)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
2011-06-24 21:42:56 UTC (rev 25927)
@@ -2,12 +2,13 @@
import java.io.File;
+import java.util.Arrays;
import javax.swing.filechooser.FileFilter;
public class FileChooserFilter extends FileFilter {
private final String description;
- private String[] extensions;
+ private final String[] extensions;
public FileChooserFilter(final String description, final String
extension) {
super();
@@ -52,6 +53,29 @@
return extensions;
}
+ @Override
+ public boolean equals(final Object other) {
+ if (!(other instanceof FileChooserFilter))
+ return false;
+
+ final FileChooserFilter otherFilter = (FileChooserFilter)other;
+ if (!otherFilter.description.equals(description))
+ return false;
+
+ if (otherFilter.extensions.length != extensions.length)
+ return false;
+
+ Arrays.sort(otherFilter.extensions);
+ Arrays.sort(extensions);
+
+ for (int i = 0; i < extensions.length; ++i) {
+ if (!extensions[i].equals(otherFilter.extensions[i]))
+ return false;
+ }
+
+ return true;
+ }
+
static String toString(final String[] strings) {
final StringBuilder setAsString = new StringBuilder();
setAsString.append('{');
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.