コード例 #1
0
void CPersonalizeGui::ShowMainMenuOptions()
{
/*      Here we give the user the option to enable, disable, or PIN protect items on the Main Menu.
        We also provide a means of PIN protecting the menu itself. */

	int old_tvmode		= g_settings.personalize_tvmode;
	int old_radiomode	= g_settings.personalize_radiomode;
	int old_scartmode	= g_settings.personalize_scartmode;
	int old_games		= g_settings.personalize_games;
	int old_audioplayer	= g_settings.personalize_audioplayer;
	int old_inetradio		= g_settings.personalize_inetradio;
	int old_movieplayer	= g_settings.personalize_movieplayer;
	int old_pictureviewer	= g_settings.personalize_pictureviewer;
#ifdef ENABLE_UPNP
	int old_upnpbrowser	= g_settings.personalize_upnpbrowser;
#endif
	int old_settings		= g_settings.personalize_settings;
	int old_service		= g_settings.personalize_service;
	int old_sleeptimer	= g_settings.personalize_sleeptimer;
	int old_reboot		= g_settings.personalize_reboot;
	int old_shutdown		= g_settings.personalize_shutdown;

	int shortcut = 1;

	CMenuWidget* pMMMenu = new CMenuWidget(LOCALE_MAINMENU_HEAD,NEUTRINO_ICON_PROTECTING, width);

	pMMMenu->addItem(GenericMenuSeparator);
	pMMMenu->addItem(GenericMenuBack);
	pMMMenu->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_PERSONALIZE_ACCESS));

	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_TVMODE, (int *)&g_settings.personalize_tvmode, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_RADIOMODE, (int *)&g_settings.personalize_radiomode, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_SCARTMODE, (int *)&g_settings.personalize_scartmode, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_GAMES, (int *)&g_settings.personalize_games, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE));
	pMMMenu->addItem(GenericMenuSeparatorLine);

	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_AUDIOPLAYER, (int *)&g_settings.personalize_audioplayer,PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_INETRADIO_NAME, (int *)&g_settings.personalize_inetradio,PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_MOVIEPLAYER, (int *)&g_settings.personalize_movieplayer, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_PICTUREVIEWER, (int *)&g_settings.personalize_pictureviewer, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
