diff --git a/core/src/mindustry/ui/dialogs/FileChooser.java b/core/src/mindustry/ui/dialogs/FileChooser.java index 78a3c1a459..2c8f2954b9 100644 --- a/core/src/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/mindustry/ui/dialogs/FileChooser.java @@ -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); }