void CScanSetup::showScanService() { dprintf(DEBUG_DEBUG, "init scansettings\n"); initScanSettings(); //menue init CMenuWidget* scansetup = new CMenuWidget(LOCALE_SERVICEMENU_HEAD, NEUTRINO_ICON_SETTINGS, width); //subhead scansetup->addItem( new CMenuSeparator(CMenuSeparator::ALIGN_LEFT | CMenuSeparator::SUB_HEAD | CMenuSeparator::STRING, LOCALE_SERVICEMENU_SCANTS)); //prepare scantype green CMenuOptionChooser* ojScantype = new CMenuOptionChooser(LOCALE_ZAPIT_SCANTYPE, (int *)&scanSettings.scanType, SCANTS_ZAPIT_SCANTYPE, SCANTS_ZAPIT_SCANTYPE_COUNT, true, NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN); //prepare bouquet mode yellow CMenuOptionChooser* ojBouquets = new CMenuOptionChooser(LOCALE_SCANTS_BOUQUET, (int *)&scanSettings.bouquetMode, SCANTS_BOUQUET_OPTIONS, SCANTS_BOUQUET_OPTION_COUNT, true, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW); // intros scansetup->addItem(GenericMenuSeparator); scansetup->addItem(GenericMenuBack); scansetup->addItem(GenericMenuSeparatorLine); //save button red scansetup->addItem(new CMenuForwarder(LOCALE_MAINSETTINGS_SAVESETTINGSNOW, true, NULL, this, "save_action", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED)); scansetup->addItem(GenericMenuSeparatorLine); //sat-lnb-settings if(g_info.delivery_system == DVB_S) { g_Zapit->getScanSatelliteList(satList); //prepare diseqc CMenuOptionStringChooser* ojSat = new CMenuOptionStringChooser(LOCALE_SATSETUP_SATELLITE, scanSettings.satNameNoDiseqc, ((scanSettings.diseqcMode == DISEQC_1_2) || (scanSettings.diseqcMode == NO_DISEQC))); for (uint i=0; i < sat_list_size; i++) { ojSat->addOption(satList[i].satName); dprintf(DEBUG_DEBUG, "got scanprovider (sat): %s\n", satList[i].satName ); } //prepare diseqc repeats CMenuOptionNumberChooser * ojDiseqcRepeats = new CMenuOptionNumberChooser(LOCALE_SATSETUP_DISEQCREPEAT, (int *)&scanSettings.diseqcRepeat, (scanSettings.diseqcMode != NO_DISEQC) && (scanSettings.diseqcMode != DISEQC_1_0), 0, 2); //extended sat settings CMenuWidget* extSatSettings = new CMenuWidget(LOCALE_SATSETUP_EXTENDED, NEUTRINO_ICON_SETTINGS); //intros ext sat settings extSatSettings->addItem(GenericMenuSeparator); extSatSettings->addItem(GenericMenuBack); extSatSettings->addItem(GenericMenuSeparatorLine); //prepare diseqc mode CMenuForwarder* ojExtSatSettings = new CMenuForwarder(LOCALE_SATSETUP_EXTENDED, (scanSettings.diseqcMode != NO_DISEQC), NULL, extSatSettings, NULL, CRCInput::RC_1); //make sat list for( uint i=0; i < sat_list_size; i++) { CMenuOptionNumberChooser * oj = new CMenuOptionNumberChooser(NONEXISTANT_LOCALE, scanSettings.diseqscOfSat(satList[i].satName), true, -1, sat_list_size - 1, 1, -1, LOCALE_OPTIONS_OFF, satList[i].satName); extSatSettings->addItem(oj); } //motor settings CMenuWidget* extMotorSettings = new CMenuWidget(LOCALE_SATSETUP_EXTENDED_MOTOR, NEUTRINO_ICON_SETTINGS); //intros motor settings extMotorSettings->addItem(GenericMenuSeparator); extMotorSettings->addItem(GenericMenuBack); extMotorSettings->addItem(GenericMenuSeparatorLine); //save motorsettings red extMotorSettings->addItem(new CMenuForwarder(LOCALE_SATSETUP_SAVESETTINGSNOW, true, NULL, this, "save_action", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED)); extMotorSettings->addItem(GenericMenuSeparatorLine); //manual motor control extMotorSettings->addItem(new CMenuForwarder(LOCALE_SATSETUP_MOTORCONTROL, true, NULL, new CMotorControl(), NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN)); extMotorSettings->addItem(GenericMenuSeparatorLine); //prepare motor control CMenuForwarder* ojExtMotorSettings = new CMenuForwarder(LOCALE_SATSETUP_EXTENDED_MOTOR, (scanSettings.diseqcMode == DISEQC_1_2), NULL, extMotorSettings, NULL, CRCInput::RC_2); //prepare/show sat list with options for( uint i=0; i < sat_list_size; i++) { CMenuOptionNumberChooser * oj = new CMenuOptionNumberChooser(NONEXISTANT_LOCALE, scanSettings.motorPosOfSat(satList[i].satName), true, 0, 64/*sat_list_size*/, 0, 0, LOCALE_OPTIONS_OFF, satList[i].satName); extMotorSettings->addItem(oj); } //prepare sat list with diseqc options CMenuOptionChooser* ojDiseqc = new CMenuOptionChooser(LOCALE_SATSETUP_DISEQC, (int *)&scanSettings.diseqcMode, SATSETUP_DISEQC_OPTIONS, SATSETUP_DISEQC_OPTION_COUNT, true, new CSatDiseqcNotifier(ojSat, ojExtSatSettings, ojExtMotorSettings, ojDiseqcRepeats)); //show entries scansetup->addItem( ojScantype ); scansetup->addItem( ojBouquets ); scansetup->addItem(GenericMenuSeparatorLine); scansetup->addItem( ojDiseqc ); scansetup->addItem( ojSat ); scansetup->addItem( ojDiseqcRepeats ); scansetup->addItem( ojExtSatSettings ); scansetup->addItem( ojExtMotorSettings ); } else {//cable CZapitClient::SatelliteList providerList; g_Zapit->getScanSatelliteList(providerList); //prepare/show providers CMenuOptionStringChooser* oj = new CMenuOptionStringChooser(LOCALE_CABLESETUP_PROVIDER, (char*)&scanSettings.satNameNoDiseqc, true); for( uint i=0; i< provider_list_size; i++) { oj->addOption(providerList[i].satName); dprintf(DEBUG_DEBUG, "got scanprovider (cable): %s\n", providerList[i].satName ); } //show general entries scansetup->addItem( ojScantype ); scansetup->addItem( ojBouquets ); //show cable provider scansetup->addItem( oj); } //prepare scan mode (fast->on/off) CMenuOptionChooser* onoff_mode = ( new CMenuOptionChooser(LOCALE_SCANTP_SCANMODE, (int *)&scanSettings.scan_mode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); scansetup->addItem(GenericMenuSeparatorLine); if(scanSettings.TP_fec == 0) { scanSettings.TP_fec = 1; } //sub menue scanmode CMenuWidget* extscanmode = new CMenuWidget(LOCALE_SERVICEMENU_SCANTS, NEUTRINO_ICON_SETTINGS, width); std::string scan_mode = getScanModeString(scanSettings.TP_scan); CMenuForwarder* fwextscanmode = new CMenuForwarder(LOCALE_SERVICEMENU_SCANMODES, true, scan_mode/*NULL*/, extscanmode, NULL, (g_info.delivery_system == DVB_S) ? CRCInput::RC_3 : CRCInput::RC_1); scansetup->addItem(fwextscanmode); //show scan mode (fast->on/off) scansetup->addItem(onoff_mode); //intros scan mode extscanmode->addItem( new CMenuSeparator(CMenuSeparator::ALIGN_LEFT | CMenuSeparator::SUB_HEAD | CMenuSeparator::STRING, LOCALE_SERVICEMENU_SCANMODES)); extscanmode->addItem(GenericMenuSeparator); extscanmode->addItem(GenericMenuBack); extscanmode->addItem(GenericMenuSeparatorLine); //prepare frequency input, polarisation CStringInput* freq; CMenuOptionChooser* pol_mod; if(g_info.delivery_system == DVB_S) // sat { freq = new CStringInput(LOCALE_SCANTP_FREQ, (char *) scanSettings.TP_freq, 8, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789 "); pol_mod = new CMenuOptionChooser(LOCALE_SCANTP_POL, (int *)&scanSettings.TP_pol, SATSETUP_SCANTP_POL, SATSETUP_SCANTP_POL_COUNT, scanSettings.TP_scan == 1); } else // cable { freq = new CStringInput(LOCALE_SCANTP_FREQ, (char *) scanSettings.TP_freq, 9, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789 "); pol_mod = new CMenuOptionChooser(LOCALE_SCANTP_MOD, (int *)&scanSettings.TP_mod, CABLESETUP_SCANTP_MOD, CABLESETUP_SCANTP_MOD_COUNT, scanSettings.TP_scan == 1); } //prepare input signal rate CStringInput* rate = new CStringInput(LOCALE_SCANTP_RATE, (char *) scanSettings.TP_rate, 8, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789 "); //prepare fec select CMenuOptionChooser* fec = new CMenuOptionChooser(LOCALE_SCANTP_FEC, (int *)&scanSettings.TP_fec, SATSETUP_SCANTP_FEC, SATSETUP_SCANTP_FEC_COUNT, scanSettings.TP_scan == 1); //prepare auto scan CMenuOptionChooser* onoffscanSectionsd = ( new CMenuOptionChooser(LOCALE_SECTIONSD_SCANMODE, (int *)&scanSettings.scanSectionsd, SECTIONSD_SCAN_OPTIONS, SECTIONSD_SCAN_OPTIONS_COUNT, true, new CSectionsdConfigNotifier)); //prepare forwarders rate/freq CMenuForwarder *Rate = new CMenuForwarder(LOCALE_SCANTP_RATE, scanSettings.TP_scan == 1, scanSettings.TP_rate, rate); CMenuForwarder *Freq = new CMenuForwarder(LOCALE_SCANTP_FREQ, scanSettings.TP_scan == 1, scanSettings.TP_freq, freq); //sat-lnb-settings if(g_info.delivery_system == DVB_S) { uint i; int satfound = -1; int firstentry = -1; scanSettings.TP_SatSelectMenu = new CMenuOptionStringChooser(LOCALE_SATSETUP_SATELLITE, scanSettings.TP_satname, ((scanSettings.diseqcMode != NO_DISEQC) && scanSettings.TP_scan), new CScanSettingsSatManNotifier); // add the sats which are configured (diseqc or motorpos) to the list of available sats */ for (i = 0; i < sat_list_size; i++) { if ((((scanSettings.diseqcMode != DISEQC_1_2)) && (0 <= (*scanSettings.diseqscOfSat(satList[i].satName) ))) || (((scanSettings.diseqcMode == DISEQC_1_2)) && (0 <= (*scanSettings.motorPosOfSat(satList[i].satName))))) { if (firstentry == -1) firstentry = i; if (strcmp(scanSettings.TP_satname, satList[i].satName) == 0) satfound = i; scanSettings.TP_SatSelectMenu->addOption(satList[i].satName); dprintf(DEBUG_DEBUG, "satName = %s, diseqscOfSat(%d) = %d, motorPosOfSat(%d) = %d\n", satList[i].satName, i, *scanSettings.diseqscOfSat(satList[i].satName), i, *scanSettings.motorPosOfSat(satList[i].satName)); } } // if scanSettings.TP_satname cannot be found in the list of available sats use 1st in list if ((satfound == -1) && (sat_list_size)) { // strcpy(scanSettings.TP_satname, satList[firstentry].satName); strcpy(scanSettings.TP_satname, scanSettings.satNameNoDiseqc); } } else { scanSettings.TP_SatSelectMenu = NULL; } CTP_scanNotifier *TP_scanNotifier; CMenuOptionChooser* scan; if(g_info.delivery_system == DVB_S) { TP_scanNotifier= new CTP_scanNotifier(fec, pol_mod, Freq, Rate, scanSettings.TP_SatSelectMenu, fwextscanmode); scan = ( new CMenuOptionChooser(LOCALE_SCANTP_SCAN, (int *)&scanSettings.TP_scan, SCANTS_SCAN_OPTIONS, SCANTS_SCAN_OPTION_COUNT, true/*(g_info.delivery_system == DVB_S)*/, TP_scanNotifier)); } else { TP_scanNotifier= new CTP_scanNotifier(fec, pol_mod, Freq, Rate, 0, fwextscanmode); scan = ( new CMenuOptionChooser(LOCALE_SCANTP_SCAN, (int *)&scanSettings.TP_scan, SCANTS_CABLESCAN_OPTIONS, SCANTS_CABLESCAN_OPTION_COUNT, true/*(g_info.delivery_system == DVB_S)*/, TP_scanNotifier)); } extscanmode->addItem(scan); if(g_info.delivery_system == DVB_S) { extscanmode->addItem(scanSettings.TP_SatSelectMenu); } //show entries for extscanmode submenue extscanmode->addItem(Freq); extscanmode->addItem(pol_mod); extscanmode->addItem(Rate); extscanmode->addItem(fec); //show auto scan scansetup->addItem(onoffscanSectionsd); scansetup->addItem(GenericMenuSeparatorLine); scansetup->addItem(new CMenuForwarder(LOCALE_SCANTS_STARTNOW, true, NULL, new CScanTs(), NULL, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE)); scansetup->exec(NULL, ""); scansetup->hide(); delete scansetup; }
void CScanSetup::showScanService() { dprintf(DEBUG_DEBUG, "init scansettings\n"); initScanSettings(); //menue init CMenuWidget* scansetup = new CMenuWidget(LOCALE_SERVICEMENU_HEAD, NEUTRINO_ICON_SETTINGS, width); scansetup->setPreselected(selected); //subhead scansetup->addItem( new CMenuSeparator(CMenuSeparator::ALIGN_LEFT | CMenuSeparator::SUB_HEAD | CMenuSeparator::STRING, LOCALE_SERVICEMENU_SCANTS)); //prepare scantype green CMenuOptionChooser* ojScantype = new CMenuOptionChooser(LOCALE_ZAPIT_SCANTYPE, (int *)&scanSettings.scanType, SCANTS_ZAPIT_SCANTYPE, SCANTS_ZAPIT_SCANTYPE_COUNT, true, NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN); //prepare bouquet mode yellow CMenuOptionChooser* ojBouquets = new CMenuOptionChooser(LOCALE_SCANTS_BOUQUET, (int *)&scanSettings.bouquetMode, SCANTS_BOUQUET_OPTIONS, SCANTS_BOUQUET_OPTION_COUNT, true, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW); // intros scansetup->addItem(GenericMenuSeparator); scansetup->addItem(GenericMenuBack); scansetup->addItem(GenericMenuSeparatorLine); //save button red scansetup->addItem(new CMenuForwarder(LOCALE_MAINSETTINGS_SAVESETTINGSNOW, true, NULL, this, "save_action", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED)); scansetup->addItem(GenericMenuSeparatorLine); //prepare sat-lnb-settings CMenuWidget* extSatSettings = NULL; CMenuWidget* extMotorSettings = NULL; CStringInput* toff_lat = NULL; CStringInput* toff_long = NULL; CSatDiseqcNotifier* satDiseqcNotifier = NULL; CScanSettingsSatManNotifier* scanSettingsSatManNotifier = NULL; //sat-lnb-settings if(g_info.delivery_system == DVB_S) { g_Zapit->getScanSatelliteList(satList); //prepare diseqc CMenuOptionStringChooser* ojSat = new CMenuOptionStringChooser(LOCALE_SATSETUP_SATELLITE, scanSettings.satNameNoDiseqc, ((scanSettings.diseqcMode == DISEQC_1_2) || (scanSettings.diseqcMode == NO_DISEQC))); for (uint i=0; i < sat_list_size; i++) { ojSat->addOption(satList[i].satName); dprintf(DEBUG_DEBUG, "got scanprovider (sat): %s\n", satList[i].satName ); } //prepare diseqc repeats CMenuOptionNumberChooser * ojDiseqcRepeats = new CMenuOptionNumberChooser(LOCALE_SATSETUP_DISEQCREPEAT, (int *)&scanSettings.diseqcRepeat, (scanSettings.diseqcMode != NO_DISEQC) && (scanSettings.diseqcMode != DISEQC_1_0), 0, 2); //extended sat settings extSatSettings = new CMenuWidget(LOCALE_SATSETUP_EXTENDED, NEUTRINO_ICON_SETTINGS); //intros ext sat settings extSatSettings->addItem(GenericMenuSeparator); extSatSettings->addItem(GenericMenuBack); extSatSettings->addItem(GenericMenuSeparatorLine); //prepare diseqc mode CMenuForwarder* ojExtSatSettings = new CMenuForwarder(LOCALE_SATSETUP_EXTENDED, (scanSettings.diseqcMode != NO_DISEQC), NULL, extSatSettings, NULL, CRCInput::RC_1); //make sat list for( uint i=0; i < sat_list_size; i++) { CMenuOptionNumberChooser * oj = new CMenuOptionNumberChooser(NONEXISTANT_LOCALE, scanSettings.diseqscOfSat(satList[i].satName), true, -1, sat_list_size - 1, 1, -1, LOCALE_OPTIONS_OFF, satList[i].satName); extSatSettings->addItem(oj); } //motor settings extMotorSettings = new CMenuWidget(LOCALE_SATSETUP_EXTENDED_MOTOR, NEUTRINO_ICON_SETTINGS); //intros motor settings extMotorSettings->addItem(GenericMenuSeparator); extMotorSettings->addItem(GenericMenuBack); extMotorSettings->addItem(GenericMenuSeparatorLine); //save motorsettings red extMotorSettings->addItem(new CMenuForwarder(LOCALE_SATSETUP_SAVESETTINGSNOW, true, NULL, this, "save_action", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED)); extMotorSettings->addItem(GenericMenuSeparatorLine); //motorspeed (how long to set wait timer for dish to travel to correct position) extMotorSettings->addItem(new CMenuOptionNumberChooser(LOCALE_SATSETUP_MOTORSPEED, (int *)&scanSettings.motorRotationSpeed, true, 0, 64)) ; extMotorSettings->addItem(GenericMenuSeparatorLine); //gotoxx settings extMotorSettings->addItem(new CMenuOptionChooser(LOCALE_SATSETUP_USEGOTOXX, (int *)&scanSettings.useGotoXX, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); sprintf(zapit_lat, "%02.6f", scanSettings.gotoXXLatitude); sprintf(zapit_long, "%02.6f", scanSettings.gotoXXLongitude); extMotorSettings->addItem(new CMenuOptionChooser(LOCALE_SATSETUP_LADIR, (int *)&scanSettings.gotoXXLaDirection, OPTIONS_SOUTH0_NORTH1_OPTIONS, OPTIONS_SOUTH0_NORTH1_OPTION_COUNT, true)); toff_lat = new CStringInput(LOCALE_SATSETUP_LAT, (char *) zapit_lat, 10, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789."); extMotorSettings->addItem(new CMenuForwarder(LOCALE_SATSETUP_LAT, true, zapit_lat, toff_lat)); extMotorSettings->addItem(new CMenuOptionChooser(LOCALE_SATSETUP_LODIR, (int *)&scanSettings.gotoXXLoDirection, OPTIONS_EAST0_WEST1_OPTIONS, OPTIONS_EAST0_WEST1_OPTION_COUNT, true)); toff_long = new CStringInput(LOCALE_SATSETUP_LONG, (char *) zapit_long, 10, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789."); extMotorSettings->addItem(new CMenuForwarder(LOCALE_SATSETUP_LONG, true, zapit_long, toff_long)); extMotorSettings->addItem(GenericMenuSeparatorLine); //manual motor control extMotorSettings->addItem(new CMenuForwarder(LOCALE_SATSETUP_MOTORCONTROL, true, NULL, new CMotorControl(), NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN)); extMotorSettings->addItem(GenericMenuSeparatorLine); //prepare motor control CMenuForwarder* ojExtMotorSettings = new CMenuForwarder(LOCALE_SATSETUP_EXTENDED_MOTOR, (scanSettings.diseqcMode == DISEQC_1_2), NULL, extMotorSettings, NULL, CRCInput::RC_2); //prepare/show sat list with options for( uint i=0; i < sat_list_size; i++) { CMenuOptionNumberChooser * oj = new CMenuOptionNumberChooser(NONEXISTANT_LOCALE, scanSettings.motorPosOfSat(satList[i].satName), true, 0, 64/*sat_list_size*/, 0, 0, LOCALE_OPTIONS_OFF, satList[i].satName); extMotorSettings->addItem(oj); } //prepare sat list with diseqc options satDiseqcNotifier = new CSatDiseqcNotifier(ojSat, ojExtSatSettings, ojExtMotorSettings, ojDiseqcRepeats); CMenuOptionChooser* ojDiseqc = new CMenuOptionChooser(LOCALE_SATSETUP_DISEQC, (int *)&scanSettings.diseqcMode, SATSETUP_DISEQC_OPTIONS, SATSETUP_DISEQC_OPTION_COUNT, true, satDiseqcNotifier); //show entries scansetup->addItem( ojScantype ); scansetup->addItem( ojBouquets ); scansetup->addItem(GenericMenuSeparatorLine); scansetup->addItem( ojDiseqc ); scansetup->addItem( ojSat ); scansetup->addItem( ojDiseqcRepeats ); scansetup->addItem( ojExtSatSettings ); scansetup->addItem( ojExtMotorSettings ); } else {//cable CZapitClient::SatelliteList providerList; g_Zapit->getScanSatelliteList(providerList); //prepare/show providers CMenuOptionStringChooser* oj = new CMenuOptionStringChooser(LOCALE_CABLESETUP_PROVIDER, (char*)&scanSettings.satNameNoDiseqc, true); for( uint i=0; i< provider_list_size; i++) { oj->addOption(providerList[i].satName); dprintf(DEBUG_DEBUG, "got scanprovider (cable): %s\n", providerList[i].satName ); } //show general entries scansetup->addItem( ojScantype ); scansetup->addItem( ojBouquets ); //show cable provider scansetup->addItem( oj); } //prepare scan mode (fast->on/off) CMenuOptionChooser* onoff_mode = ( new CMenuOptionChooser(LOCALE_SCANTP_SCANMODE, (int *)&scanSettings.scan_mode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); scansetup->addItem(GenericMenuSeparatorLine); if(scanSettings.TP_fec == 0) { scanSettings.TP_fec = 1; } //sub menue scanmode std::string scan_mode = getScanModeString(scanSettings.TP_scan); CMenuForwarder* fw_scanmode = new CMenuForwarder(LOCALE_SERVICEMENU_SCANMODES, true, scan_mode, this, "show_scanmodes", (g_info.delivery_system == DVB_S) ? CRCInput::RC_3 : CRCInput::RC_1); scansetup->addItem(fw_scanmode); //show scan mode (fast->on/off) scansetup->addItem(onoff_mode); //prepare auto scan CSectionsdConfigNotifier sectionsdConfigNotifier; CMenuOptionChooser* onoffscanSectionsd = ( new CMenuOptionChooser(LOCALE_SECTIONSD_SCANMODE, (int *)&scanSettings.scanSectionsd, SECTIONSD_SCAN_OPTIONS, SECTIONSD_SCAN_OPTIONS_COUNT, true, §ionsdConfigNotifier)); //sat-lnb-settings if(g_info.delivery_system == DVB_S) { uint i; int satfound = -1; int firstentry = -1; scanSettingsSatManNotifier = new CScanSettingsSatManNotifier(); scanSettings.TP_SatSelectMenu = new CMenuOptionStringChooser(LOCALE_SATSETUP_SATELLITE, scanSettings.TP_satname, ((scanSettings.diseqcMode != NO_DISEQC) && scanSettings.TP_scan), scanSettingsSatManNotifier); // add the sats which are configured (diseqc or motorpos) to the list of available sats */ for (i = 0; i < sat_list_size; i++) { if ((((scanSettings.diseqcMode != DISEQC_1_2)) && (0 <= (*scanSettings.diseqscOfSat(satList[i].satName) ))) || (((scanSettings.diseqcMode == DISEQC_1_2)) && (0 <= (*scanSettings.motorPosOfSat(satList[i].satName))))) { if (firstentry == -1) firstentry = i; if (strcmp(scanSettings.TP_satname, satList[i].satName) == 0) satfound = i; scanSettings.TP_SatSelectMenu->addOption(satList[i].satName); dprintf(DEBUG_DEBUG, "satName = %s, diseqscOfSat(%d) = %d, motorPosOfSat(%d) = %d\n", satList[i].satName, i, *scanSettings.diseqscOfSat(satList[i].satName), i, *scanSettings.motorPosOfSat(satList[i].satName)); } } // if scanSettings.TP_satname cannot be found in the list of available sats use 1st in list if ((satfound == -1) && (sat_list_size)) { // strcpy(scanSettings.TP_satname, satList[firstentry].satName); strcpy(scanSettings.TP_satname, scanSettings.satNameNoDiseqc); } } else { scanSettings.TP_SatSelectMenu = NULL; } //show auto scan scansetup->addItem(onoffscanSectionsd); scansetup->addItem(GenericMenuSeparatorLine); CScanTs* scanTs = new CScanTs(); scansetup->addItem(new CMenuForwarder(LOCALE_SCANTS_STARTNOW, true, NULL, scanTs, NULL, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE)); scansetup->exec(NULL, ""); scansetup->hide(); selected = scansetup->getSelected(); delete scansetup; delete extSatSettings; delete extMotorSettings; delete toff_lat; delete toff_long; delete satDiseqcNotifier; delete scanSettingsSatManNotifier; delete scanTs; }