#ifdef ENABLE_UPNP
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_UPNPBROWSER, (int *)&g_settings.personalize_upnpbrowser, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
#endif
	pMMMenu->addItem(GenericMenuSeparatorLine);
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_SLEEPTIMER, (int *)&g_settings.personalize_sleeptimer, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_REBOOT, (int *)&g_settings.personalize_reboot, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)));
	pMMMenu->addItem(new CMenuOptionChooser(LOCALE_MAINMENU_SHUTDOWN, (int *)&g_settings.personalize_shutdown, PERSONALIZE_STD_OPTIONS, PERSONALIZE_STD_OPTION_COUNT, true, NULL, CRCInput::RC_standby, NEUTRINO_ICON_BUTTON_POWER));

	pMMMenu->addItem(GenericMenuSeparator);

	pMMMenu->exec (NULL, "");
	pMMMenu->hide ();
	delete pMMMenu;

	// Check for changes
	if (	   old_tvmode != g_settings.personalize_tvmode
		|| old_radiomode != g_settings.personalize_radiomode
		|| old_scartmode != g_settings.personalize_scartmode
		|| old_games != g_settings.personalize_games
		|| old_audioplayer != g_settings.personalize_audioplayer
		|| old_inetradio != g_settings.personalize_inetradio
		|| old_movieplayer != g_settings.personalize_movieplayer
		|| old_pictureviewer != g_settings.personalize_pictureviewer
#ifdef ENABLE_UPNP
		|| old_upnpbrowser != g_settings.personalize_upnpbrowser
#endif
		|| old_settings != g_settings.personalize_settings
		|| old_service != g_settings.personalize_service
		|| old_sleeptimer != g_settings.personalize_sleeptimer
		|| old_reboot != g_settings.personalize_reboot
		|| old_shutdown != g_settings.personalize_shutdown) {

		if (ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_PERSONALIZE_SAVERESTART), CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo, NEUTRINO_ICON_PROTECTING) == CMessageBox::mbrYes)
		{
			SaveAndRestart(); 
		}
	}
}
コード例 #2
0
ファイル: lcd_setup.cpp プロジェクト: UkCvs/ukcvs
void CLcdSetup::showSetup()
{

	CMenuWidget * lcds = new CMenuWidget(menue_title, menue_icon, width);
	if (menue_title != NONEXISTANT_LOCALE)
	{
		CMenuSeparator * lcds_subhead = new CMenuSeparator(CMenuSeparator::ALIGN_LEFT | CMenuSeparator::SUB_HEAD | CMenuSeparator::STRING, LOCALE_LCDMENU_HEAD);
		lcds->addItem(lcds_subhead);
	}

	//sliders
	CLcdControler* lcdsliders = new CLcdControler(LOCALE_LCDMENU_HEAD, NULL);

	//option invert
	CLcdNotifier* lcdnotifier = new CLcdNotifier();
	CMenuOptionChooser* oj_inverse = new CMenuOptionChooser(LOCALE_LCDMENU_INVERSE, &g_settings.lcd_setting[SNeutrinoSettings::LCD_INVERSE], OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, lcdnotifier);

#ifndef HAVE_TRIPLEDRAGON
	CMenuOptionChooser* oj_bias = NULL;
	if (g_info.box_Type == CControld::TUXBOX_MAKER_PHILIPS)
		oj_bias = new CMenuOptionChooser(LOCALE_LCDMENU_BIAS, &g_settings.lcd_setting[SNeutrinoSettings::LCD_BIAS], OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, lcdnotifier);

	CMenuOptionChooser* oj_power = new CMenuOptionChooser(LOCALE_LCDMENU_POWER, &g_settings.lcd_setting[SNeutrinoSettings::LCD_POWER], OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, lcdnotifier);

	// Autodimm available on Sagem/Philips only
	CMenuOptionChooser* oj_dimm = NULL;
	if ((g_info.box_Type == CControld::TUXBOX_MAKER_PHILIPS) || (g_info.box_Type == CControld::TUXBOX_MAKER_SAGEM))
		oj_dimm = new CMenuOptionChooser(LOCALE_LCDMENU_AUTODIMM, &g_settings.lcd_setting[SNeutrinoSettings::LCD_AUTODIMM], OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, lcdnotifier);

	//dimm time
	CStringInput * dim_time = new CStringInput(LOCALE_LCDMENU_DIM_TIME, g_settings.lcd_setting_dim_time, 3,	NONEXISTANT_LOCALE, NONEXISTANT_LOCALE,"0123456789 ");
	CMenuForwarder * fw_dim_time = new CMenuForwarder(LOCALE_LCDMENU_DIM_TIME,true, g_settings.lcd_setting_dim_time,dim_time);

	//brightness
	CStringInput * dim_brightness = new CStringInput(LOCALE_LCDMENU_DIM_BRIGHTNESS, g_settings.lcd_setting_dim_brightness, 3,NONEXISTANT_LOCALE, NONEXISTANT_LOCALE,"0123456789 ");
	CMenuForwarder * fw_brightness = new CMenuForwarder(LOCALE_LCDMENU_DIM_BRIGHTNESS,true, g_settings.lcd_setting_dim_brightness,dim_brightness);
#endif
	//sliders
	CMenuForwarder * fw_sliders = new CMenuForwarder(LOCALE_LCDMENU_LCDCONTROLER, true, NULL, lcdsliders);

	//status display
	CMenuOptionChooser* oj_status = new CMenuOptionChooser(LOCALE_LCDMENU_STATUSLINE, &g_settings.lcd_setting[SNeutrinoSettings::LCD_SHOW_VOLUME], LCDMENU_STATUSLINE_OPTIONS, LCDMENU_STATUSLINE_OPTION_COUNT, true);
	
	//lcd_epg
	CMenuOptionChooser* oj_epg = new CMenuOptionChooser(LOCALE_LCDMENU_EPG, &g_settings.lcd_setting[SNeutrinoSettings::LCD_EPGMODE], LCDMENU_EPG_OPTIONS, LCDMENU_EPG_OPTION_COUNT, true);

	//align
	CMenuOptionChooser* oj_align = new CMenuOptionChooser(LOCALE_LCDMENU_EPGALIGN, &g_settings.lcd_setting[SNeutrinoSettings::LCD_EPGALIGN], LCDMENU_EPGALIGN_OPTIONS, LCDMENU_EPGALIGN_OPTION_COUNT, true);


	//paint items
	lcds->addItem(GenericMenuSeparator);
	lcds->addItem(GenericMenuBack);
	lcds->addItem(GenericMenuSeparatorLine);
	//----------------------------------------
	lcds->addItem(oj_inverse);
#ifndef HAVE_TRIPLEDRAGON
	if (oj_bias !=NULL)
		lcds->addItem(oj_bias);
	lcds->addItem(oj_power);
	if (oj_dimm !=NULL)
		lcds->addItem(oj_dimm);
	lcds->addItem(fw_dim_time);
	lcds->addItem(fw_brightness);
#endif
	//---------------------------------------
	lcds->addItem(GenericMenuSeparatorLine);
	lcds->addItem(fw_sliders);
	//---------------------------------------
	lcds->addItem(GenericMenuSeparatorLine);
	lcds->addItem(oj_status);
	//---------------------------------------
	lcds->addItem(GenericMenuSeparatorLine);
	lcds->addItem(oj_epg);
	lcds->addItem(oj_align);

	lcds->exec(NULL, "");
	lcds->hide();
	delete lcds;
}
コード例 #3
0
ファイル: driver_boot_setup.cpp プロジェクト: UkCvs/ukcvs
void CDriverBootSetup::showSetup()
{

	CMenuWidget * dbs = new CMenuWidget(menue_title, menue_icon, width);
	if (menue_title != NONEXISTANT_LOCALE)
	{
		CMenuSeparator * dbs_subhead = new CMenuSeparator(CMenuSeparator::ALIGN_LEFT | CMenuSeparator::SUB_HEAD | CMenuSeparator::STRING, LOCALE_DRIVERSETTINGS_DRIVER_BOOT);
		dbs->addItem(dbs_subhead);
	}

	bool item_enabled[DRIVER_SETTING_FILES_COUNT];
	int boxtype = g_Controld->getBoxType();

#ifdef HAVE_DBOX_HARDWARE
	CSPTSNotifier *sptsNotifier = new CSPTSNotifier;
	CMenuOptionChooser * oj_spts = new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_SPTSMODE, &g_settings.misc_spts, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, sptsNotifier);
