public void UpdateDataGrid(Framework.Data.GeocacheCollection list) { if (!_ignoreUpdate) { UpdateDataGrid((from Framework.Data.Geocache a in list select a).ToList()); } _ignoreUpdate = false; }
public static List <Framework.Data.Geocache> GetSelectedGeocaches(Framework.Data.GeocacheCollection cacheCollection) { List <Framework.Data.Geocache> result = null; result = (from Framework.Data.Geocache wp in cacheCollection where wp.Selected select wp).ToList(); return(result); }
public static List <Framework.Data.Geocache> GetFoundGeocaches(Framework.Data.GeocacheCollection cacheCollection, Framework.Data.LogCollection logCollection, string byUser) { List <Framework.Data.Geocache> result = null; if (byUser.Length == 0) { result = new List <Framework.Data.Geocache>(); } else { string tl = byUser.ToLower(); result = (from Framework.Data.Geocache wp in cacheCollection join Framework.Data.Log l in logCollection on wp.Code equals l.GeocacheCode where l.Finder.ToLower() == tl && l.LogType.AsFound select wp).Distinct().ToList(); } return(result); }
public static List <Framework.Data.Geocache> GetFoundGeocaches(Framework.Data.GeocacheCollection cacheCollection, Framework.Data.LogCollection logCollection, Framework.Data.GeocachingComAccountInfo accountInfo) { List <Framework.Data.Geocache> result = null; if (accountInfo.AccountName.Length == 0) { result = new List <Framework.Data.Geocache>(); } else { string tl = accountInfo.AccountName.ToLower(); result = (from Framework.Data.Geocache wp in cacheCollection join Framework.Data.Log l in logCollection on wp.Code equals l.GeocacheCode where l.Finder.ToLower() == tl && l.LogType.AsFound select wp).Distinct().ToList(); List <Framework.Data.Geocache> result2 = (from Framework.Data.Geocache wp in cacheCollection where wp.Found && !result.Contains(wp) select wp).ToList(); result.AddRange(result2); } return(result); }
public SimpleCacheListForm(Framework.Interfaces.IPlugin owner, Framework.Interfaces.ICore core) : base(owner, core) { _initializing = true; FixedCore = core; InitializeComponent(); if (PluginSettings.Instance.WindowPos != null && !PluginSettings.Instance.WindowPos.IsEmpty) { this.Bounds = PluginSettings.Instance.WindowPos; this.StartPosition = FormStartPosition.Manual; } core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_CACHETYPE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SIMPLECACHELIST)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_BACKGROUND)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_ARCHIVED)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_AVAILABLE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_FOUND)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_OWN)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_NOTAVAILABLE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_DEFERREDSCROLLING)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_ENABLEAUTOSORT)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SHOWSELECTEDONLY)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SHOWFLAGGEDONLY)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_VIEWGEOCACHE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_VIEWGEOCACHEFROMORG)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_CENTERLOCATION)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_EDITNOTE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SETCOORDS)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_CLEARCOORDS)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_EDITGEOCACHE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_EDITWAYPOINTS)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_PRESET)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SELECTED)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SELECTED)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_TYPE)); for (int i = 0; i < cacheListControl1.GeocacheDataGrid.Columns.Count; i++) { if (cacheListControl1.GeocacheDataGrid.Columns[i].Header as string == "Test") { _fixedColumnCount = i; break; } else if (!string.IsNullOrEmpty(cacheListControl1.GeocacheDataGrid.Columns[i].Header as string)) { core.LanguageItems.Add(new Framework.Data.LanguageItem(cacheListControl1.GeocacheDataGrid.Columns[i].Header as string)); } _orgHeader.Add(cacheListControl1.GeocacheDataGrid.Columns[i].Header as string); } core.SelectedLanguageChanged += new EventHandler(core_SelectedLanguageChanged); core_SelectedLanguageChanged(this, EventArgs.Empty); _gcCollection = Core.Geocaches; _gcCollection.GeocacheAdded += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_GeocacheAdded); _gcCollection.GeocacheRemoved += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_GeocacheRemoved); _gcCollection.GeocacheSelectedChanged += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_GeocacheSelectedChanged); _gcCollection.DataChanged += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_DataChanged); _gcCollection.ListDataChanged += new EventHandler(_gcCollection_ListDataChanged); _gcCollection.ListSelectionChanged += new EventHandler(_gcCollection_ListSelectionChanged); _gcCollection.SelectedChanged += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_SelectedChanged); core.ActiveGeocacheChanged += new Framework.EventArguments.GeocacheEventHandler(core_ActiveGeocacheChanged); core.GeocachingComAccountChanged += new Framework.EventArguments.GeocacheComAccountEventHandler(core_GeocachingComAccountChanged); core.UserWaypoints.ListDataChanged += new EventHandler(UserWaypoints_ListDataChanged); core.UserWaypoints.UserWaypointAdded += new Framework.EventArguments.UserWaypointEventHandler(UserWaypoints_UserWaypointAdded); core.UserWaypoints.UserWaypointRemoved += new Framework.EventArguments.UserWaypointEventHandler(UserWaypoints_UserWaypointRemoved); core.Logs.ListDataChanged += new EventHandler(Logs_ListDataChanged); core.GeocachingAccountNames.Changed += new Framework.EventArguments.GeocachingAccountNamesEventHandler(GeocachingAccountNames_Changed); cacheListControl1.InitBrushes(); cacheListControl1.GeocacheDataGrid.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(GeocacheDataGrid_SelectionChanged); if (!string.IsNullOrEmpty(PluginSettings.Instance.VisibleColumns)) { string[] parts = PluginSettings.Instance.VisibleColumns.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < _fixedColumnCount; i++) { cacheListControl1.GeocacheDataGrid.Columns[i].Visibility = parts.Contains(i.ToString()) ? System.Windows.Visibility.Visible : System.Windows.Visibility.Hidden; } } if (!string.IsNullOrEmpty(PluginSettings.Instance.ColumnOrder)) { try { string[] order = PluginSettings.Instance.ColumnOrder.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < order.Length; i++) { cacheListControl1.GeocacheDataGrid.Columns[i].DisplayIndex = int.Parse(order[i]); } } catch { } } _presetFilename = System.IO.Path.Combine(core.PluginDataPath, "clpresets.xml"); _presets = Preset.LoadFromFile(_presetFilename); comboBox1.Items.AddRange(_presets.ToArray()); _initializing = false; cacheListControl1.OnMouseEnter += new EventHandler <EventArgs>(cacheListControl1_OnMouseEnter); }
public Engine() { try { _settingsProvider = new SettingsProvider(null); string[] args = Environment.GetCommandLineArgs(); if (EnablePluginDataPathAtStartup || (args != null && args.Contains("/f"))) { using (SelectSettingsForm dlg = new SelectSettingsForm(this)) { _pluginDataFolderSelected = dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK; } } else { _pluginDataFolderSelected = true; } if (_pluginDataFolderSelected) { _geocachingAccountNames = new Framework.Data.GeocachingAccountNames(); var p = _settingsProvider.GetSettingsValueStringCollection("Core.GeocachingAccountNames", null); if (p != null) { foreach (string s in p) { string[] parts = s.Split("|".ToArray(), 2); if (parts.Length == 2) { _geocachingAccountNames.SetAccountName(parts[0], parts[1]); } } } _geocachingAccountNames.Changed += new Framework.EventArguments.GeocachingAccountNamesEventHandler(_geocachingAccountNames_Changed); _geocachingComAccount = new Framework.Data.GeocachingComAccountInfo(); _geocachingComAccount.AccountName = _settingsProvider.GetSettingsValue("Core.GCComAccountName", null); _geocachingComAccount.APIToken = _settingsProvider.GetSettingsValue("Core.GCComAccountToken", null); _geocachingComAccount.APITokenStaging = _settingsProvider.GetSettingsValue("Core.GCComAccountTokenStaging", null); _geocachingComAccount.MemberType = _settingsProvider.GetSettingsValue("Core.GCComAccountMemberType", null); _geocachingComAccount.MemberTypeId = _settingsProvider.GetSettingsValueInt("Core.GCComAccountMemberTypeId", 0); _geocachingComAccount.Changed += new Framework.EventArguments.GeocacheComAccountEventHandler(_geocachingComAccount_Changed); GeocachingAccountNames.SetAccountName("GC", _settingsProvider.GetSettingsValue("Core.GCComAccountName", null) ?? ""); _logs = new Framework.Data.LogCollection(); _userWaypoints = new Framework.Data.UserWaypointCollection(); _waypoints = new Framework.Data.WaypointCollection(); _geocaches = new Framework.Data.GeocacheCollection(this); _logImages = new Framework.Data.LogImageCollection(); _geocacheImages = new Framework.Data.GeocacheImageCollection(); _geocacheAttributes = new Framework.Data.GeocacheAttributeCollection(); _geocacheTypes = new Framework.Data.GeocacheTypeCollection(); _geocacheContainers = new Framework.Data.GeocacheContainerCollection(); _logTypes = new Framework.Data.LogTypeCollection(); _waypointTypes = new Framework.Data.WaypointTypeCollection(); _homeLocation = new Framework.Data.Location(); _centerLocation = new Framework.Data.Location(); _gpsLocation = new Framework.Data.GPSLocation(); _languageItems = new Framework.Data.LanguageItemCollection(); _detectedPlugins = new List<string>(); _internalStoragePlugins = new List<string>(); _selectedLanguage = System.Globalization.CultureInfo.CurrentCulture; _plugins = new List<Framework.Interfaces.IPlugin>(); _currentDomain = AppDomain.CurrentDomain; _currentDomain.AssemblyResolve += new ResolveEventHandler(LoadFromSameFolder); //set initial data //default location settings _centerLocation.SetLocation(_settingsProvider.GetSettingsValueDouble("Core.CenterLat", 51.5), _settingsProvider.GetSettingsValueDouble("Core.CenterLon", 5.5)); _centerLocation.Changed += new Framework.EventArguments.LocationEventHandler(_centerLocation_Changed); _homeLocation.SetLocation(_settingsProvider.GetSettingsValueDouble("Core.HomeLat", 51.5), _settingsProvider.GetSettingsValueDouble("Core.HomeLon", 5.5)); _homeLocation.Changed += new Framework.EventArguments.LocationEventHandler(_homeLocation_Changed); //default (unknown) cache- ,container etc. types. Position 0 means unknown Framework.Data.GeocacheType ct = new Framework.Data.GeocacheType(); ct.ID = 0; ct.Name = "Not present"; _geocacheTypes.Add(ct); Framework.Data.GeocacheAttribute attr = new Framework.Data.GeocacheAttribute(); attr.ID = 0; attr.Name = "Unknown"; _geocacheAttributes.Add(attr); Framework.Data.GeocacheContainer cont = new Framework.Data.GeocacheContainer(); cont.ID = 0; cont.Name = "Unknown"; _geocacheContainers.Add(cont); Framework.Data.LogType lt = new Framework.Data.LogType(); lt.ID = 0; lt.Name = "Unknown"; lt.AsFound = false; _logTypes.Add(lt); Framework.Data.WaypointType wpt = new Framework.Data.WaypointType(); wpt.ID = 0; wpt.Name = "Unknown"; _waypointTypes.Add(wpt); _shortcuts = new List<Framework.Data.ShortcutInfo>(); } } catch { RestoreDefaultSettings(); } }
public SimpleCacheListForm(Framework.Interfaces.IPlugin owner, Framework.Interfaces.ICore core) : base(owner, core) { _initializing = true; FixedCore = core; InitializeComponent(); if (Properties.Settings.Default.UpgradeNeeded) { Properties.Settings.Default.Upgrade(); Properties.Settings.Default.UpgradeNeeded = false; Properties.Settings.Default.Save(); } if (Properties.Settings.Default.WindowPos != null && !Properties.Settings.Default.WindowPos.IsEmpty) { this.Bounds = Properties.Settings.Default.WindowPos; this.StartPosition = FormStartPosition.Manual; } core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_CACHETYPE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SIMPLECACHELIST)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_BACKGROUND)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_ARCHIVED)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_AVAILABLE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_FOUND)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_OWN)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_NOTAVAILABLE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_DEFERREDSCROLLING)); core.LanguageItems.Add(new Framework.Data.LanguageItem(SettingsPanel.STR_ENABLEAUTOSORT)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SHOWSELECTEDONLY)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SHOWFLAGGEDONLY)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_VIEWGEOCACHE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_VIEWGEOCACHEFROMORG)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_CENTERLOCATION)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_EDITNOTE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SETCOORDS)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_CLEARCOORDS)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_EDITGEOCACHE)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_EDITWAYPOINTS)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_PRESET)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SELECTED)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_SELECTED)); core.LanguageItems.Add(new Framework.Data.LanguageItem(STR_TYPE)); for (int i = 0; i < cacheListControl1.GeocacheDataGrid.Columns.Count; i++) { if (cacheListControl1.GeocacheDataGrid.Columns[i].Header as string == "Test") { _fixedColumnCount = i; break; } else if (!string.IsNullOrEmpty(cacheListControl1.GeocacheDataGrid.Columns[i].Header as string)) { core.LanguageItems.Add(new Framework.Data.LanguageItem(cacheListControl1.GeocacheDataGrid.Columns[i].Header as string)); } _orgHeader.Add(cacheListControl1.GeocacheDataGrid.Columns[i].Header as string); } core.SelectedLanguageChanged += new EventHandler(core_SelectedLanguageChanged); core_SelectedLanguageChanged(this, EventArgs.Empty); _gcCollection = Core.Geocaches; _gcCollection.GeocacheAdded += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_GeocacheAdded); _gcCollection.GeocacheRemoved += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_GeocacheRemoved); _gcCollection.GeocacheSelectedChanged += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_GeocacheSelectedChanged); _gcCollection.DataChanged += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_DataChanged); _gcCollection.ListDataChanged += new EventHandler(_gcCollection_ListDataChanged); _gcCollection.ListSelectionChanged += new EventHandler(_gcCollection_ListSelectionChanged); _gcCollection.SelectedChanged += new Framework.EventArguments.GeocacheEventHandler(_gcCollection_SelectedChanged); core.ActiveGeocacheChanged += new Framework.EventArguments.GeocacheEventHandler(core_ActiveGeocacheChanged); core.GeocachingComAccountChanged += new Framework.EventArguments.GeocacheComAccountEventHandler(core_GeocachingComAccountChanged); core.UserWaypoints.ListDataChanged += new EventHandler(UserWaypoints_ListDataChanged); core.UserWaypoints.UserWaypointAdded += new Framework.EventArguments.UserWaypointEventHandler(UserWaypoints_UserWaypointAdded); core.UserWaypoints.UserWaypointRemoved += new Framework.EventArguments.UserWaypointEventHandler(UserWaypoints_UserWaypointRemoved); core.Logs.ListDataChanged += new EventHandler(Logs_ListDataChanged); core.GeocachingAccountNames.Changed += new Framework.EventArguments.GeocachingAccountNamesEventHandler(GeocachingAccountNames_Changed); cacheListControl1.InitBrushes(); cacheListControl1.GeocacheDataGrid.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(GeocacheDataGrid_SelectionChanged); if (!string.IsNullOrEmpty(Properties.Settings.Default.VisibleColumns)) { string[] parts = Properties.Settings.Default.VisibleColumns.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < _fixedColumnCount; i++) { cacheListControl1.GeocacheDataGrid.Columns[i].Visibility = parts.Contains(i.ToString()) ? System.Windows.Visibility.Visible : System.Windows.Visibility.Hidden; } } if (!string.IsNullOrEmpty(Properties.Settings.Default.ColumnOrder)) { try { string[] order = Properties.Settings.Default.ColumnOrder.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < order.Length; i++) { cacheListControl1.GeocacheDataGrid.Columns[i].DisplayIndex = int.Parse(order[i]); } } catch { } } _presetFilename = System.IO.Path.Combine(core.PluginDataPath, "clpresets.xml"); _presets = Preset.LoadFromFile(_presetFilename); comboBox1.Items.AddRange(_presets.ToArray()); _initializing = false; cacheListControl1.OnMouseEnter += new EventHandler<EventArgs>(cacheListControl1_OnMouseEnter); }
public static Framework.Data.Geocache GetGeocache(Framework.Data.GeocacheCollection cacheCollection, string CacheCode) { return(cacheCollection.GetGeocache(CacheCode)); }
public Engine() { try { _settingsProvider = new SettingsProvider(null); string[] args = Environment.GetCommandLineArgs(); if (EnablePluginDataPathAtStartup || (args != null && args.Contains("/f"))) { using (SelectSettingsForm dlg = new SelectSettingsForm(this)) { _pluginDataFolderSelected = dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK; } } else { _pluginDataFolderSelected = true; } if (_pluginDataFolderSelected) { _geocachingAccountNames = new Framework.Data.GeocachingAccountNames(); var p = _settingsProvider.GetSettingsValueStringCollection("Core.GeocachingAccountNames", null); if (p != null) { foreach (string s in p) { string[] parts = s.Split("|".ToArray(), 2); if (parts.Length == 2) { _geocachingAccountNames.SetAccountName(parts[0], parts[1]); } } } _geocachingAccountNames.Changed += new Framework.EventArguments.GeocachingAccountNamesEventHandler(_geocachingAccountNames_Changed); _geocachingComAccount = new Framework.Data.GeocachingComAccountInfo(); _geocachingComAccount.AccountName = _settingsProvider.GetSettingsValue("Core.GCComAccountName", null); _geocachingComAccount.APIToken = _settingsProvider.GetSettingsValue("Core.GCComAccountToken", null); _geocachingComAccount.APITokenStaging = _settingsProvider.GetSettingsValue("Core.GCComAccountTokenStaging", null); _geocachingComAccount.MemberType = _settingsProvider.GetSettingsValue("Core.GCComAccountMemberType", null); _geocachingComAccount.MemberTypeId = _settingsProvider.GetSettingsValueInt("Core.GCComAccountMemberTypeId", 0); _geocachingComAccount.Changed += new Framework.EventArguments.GeocacheComAccountEventHandler(_geocachingComAccount_Changed); GeocachingAccountNames.SetAccountName("GC", _settingsProvider.GetSettingsValue("Core.GCComAccountName", null) ?? ""); _logs = new Framework.Data.LogCollection(); _userWaypoints = new Framework.Data.UserWaypointCollection(); _waypoints = new Framework.Data.WaypointCollection(); _geocaches = new Framework.Data.GeocacheCollection(this); _logImages = new Framework.Data.LogImageCollection(); _geocacheImages = new Framework.Data.GeocacheImageCollection(); _geocacheAttributes = new Framework.Data.GeocacheAttributeCollection(); _geocacheTypes = new Framework.Data.GeocacheTypeCollection(); _geocacheContainers = new Framework.Data.GeocacheContainerCollection(); _logTypes = new Framework.Data.LogTypeCollection(); _waypointTypes = new Framework.Data.WaypointTypeCollection(); _homeLocation = new Framework.Data.Location(); _centerLocation = new Framework.Data.Location(); _gpsLocation = new Framework.Data.GPSLocation(); _languageItems = new Framework.Data.LanguageItemCollection(); _detectedPlugins = new List <string>(); _internalStoragePlugins = new List <string>(); _selectedLanguage = System.Globalization.CultureInfo.CurrentCulture; _plugins = new List <Framework.Interfaces.IPlugin>(); _currentDomain = AppDomain.CurrentDomain; _currentDomain.AssemblyResolve += new ResolveEventHandler(LoadFromSameFolder); //set initial data //default location settings _centerLocation.SetLocation(_settingsProvider.GetSettingsValueDouble("Core.CenterLat", 51.5), _settingsProvider.GetSettingsValueDouble("Core.CenterLon", 5.5)); _centerLocation.Changed += new Framework.EventArguments.LocationEventHandler(_centerLocation_Changed); _homeLocation.SetLocation(_settingsProvider.GetSettingsValueDouble("Core.HomeLat", 51.5), _settingsProvider.GetSettingsValueDouble("Core.HomeLon", 5.5)); _homeLocation.Changed += new Framework.EventArguments.LocationEventHandler(_homeLocation_Changed); //default (unknown) cache- ,container etc. types. Position 0 means unknown Framework.Data.GeocacheType ct = new Framework.Data.GeocacheType(); ct.ID = 0; ct.Name = "Not present"; _geocacheTypes.Add(ct); Framework.Data.GeocacheAttribute attr = new Framework.Data.GeocacheAttribute(); attr.ID = 0; attr.Name = "Unknown"; _geocacheAttributes.Add(attr); Framework.Data.GeocacheContainer cont = new Framework.Data.GeocacheContainer(); cont.ID = 0; cont.Name = "Unknown"; _geocacheContainers.Add(cont); Framework.Data.LogType lt = new Framework.Data.LogType(); lt.ID = 0; lt.Name = "Unknown"; lt.AsFound = false; _logTypes.Add(lt); Framework.Data.WaypointType wpt = new Framework.Data.WaypointType(); wpt.ID = 0; wpt.Name = "Unknown"; _waypointTypes.Add(wpt); _shortcuts = new List <Framework.Data.ShortcutInfo>(); } } catch { RestoreDefaultSettings(); } }