/** \fn GalleryView::MenuMain() * \brief Shows the main menu when the MENU button was pressed * \return void */ void GalleryView::MenuMain() { // Create the main menu that // will contain the submenus above MythMenu *menu = new MythMenu(tr("Image Options"), this, "mainmenu"); // Depending on the status of the sync show either the // start sync or stop sync. The user can decide if he // wants to stop the sync before leaving the main screen. if (!m_syncStatusThread->isSyncRunning()) menu->AddItem(tr("Start Syncronization"), SLOT(ConfirmStartSync())); else menu->AddItem(tr("Stop Syncronization"), SLOT(ConfirmStopSync())); // Add the available submenus to the main menu. The methods will // check if the requirements for showing the menu item is fulfilled MenuMetadata(menu); MenuSelection(menu); MenuFile(menu); menu->AddItem(tr("Settings"), SLOT(MenuSettings())); m_menuPopup = new MythDialogBox(menu, m_popupStack, "menuPopup"); if (!m_menuPopup->Create()) { delete m_menuPopup; m_menuPopup = NULL; return; } m_popupStack->AddScreen(m_menuPopup); }
/**************************************************************************** * MainMenu ***************************************************************************/ void MainMenu(int menu) { int currentMenu = menu; // position der letzten app for(int i = 0; i < (signed)vechomebrew_list_category[Settings.current_category].size(); i++) { string name = vechomebrew_list_category[Settings.current_category][i].foldername; if((signed)name.rfind("/") != -1) name.erase(name.rfind("/")); name.erase(0, name.rfind("/") +1); if(name == Settings.startingAppName) { Settings.last_app_pos = i; break; } } bgImg = new GuiImage(new GuiImageData(Theme.background)); mainWindow->Append(bgImg); while(currentMenu != MENU_EXIT) { switch (currentMenu) { case MENU_MAIN: currentMenu = MenuMain(); break; case MENU_SETTINGS: currentMenu = MenuSettings(); break; case MENU_SETTINGS_FILE: currentMenu = MenuSettingsFile(); break; case MENU_SETTINGS_THEME: currentMenu = MenuSettingsTheme(); break; case MENU_SETTINGS_LANGUAGE: currentMenu = MenuSettingsLanguage(); break; case MENU_SETTINGS_FONT: currentMenu = MenuSettingsFont(); break; case MENU_SETTINGS_DISPLAY: currentMenu = MenuSettingsDisplay(); break; case MENU_SETTINGS_CHILDLOCK: currentMenu = MenuSettingsChildlock(); break; case MENU_SETTINGS_NETWORK: currentMenu = MenuSettingsNetwork(); break; default: // unrecognized menu currentMenu = MenuMain(); break; } } ResumeGui(); ExitRequested = 1; HaltGui(); delete mainWindow; delete pointer; mainWindow = NULL; }
/**************************************************************************** * MainMenu ***************************************************************************/ void MainMenu(int menu) { TR; int currentMenu = menu; #ifdef HW_RVL pointer[0] = new GuiImageData(player1_point_png); pointer[1] = new GuiImageData(player2_point_png); pointer[2] = new GuiImageData(player3_point_png); pointer[3] = new GuiImageData(player4_point_png); #endif GuiImageData * background = new GuiImageData(xenon_bg_png); mainWindow = new GuiWindow(screenwidth, screenheight); bgImg = new GuiImage(background); // bgImg = new GuiImage(screenwidth, screenheight, (GXColor) { // 50, 50, 50, 255 // }); // bgImg->ColorStripe(30); mainWindow->Append(bgImg); GuiTrigger trigA; // trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); trigA.SetSimpleTrigger(-1, 0, PAD_BUTTON_A); ResumeGui(); bgMusic = new GuiSound(bg_music_ogg, bg_music_ogg_size, SOUND_OGG); bgMusic->SetVolume(50); bgMusic->Play(); // startup music while (currentMenu != MENU_EXIT) { switch (currentMenu) { case MENU_SETTINGS: currentMenu = MenuSettings(); break; case MENU_SETTINGS_FILE: currentMenu = MenuSettingsFile(); break; case MENU_BROWSE_DEVICE: currentMenu = MenuBrowseDevice(); break; default: // unrecognized menu currentMenu = MenuSettings(); break; } // currentMenu=MenuTest(); // currentMenu = MenuBrowseDevice(); } ResumeGui(); ExitRequested = 1; while (1) { UGUI(); usleep(THREAD_SLEEP); } HaltGui(); bgMusic->Stop(); delete bgMusic; delete bgImg; delete mainWindow; delete pointer[0]; delete pointer[1]; delete pointer[2]; delete pointer[3]; mainWindow = NULL; }