PatchSet 7284 
Date: 2006/05/05 23:35:03
Author: riccardo
Branch: HEAD
Tag: (none) 
Log:
solved NPE on up in /, made left pane display only topmost directory in path

Members: 
        ChangeLog:1.4788->1.4789 
        
libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java:1.2->1.3 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4788 kaffe/ChangeLog:1.4789
--- kaffe/ChangeLog:1.4788      Fri May  5 23:26:11 2006
+++ kaffe/ChangeLog     Fri May  5 23:35:03 2006
@@ -1,5 +1,10 @@
 2006-05-06  Riccardo Mottola <[EMAIL PROTECTED]>
 
+       * libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java:
+       solved NPE, made left pane display only topmost directory in path
+       
+2006-05-06  Riccardo Mottola <[EMAIL PROTECTED]>
+
        * 
libraries/javalib/awt-implementations/kaffe/java/awt/ScrollPaneAdjustable.java:
        removed, so to use classath
 
Index: 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java
diff -u 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java:1.2 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java:1.3
--- 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java:1.2  
    Fri Feb 17 00:28:57 2006
+++ kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/FileDialog.java  
Fri May  5 23:35:11 2006
@@ -45,6 +45,7 @@
        File tmpFile;
        List lDirs = new List();
        List lFiles = new List();
+       Vector vDirs = new Vector();
 
 public FileDialog( Frame parent) {
        this( parent, null, LOAD);
@@ -94,10 +95,11 @@
                dispose();
        }
        else if ( s == lDirs ) {
-               String d = lDirs.getSelectedItem();
-               if ( d == upDir )
-                       loadSubs( new File( dir.getParent()) );
-               else
+               String d = (String)vDirs.elementAt(lDirs.getSelectedIndex());
+               if ( d == upDir ) {
+                       if ( ! dir.getPath().equals( File.separator) )
+                               loadSubs( new File( dir.getParent()) );
+               } else
                        loadSubs( new File( d) );
        }
        else if ( s == lFiles ) {
@@ -260,7 +262,7 @@
        String is;
 
        if ( s == lDirs ) {
-               is = lDirs.getSelectedItem();
+               is = (String)vDirs.elementAt(lDirs.getSelectedIndex());
                if ( is != upDir ) {
                        dir = new File( is );
                        tFile.setText( dir.getPath() );
@@ -297,7 +299,7 @@
        String dn = dir.getPath();
        boolean up = (dn.length() == 0);
        String[] all;
-       
+
        if ( up )
                dir = new File( File.separator);
 
@@ -305,6 +307,7 @@
                
        lFiles.removeAll();
        lDirs.removeAll();
+       vDirs.removeAllElements();
        
        // fake visibility to disable redraw while filling in new contents
        lFiles.flags &= ~IS_VISIBLE;
@@ -313,14 +316,19 @@
        this.dir = dir;
        tFile.setText( dir.getPath() );
 
-       if ( ! up)      
+       if (!up) {
                lDirs.add( upDir);
+               vDirs.add( upDir);
+       }
                
        for ( int i=0; i<all.length; i++) {
                File f = up ? new File( dir + all[i]) : new File( dir + 
File.separator + all[i]);
                if ( f.isDirectory() ) {
                        String pn = f.getPath();
-                       lDirs.addItem( pn, sortIdx( lDirs.ip.rows, pn) );
+                       int idx = sortIdx( lDirs.ip.rows, pn);
+
+                       lDirs.addItem( pn.substring(pn.lastIndexOf('/') + 1), 
idx);
+                       vDirs.insertElementAt( pn, idx );
                }
                else if ( ! isFiltered( dir, all[i] ) )
                        lFiles.addItem( all[i], sortIdx( lFiles.ip.rows, 
all[i]) );

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to