static void SetupMenuCallback(void* data, QString& selection) { (void)data; QString sel = selection.toLower(); if (sel == "general") { BackendSettings be; be.exec(); } else if (sel == "capture cards") { CaptureCardEditor cce; cce.exec(); } else if (sel == "video sources") { VideoSourceEditor vse; vse.exec(); } else if (sel == "card inputs") { CardInputEditor cie; cie.exec(); } else if (sel == "recording profile") { ProfileGroupEditor editor; editor.exec(); } else if (sel == "channel editor") { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ChannelEditor *chanedit = new ChannelEditor(mainStack); if (chanedit->Create()) mainStack->AddScreen(chanedit); else delete chanedit; } else if (sel == "storage groups") { StorageGroupListEditor sge; sge.exec(); } else if (sel == "systemeventeditor") { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); MythSystemEventEditor *msee = new MythSystemEventEditor( mainStack, "System Event Editor"); if (msee->Create()) mainStack->AddScreen(msee); else delete msee; } else if (sel.startsWith("exiting_app")) { if (!exitPrompt) exitPrompt = new ExitPrompter(); exitPrompt->handleExit(); } else LOG(VB_GENERAL, LOG_ERR, "Unknown menu action: " + selection); }
static void TVMenuCallback(void *data, QString &selection) { (void)data; QString sel = selection.toLower(); if (sel.left(9) == "settings ") { GetMythUI()->AddCurrentLocation("Setup"); gCoreContext->ActivateSettingsCache(false); } if (sel == "tv_watch_live") startTVNormal(); else if (sel == "tv_watch_live_epg") startTVInGuide(); else if (sel.left(18) == "tv_watch_recording") { // use selection here because its case is untouched if ((selection.length() > 19) && (selection.mid(18, 1) == " ")) startPlaybackWithGroup(selection.mid(19)); else startPlayback(); } else if (sel == "tv_schedule") startGuide(); else if (sel == "tv_delete") startDelete(); else if (sel == "tv_manualschedule") startManualSchedule(); else if (sel == "tv_custom_record") startCustomEdit(); else if (sel == "tv_fix_conflicts") startManaged(); else if (sel == "tv_set_recpriorities") startProgramRecPriorities(); else if (sel == "tv_manage_recording_rules") startManageRecordingRules(); else if (sel == "tv_progfind") startFinder(); else if (sel == "tv_search_title") startSearchTitle(); else if (sel == "tv_search_keyword") startSearchKeyword(); else if (sel == "tv_search_people") startSearchPeople(); else if (sel == "tv_search_power") startSearchPower(); else if (sel == "tv_search_stored") startSearchStored(); else if (sel == "tv_search_channel") startSearchChannel(); else if (sel == "tv_search_category") startSearchCategory(); else if (sel == "tv_search_movie") startSearchMovie(); else if (sel == "tv_search_new") startSearchNew(); else if (sel == "tv_search_time") startSearchTime(); else if (sel == "tv_previous") startPrevious(); else if (sel == "settings appearance") { AppearanceSettings *settings = new AppearanceSettings(); DialogCode res = settings->exec(); delete settings; if (kDialogCodeRejected != res) { qApp->processEvents(); GetMythMainWindow()->JumpTo("Reload Theme"); } } else if (sel == "settings themechooser") { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ThemeChooser *tp = new ThemeChooser(mainStack); if (tp->Create()) mainStack->AddScreen(tp); else delete tp; } else if (sel == "settings setupwizard") { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); GeneralSetupWizard *sw = new GeneralSetupWizard(mainStack, "setupwizard"); if (sw->Create()) mainStack->AddScreen(sw); else delete sw; } else if (sel == "settings grabbers") { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); GrabberSettings *gs = new GrabberSettings(mainStack, "grabbersettings"); if (gs->Create()) mainStack->AddScreen(gs); else delete gs; } else if (sel == "screensetupwizard") { startAppearWiz(); } else if (sel == "setup_keys") { startKeysSetup(); } else if (sel == "settings recording") { ProfileGroupEditor editor; editor.exec(); } else if (sel == "settings playgroup") { PlayGroupEditor editor; editor.exec(); } else if (sel == "settings general") { GeneralSettings settings; settings.exec(); } else if (sel == "settings audiogeneral") { AudioGeneralSettings audiosettings; audiosettings.exec(); } else if (sel == "settings maingeneral") { MainGeneralSettings mainsettings; mainsettings.exec(); QStringList strlist( QString("REFRESH_BACKEND") ); gCoreContext->SendReceiveStringList(strlist); } else if (sel == "settings audiogeneral") { AudioGeneralSettings audiosettings; audiosettings.exec(); } else if (sel == "settings playback") { PlaybackSettings settings; settings.exec(); } else if (sel == "settings osd") { OSDSettings settings; settings.exec(); } else if (sel == "settings epg") { EPGSettings settings; settings.exec(); } else if (sel == "settings channelgroups") { ChannelGroupEditor editor; editor.exec(); } else if (sel == "settings generalrecpriorities") { GeneralRecPrioritiesSettings settings; settings.exec(); } else if (sel == "settings channelrecpriorities") { startChannelRecPriorities(); } else if (sel == "settings custompriority") { startCustomPriority(); } else if (sel == "system_events") { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); MythSystemEventEditor *msee = new MythSystemEventEditor( mainStack, "System Event Editor"); if (msee->Create()) mainStack->AddScreen(msee); else delete msee; } else if (sel == "tv_status") showStatus(); else if (sel == "exiting_app") handleExit(); else VERBOSE(VB_IMPORTANT, "Unknown menu action: " + selection); if (sel.left(9) == "settings ") { GetMythUI()->RemoveCurrentLocation(); gCoreContext->ActivateSettingsCache(true); RemoteSendMessage("CLEAR_SETTINGS_CACHE"); if (sel == "settings general" || sel == "settings generalrecpriorities") ScheduledRecording::signalChange(0); } }