Sub-folders support for core loading.
This commit is contained in:
@@ -571,7 +571,12 @@ int ScanDirectory(char* path, int mode, char *extension, int options)
|
||||
{
|
||||
if(!strlen(path)) continue;
|
||||
}
|
||||
if (!(options & SCAN_DIR)) continue;
|
||||
|
||||
if (!(options & SCAN_DIR))
|
||||
{
|
||||
if (de->d_name[0] != '_' && strcmp(de->d_name, "..")) continue;
|
||||
if (!(options & SCAN_SDIR)) continue;
|
||||
}
|
||||
}
|
||||
else if (de->d_type == DT_REG)
|
||||
{
|
||||
|
||||
@@ -36,6 +36,7 @@ extern int iFirstEntry;
|
||||
// options flags
|
||||
#define SCAN_DIR 1 // include subdirectories
|
||||
#define SCAN_UMOUNT 2 // include subdirectories
|
||||
#define SCAN_SDIR 4 // include subdirectories
|
||||
|
||||
void FindStorage();
|
||||
int getStorage(int from_setting);
|
||||
|
||||
15
menu.c
15
menu.c
@@ -627,7 +627,7 @@ void HandleUI(void)
|
||||
if (get_key_mod() & (LALT|RALT)) //Alt+Menu
|
||||
{
|
||||
OsdSetSize(16);
|
||||
SelectFile("RBF", 0, MENU_FIRMWARE_CORE_FILE_SELECTED, MENU_NONE1, 0);
|
||||
SelectFile("RBF", SCAN_SDIR, MENU_FIRMWARE_CORE_FILE_SELECTED, MENU_NONE1, 0);
|
||||
}
|
||||
else if (user_io_core_type() == CORE_TYPE_MINIMIG2)
|
||||
menustate = MENU_MAIN1;
|
||||
@@ -641,7 +641,7 @@ void HandleUI(void)
|
||||
{
|
||||
OsdSetSize(16);
|
||||
OsdCoreNameSet("");
|
||||
SelectFile("RBF", 0, MENU_FIRMWARE_CORE_FILE_SELECTED, MENU_FIRMWARE1, 0);
|
||||
SelectFile("RBF", SCAN_SDIR, MENU_FIRMWARE_CORE_FILE_SELECTED, MENU_FIRMWARE1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3072,7 +3072,7 @@ void HandleUI(void)
|
||||
}
|
||||
else if (select) {
|
||||
if (menusub == 0) {
|
||||
SelectFile("RBF", 0, MENU_FIRMWARE_CORE_FILE_SELECTED, MENU_FIRMWARE1, 0);
|
||||
SelectFile("RBF", SCAN_SDIR, MENU_FIRMWARE_CORE_FILE_SELECTED, MENU_FIRMWARE1, 0);
|
||||
}
|
||||
else if (menusub == 1) {
|
||||
switch (user_io_core_type()) {
|
||||
@@ -3284,7 +3284,14 @@ void PrintDirectory(void)
|
||||
s[28] = 22;
|
||||
}
|
||||
|
||||
strncpy(s + 1, DirItem[k].d_name, len); // display only name
|
||||
if((DirItem[k].d_type == DT_DIR) && (fs_Options & SCAN_SDIR) && (DirItem[k].d_name[0] == '_'))
|
||||
{
|
||||
strncpy(s + 1, DirItem[k].d_name+1, len-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
strncpy(s + 1, DirItem[k].d_name, len); // display only name
|
||||
}
|
||||
|
||||
if (DirItem[k].d_type == DT_DIR) // mark directory with suffix
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user