public ApplicationData() { #if DEBUG if (_uniqueInstance != null) { //you used the wrong binding //use: //<properties:ApplicationData x:Key="ApplicationData" /> //{Binding Databases, Source={x:Static p:ApplicationData.Instance}} //{Binding Source={x:Static p:ApplicationData.Instance}, Path=ActiveDatabase.GeocacheCollection} System.Diagnostics.Debugger.Break(); } #endif this.Logger = new Core.Logger(); string s = Settings.Default.AccountInfos; //s = ""; if (string.IsNullOrEmpty(s)) { AccountInfos = new AccountInfoCollection(); } else { Type[] itemTypes = { typeof(AccountInfo) }; XmlSerializer serializer = new XmlSerializer(typeof(AccountInfoCollection), itemTypes); using (StringReader r = new StringReader(s)) { AccountInfos = serializer.Deserialize(r) as AccountInfoCollection; } } GeocacheAttributes = new GeocacheAttributeCollection(); Databases = new Storage.DatabaseCollection(); GeocacheTypes = new GeocacheTypeCollection(); GeocacheContainers = new GeocacheContainerCollection(); WaypointTypes = new WaypointTypeCollection(); LogTypes = new LogTypeCollection(); HomeLocation = new Location(Settings.Default.HomeLocationLat, Settings.Default.HomeLocationLon); CenterLocation = new Location(Settings.Default.CenterLocationLat, Settings.Default.CenterLocationLon); HomeLocation.PropertyChanged += HomeLocation_PropertyChanged; CenterLocation.PropertyChanged += CenterLocation_PropertyChanged; AccountInfos.CollectionChanged += AccountInfos_CollectionChanged; string[] accountPrefixes = new string[] { "GC", "OX", "OB", "OC", "MZ", "OU", "OP", "GS" }; foreach (string acc in accountPrefixes) { if (AccountInfos.GetAccountInfo(acc) == null) { AccountInfos.Add(new AccountInfo(acc, "")); } } addCacheType(0, "Not present"); addCacheType(2, "Traditional Cache"); addCacheType(3, "Multi-cache"); addCacheType(4, "Virtual Cache"); addCacheType(5, "Letterbox Hybrid"); addCacheType(6, "Event Cache"); addCacheType(8, "Unknown (Mystery) Cache", "Unknown Cache"); addCacheType(9, "Project APE Cache"); addCacheType(11, "Webcam Cache"); addCacheType(12, "Locationless (Reverse) Cache"); addCacheType(13, "Cache In Trash Out Event"); addCacheType(137, "Earthcache"); addCacheType(453, "Mega-Event Cache"); addCacheType(605, "Geocache Course"); addCacheType(1304, "GPS Adventures Exhibit"); addCacheType(1858, "Wherigo Cache"); addCacheType(3653, "Lost and Found Event Cache"); addCacheType(3773, "Groundspeak HQ"); addCacheType(3774, "Groundspeak Lost and Found Celebration"); addCacheType(4738, "Groundspeak Block Party"); addCacheType(7005, "Giga-Event Cache"); addCacheType(95342, "Munzee", Core.Settings.Default.MunzeeGPXTagMunzee); addCacheType(95343, "Virtual Munzee", Core.Settings.Default.MunzeeGPXTagVirtual); addCacheType(95344, "Maintenance Munzee", Core.Settings.Default.MunzeeGPXTagMaintenance); addCacheType(95345, "Business Munzee", Core.Settings.Default.MunzeeGPXTagBusiness); addCacheType(95346, "Mystery Munzee", Core.Settings.Default.MunzeeGPXTagMystery); addCacheType(95347, "NFC Munzee", Core.Settings.Default.MunzeeGPXTagNFC); addCacheType(95348, "Premium Munzee", Core.Settings.Default.MunzeeGPXTagPremium); addCacheType(96001, "OC Traditional Cache", "Traditional Cache"); addCacheType(96002, "OC Multi-cache", "Multi-cache"); addCacheType(96003, "OC Virtual Cache", "Virtual Cache"); addCacheType(96004, "OC Event Cache", "Event Cache"); addCacheType(96005, "OC Unknown (Mystery) Cache", "Unknown Cache"); addCacheType(96006, "OC Webcam Cache", "Webcam Cache"); addCacheType(96007, "OC Moving Cache", "Locationless (Reverse) Cache"); addCacheType(96008, "OC Quiz Cache", "Unknown Cache"); addCacheType(96009, "OC Drive-in Cache", "Traditional Cache"); addCacheType(97001, "Civil", Core.Settings.Default.GeoSpyGPXTagCivil); addCacheType(97002, "Historic and religious", Core.Settings.Default.GeoSpyGPXTagHistoricAndReligious); addCacheType(97003, "Natural", Core.Settings.Default.GeoSpyGPXTagNatural); addCacheType(97004, "Technical", Core.Settings.Default.GeoSpyGPXTagTechnical); addCacheType(97005, "Military", Core.Settings.Default.GeoSpyGPXTagMilitary); addCacheContainer(0, "Unknown"); addCacheContainer(1, "Not chosen"); addCacheContainer(2, "Micro"); addCacheContainer(3, "Regular"); addCacheContainer(4, "Large"); addCacheContainer(5, "Virtual"); addCacheContainer(6, "Other"); addCacheContainer(8, "Small"); addLogType(0, "Unknown", false); addLogType(1, "Unarchive", false); addLogType(2, "Found it", true); addLogType(3, "Didn't find it", false); addLogType(4, "Write note", false); addLogType(5, "Archive", false); addLogType(6, "Archive", false); addLogType(7, "Needs Archived", false); addLogType(8, "Mark Destroyed", false); addLogType(9, "Will Attend", false); addLogType(10, "Attended", true); addLogType(11, "Webcam Photo Taken", true); addLogType(12, "Unarchive", false); addLogType(13, "Retrieve It from a Cache", false); addLogType(14, "Dropped Off", false); addLogType(15, "Transfer", false); addLogType(16, "Mark Missing", false); addLogType(17, "Recovered", false); addLogType(18, "Post Reviewer Note", false); addLogType(19, "Grab It (Not from a Cache)", false); addLogType(20, "Write Jeep 4x4 Contest Essay", false); addLogType(21, "Upload Jeep 4x4 Contest Photo", false); addLogType(22, "Temporarily Disable Listing", false); addLogType(23, "Enable Listing", false); addLogType(24, "Publish Listing", false); addLogType(25, "Retract Listing", false); addLogType(30, "Uploaded Goal Photo for \"A True Original\"", false); addLogType(31, "Uploaded Goal Photo for \"Yellow Jeep Wrangler\"", false); addLogType(32, "Uploaded Goal Photo for \"Construction Site\"", false); addLogType(33, "Uploaded Goal Photo for \"State Symbol\"", false); addLogType(34, "Uploaded Goal Photo for \"American Flag\"", false); addLogType(35, "Uploaded Goal Photo for \"Landmark/Memorial\"", false); addLogType(36, "Uploaded Goal Photo for \"Camping\"", false); addLogType(37, "Uploaded Goal Photo for \"Peaks and Valleys\"", false); addLogType(38, "Uploaded Goal Photo for \"Hiking\"", false); addLogType(39, "Uploaded Goal Photo for \"Ground Clearance\"", false); addLogType(40, "Uploaded Goal Photo for \"Water Fording\"", false); addLogType(41, "Uploaded Goal Photo for \"Traction\"", false); addLogType(42, "Uploaded Goal Photo for \"Tow Package\"", false); addLogType(43, "Uploaded Goal Photo for \"Ultimate Makeover\"", false); addLogType(44, "Uploaded Goal Photo for \"Paint Job\"", false); addLogType(45, "Needs Maintenance", false); addLogType(46, "Owner Maintenance", false); addLogType(47, "Update Coordinates", false); addLogType(48, "Discovered It", false); addLogType(49, "Uploaded Goal Photo for \"Discovery\"", false); addLogType(50, "Uploaded Goal Photo for \"Freedom\"", false); addLogType(51, "Uploaded Goal Photo for \"Adventure\"", false); addLogType(52, "Uploaded Goal Photo for \"Camaraderie\"", false); addLogType(53, "Uploaded Goal Photo for \"Heritage\"", false); addLogType(54, "Reviewer Note", false); addLogType(55, "Lock User (Ban)", false); addLogType(56, "Unlock User (Unban)", false); addLogType(57, "Groundspeak Note", false); addLogType(58, "Uploaded Goal Photo for \"Fun\"", false); addLogType(59, "Uploaded Goal Photo for \"Fitness\"", false); addLogType(60, "Uploaded Goal Photo for \"Fighting Diabetes\"", false); addLogType(61, "Uploaded Goal Photo for \"American Heritage\"", false); addLogType(62, "Uploaded Goal Photo for \"No Boundaries\"", false); addLogType(63, "Uploaded Goal Photo for \"Only in a Jeep\"", false); addLogType(64, "Uploaded Goal Photo for \"Discover New Places\"", false); addLogType(65, "Uploaded Goal Photo for \"Definition of Freedom\"", false); addLogType(66, "Uploaded Goal Photo for \"Adventure Starts Here\"", false); addLogType(67, "Needs Attention", false); addLogType(68, "Post Reviewer Note", false); addLogType(69, "Move To Collection", false); addLogType(70, "Move To Inventory", false); addLogType(71, "Throttle User", false); addLogType(72, "Enter CAPTCHA", false); addLogType(73, "Change Username", false); addLogType(74, "Announcement", false); addLogType(75, "Visited", false); addWaypointType(0, "Unknown"); addWaypointType(217, "Parking Area"); addWaypointType(220, "Final Location"); addWaypointType(218, "Question to Answer"); addWaypointType(452, "Reference Point"); addWaypointType(219, "Stages of a Multicache"); addWaypointType(221, "Trailhead"); addCacheAttribute(0, "Unknown"); addCacheAttribute(1, "Dogs"); addCacheAttribute(2, "Access or parking fee"); addCacheAttribute(3, "Climbing gear"); addCacheAttribute(4, "Boat"); addCacheAttribute(5, "Scuba gear"); addCacheAttribute(6, "Recommended for kids"); addCacheAttribute(7, "Takes less than an hour"); addCacheAttribute(8, "Scenic view"); addCacheAttribute(9, "Significant Hike"); addCacheAttribute(10, "Difficult climbing"); addCacheAttribute(11, "May require wading"); addCacheAttribute(12, "May require swimming"); addCacheAttribute(13, "Available at all times"); addCacheAttribute(14, "Recommended at night"); addCacheAttribute(15, "Available during winter"); addCacheAttribute(16, "Cactus"); addCacheAttribute(17, "Poison plants"); addCacheAttribute(18, "Dangerous Animals"); addCacheAttribute(19, "Ticks"); addCacheAttribute(20, "Abandoned mines"); addCacheAttribute(21, "Cliff / falling rocks"); addCacheAttribute(22, "Hunting"); addCacheAttribute(23, "Dangerous area"); addCacheAttribute(24, "Wheelchair accessible"); addCacheAttribute(25, "Parking available"); addCacheAttribute(26, "Public transportation"); addCacheAttribute(27, "Drinking water nearby"); addCacheAttribute(28, "Public restrooms nearby"); addCacheAttribute(29, "Telephone nearby"); addCacheAttribute(30, "Picnic tables nearby"); addCacheAttribute(31, "Camping available"); addCacheAttribute(32, "Bicycles"); addCacheAttribute(33, "Motorcycles"); addCacheAttribute(34, "Quads"); addCacheAttribute(35, "Off-road vehicles"); addCacheAttribute(36, "Snowmobiles"); addCacheAttribute(37, "Horses"); addCacheAttribute(38, "Campfires"); addCacheAttribute(39, "Thorns"); addCacheAttribute(40, "Stealth required"); addCacheAttribute(41, "Stroller accessible"); addCacheAttribute(42, "Needs maintenance"); addCacheAttribute(43, "Watch for livestock"); addCacheAttribute(44, "Flashlight required"); addCacheAttribute(45, "Lost And Found Tour"); addCacheAttribute(46, "Truck Driver/RV"); addCacheAttribute(47, "Field Puzzle"); addCacheAttribute(48, "UV Light Required"); addCacheAttribute(49, "Snowshoes"); addCacheAttribute(50, "Cross Country Skis"); addCacheAttribute(51, "Special Tool Required"); addCacheAttribute(52, "Night Cache"); addCacheAttribute(53, "Park and Grab"); addCacheAttribute(54, "Abandoned Structure"); addCacheAttribute(55, "Short hike (less than 1km)"); addCacheAttribute(56, "Medium hike (1km-10km)"); addCacheAttribute(57, "Long Hike (+10km)"); addCacheAttribute(58, "Fuel Nearby"); addCacheAttribute(59, "Food Nearby"); addCacheAttribute(60, "Wireless Beacon"); addCacheAttribute(61, "Partnership Cache"); addCacheAttribute(62, "Seasonal Access"); addCacheAttribute(63, "Tourist Friendly"); addCacheAttribute(64, "Tree Climbing"); addCacheAttribute(65, "Front Yard (Private Residence)"); addCacheAttribute(66, "Teamwork Required"); addCacheAttribute(106, "Only loggable at Opencaching"); addCacheAttribute(108, "Letterbox (needs stamp)"); addCacheAttribute(123, "First aid available"); addCacheAttribute(125, "Long walk"); addCacheAttribute(127, "Hilly area"); addCacheAttribute(130, "Point of interest"); addCacheAttribute(132, "Webcam"); addCacheAttribute(133, "Within enclosed rooms (caves, buildings etc."); addCacheAttribute(134, "In the water"); addCacheAttribute(135, "Without GPS (letterboxes, cistes, compass juggling ...)"); addCacheAttribute(137, "Overnight stay necessary"); addCacheAttribute(139, "Only available at specified times"); addCacheAttribute(140, "By day only"); addCacheAttribute(141, "Tide"); addCacheAttribute(142, "All seasons"); addCacheAttribute(143, "Breeding season / protected nature"); addCacheAttribute(147, "Compass"); addCacheAttribute(150, "Cave equipment"); addCacheAttribute(153, "Aircraft"); addCacheAttribute(154, "Investigation"); addCacheAttribute(156, "Arithmetical problem"); addCacheAttribute(157, "Other cache type"); addCacheAttribute(158, "Ask owner for start conditions"); List <Core.Data.GeocacheAttribute> attrs = (from a in this.GeocacheAttributes select a).ToList(); foreach (Core.Data.GeocacheAttribute a in attrs) { if (a.ID > 0) { addCacheAttribute(-a.ID, a.Name); } } }
public void ReInit(string fileName) { LogTypeFile = new LogIniFile(fileName); Conditions = new LogTypeCollection<ConditionType>(this); ValueTypes = new LogTypeCollection<ValuesType>(this); StringTypes = new LogTypeCollection<StringType>(this); BlockTypes = new LogTypeCollection<BlockType>(this); Styles = new LogTypeCollection<StyleType>(this); Parallel.ForEach(LogTypeFile.Sections, section => { switch (section.SectionType) { case ConditionType.IniTypeName: Conditions.AddType(section.SectionName); break; case ValuesType.IniTypeName: ValueTypes.AddType(section.SectionName); break; case StringType.IniTypeName: StringTypes.AddType(section.SectionName); break; case BlockType.IniTypeName: BlockTypes.AddType(section.SectionName); break; case StyleType.IniTypeName: Styles.AddType(section.SectionName); break; } }); RootBlockType = BlockTypes[LogTypeFile.Sections[KeyLogSection].Values[KeyRootType]]; LogName = LogTypeFile.Sections[KeyLogSection].Values[KeyLogName]; Author = LogTypeFile.Sections[KeyLogSection].Values[KeyAuthor]; Version = LogTypeFile.Sections[KeyLogSection].Values[KeyVersion]; }