Merge pull request #2765 from summetdev/file-chooser-default

Save last FileChooser's directory to settings.
This commit is contained in:
Anuken 2020-09-29 17:29:34 -04:00 committed by GitHub
commit 0e2f62f8b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,7 +17,7 @@ import java.util.*;
public class FileChooser extends BaseDialog{
private static final Fi homeDirectory = Core.files.absolute(Core.files.getExternalStoragePath());
static Fi lastDirectory = homeDirectory;
static Fi lastDirectory = Core.files.absolute(Core.settings.getString("lastDirectory", homeDirectory.absolutePath()));
private Table files;
Fi directory = lastDirectory;
@ -108,7 +108,7 @@ public class FileChooser extends BaseDialog{
ImageButton home = new ImageButton(Icon.home);
home.clicked(() -> {
directory = homeDirectory;
lastDirectory = directory;
setLastDirectory(directory);
updateFiles(true);
});
@ -187,7 +187,7 @@ public class FileChooser extends BaseDialog{
TextButton upbutton = new TextButton(".." + directory.toString(), Styles.clearTogglet);
upbutton.clicked(() -> {
directory = directory.parent();
lastDirectory = directory;
setLastDirectory(directory);
updateFiles(true);
});
@ -217,7 +217,7 @@ public class FileChooser extends BaseDialog{
updateFileFieldStatus();
}else{
directory = directory.child(filename);
lastDirectory = directory;
setLastDirectory(directory);
updateFiles(true);
}
});
@ -242,6 +242,11 @@ public class FileChooser extends BaseDialog{
if(open) filefield.clearText();
}
public static void setLastDirectory(Fi directory){
lastDirectory = directory;
Core.settings.put("lastDirectory", directory.absolutePath());
}
private String shorten(String string){
int max = 30;
if(string.length() <= max){
@ -269,14 +274,14 @@ public class FileChooser extends BaseDialog{
if(!canBack()) return;
index--;
directory = history.get(index - 1);
lastDirectory = directory;
setLastDirectory(directory);
updateFiles(false);
}
public void forward(){
if(!canForward()) return;
directory = history.get(index);
lastDirectory = directory;
setLastDirectory(directory);
index++;
updateFiles(false);
}