You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ca...@apache.org on 2007/02/07 04:39:39 UTC
svn commit: r504426 - in /xmlgraphics/batik/trunk:
resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties
sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java
Author: cam
Date: Tue Feb 6 19:39:38 2007
New Revision: 504426
URL: http://svn.apache.org/viewvc?view=rev&rev=504426
Log:
Use FileDialog instead of JFileChooser for Squiggle's Open dialog in OS X
(looks like the normal OS X open dialog).
Modified:
xmlgraphics/batik/trunk/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties
xmlgraphics/batik/trunk/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java
Modified: xmlgraphics/batik/trunk/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties?view=diff&rev=504426&r1=504425&r2=504426
==============================================================================
--- xmlgraphics/batik/trunk/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties (original)
+++ xmlgraphics/batik/trunk/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties Tue Feb 6 19:39:38 2007
@@ -61,6 +61,7 @@
#
# Dialog Titles
#
+Open.title = Open
SaveAs.title = Save as SVG
ExportAsJPG.title = Export as JPG
ExportAsPNG.title = Export as PNG
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java?view=diff&rev=504426&r1=504425&r2=504426
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java Tue Feb 6 19:39:38 2007
@@ -24,6 +24,7 @@
import java.awt.Dimension;
import java.awt.Event;
import java.awt.EventQueue;
+import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Rectangle;
@@ -44,6 +45,7 @@
import java.awt.print.PrinterException;
import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FilenameFilter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -266,6 +268,11 @@
= Resources.getString("JSVGViewerFrame.property.os.windows.prefix");
/**
+ * Resource string name for the Open dialog.
+ */
+ protected static final String OPEN_TITLE = "Open.title";
+
+ /**
* The input handlers
*/
protected static Vector handlers;
@@ -1142,40 +1149,68 @@
public OpenAction() {
}
public void actionPerformed(ActionEvent e) {
- JFileChooser fileChooser = null;
-
- // Apply work around Windows problem when security is enabled,
- // and when prior to JDK 1.4.
- String os = System.getProperty(PROPERTY_OS_NAME, PROPERTY_OS_NAME_DEFAULT);
- SecurityManager sm = System.getSecurityManager();
-
- if ( priorJDK1_4 && sm != null && os.indexOf(PROPERTY_OS_WINDOWS_PREFIX) != -1 ){
- fileChooser = new JFileChooser(makeAbsolute(currentPath),
- new WindowsAltFileSystemView());
+ File f = null;
+ if (Platform.isOSX) {
+ FileDialog fileDialog =
+ new FileDialog(JSVGViewerFrame.this,
+ Resources.getString(OPEN_TITLE));
+ fileDialog.setFilenameFilter(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ Iterator iter = getHandlers().iterator();
+ while (iter.hasNext()) {
+ SquiggleInputHandler handler
+ = (SquiggleInputHandler)iter.next();
+ if (handler.accept(new File(dir, name))) {
+ return true;
+ }
+ }
+ return false;
+ }
+ });
+ fileDialog.setVisible(true);
+ String filename = fileDialog.getFile();
+ if (fileDialog != null) {
+ String dirname = fileDialog.getDirectory();
+ f = new File(dirname, filename);
+ }
} else {
- fileChooser = new JFileChooser(makeAbsolute(currentPath));
- }
+ JFileChooser fileChooser = null;
- fileChooser.setFileHidingEnabled(false);
- fileChooser.setFileSelectionMode
- (JFileChooser.FILES_ONLY);
-
- //
- // Add file filters from the handlers map
- //
- Iterator iter = getHandlers().iterator();
- while (iter.hasNext()) {
- SquiggleInputHandler handler
- = (SquiggleInputHandler)iter.next();
- fileChooser.addChoosableFileFilter
- (new SquiggleInputHandlerFilter(handler));
- }
+ // Apply work around Windows problem when security is enabled,
+ // and when prior to JDK 1.4.
+ String os = System.getProperty(PROPERTY_OS_NAME, PROPERTY_OS_NAME_DEFAULT);
+ SecurityManager sm = System.getSecurityManager();
+
+ if ( priorJDK1_4 && sm != null && os.indexOf(PROPERTY_OS_WINDOWS_PREFIX) != -1 ){
+ fileChooser = new JFileChooser(makeAbsolute(currentPath),
+ new WindowsAltFileSystemView());
+ } else {
+ fileChooser = new JFileChooser(makeAbsolute(currentPath));
+ }
- int choice = fileChooser.showOpenDialog(JSVGViewerFrame.this);
- if (choice == JFileChooser.APPROVE_OPTION) {
- File f = fileChooser.getSelectedFile();
+ fileChooser.setFileHidingEnabled(false);
+ fileChooser.setFileSelectionMode
+ (JFileChooser.FILES_ONLY);
+
+ //
+ // Add file filters from the handlers map
+ //
+ Iterator iter = getHandlers().iterator();
+ while (iter.hasNext()) {
+ SquiggleInputHandler handler
+ = (SquiggleInputHandler)iter.next();
+ fileChooser.addChoosableFileFilter
+ (new SquiggleInputHandlerFilter(handler));
+ }
+
+ int choice = fileChooser.showOpenDialog(JSVGViewerFrame.this);
+ if (choice == JFileChooser.APPROVE_OPTION) {
+ f = fileChooser.getSelectedFile();
+ currentPath = f;
+ }
+ }
- currentPath = f;
+ if (f != null) {
try {
String furl = f.toURL().toString();
showSVGDocument(furl);