/**************************************************************************** * MenuSettings ***************************************************************************/ int MenuSettingsNetwork() { int menu = MENU_NONE; int ret = -1; int i = 0; int focus = 0; int network = Options.temp_network; int wifigecko = Options.temp_wifigecko; int newrevtext = Options.temp_newrevtext; OptionList options; sprintf(options.name[i++], tr("Auto Connect")); sprintf(options.name[i++], tr("Enable Wifi Gecko")); sprintf(options.name[i++], tr("Update Info")); options.length = i; GuiImageData bgImgData(Theme.background); GuiImageData btnOutline(Theme.button_small); GuiImageData btnOutlineOver(Theme.button_small_focus); GuiTrigger trigA; trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); GuiImage bgImg(&bgImgData); GuiText titleTxt(tr("Network Settings"), 28, (GXColor){Theme.title_1, Theme.title_2, Theme.title_3, 255}); titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP); titleTxt.SetPosition(50,50); GuiText okBtnTxt(tr("OK"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage okBtnImg(&btnOutline); GuiImage okBtnImgOver(&btnOutlineOver); GuiButton okBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); okBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM); okBtn.SetPosition(100, -35); okBtn.SetLabel(&okBtnTxt); okBtn.SetImage(&okBtnImg); okBtn.SetImageOver(&okBtnImgOver); okBtn.SetTrigger(&trigA); okBtn.SetEffectGrow(); GuiText backBtnTxt(tr("Stop"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage backBtnImg(&btnOutline); GuiImage backBtnImgOver(&btnOutlineOver); GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); backBtn.SetAlignment(ALIGN_RIGHT, ALIGN_BOTTOM); backBtn.SetPosition(-100, -35); backBtn.SetLabel(&backBtnTxt); backBtn.SetImage(&backBtnImg); backBtn.SetImageOver(&backBtnImgOver); backBtn.SetTrigger(&trigA); backBtn.SetEffectGrow(); GuiOptionBrowser optionBrowser(552, 248, &options); optionBrowser.SetPosition(0, 108); optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); optionBrowser.SetCol2Position(340); HaltGui(); GuiWindow w(screenwidth, screenheight); w.Append(&bgImg); w.Append(&titleTxt); w.Append(&okBtn); w.Append(&backBtn); mainWindow->Append(&w); mainWindow->Append(&optionBrowser); mainWindow->ChangeFocus(&optionBrowser); ResumeGui(); int change = 0; while(menu == MENU_NONE) { usleep(100); ret = optionBrowser.GetChangedOption(); if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_RIGHT | WPAD_CLASSIC_BUTTON_RIGHT) || PAD_ButtonsDown(0) & PAD_BUTTON_RIGHT) { change = 0; switch (ret) { case 0: change = network; change++; if(change > 1) change = 1; network = change; break; case 1: change = wifigecko; change++; if(change > 1) change = 1; wifigecko = change; break; case 2: change = newrevtext; change++; if(change > 1) change = 1; newrevtext = change; break; } HaltResumeGui(); } if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_LEFT | WPAD_CLASSIC_BUTTON_LEFT) || PAD_ButtonsDown(0) & PAD_BUTTON_LEFT) { change = 0; switch (ret) { case 0: change = network; change--; if(change < 0) change = 0; network = change; break; case 1: change = wifigecko; change--; if(change < 0) change = 0; wifigecko = change; break; case 2: change = newrevtext; change--; if(change < 0) change = 0; newrevtext = change; break; } HaltResumeGui(); } if(change != -1) { change = -1; if(network == 0) sprintf (options.value[0], tr("No")); else sprintf (options.value[0], tr("Yes")); if(wifigecko == 0) sprintf (options.value[1], tr("No")); else sprintf (options.value[1], tr("Yes")); if(newrevtext == 0) sprintf (options.value[2], tr("No")); else sprintf (options.value[2], tr("Yes")); optionBrowser.TriggerUpdate(); } if(optionBrowser.GetClickedOption() != -1) optionBrowser.TriggerUpdate(); if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B) || PAD_ButtonsDown(0) & PAD_BUTTON_B) { if(focus == 0) { focus = 1; mainWindow->ChangeFocus(&w); } else { focus = 0; mainWindow->ChangeFocus(&optionBrowser); } HaltResumeGui(); } if(okBtn.GetState() == STATE_CLICKED) { Options.temp_last_setting = 1; if (Options.temp_network != network) { if(network == 1) { ResumeNetworkThread(); } else { HaltNetworkThread(); } } Options.temp_network = network; Options.temp_wifigecko = wifigecko; Options.temp_newrevtext = newrevtext; menu = MENU_SETTINGS_FILE; } if(backBtn.GetState() == STATE_CLICKED) { Options.temp_last_setting = 1; menu = MENU_SETTINGS_FILE; } if(runaway == true) { Options.temp_last_setting = 1; menu = MENU_SETTINGS_FILE; } } HaltGui(); mainWindow->Remove(&optionBrowser); mainWindow->Remove(&w); return menu; }
int MenuSettingsTheme() { int menu = MENU_NONE; int ret = -1; int activated = -1; int i = 0; int focus = 0; OptionList options; sprintf(options.name[i], tr("STANDARD")); if(stricmp(Options.temp_theme.c_str(), tr("STANDARD")) == 0) { sprintf (options.value[i], tr("activated")); activated = i; } else sprintf (options.value[i], " "); i++; DIR *dirHandle; struct dirent * dirEntry; dirHandle = opendir(check_path(Settings.device_dat + ":/config/HBF/Themes").c_str()); if (dirHandle) { while (0 != (dirEntry = readdir(dirHandle))) { if(stricmp(dirEntry->d_name, ".") != 0 && stricmp(dirEntry->d_name, "..") != 0) { sprintf(options.name[i], dirEntry->d_name); if(stricmp(Options.temp_theme.c_str(), dirEntry->d_name) == 0) { sprintf (options.value[i], tr("activated")); activated = i; } else sprintf (options.value[i], " "); i++; } } closedir(dirHandle); } options.length = i; GuiImageData bgImgData(Theme.background); GuiImageData btnOutline(Theme.button_small); GuiImageData btnOutlineOver(Theme.button_small_focus); GuiTrigger trigA; trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); GuiImage bgImg(&bgImgData); GuiText titleTxt(tr("Themes"), 28, (GXColor){Theme.title_1, Theme.title_2, Theme.title_3, 255}); titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP); titleTxt.SetPosition(50,50); GuiText downloadBtnTxt(tr("Download"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage downloadBtnImg(&btnOutline); GuiImage downloadBtnImgOver(&btnOutlineOver); GuiButton downloadBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); downloadBtn.SetAlignment(ALIGN_RIGHT, ALIGN_TOP); downloadBtn.SetPosition(-100, 38); downloadBtn.SetLabel(&downloadBtnTxt); downloadBtn.SetImage(&downloadBtnImg); downloadBtn.SetImageOver(&downloadBtnImgOver); downloadBtn.SetTrigger(&trigA); downloadBtn.SetEffectGrow(); GuiText okBtnTxt(tr("OK"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage okBtnImg(&btnOutline); GuiImage okBtnImgOver(&btnOutlineOver); GuiButton okBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); okBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM); okBtn.SetPosition(100, -35); okBtn.SetLabel(&okBtnTxt); okBtn.SetImage(&okBtnImg); okBtn.SetImageOver(&okBtnImgOver); okBtn.SetTrigger(&trigA); okBtn.SetEffectGrow(); GuiText backBtnTxt(tr("Stop"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage backBtnImg(&btnOutline); GuiImage backBtnImgOver(&btnOutlineOver); GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); backBtn.SetAlignment(ALIGN_RIGHT, ALIGN_BOTTOM); backBtn.SetPosition(-100, -35); backBtn.SetLabel(&backBtnTxt); backBtn.SetImage(&backBtnImg); backBtn.SetImageOver(&backBtnImgOver); backBtn.SetTrigger(&trigA); backBtn.SetEffectGrow(); GuiOptionBrowser optionBrowser(552, 248, &options); optionBrowser.SetPosition(0, 108); optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); optionBrowser.Col1Scroll(280); optionBrowser.SetCol2Position(340); HaltGui(); GuiWindow w(screenwidth, screenheight); w.Append(&bgImg); w.Append(&titleTxt); w.Append(&downloadBtn); w.Append(&okBtn); w.Append(&backBtn); mainWindow->Append(&w); mainWindow->Append(&optionBrowser); mainWindow->ChangeFocus(&optionBrowser); ResumeGui(); while(menu == MENU_NONE) { usleep(100); ret = optionBrowser.GetClickedOption(); if(ret != -1) { for(i=0; i < options.length; i++) { if(i == ret) { sprintf (options.value[i], tr("activated")); activated = i; } else sprintf (options.value[i], " "); } optionBrowser.TriggerUpdate(); } if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B) || PAD_ButtonsDown(0) & PAD_BUTTON_B || WUPC_ButtonsDown(0) & WPAD_CLASSIC_BUTTON_B) { if(focus == 0) { focus = 1; mainWindow->ChangeFocus(&w); downloadBtn.ResetState(); okBtn.SetState(STATE_SELECTED); } else { focus = 0; mainWindow->ChangeFocus(&optionBrowser); } HaltResumeGui(); } if(downloadBtn.GetState() == STATE_CLICKED) { downloadBtn.ResetState(); string themedownload = checkThemesPrompt(); if(themedownload != "NULL") { if(theme_folder_exists(themedownload)) { themeDownload(themedownload); menu = MENU_SETTINGS_THEME; theme_dl = true; break; } } } if(okBtn.GetState() == STATE_CLICKED) { Options.temp_last_setting = 1; Options.temp_theme = options.name[activated]; menu = MENU_SETTINGS_FILE; } if(backBtn.GetState() == STATE_CLICKED) { Options.temp_last_setting = 1; menu = MENU_SETTINGS_FILE; } if(runaway == true) { Options.temp_last_setting = 1; menu = MENU_SETTINGS_FILE; } } HaltGui(); mainWindow->Remove(&optionBrowser); mainWindow->Remove(&w); return menu; }
static int MenuSettingsFile() { int menu = MENU_NONE; int ret; int i = 0; bool firstRun = true; OptionList options; sprintf(options.name[i++], "Load Device"); sprintf(options.name[i++], "Save Device"); sprintf(options.name[i++], "Folder 1"); sprintf(options.name[i++], "Folder 2"); sprintf(options.name[i++], "Folder 3"); sprintf(options.name[i++], "Auto Load"); sprintf(options.name[i++], "Auto Save"); options.length = i; GuiText titleTxt("Settings - Saving & Loading", 28, ColorGrey); titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP); titleTxt.SetPosition(50, 50); GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM); GuiImageData btnOutline(xenon_button_png); GuiImageData btnOutlineOver(xenon_button_over_png); GuiTrigger trigA; // trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); trigA.SetSimpleTrigger(-1, 0, PAD_BUTTON_A); GuiText backBtnTxt("Go Back", 22, ColorGrey2); GuiImage backBtnImg(&btnOutline); GuiImage backBtnImgOver(&btnOutlineOver); GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); backBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM); backBtn.SetPosition(100, -35); backBtn.SetLabel(&backBtnTxt); backBtn.SetImage(&backBtnImg); backBtn.SetImageOver(&backBtnImgOver); backBtn.SetSoundOver(&btnSoundOver); backBtn.SetTrigger(&trigA); backBtn.SetEffectGrow(); GuiOptionBrowser optionBrowser(552, 248, &options); optionBrowser.SetPosition(0, 108); optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); optionBrowser.SetCol2Position(185); HaltGui(); GuiWindow w(screenwidth, screenheight); w.Append(&backBtn); mainWindow->Append(&optionBrowser); mainWindow->Append(&w); mainWindow->Append(&titleTxt); ResumeGui(); while (menu == MENU_NONE) { UGUI(); usleep(THREAD_SLEEP); ret = optionBrowser.GetClickedOption(); switch (ret) { case 0: Settings.LoadMethod++; break; case 1: Settings.SaveMethod++; break; case 2: OnScreenKeyboard(Settings.Folder1, 256); break; case 3: OnScreenKeyboard(Settings.Folder2, 256); break; case 4: OnScreenKeyboard(Settings.Folder3, 256); break; case 5: Settings.AutoLoad++; if (Settings.AutoLoad > 2) Settings.AutoLoad = 0; break; case 6: Settings.AutoSave++; if (Settings.AutoSave > 3) Settings.AutoSave = 0; break; } if (ret >= 0 || firstRun) { firstRun = false; // correct load/save methods out of bounds if (Settings.LoadMethod > 4) Settings.LoadMethod = 0; if (Settings.SaveMethod > 6) Settings.SaveMethod = 0; if (Settings.LoadMethod == METHOD_AUTO) sprintf(options.value[0], "Auto Detect"); else if (Settings.LoadMethod == METHOD_SD) sprintf(options.value[0], "SD"); else if (Settings.LoadMethod == METHOD_USB) sprintf(options.value[0], "USB"); else if (Settings.LoadMethod == METHOD_DVD) sprintf(options.value[0], "DVD"); else if (Settings.LoadMethod == METHOD_SMB) sprintf(options.value[0], "Network"); if (Settings.SaveMethod == METHOD_AUTO) sprintf(options.value[1], "Auto Detect"); else if (Settings.SaveMethod == METHOD_SD) sprintf(options.value[1], "SD"); else if (Settings.SaveMethod == METHOD_USB) sprintf(options.value[1], "USB"); else if (Settings.SaveMethod == METHOD_SMB) sprintf(options.value[1], "Network"); else if (Settings.SaveMethod == METHOD_MC_SLOTA) sprintf(options.value[1], "MC Slot A"); else if (Settings.SaveMethod == METHOD_MC_SLOTB) sprintf(options.value[1], "MC Slot B"); snprintf(options.value[2], 256, "%s", Settings.Folder1); snprintf(options.value[3], 256, "%s", Settings.Folder2); snprintf(options.value[4], 256, "%s", Settings.Folder3); if (Settings.AutoLoad == 0) sprintf(options.value[5], "Off"); else if (Settings.AutoLoad == 1) sprintf(options.value[5], "Some"); else if (Settings.AutoLoad == 2) sprintf(options.value[5], "All"); if (Settings.AutoSave == 0) sprintf(options.value[5], "Off"); else if (Settings.AutoSave == 1) sprintf(options.value[6], "Some"); else if (Settings.AutoSave == 2) sprintf(options.value[6], "All"); optionBrowser.TriggerUpdate(); } if (backBtn.GetState() == STATE_CLICKED) { menu = MENU_SETTINGS; } } HaltGui(); mainWindow->Remove(&optionBrowser); mainWindow->Remove(&w); mainWindow->Remove(&titleTxt); return menu; }