#include #include "misc_settings.h" #include "mv_common.h" //#include #include "mythuihelper.h" #include "mythsystemlegacy.h" extern HostParms hostparm; static HostCheckBox *HostShowToolTips() { HostCheckBox *gc = new HostCheckBox("HostShowToolTips"); gc->setLabel(QObject::tr("Show Shortcuts")); gc->setValue(true); gc->setHelpText(QObject::tr("Shows a window describing how to open a console and various other items.")); return gc; }; static HostComboBox *Hostupdateplan() { HostComboBox *gc = new HostComboBox("Hostupdateplan"); gc->setLabel(QObject::tr("Automatic Updates")); gc->addSelection("None"); gc->addSelection("Notify"); gc->addSelection("Myth_only"); gc->addSelection("All"); gc->setHelpText("None: Do not install updates automatically. Notify: Check for updates and notify in the Service Menu and LinHES theme. Myth_only: Automatically install updates for MythTV only. All: Automatically install all updates for LinHES."); return gc; } // static HostLineEdit *HostZipcode() // { // HostLineEdit *gc = new HostLineEdit("HostZipcode"); // gc->setLabel(QObject::tr("Zip Code")); // gc->setHelpText(QObject::tr("The zipcode will be used to configure MythMovieTimes. Leave it blank to use the existing value. People located outside the U.S.A should probably leave this blank")); // //gc->setRW(); // //gc->setRO(); // return gc; // }; //_______________Misc main frame MiscMainFrame::MiscMainFrame(): VerticalConfigurationGroup(false,false,false,false) { setLabel(QObject::tr("Miscellaneous Settings")); bool MVAPP; #ifdef __MVAPP__ MVAPP = true ; #else MVAPP = false ; #endif bool showLabels; hostparm.ThisSystemType = gCoreContext->GetSetting("HostSystemType"); if ( hostparm.ThisSystemType == "Standalone" || hostparm.ThisSystemType=="Master_backend") { showLabels = false; } else { showLabels = true; } TransLabelSetting *temptimezone = new TransLabelSetting(); temptimezone->setValue("Timezone: " + hostparm.ThisTimeZone ); // TransLabelSetting *tempzipcode = new TransLabelSetting(); // tempzipcode->setValue("Zipcode: " + hostparm.ThisHostZipcode ); // GridConfigurationGroup* miscsettings_2 = // new GridConfigurationGroup(1,true, true,false,false); // // if ( showLabels && ( hostparm.ThisHostZipcode != "" )) // if (MVAPP) // miscsettings_2->addChild(tempzipcode); // else // miscsettings_2->addChild(HostZipcode()); // else // miscsettings_2->addChild(HostZipcode()); TimezoneRegion *timezoneregion = new TimezoneRegion(); // TimezoneButton *timezonebutton = new TimezoneButton(); VerticalConfigurationGroup* miscsettings = new VerticalConfigurationGroup(false, true,false,false); // miscsettings->addChild(timezonebutton); if ( showLabels && ( hostparm.ThisTimeZone != "" )) { if (MVAPP) { miscsettings->addChild(temptimezone); // timezonebutton->disableButton(); } else miscsettings->addChild(timezoneregion); } else miscsettings->addChild(timezoneregion); miscsettings->addChild(HostShowToolTips()); miscsettings->addChild(Hostupdateplan()); //miscsettings->addChild(miscsettings_2); addChild(miscsettings); // connect(timezonebutton, SIGNAL(mf_launch_tzgui()),timezoneregion ,SLOT(timezone_gathersettings())); connect(timezoneregion,SIGNAL(mf_show_tz(QString)),this,SLOT(mf_show_tz(QString))); connect(this,SIGNAL(update_timezone(QString)),timezoneregion,SLOT(update_timezone_values(QString))); autoLaunchTimer = new QTimer(this); // connect(autoLaunchTimer, SIGNAL(timeout()), timezonebutton, SLOT(launch_tzgui())); autoLaunchTimer->start(0); } QString MiscMainFrame::mf_show_tz(QString tz) { QString GTimezone; int rc; //bool showLabels; if (autoLaunchTimer->isActive()) { autoLaunchTimer->stop(); // This was triggered by the timer. Only launch the timezone gui if the timezone is unknown. if ( hostparm.ThisTimeZone != "" ) return NULL; } if ( hostparm.ThisTimeZone == "" ) tz = "guess"; //launch tzgui and load output into Gtimezone int m_screenheight = 0, m_screenwidth = 0; float m_wmult = 0, m_hmult = 0; QString m_height , m_width , cmd; GetMythUI()->GetScreenSettings(m_screenwidth, m_wmult, m_screenheight, m_hmult); m_height.setNum(m_screenheight); m_width.setNum(m_screenwidth); QString tzpath; tzpath=MV_ROOT; tzpath.append("bin/timezone.bin"); cmd=tzpath + " -z " + tz + " -h " + m_height + " -w " + m_width + " > /tmp/.selected_tz" ; rc=myth_system(cmd); if ( rc == 0 ) { //read in value QString line; QFile file("/tmp/.selected_tz"); if ( file.open(QIODevice::ReadOnly | QIODevice::Text) ) { QTextStream t( &file ); // use a text stream while ( !t.atEnd() ) { line = t.readLine(); if ( line.contains("/")) { GTimezone = line.simplified(); break; } } file.close(); } timezone_unknown = false; emit update_timezone(GTimezone); } return GTimezone; } // //_______________Misc main frame // MiscMainFrame2::MiscMainFrame2(): // VerticalConfigurationGroup(false,false,false,false) // { // VerticalConfigurationGroup* miscsettings = // new VerticalConfigurationGroup(false, true,false,false); // // GridConfigurationGroup* miscsettings_2 = // new GridConfigurationGroup(1,false, false,false,false); // miscsettings_2->addChild(HostShowToolTips()); // miscsettings_2->addChild(Hostupdateplan()); // // // NFSSettings *nfssettings = new NFSSettings(); // // // // miscsettings->addChild(nfssettings); // miscsettings->addChild(miscsettings_2); // // addChild(miscsettings); // } //_______________Misc time timezone /* TimezoneButton::TimezoneButton(): VerticalConfigurationGroup(false,false,false,false) { TZButton = new TransButtonSetting; TZButton->setLabel("Hitchhikers guide to timezones"); addChild(TZButton); connect(TZButton, SIGNAL(pressed()),this,SLOT(launch_tzgui())); }; void TimezoneButton::launch_tzgui() { emit mf_launch_tzgui(); } void TimezoneButton::disableButton() { TZButton->setEnabled(false); } */ //This is used for the timezone QStringList findFilesRecursively ( QStringList paths, QString fileTypes ) { if ( fileTypes.isEmpty() ) fileTypes = "*"; QStringList result, more; QStringList::Iterator it; for ( uint i = 0 ; i < paths.size() ; i++ ) { // inefficient...whatever QDir dir( paths[i] ); dir.setSorting( QDir::Reversed ); dir.setFilter( QDir::Files ); dir.setNameFilters( QStringList()<setLabel(QObject::tr("Time Zone")); HostTimeZoneRegion->addSelection("US"); HostTimeZoneRegion->addSelection("Pacific"); HostTimeZoneRegion->addSelection("Mideast"); HostTimeZoneRegion->addSelection("Mexico"); HostTimeZoneRegion->addSelection("Indian"); HostTimeZoneRegion->addSelection("Europe"); HostTimeZoneRegion->addSelection("Etc"); HostTimeZoneRegion->addSelection("Chile"); HostTimeZoneRegion->addSelection("Canada"); HostTimeZoneRegion->addSelection("Brazil"); HostTimeZoneRegion->addSelection("Australia"); HostTimeZoneRegion->addSelection("Atlantic"); HostTimeZoneRegion->addSelection("Asia"); HostTimeZoneRegion->addSelection("Arctic"); HostTimeZoneRegion->addSelection("Antarctica"); HostTimeZoneRegion->addSelection("America"); HostTimeZoneRegion->addSelection("Africa"); //--single region HostTimeZoneRegion->addSelection("Zulu"); HostTimeZoneRegion->addSelection("WET"); HostTimeZoneRegion->addSelection("W-SU"); HostTimeZoneRegion->addSelection("Universal"); HostTimeZoneRegion->addSelection("UTC"); HostTimeZoneRegion->addSelection("UCT"); HostTimeZoneRegion->addSelection("Turkey"); HostTimeZoneRegion->addSelection("Singapore"); HostTimeZoneRegion->addSelection("ROK"); HostTimeZoneRegion->addSelection("ROC"); HostTimeZoneRegion->addSelection("Portugal"); HostTimeZoneRegion->addSelection("Poland"); HostTimeZoneRegion->addSelection("PST8PDT"); HostTimeZoneRegion->addSelection("PRC"); HostTimeZoneRegion->addSelection("Navajo"); HostTimeZoneRegion->addSelection("NZ-CHAT"); HostTimeZoneRegion->addSelection("NZ"); HostTimeZoneRegion->addSelection("MST7MDT"); HostTimeZoneRegion->addSelection("MST"); HostTimeZoneRegion->addSelection("MET"); HostTimeZoneRegion->addSelection("Libya"); HostTimeZoneRegion->addSelection("Kwajalein"); HostTimeZoneRegion->addSelection("Japan"); HostTimeZoneRegion->addSelection("Jamaica"); HostTimeZoneRegion->addSelection("Israel"); HostTimeZoneRegion->addSelection("Iran"); HostTimeZoneRegion->addSelection("Iceland"); HostTimeZoneRegion->addSelection("Hongkong"); HostTimeZoneRegion->addSelection("HST"); HostTimeZoneRegion->addSelection("Greenwich"); HostTimeZoneRegion->addSelection("GMT0"); HostTimeZoneRegion->addSelection("GMT-0"); HostTimeZoneRegion->addSelection("GMT+0"); HostTimeZoneRegion->addSelection("GMT"); HostTimeZoneRegion->addSelection("GB-Eire"); HostTimeZoneRegion->addSelection("GB"); HostTimeZoneRegion->addSelection("Factory"); HostTimeZoneRegion->addSelection("Eire"); HostTimeZoneRegion->addSelection("Egypt"); HostTimeZoneRegion->addSelection("EST5EDT"); HostTimeZoneRegion->addSelection("EST"); HostTimeZoneRegion->addSelection("EET"); HostTimeZoneRegion->addSelection("Cuba"); HostTimeZoneRegion->addSelection("CST6CDT"); HostTimeZoneRegion->addSelection("CET"); HostTimeZoneRegion->setHelpText(QObject::tr("Time Zone Region")); } void TimezoneRegion::timezoneregion_fillselection(QString tzonefile ) { QString currentitem; QString tzfile_with_path="/usr/share/zoneinfo/posix/"; bool foundtab; int foundslashes; QStringList timezonefile; tzfile_with_path.append(tzonefile); timezonefile.append(tzfile_with_path); QStringList answer = findFilesRecursively( timezonefile, "*" ); QStringList onlyfiles ; QStringList::Iterator it; for ( it = answer.begin(); it != answer.end(); ++it ) { currentitem = *it; foundtab=currentitem.contains(".tab"); if ( ! foundtab ) { foundslashes=currentitem.count("/"); currentitem = currentitem.section( '/', 6, foundslashes ); if ( tzonefile == "US") HostTimezoneRegion_US->addSelection(currentitem); else if ( tzonefile == "Pacific") HostTimezoneRegion_Pacific->addSelection(currentitem); else if ( tzonefile == "Mideast") HostTimezoneRegion_Mideast->addSelection(currentitem); else if ( tzonefile == "Mexico") HostTimezoneRegion_Mexico->addSelection(currentitem); else if ( tzonefile == "Indian") HostTimezoneRegion_Indian->addSelection(currentitem); else if ( tzonefile == "Europe") HostTimezoneRegion_Europe->addSelection(currentitem); else if ( tzonefile == "Etc") HostTimezoneRegion_Etc->addSelection(currentitem); else if ( tzonefile == "Chile") HostTimezoneRegion_Chile->addSelection(currentitem); else if ( tzonefile == "Canada") HostTimezoneRegion_Canada->addSelection(currentitem); else if ( tzonefile == "Brazil") HostTimezoneRegion_Brazil->addSelection(currentitem); else if ( tzonefile == "Australia") HostTimezoneRegion_Australia->addSelection(currentitem); else if ( tzonefile == "Atlantic") HostTimezoneRegion_Atlantic->addSelection(currentitem); else if ( tzonefile == "Asia") HostTimezoneRegion_Asia->addSelection(currentitem); else if ( tzonefile == "Arctic") HostTimezoneRegion_Arctic->addSelection(currentitem); else if ( tzonefile == "Antarctica") HostTimezoneRegion_Antarctica->addSelection(currentitem); else if ( tzonefile == "America") HostTimezoneRegion_America->addSelection(currentitem); else if ( tzonefile == "Africa") HostTimezoneRegion_Africa->addSelection(currentitem); } } }; void TimezoneRegion::timezone_gathersettings() { QString tz; QString subregion; QString region=HostTimeZoneRegion->getValue(); if ( region == "US") subregion=HostTimezoneRegion_US->getValue(); else if ( region == "Pacific") subregion=HostTimezoneRegion_Pacific->getValue(); else if ( region == "Mideast") subregion=HostTimezoneRegion_Mideast->getValue(); else if ( region == "Mexico") subregion=HostTimezoneRegion_Mexico->getValue(); else if ( region == "Indian") subregion=HostTimezoneRegion_Indian->getValue(); else if ( region == "Europe") subregion=HostTimezoneRegion_Europe->getValue(); else if ( region == "Etc") subregion=HostTimezoneRegion_Etc->getValue(); else if ( region == "Chile") subregion=HostTimezoneRegion_Chile->getValue(); else if ( region == "Canada") subregion=HostTimezoneRegion_Canada->getValue(); else if ( region == "Brazil") subregion=HostTimezoneRegion_Brazil->getValue(); else if ( region == "Australia") subregion=HostTimezoneRegion_Australia->getValue(); else if ( region == "Atlantic") subregion=HostTimezoneRegion_Atlantic->getValue(); else if ( region == "Asia") subregion=HostTimezoneRegion_Asia->getValue(); else if ( region == "Arctic") subregion=HostTimezoneRegion_Arctic->getValue(); else if ( region == "Antarctica") subregion=HostTimezoneRegion_Antarctica->getValue(); else if ( region == "America") subregion=HostTimezoneRegion_America->getValue(); else if ( region == "Africa") subregion=HostTimezoneRegion_Africa->getValue(); tz=region+"/"+subregion; emit mf_show_tz(tz); } TimezoneRegion::TimezoneRegion(): TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) { SetVertical(false); HostTimeZoneRegion= new HostComboBox("HostTimeZoneRegion"); timezoneregion_fillselection_zone(); Setting* trigger = HostTimeZoneRegion; addChild(trigger); setTrigger(trigger); //define all the new comboboxes HostTimezoneRegion_US = new HostComboBox("HostTimezoneRegion_US"); HostTimezoneRegion_Pacific = new HostComboBox("HostTimezoneRegion_Pacific"); HostTimezoneRegion_Mideast = new HostComboBox("HostTimezoneRegion_Mideast"); HostTimezoneRegion_Mexico = new HostComboBox("HostTimezoneRegion_Mexico"); HostTimezoneRegion_Indian = new HostComboBox("HostTimezoneRegion_Indian"); HostTimezoneRegion_Europe = new HostComboBox("HostTimezoneRegion_Europe"); HostTimezoneRegion_Etc = new HostComboBox("HostTimezoneRegion_Etc"); HostTimezoneRegion_Chile = new HostComboBox("HostTimezoneRegion_Chile"); HostTimezoneRegion_Canada = new HostComboBox("HostTimezoneRegion_Canada"); HostTimezoneRegion_Brazil = new HostComboBox("HostTimezoneRegion_Brazil"); HostTimezoneRegion_Australia = new HostComboBox("HostTimezoneRegion_Australia"); HostTimezoneRegion_Atlantic = new HostComboBox("HostTimezoneRegion_Atlantic"); HostTimezoneRegion_Asia = new HostComboBox("HostTimezoneRegion_Asia"); HostTimezoneRegion_Arctic = new HostComboBox("HostTimezoneRegion_Arctic"); HostTimezoneRegion_Antarctica = new HostComboBox("HostTimezoneRegion_Antarctica"); HostTimezoneRegion_America = new HostComboBox("HostTimezoneRegion_America"); HostTimezoneRegion_Africa = new HostComboBox("HostTimezoneRegion_Africa"); //fill the new comboboxes timezoneregion_fillselection("US"); timezoneregion_fillselection("Pacific"); timezoneregion_fillselection("Mideast"); timezoneregion_fillselection("Mexico"); timezoneregion_fillselection("Indian"); timezoneregion_fillselection("Europe"); timezoneregion_fillselection("Etc"); timezoneregion_fillselection("Chile"); timezoneregion_fillselection("Canada"); timezoneregion_fillselection("Brazil"); timezoneregion_fillselection("Australia"); timezoneregion_fillselection("Atlantic"); timezoneregion_fillselection("Asia"); timezoneregion_fillselection("Arctic"); timezoneregion_fillselection("Antarctica"); timezoneregion_fillselection("America"); timezoneregion_fillselection("Africa"); // Add subregions to regions addTarget("US", HostTimezoneRegion_US ); addTarget("Pacific", HostTimezoneRegion_Pacific ); addTarget("Mideast", HostTimezoneRegion_Mideast ); addTarget("Mexico", HostTimezoneRegion_Mexico ); addTarget("Indian", HostTimezoneRegion_Indian ); addTarget("Europe", HostTimezoneRegion_Europe ); addTarget("Etc", HostTimezoneRegion_Etc ); addTarget("Chile", HostTimezoneRegion_Chile ); addTarget("Canada", HostTimezoneRegion_Canada ); addTarget("Brazil", HostTimezoneRegion_Brazil ); addTarget("Australia", HostTimezoneRegion_Australia ); addTarget("Atlantic", HostTimezoneRegion_Atlantic ); addTarget("Asia", HostTimezoneRegion_Asia ); addTarget("Arctic", HostTimezoneRegion_Arctic ); addTarget("Antarctica", HostTimezoneRegion_Antarctica ); addTarget("America", HostTimezoneRegion_America ); addTarget("Africa", HostTimezoneRegion_Africa ); //--single region addTarget("Zulu", new VerticalConfigurationGroup(false, false)); addTarget("WET", new VerticalConfigurationGroup(false, false)); addTarget("W-SU", new VerticalConfigurationGroup(false, false)); addTarget("Universal", new VerticalConfigurationGroup(false, false)); addTarget("UTC", new VerticalConfigurationGroup(false, false)); addTarget("UCT", new VerticalConfigurationGroup(false, false)); addTarget("Turkey", new VerticalConfigurationGroup(false, false)); addTarget("Singapore", new VerticalConfigurationGroup(false, false)); addTarget("ROK", new VerticalConfigurationGroup(false, false)); addTarget("ROC", new VerticalConfigurationGroup(false, false)); addTarget("Portugal", new VerticalConfigurationGroup(false, false)); addTarget("Poland", new VerticalConfigurationGroup(false, false)); addTarget("PST8PDT", new VerticalConfigurationGroup(false, false)); addTarget("PRC", new VerticalConfigurationGroup(false, false)); addTarget("Navajo", new VerticalConfigurationGroup(false, false)); addTarget("NZ-CHAT", new VerticalConfigurationGroup(false, false)); addTarget("NZ", new VerticalConfigurationGroup(false, false)); addTarget("MST7MDT", new VerticalConfigurationGroup(false, false)); addTarget("MST", new VerticalConfigurationGroup(false, false)); addTarget("MET", new VerticalConfigurationGroup(false, false)); addTarget("Libya", new VerticalConfigurationGroup(false, false)); addTarget("Kwajalein", new VerticalConfigurationGroup(false, false)); addTarget("Japan", new VerticalConfigurationGroup(false, false)); addTarget("Jamaica", new VerticalConfigurationGroup(false, false)); addTarget("Israel", new VerticalConfigurationGroup(false, false)); addTarget("Iran", new VerticalConfigurationGroup(false, false)); addTarget("Iceland", new VerticalConfigurationGroup(false, false)); addTarget("Hongkong", new VerticalConfigurationGroup(false, false)); addTarget("HST", new VerticalConfigurationGroup(false, false)); addTarget("Greenwich", new VerticalConfigurationGroup(false, false)); addTarget("GMT0", new VerticalConfigurationGroup(false, false)); addTarget("GMT-0", new VerticalConfigurationGroup(false, false)); addTarget("GMT+0", new VerticalConfigurationGroup(false, false)); addTarget("GMT", new VerticalConfigurationGroup(false, false)); addTarget("GB-Eire", new VerticalConfigurationGroup(false, false)); addTarget("GB", new VerticalConfigurationGroup(false, false)); addTarget("Factory", new VerticalConfigurationGroup(false, false)); addTarget("Eire", new VerticalConfigurationGroup(false, false)); addTarget("Egypt", new VerticalConfigurationGroup(false, false)); addTarget("EST5EDT", new VerticalConfigurationGroup(false, false)); addTarget("EST", new VerticalConfigurationGroup(false, false)); addTarget("EET", new VerticalConfigurationGroup(false, false)); addTarget("Cuba", new VerticalConfigurationGroup(false, false)); addTarget("CST6CDT", new VerticalConfigurationGroup(false, false)); addTarget("CET", new VerticalConfigurationGroup(false, false)); }; void TimezoneRegion::update_timezone_values(QString Gtimezone) { QString region; QString subregion; region=Gtimezone.section('/',0,0); subregion=Gtimezone.section('/',1,1); HostTimeZoneRegion->setValue(region); if ( region == "US") HostTimezoneRegion_US->setValue(subregion); else if ( region == "Pacific") HostTimezoneRegion_Pacific->setValue(subregion); else if ( region == "Mideast") HostTimezoneRegion_Mideast->setValue(subregion); else if ( region == "Mexico") HostTimezoneRegion_Mexico->setValue(subregion); else if ( region == "Indian") HostTimezoneRegion_Indian->setValue(subregion); else if ( region == "Europe") HostTimezoneRegion_Europe->setValue(subregion); else if ( region == "Etc") HostTimezoneRegion_Etc->setValue(subregion); else if ( region == "Chile") HostTimezoneRegion_Chile->setValue(subregion); else if ( region == "Canada") HostTimezoneRegion_Canada->setValue(subregion); else if ( region == "Brazil") HostTimezoneRegion_Brazil->setValue(subregion); else if ( region == "Australia") HostTimezoneRegion_Australia->setValue(subregion); else if ( region == "Atlantic") HostTimezoneRegion_Atlantic->setValue(subregion); else if ( region == "Asia") HostTimezoneRegion_Asia->setValue(subregion); else if ( region == "Arctic") HostTimezoneRegion_Arctic->setValue(subregion); else if ( region == "Antarctica") HostTimezoneRegion_Antarctica->setValue(subregion); else if ( region == "America") HostTimezoneRegion_America->setValue(subregion); else if ( region == "Africa") HostTimezoneRegion_Africa->setValue(subregion); } /* //________________Misc (NFS) Screen SETTINGS_________________________ static HostComboBox *HostHaveCentralNFS() { HostComboBox *gc = new HostComboBox("HostHaveCentralNFS"); gc->setLabel(QObject::tr("Central NFS server")); gc->addSelection("no"); gc->addSelection("yes") ; gc->setHelpText(QObject::tr("Select yes, if your media is stored on an NFS server different than the masterbackend. Say no if you are confused.")); return gc; } static HostComboBox *HostCentralNFSIP() { HostComboBox *gc = new HostComboBox("HostCentralNFSIP",true); gc->setLabel(QObject::tr("NFS server and sharename ")); gc->setHelpText(QObject::tr("Format should be IP:/SHARENAME, for example 192.168.1.6:/media. file:nfsmap will load shares from the nfsmap file")); gc->addSelection("file:nfsmap") ; gc->addSelection("") ; return gc; }; static HostComboBox *HostNFSmountpoint() { #ifdef __MVAPP__ HostComboBox *gc = new HostComboBox("HostNFSmountpoint"); gc->addSelection("/data/media"); #else HostComboBox *gc = new HostComboBox("HostNFSmountpoint",true); gc->addSelection("/myth"); #endif gc->setLabel(QObject::tr("Local mount point of NFS share")); gc->addSelection("/mnt") ; gc->setHelpText(QObject::tr("")); return gc; } NFSSettings::NFSSettings(): TriggeredConfigurationGroup(false,false,false,true,true,false,false,true) { setLabel(QObject::tr("Misc Settings")); Setting* havenfs = HostHaveCentralNFS(); addChild(havenfs); setTrigger(havenfs); ConfigurationGroup* settings = new VerticalConfigurationGroup(); settings->addChild(HostCentralNFSIP()); settings->addChild(HostNFSmountpoint()); addTarget("no", new VerticalConfigurationGroup()); addTarget("yes", settings); }; */