Make some usability improvements to the internal file browser. Don't cd when changin...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 13 Jun 2012 16:28:03 +0000 (16:28 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 13 Jun 2012 16:28:03 +0000 (16:28 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@774 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/filebrowser/SimpleFileBrowser.java

index 1ebebfc4c23113615c125d31d72b9e72ff220979..493efbe6136a1f37e07ce01ebb7b7bb27e105843 100644 (file)
@@ -161,7 +161,7 @@ public class SimpleFileBrowser extends SherlockListActivity {
                final File file = path.get(position);\r
                if (file.isDirectory()) {\r
                        if (file.canRead())\r
-                               getDir(path.get(position));\r
+                               getDir(file);\r
                        else {\r
                                new AlertDialog.Builder(this).setIcon(R.drawable.or_launcher)\r
                                .setTitle("[" + file.getName() + "] folder can't be read!")\r
@@ -244,13 +244,10 @@ public class SimpleFileBrowser extends SherlockListActivity {
                                }\r
                        }\r
 \r
-                       // Set the "base directory" thing.\r
+                       // Set the "favorite directory" thing.\r
                        {\r
                                ImageView v = (ImageView) (convertView.findViewById(R.id.filebrowser_list_item_homeicon));\r
-                               if ( !file.isDirectory() ) {\r
-                                       v.setVisibility(View.INVISIBLE);\r
-                                       v.setClickable(false);\r
-                               } else {\r
+                               if ( file.isDirectory() && hasUp && position > 1 ) {\r
                                        v.setVisibility(View.VISIBLE);\r
                                        if ( baseDirName.equals( file.getAbsolutePath() ) )  {\r
                                                v.setSelected(true);\r
@@ -259,6 +256,9 @@ public class SimpleFileBrowser extends SherlockListActivity {
                                                v.setClickable(true);\r
                                                v.setOnClickListener( new ChangeBaseDirectory(file.getAbsolutePath()));\r
                                        }\r
+                               } else {\r
+                                       v.setVisibility(View.INVISIBLE);\r
+                                       v.setClickable(false);\r
                                }\r
                        }\r
                        return convertView;\r
@@ -279,7 +279,7 @@ public class SimpleFileBrowser extends SherlockListActivity {
                                SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(SimpleFileBrowser.this);\r
                                baseDirName = dirname;\r
                                pref.edit().putString(baseDirPrefKey, dirname).apply();\r
-                               SimpleFileBrowser.this.getDir(new File(dirname));\r
+                               ((BaseAdapter)SimpleFileBrowser.this.getListAdapter()).notifyDataSetChanged();\r
                        }\r
                }\r
                \r