void cycleRows() { int maxRows = 3; int minRows = 1; totalRows++; if (totalRows > maxRows) { totalRows = minRows; } updateMenuIconPositions(&gridSettingsMenu); updateMenuIconPositions(&settingsMenu); }
void settingsToggleShow3DS() { show3DSFolder = !show3DSFolder; if (foldersMenu.numEntries > 0) { foldersMenu.entries[0].hidden = !show3DSFolder; updateMenuIconPositions(&foldersMenu); } }
void settingsSetMenuStatus(int * status) { if (*status == menuStatusThemeSelect) { buildThemesList(); char * currentThemeName = getConfigStringForKey("currentTheme", "Default", configTypeMain); updateMenuTicks(&themesMenu, currentThemeName, true); checkReturnToGrid(&themesMenu); updateMenuIconPositions(&themesMenu); if (animatedGrids) { startTransition(transitionDirectionDown, themeSettingsMenu.pagePosition, &themeSettingsMenu); } } else if (*status == menuStatusWaterSettings) { initWaterMenu(); updateMenuIconPositions(&waterMenu); gotoFirstIcon(&waterMenu); if (animatedGrids) { startTransition(transitionDirectionDown, settingsMenu.pagePosition, &settingsMenu); } } else if (*status == menuStatusThemeSettings) { initThemeSettingsMenu(); updateMenuIconPositions(&themeSettingsMenu); gotoFirstIcon(&themeSettingsMenu); if (animatedGrids) { startTransition(transitionDirectionDown, settingsMenu.pagePosition, &settingsMenu); } } else if (*status == menuStatusGridSettings) { initGridSettingsMenu(); updateMenuIconPositions(&gridSettingsMenu); gotoFirstIcon(&gridSettingsMenu); if (animatedGrids) { startTransition(transitionDirectionDown, settingsMenu.pagePosition, &settingsMenu); } } else if (*status == menuStatusOpenTitleFiltering) { if (titleLoadPaused) { cancelTitleLoading(); } } setMenuStatus(*status); }
void settingsShowColours() { if (colourSelectMenuNeedsInit) { initColourSelectMenu(); } updateMenuIconPositions(&colourSelectMenu); gotoFirstIcon(&colourSelectMenu); setMenuStatus(menuStatusColourSettings); if (animatedGrids) { startTransition(transitionDirectionDown, themeSettingsMenu.pagePosition, &themeSettingsMenu); } }
void scanHomebrewDirectory(menu_s* m, char* path) { if(!path)return; Handle dirHandle; FS_path dirPath=FS_makePath(PATH_CHAR, path); FSUSER_OpenDirectory(&dirHandle, sdmcArchive, dirPath); static char fullPath[1024][1024]; u32 entriesRead; int totalentries = 0; do { static FS_dirent entry; memset(&entry,0,sizeof(FS_dirent)); entriesRead=0; FSDIR_Read(dirHandle, &entriesRead, 1, &entry); if(entriesRead) { strncpy(fullPath[totalentries], path, 1024); int n=strlen(fullPath[totalentries]); unicodeToChar(&fullPath[totalentries][n], entry.name, 1024-n); if(entry.isDirectory) //directories { //addDirectoryToMenu(m, fullPath[totalentries]); totalentries++; }else{ //stray executables n=strlen(fullPath[totalentries]); if(n>5 && !strcmp(".3dsx", &fullPath[totalentries][n-5])){ //addFileToMenu(m, fullPath[totalentries]); totalentries++; } if(n>4 && !strcmp(".xml", &fullPath[totalentries][n-4])) { //addFileToMenu(m, fullPath[totalentries]); totalentries++; } } } }while(entriesRead); FSDIR_Close(dirHandle); bool sortAlpha = getConfigBoolForKey("sortAlpha", false, configTypeMain); addMenuEntries(fullPath, totalentries, strlen(path), m, sortAlpha); updateMenuIconPositions(m); }
void cycleRows() { int maxRows = 3; int minRows = 1; totalRows++; if (totalRows > maxRows) { totalRows = minRows; } updateMenuIconPositions(&colourSelectMenu); updateMenuIconPositions(&foldersMenu); updateMenuIconPositions(&gridSettingsMenu); updateMenuIconPositions(&settingsMenu); updateMenuIconPositions(&themeSettingsMenu); updateMenuIconPositions(&themesMenu); updateMenuIconPositions(&titleMenu); updateMenuIconPositions(&waterMenu); }
void buildThemesList() { if (themesLoaded) { return; } themesLoaded = true; directoryContents * contents = contentsOfDirectoryAtPath(themesPath, true); themesMenu.entries=NULL; themesMenu.numEntries=0; themesMenu.selectedEntry=0; themesMenu.scrollLocation=0; themesMenu.scrollVelocity=0; themesMenu.scrollBarSize=0; themesMenu.scrollBarPos=0; themesMenu.scrollTarget=0; themesMenu.atEquilibrium=false; menuEntry_s randomEntry; strcpy(randomEntry.name, "Random theme"); strcpy(randomEntry.description, "A random theme will be selected each time the launcher boots. Excludes the default theme."); strcpy(randomEntry.author, ""); memcpy(randomEntry.iconData, settingsIconRandomTheme_bin, sizeof(randomEntry.iconData)); randomEntry.hidden = false; randomEntry.isTitleEntry = false; randomEntry.isShortcut = false; randomEntry.isRegionFreeEntry = false; randomEntry.drawFirstLetterOfName = false; addMenuEntryCopy(&themesMenu, &randomEntry); char * smdhName = "/theme.smdh"; int folderPathLen = strlen(themesPath); int i; for (i=0; i<contents->numPaths; i++) { char * fullPath = contents->paths[i]; static menuEntry_s me; addThemeToList(fullPath, &me, smdhName, folderPathLen); } updateMenuIconPositions(&themesMenu); free(contents); }