#endif

	CMenuOptionChooser * oj_switches[DRIVER_SETTING_FILES_COUNT];

	for (int i = 0; i < DRIVER_SETTING_FILES_COUNT; i++)
	{
		FILE * fd = fopen(driver_setting_files[i].filename, "r");
		if (fd)
		{
			fclose(fd);
			g_settings.misc_option[i] = 1;
		}
		else
			g_settings.misc_option[i] = 0;
		
		if (!strcmp(driver_setting_files[i].filename, "/var/etc/.philips_rc_patch") && (boxtype == 1)) // usefully for Philips RC and sometimes for Sagem RC
			item_enabled[i] = false;
		else if (!strcmp(driver_setting_files[i].filename, "/var/etc/.no_enxwatchdog") && (boxtype == 1)) // not for Nokia
			item_enabled[i] = false;
		else if (!strcmp(driver_setting_files[i].filename, "/var/etc/.sptsfix") && (boxtype != 1)) // only Nokia has Avia500
			item_enabled[i] = false;
		else
			item_enabled[i] = true;

		oj_switches[i] = new CMenuOptionChooser(driver_setting_files[i].name, &(g_settings.misc_option[i]), driver_setting_files[i].options, 2, item_enabled[i], new CTouchFileNotifier(driver_setting_files[i].filename));
	}

#ifdef HAVE_DBOX_HARDWARE
	CMenuOptionChooser * oj_boot_console = new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_FB_DESTINATION, &g_settings.uboot_console, DRIVERSETTINGS_FB_DESTINATION_OPTIONS, DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT, true, new CConsoleDestChangeNotifier);
	CMenuOptionChooser * oj_dbox_duplex = new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_FDX_LOAD, &g_settings.uboot_dbox_duplex, DRIVERSETTINGS_FDX_OPTIONS, DRIVERSETTINGS_FDX_OPTION_COUNT, true, new CFdxChangeNotifier);
#endif

	//paint items
	dbs->addItem(GenericMenuSeparator);
	dbs->addItem(GenericMenuBack);
	dbs->addItem(GenericMenuSeparatorLine);
	//-----------------------------------------
#ifdef HAVE_DBOX_HARDWARE
	dbs->addItem(oj_spts);
#endif
	//-----------------------------------------
	for (int i = 0; i < DRIVER_SETTING_FILES_COUNT; i++)
		dbs->addItem(oj_switches[i]);
#ifdef HAVE_DBOX_HARDWARE
	dbs->addItem(GenericMenuSeparatorLine);
	//-----------------------------------------
	dbs->addItem(oj_boot_console);
	dbs->addItem(oj_dbox_duplex);
