diff --git a/SMT/DefaultWindowLayout.dat b/SMT/DefaultWindowLayout.dat
index 562c520..457decf 100644
--- a/SMT/DefaultWindowLayout.dat
+++ b/SMT/DefaultWindowLayout.dat
@@ -1 +1,36 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SMT/MainWindow.xaml b/SMT/MainWindow.xaml
index cc43398..db13d2b 100644
--- a/SMT/MainWindow.xaml
+++ b/SMT/MainWindow.xaml
@@ -228,65 +228,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SMT/MainWindow.xaml.cs b/SMT/MainWindow.xaml.cs
index ec3eb03..c44b2e9 100644
--- a/SMT/MainWindow.xaml.cs
+++ b/SMT/MainWindow.xaml.cs
@@ -58,7 +58,7 @@ public bool OverlayWindowsAreClickTrough
private System.Windows.Forms.NotifyIcon nIcon = new System.Windows.Forms.NotifyIcon();
- private readonly string WindowLayoutVersion = "01";
+ private readonly string WindowLayoutVersion = "02";
///
/// Main Window
@@ -208,7 +208,6 @@ public MainWindow()
TurnurConnectionsList.ItemsSource = EVEManager.TurnurConnections;
EVEManager.TurnurUpdateEvent += TurnurConnections_CollectionChanged;
- JumpBridgeList.ItemsSource = EVEManager.JumpBridges;
MetaliminalStormList.ItemsSource = EVEManager.MetaliminalStorms;
EVEManager.StormsUpdateEvent += Storms_CollectionChanged;
@@ -216,7 +215,6 @@ public MainWindow()
EVEManager.SovUpdateEvent += ActiveSovCampaigns_CollectionChanged;
LoadInfoObjects();
- UpdateJumpBridgeSummary();
// load any custom universe view layout
// Save any custom map Layout
@@ -946,6 +944,12 @@ private void PreferencesWindow_Closed(object sender, EventArgs e)
{
RegionUC.ReDrawMap(true);
UniverseUC.ReDrawMap(true, true, false);
+
+ // recalculate the route if required
+ if (ActiveCharacter != null && ActiveCharacter.Waypoints.Count > 0)
+ {
+ ActiveCharacter.RecalcRoute();
+ }
}
#endregion Preferences & Options
@@ -1664,288 +1668,6 @@ private void ReCalculateRouteBtn_Click(object sender, RoutedEventArgs e)
#endregion Route
- #region JumpBridges
-
- private void ClearJumpGatesBtn_Click(object sender, RoutedEventArgs e)
- {
- EVEManager.JumpBridges.Clear();
- EVEData.Navigation.ClearJumpBridges();
-
- CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
- }
-
- private void DeleteJumpGateMenuItem_Click(object sender, RoutedEventArgs e)
- {
- if (JumpBridgeList.SelectedIndex == -1)
- {
- return;
- }
-
- EVEData.JumpBridge jb = JumpBridgeList.SelectedItem as EVEData.JumpBridge;
-
- EVEManager.JumpBridges.Remove(jb);
-
- EVEData.Navigation.ClearJumpBridges();
- EVEData.Navigation.UpdateJumpBridges(EVEManager.JumpBridges);
- RegionUC.ReDrawMap(true);
-
- EVEData.LocalCharacter c = RegionUC.ActiveCharacter as EVEData.LocalCharacter;
- if (c != null && c.Waypoints.Count > 0)
- {
- c.RecalcRoute();
- }
-
- CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
- UpdateJumpBridgeSummary();
- }
-
- private void EnableDisableJumpGateMenuItem_Click(object sender, RoutedEventArgs e)
- {
- if (JumpBridgeList.SelectedIndex == -1)
- {
- return;
- }
-
- EVEData.JumpBridge jb = JumpBridgeList.SelectedItem as EVEData.JumpBridge;
-
- jb.Disabled = !jb.Disabled;
-
- EVEData.Navigation.ClearJumpBridges();
- EVEData.Navigation.UpdateJumpBridges(EVEManager.JumpBridges);
- RegionUC.ReDrawMap(true);
-
- EVEData.LocalCharacter c = RegionUC.ActiveCharacter as EVEData.LocalCharacter;
- if (c != null && c.Waypoints.Count > 0)
- {
- c.RecalcRoute();
- }
-
- CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
- UpdateJumpBridgeSummary();
- }
-
- private void ExportJumpGatesBtn_Click(object sender, RoutedEventArgs e)
- {
- string ExportText = "";
-
- foreach (EVEData.MapRegion mr in EVEManager.Regions)
- {
- ExportText += "# " + mr.Name + "\n";
-
- foreach (EVEData.JumpBridge jb in EVEManager.JumpBridges)
- {
- EVEData.System es = EVEManager.GetEveSystem(jb.From);
- if (es.Region == mr.Name)
- {
- ExportText += $"{jb.FromID} {jb.From} --> {jb.To}\n";
- }
-
- es = EVEManager.GetEveSystem(jb.To);
- if (es.Region == mr.Name)
- {
- ExportText += $"{jb.ToID} {jb.To} --> {jb.From}\n";
- }
- }
-
- ExportText += "\n";
- }
-
- SaveFileDialog saveFileDialog = new SaveFileDialog();
- saveFileDialog.Filter = "Text file (*.txt)|*.txt";
- if (saveFileDialog.ShowDialog() == true)
- {
- try
- {
- File.WriteAllText(saveFileDialog.FileName, ExportText);
- }
- catch { }
- }
- }
-
- private async void FindJumpGatesBtn_Click(object sender, RoutedEventArgs e)
- {
- ImportJumpGatesBtn.IsEnabled = false;
- ClearJumpGatesBtn.IsEnabled = false;
- JumpBridgeList.IsEnabled = false;
- ImportPasteJumpGatesBtn.IsEnabled = false;
- ExportJumpGatesBtn.IsEnabled = false;
-
- foreach (EVEData.LocalCharacter c in EVEManager.LocalCharacters)
- {
- if (c.ESILinked)
- {
- // This should never be set due to https://developers.eveonline.com/blog/article/the-esi-api-is-a-shared-resource-do-not-abuse-it
- if (c.DeepSearchEnabled && GateSearchFilter.Text == " » ")
- {
- string chars = "abcdefghijklmnopqrstuvwxyz0123456789";
- string basesearch = " » ";
-
- foreach (char cc in chars)
- {
- string search = basesearch + cc;
- List jbl = await c.FindJumpGates(search);
-
- foreach (EVEData.JumpBridge jb in jbl)
- {
- bool found = false;
-
- foreach (EVEData.JumpBridge jbr in EVEManager.JumpBridges)
- {
- if ((jb.From == jbr.From && jb.To == jbr.To) || (jb.From == jbr.To && jb.To == jbr.From))
- {
- found = true;
- }
- }
-
- if (!found)
- {
- EVEManager.JumpBridges.Add(jb);
- }
- }
-
- Thread.Sleep(100);
- }
-
- foreach (char cc in chars)
- {
- string search = cc + basesearch;
- List jbl = await c.FindJumpGates(search);
-
- foreach (EVEData.JumpBridge jb in jbl)
- {
- bool found = false;
-
- foreach (EVEData.JumpBridge jbr in EVEManager.JumpBridges)
- {
- if ((jb.From == jbr.From && jb.To == jbr.To) || (jb.From == jbr.To && jb.To == jbr.From))
- {
- found = true;
- }
- }
-
- if (!found)
- {
- EVEManager.JumpBridges.Add(jb);
- }
- }
-
- Thread.Sleep(100);
- }
- }
- else
- {
- List jbl = await c.FindJumpGates(GateSearchFilter.Text);
-
- foreach (EVEData.JumpBridge jb in jbl)
- {
- bool found = false;
-
- foreach (EVEData.JumpBridge jbr in EVEManager.JumpBridges)
- {
- if ((jb.From == jbr.From && jb.To == jbr.To) || (jb.From == jbr.To && jb.To == jbr.From))
- {
- found = true;
- }
- }
-
- if (!found)
- {
- EVEManager.JumpBridges.Add(jb);
- }
- }
- }
- }
- }
-
- EVEData.Navigation.ClearJumpBridges();
- EVEData.Navigation.UpdateJumpBridges(EVEManager.JumpBridges);
- UpdateJumpBridgeSummary();
- RegionUC.ReDrawMap(true);
-
- ImportJumpGatesBtn.IsEnabled = true;
- ClearJumpGatesBtn.IsEnabled = true;
- JumpBridgeList.IsEnabled = true;
- ImportPasteJumpGatesBtn.IsEnabled = true;
- ExportJumpGatesBtn.IsEnabled = true;
- CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
- }
-
- private void ImportPasteJumpGatesBtn_Click(object sender, RoutedEventArgs e)
- {
- if (!Clipboard.ContainsText(TextDataFormat.Text))
- {
- return;
- }
- String jbText = Clipboard.GetText(TextDataFormat.UnicodeText);
-
- Regex rx = new Regex(
- @"(.*?) » (.*?) - .*?|^[\t ]*([0-9]+) (.*) --> (.*)",
- RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.Compiled
- );
- MatchCollection matches = rx.Matches(jbText);
-
- foreach (Match match in matches)
- {
- // from eve chat
- // 1 = id
- // 2 = from
- // 3 = to
-
- // from export
- // 4 = id
- // 5 = from
- // 6 = to
- GroupCollection groups = match.Groups;
- long IDFrom = 0;
- if (groups[1].Value != "" && groups[2].Value != "" && groups[3].Value != "")
- {
- long.TryParse(groups[1].Value, out IDFrom);
- string from = groups[2].Value;
- string to = groups[3].Value;
- EVEManager.AddUpdateJumpBridge(from, to, IDFrom);
- }
- else if (groups[4].Value != "" && groups[5].Value != "" && groups[6].Value != "")
- {
- long.TryParse(groups[4].Value, out IDFrom);
- string from = groups[5].Value.Trim();
- string to = groups[6].Value.Trim();
- EVEManager.AddUpdateJumpBridge(from, to, IDFrom);
- }
- }
-
- EVEData.Navigation.ClearJumpBridges();
- EVEData.Navigation.UpdateJumpBridges(EVEManager.JumpBridges);
- UpdateJumpBridgeSummary();
- RegionUC.ReDrawMap(true);
- CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
- }
-
- private void UpdateJumpBridgeSummary()
- {
- int JBCount = 0;
- int MissingInfo = 0;
- int Disabled = 0;
-
- foreach (EVEData.JumpBridge jb in EVEManager.JumpBridges)
- {
- JBCount++;
-
- if (jb.FromID == 0 || jb.ToID == 0)
- {
- MissingInfo++;
- }
- if (jb.Disabled)
- {
- Disabled++;
- }
- }
-
- string Label = $"{JBCount} gates, {MissingInfo} Incomplete, {Disabled} Disabled ";
-
- AnsiblexSummaryLbl.Content = Label;
- }
-
- #endregion JumpBridges
#region ZKillBoard
diff --git a/SMT/Preferences.xaml b/SMT/Preferences.xaml
index a33d5bc..079307c 100644
--- a/SMT/Preferences.xaml
+++ b/SMT/Preferences.xaml
@@ -13,60 +13,71 @@
-
-
-
+
+
+
-
+
-
+
-
-
- General
-
+
+
+
+
+ Auto sync character to active window
+ Use ESI for character positions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- Auto sync character to active window
- Use ESI for character positions
-
-
-
-
-
-
-
+ Disable jump bridges path animation
+ Disable route path animation
+
-
+
+
-
-
-
-
-
+ Enable Universe Map Edits
-
-
-
-
-
-
- Disable jump bridges path animation
- Disable route path animation
-
-
+
+
-
+
@@ -108,148 +119,177 @@
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- Show Dangerzone
-
-
-
-
-
-
-
-
-
-
- Warning on Unknown
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
-
-
-
- Show SOV as Coalitions
- Show IHub Timer
+
+
+
+
-
-
-
+ Warning Sound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+ Show Dangerzone
+
+
+
+
+
+
+
+
+
+
+ Warning on Unknown
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
-
+
+
+
+
+
Show Fleet Members
Show Fleet Member Ship Type
@@ -260,90 +300,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Show SOV as Coalitions
+ Show IHub Timer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
@@ -355,22 +442,7 @@
-
-
-
-
-
-
-
-
-
- Enable Universe Map Edits
-
-
-
-
-
diff --git a/SMT/Preferences.xaml.cs b/SMT/Preferences.xaml.cs
index 9e92571..7506204 100644
--- a/SMT/Preferences.xaml.cs
+++ b/SMT/Preferences.xaml.cs
@@ -1,9 +1,12 @@
using System;
using System.Collections.Generic;
using System.Globalization;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Threading;
using System.Windows;
using System.Windows.Data;
-using System.Windows.Forms;
+//using System.Windows.Forms;
using System.Windows.Media;
using SMT.EVEData;
using MessageBox = System.Windows.MessageBox;
@@ -33,6 +36,8 @@ public PreferencesWindow()
mediaPlayer = new MediaPlayer();
Uri woopUri = new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Sounds\woop.mp3");
mediaPlayer.Open(woopUri);
+
+ JumpBridgeList.ItemsSource = EveManager.Instance.JumpBridges;
}
public void Init()
@@ -123,7 +128,7 @@ private void IntelVolumeChanged_ValueChanged(object sender, RoutedPropertyChange
private void SetLogLocation_Click(object sender, RoutedEventArgs e)
{
- var dialog = new FolderBrowserDialog();
+ var dialog = new System.Windows.Forms.FolderBrowserDialog();
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
MapConf.CustomEveLogFolderLocation = dialog.SelectedPath;
@@ -136,6 +141,269 @@ private void DefaultLogLocation_Click(object sender, RoutedEventArgs e)
MapConf.CustomEveLogFolderLocation = string.Empty;
MessageBoxResult result = MessageBox.Show("Restart SMT for the log folder location to take effect", "Please Restart SMT", MessageBoxButton.OK);
}
+
+ private void ClearJumpGatesBtn_Click(object sender, RoutedEventArgs e)
+ {
+ EveManager.Instance.JumpBridges.Clear();
+ EVEData.Navigation.ClearJumpBridges();
+
+ CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
+ }
+
+ private void DeleteJumpGateMenuItem_Click(object sender, RoutedEventArgs e)
+ {
+ if (JumpBridgeList.SelectedIndex == -1)
+ {
+ return;
+ }
+
+ EVEData.JumpBridge jb = JumpBridgeList.SelectedItem as EVEData.JumpBridge;
+
+ EveManager.Instance.JumpBridges.Remove(jb);
+
+ EVEData.Navigation.ClearJumpBridges();
+ EVEData.Navigation.UpdateJumpBridges(EveManager.Instance.JumpBridges);
+
+ CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
+ UpdateJumpBridgeSummary();
+ }
+
+ private void EnableDisableJumpGateMenuItem_Click(object sender, RoutedEventArgs e)
+ {
+ if (JumpBridgeList.SelectedIndex == -1)
+ {
+ return;
+ }
+
+ EVEData.JumpBridge jb = JumpBridgeList.SelectedItem as EVEData.JumpBridge;
+
+ jb.Disabled = !jb.Disabled;
+
+ EVEData.Navigation.ClearJumpBridges();
+ EVEData.Navigation.UpdateJumpBridges(EveManager.Instance.JumpBridges);
+
+ CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
+ UpdateJumpBridgeSummary();
+ }
+
+ private void ExportJumpGatesBtn_Click(object sender, RoutedEventArgs e)
+ {
+ string ExportText = "";
+
+ foreach (EVEData.MapRegion mr in EveManager.Instance.Regions)
+ {
+ ExportText += "# " + mr.Name + "\n";
+
+ foreach (EVEData.JumpBridge jb in EveManager.Instance.JumpBridges)
+ {
+ EVEData.System es = EveManager.Instance.GetEveSystem(jb.From);
+ if (es.Region == mr.Name)
+ {
+ ExportText += $"{jb.FromID} {jb.From} --> {jb.To}\n";
+ }
+
+ es = EveManager.Instance.GetEveSystem(jb.To);
+ if (es.Region == mr.Name)
+ {
+ ExportText += $"{jb.ToID} {jb.To} --> {jb.From}\n";
+ }
+ }
+
+ ExportText += "\n";
+ }
+
+ System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
+ saveFileDialog.Filter = "Text file (*.txt)|*.txt";
+ if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ try
+ {
+ File.WriteAllText(saveFileDialog.FileName, ExportText);
+ }
+ catch { }
+ }
+ }
+
+ private async void FindJumpGatesBtn_Click(object sender, RoutedEventArgs e)
+ {
+ ImportJumpGatesBtn.IsEnabled = false;
+ ClearJumpGatesBtn.IsEnabled = false;
+ JumpBridgeList.IsEnabled = false;
+ ImportPasteJumpGatesBtn.IsEnabled = false;
+ ExportJumpGatesBtn.IsEnabled = false;
+
+ foreach (EVEData.LocalCharacter c in EveManager.Instance.LocalCharacters)
+ {
+ if (c.ESILinked)
+ {
+ // This should never be set due to https://developers.eveonline.com/blog/article/the-esi-api-is-a-shared-resource-do-not-abuse-it
+ if (c.DeepSearchEnabled && GateSearchFilter.Text == " » ")
+ {
+ string chars = "abcdefghijklmnopqrstuvwxyz0123456789";
+ string basesearch = " » ";
+
+ foreach (char cc in chars)
+ {
+ string search = basesearch + cc;
+ List jbl = await c.FindJumpGates(search);
+
+ foreach (EVEData.JumpBridge jb in jbl)
+ {
+ bool found = false;
+
+ foreach (EVEData.JumpBridge jbr in EveManager.Instance.JumpBridges)
+ {
+ if ((jb.From == jbr.From && jb.To == jbr.To) || (jb.From == jbr.To && jb.To == jbr.From))
+ {
+ found = true;
+ }
+ }
+
+ if (!found)
+ {
+ EveManager.Instance.JumpBridges.Add(jb);
+ }
+ }
+
+ Thread.Sleep(100);
+ }
+
+ foreach (char cc in chars)
+ {
+ string search = cc + basesearch;
+ List jbl = await c.FindJumpGates(search);
+
+ foreach (EVEData.JumpBridge jb in jbl)
+ {
+ bool found = false;
+
+ foreach (EVEData.JumpBridge jbr in EveManager.Instance.JumpBridges)
+ {
+ if ((jb.From == jbr.From && jb.To == jbr.To) || (jb.From == jbr.To && jb.To == jbr.From))
+ {
+ found = true;
+ }
+ }
+
+ if (!found)
+ {
+ EveManager.Instance.JumpBridges.Add(jb);
+ }
+ }
+
+ Thread.Sleep(100);
+ }
+ }
+ else
+ {
+ List jbl = await c.FindJumpGates(GateSearchFilter.Text);
+
+ foreach (EVEData.JumpBridge jb in jbl)
+ {
+ bool found = false;
+
+ foreach (EVEData.JumpBridge jbr in EveManager.Instance.JumpBridges)
+ {
+ if ((jb.From == jbr.From && jb.To == jbr.To) || (jb.From == jbr.To && jb.To == jbr.From))
+ {
+ found = true;
+ }
+ }
+
+ if (!found)
+ {
+ EveManager.Instance.JumpBridges.Add(jb);
+ }
+ }
+ }
+ }
+ }
+
+ EVEData.Navigation.ClearJumpBridges();
+ EVEData.Navigation.UpdateJumpBridges(EveManager.Instance.JumpBridges);
+ UpdateJumpBridgeSummary();
+
+ ImportJumpGatesBtn.IsEnabled = true;
+ ClearJumpGatesBtn.IsEnabled = true;
+ JumpBridgeList.IsEnabled = true;
+ ImportPasteJumpGatesBtn.IsEnabled = true;
+ ExportJumpGatesBtn.IsEnabled = true;
+ CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
+ }
+
+ private void ImportPasteJumpGatesBtn_Click(object sender, RoutedEventArgs e)
+ {
+ if (!Clipboard.ContainsText(TextDataFormat.Text))
+ {
+ return;
+ }
+ String jbText = Clipboard.GetText(TextDataFormat.UnicodeText);
+
+ Regex rx = new Regex(
+ @"(.*?) » (.*?) - .*?|^[\t ]*([0-9]+) (.*) --> (.*)",
+ RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.Compiled
+ );
+ MatchCollection matches = rx.Matches(jbText);
+
+ foreach (Match match in matches)
+ {
+ // from eve chat
+ // 1 = id
+ // 2 = from
+ // 3 = to
+
+ // from export
+ // 4 = id
+ // 5 = from
+ // 6 = to
+ GroupCollection groups = match.Groups;
+ long IDFrom = 0;
+ if (groups[1].Value != "" && groups[2].Value != "" && groups[3].Value != "")
+ {
+ long.TryParse(groups[1].Value, out IDFrom);
+ string from = groups[2].Value;
+ string to = groups[3].Value;
+ EveManager.Instance.AddUpdateJumpBridge(from, to, IDFrom);
+ }
+ else if (groups[4].Value != "" && groups[5].Value != "" && groups[6].Value != "")
+ {
+ long.TryParse(groups[4].Value, out IDFrom);
+ string from = groups[5].Value.Trim();
+ string to = groups[6].Value.Trim();
+ EveManager.Instance.AddUpdateJumpBridge(from, to, IDFrom);
+ }
+ }
+
+ EVEData.Navigation.ClearJumpBridges();
+ EVEData.Navigation.UpdateJumpBridges(EveManager.Instance.JumpBridges);
+ UpdateJumpBridgeSummary();
+ CollectionViewSource.GetDefaultView(JumpBridgeList.ItemsSource).Refresh();
+ }
+
+ private void UpdateJumpBridgeSummary()
+ {
+ int JBCount = 0;
+ int MissingInfo = 0;
+ int Disabled = 0;
+
+ foreach (EVEData.JumpBridge jb in EveManager.Instance.JumpBridges)
+ {
+ JBCount++;
+
+ if (jb.FromID == 0 || jb.ToID == 0)
+ {
+ MissingInfo++;
+ }
+ if (jb.Disabled)
+ {
+ Disabled++;
+ }
+ }
+
+ string Label = $"{JBCount} gates, {MissingInfo} Incomplete, {Disabled} Disabled ";
+
+ AnsiblexSummaryLbl.Content = Label;
+ }
}
public class JoinStringConverter : IValueConverter