*/}}
Procházet zdrojové kódy

Remember file browser directory

YimingWu před 3 dny
rodič
revize
c6bb903687
2 změnil soubory, kde provedl 9 přidání a 2 odebrání
  1. 1 0
      la_interface.h
  2. 8 2
      resources/la_operators.c

+ 1 - 0
la_interface.h

@@ -434,6 +434,7 @@ STRUCTURE(LA){
     Atom wmstate,wmfullscr,wmfullscroff;
 #endif
     laSafeString* CopyPending;
+    laSafeString* PreviousDirectory;
 
     int GLMajor,GLMinor,GLESMajor,GLESMinor,BufferSamples;
     GLuint TempVAO;

+ 8 - 2
resources/la_operators.c

@@ -259,6 +259,8 @@ void la_FileBrowserRebuildList(laFileBrowser *fb){
     u64bit TotalSpace = 0;
     real Ratio = 0;
 
+    strSafeSet(&MAIN.PreviousDirectory,fb->Path);
+
 #ifdef __linux__
 
 #ifdef LAGUI_ANDROID
@@ -427,7 +429,9 @@ laFileBrowser *la_FileBrowserInit(laOperator *a){
     char* arg=0;
 
 #ifdef LAGUI_ANDROID
-    strcpy(fb->Path, MAIN.ExternalDataPath);
+    char* init_path=SSTR(MAIN.PreviousDirectory);
+    if((!init_path) || init_path[0]==0){ init_path=MAIN.ExternalDataPath; }
+    strcpy(fb->Path, init_path);
     laBookmarkedFolder* bf=memAcquireSimple(sizeof(laBookmarkedFolder));
     strcpy(bf->Path,fb->Path); strcpy(bf->Name,strGetLastSegment(fb->Path,'/ ')); lstAppendItem(&fb->Bookmarks,bf);
     bf=memAcquireSimple(sizeof(laBookmarkedFolder));
@@ -441,7 +445,9 @@ laFileBrowser *la_FileBrowserInit(laOperator *a){
     }
 
 #else
-    strcpy(fb->Path, SSTR(MAIN.WorkingDirectory));
+    char* init_path=SSTR(MAIN.PreviousDirectory);
+    if((!init_path) || init_path[0]==0){ init_path=SSTR(MAIN.WorkingDirectory); }
+    strcpy(fb->Path, init_path);
 #endif
 
     if (strArgumentMatch(a->ExtraInstructionsP, "select", "folder")){ fb->SelectFolder = LA_FILE_SELECT_FOLDER; }