#endif

	dbs->exec(NULL, "");
	dbs->hide();
	delete dbs;
}
コード例 #4
0
void CFBCallMonitor::doMenu()
{
    // read settings
    ReadSettings();

    // create menu
    CMenuWidget * FritzBoxCallSettingsMenu = new CMenuWidget("FritzBoxCallMonitor", NEUTRINO_ICON_SETTINGS);

    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder(LOCALE_MENU_BACK, true, NULL, NULL, NULL, CRCInput::RC_nokey, NEUTRINO_ICON_BUTTON_LEFT));
    FritzBoxCallSettingsMenu->addItem(new CMenuSeparator(CMenuSeparator::LINE));
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Einstellungen speichern", true, NULL, this, "save", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED));
    FritzBoxCallSettingsMenu->addItem(new CMenuSeparator(CMenuSeparator::LINE));

    // fb ip
    CStringInputSMS * FB_IP = new CStringInputSMS((char *)"IP der Fritzbox", (char *)FB_IP_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("IP der Fritzbox", true, FB_IP_STRG, FB_IP, NULL));

    // fb port
    CStringInputSMS * FB_PORT = new CStringInputSMS((char *)"Port der Fritzbox", (char *)FB_PORT_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("PORT der Fritzbox", true, FB_PORT_STRG, FB_PORT, NULL));

    // debug
    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("Debug (nur in Telnet!)", &FB_DEBUG, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));

    // ziel1
    CStringInputSMS * FB_ZIEL1 = new CStringInputSMS((char *)"Rufnummer 1", (char *)FB_ZIEL1_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Rufnummer 1", true, FB_ZIEL1_STRG, FB_ZIEL1, NULL));

    CStringInputSMS * FB_ZIEL1N = new CStringInputSMS((char *)"Rufnummer 1 Name", (char *)FB_ZIEL1N_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Rufnummer 1 Name", true, FB_ZIEL1N_STRG, FB_ZIEL1N, NULL));

    CStringInputSMS * FB_ZIEL2 = new CStringInputSMS((char *)"Rufnummer 2", (char *)FB_ZIEL2_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Rufnummer 2", true, FB_ZIEL2_STRG, FB_ZIEL2, NULL));

    CStringInputSMS * FB_ZIEL2N = new CStringInputSMS((char *)"Rufnummer 2 Name", (char *)FB_ZIEL2N_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Rufnummer 2 Name", true, FB_ZIEL2N_STRG, FB_ZIEL2N, NULL));

    CStringInputSMS * FB_ZIEL3 = new CStringInputSMS((char *)"Rufnummer 3", (char *)FB_ZIEL3_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Rufnummer 3", true, FB_ZIEL3_STRG, FB_ZIEL3, NULL));

    CStringInputSMS * FB_ZIEL3N = new CStringInputSMS((char *)"Rufnummer 3 Name", (char *)FB_ZIEL3N_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Rufnummer 3 Name", true, FB_ZIEL3N_STRG, FB_ZIEL3N, NULL));

    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("alle Rufnummern ueberwachen", &FB_ALLE, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));
    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("eingehende Anrufe anzeigen", &FB_MONRING, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));
    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("Ende+Dauer des Anrufs anzeigen", &FB_MONDISCONNECT, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));
    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("Ton aus bei Anruf", &FB_MUTERING, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));
    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("Popup statt normale Meldung", &FB_POPUP, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));
    FritzBoxCallSettingsMenu->addItem(new CMenuOptionChooser("Inverssuche (GoYellow)", &FB_INVERS, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, NULL));

    CStringInputSMS * FB_BOXIP = new CStringInputSMS((char *)"Box IP", (char *)FB_BOXIP_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Box IP", true, FB_BOXIP_STRG, FB_BOXIP, NULL));

    CStringInputSMS * FB_BOXUSERNAME = new CStringInputSMS((char *)"Box Username", (char *)FB_BOXUSERNAME_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Box Username", true, FB_BOXUSERNAME_STRG, FB_BOXUSERNAME, NULL));

    CStringInputSMS * FB_BOXPASSWORD = new CStringInputSMS((char *)"Box Passwort", (char *)FB_BOXPASSWORD_STRG.c_str());
    FritzBoxCallSettingsMenu->addItem(new CMenuForwarder("Box Passwort", true, FB_BOXPASSWORD_STRG, FB_BOXPASSWORD, NULL));

    FritzBoxCallSettingsMenu->exec(NULL, "");
    FritzBoxCallSettingsMenu->hide();

    delete FritzBoxCallSettingsMenu;
}