*/}}
فهرست منبع

Win32 special dir

YimingWu 2 ماه پیش
والد
کامیت
8de0808752
2فایلهای تغییر یافته به همراه16 افزوده شده و 0 حذف شده
  1. 1 0
      la_interface.h
  2. 15 0
      resources/la_operators.c

+ 1 - 0
la_interface.h

@@ -47,6 +47,7 @@
 #endif
 #ifdef _WIN32
 #include <GL/wglew.h>
+#include <shlobj_core.h>
 #endif
 
 #include <threads.h>

+ 15 - 0
resources/la_operators.c

@@ -463,6 +463,21 @@ laFileBrowser *la_FileBrowserInit(laOperator *a){
     }
 #endif
 
+#ifdef _WIN32
+    TCHAR szPath[MAX_PATH];
+#define ADD_SPECIAL_FOLDER(entry) \
+    if(SUCCEEDED(SHGetFolderPath(NULL, \
+        entry, NULL, 0, szPath))) { \
+        laBookmarkedFolder* bf = memAcquireSimple(sizeof(laBookmarkedFolder)); \
+        strcpy(bf->Path, szPath); \
+        strcpy(bf->Name, strGetLastSegment(szPath,'\\')); lstAppendItem(&fb->Bookmarks, bf); \
+    }
+    ADD_SPECIAL_FOLDER(CSIDL_DESKTOP);
+    ADD_SPECIAL_FOLDER(CSIDL_PERSONAL);
+    ADD_SPECIAL_FOLDER(CSIDL_MYPICTURES);
+#endif
+
+
     la_FileBrowserRebuildList(fb);
     fb->FileName[0] = 0;