Add menu option to open ZeroTier Central in the system default browser

This commit is contained in:
Grant Limberg 2017-08-09 14:19:37 -07:00
parent ff5e22031a
commit 6842490c1f
2 changed files with 26 additions and 4 deletions

View file

@ -41,6 +41,9 @@
</CollectionContainer> </CollectionContainer>
<Separator/> <Separator/>
<MenuItem Header="ZeroTier Central"
Click="ToolbarItem_CentralClicked"/>
<MenuItem Header="About..." <MenuItem Header="About..."
Click="ToolbarItem_AboutClicked"/> Click="ToolbarItem_AboutClicked"/>
<MenuItem Header="Preferences..." <MenuItem Header="Preferences..."

View file

@ -44,6 +44,8 @@ namespace WinUI
private ObservableCollection<MenuItem> _networkCollection = new ObservableCollection<MenuItem>(); private ObservableCollection<MenuItem> _networkCollection = new ObservableCollection<MenuItem>();
private static Boolean shouldShowOnboardProcess = true;
public ObservableCollection<MenuItem> NetworkCollection public ObservableCollection<MenuItem> NetworkCollection
{ {
get { return _networkCollection; } get { return _networkCollection; }
@ -79,7 +81,12 @@ namespace WinUI
{ {
if (networks != null) if (networks != null)
{ {
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => if (networks.Count > 0)
{
shouldShowOnboardProcess = false;
}
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
{ {
NetworkCollection.Clear(); NetworkCollection.Clear();
foreach (ZeroTierNetwork n in networks) foreach (ZeroTierNetwork n in networks)
@ -93,6 +100,13 @@ namespace WinUI
NetworkCollection.Add(item); NetworkCollection.Add(item);
} }
})); }));
if (shouldShowOnboardProcess)
{
// TODO: Show onboarding process window (on main thread)
shouldShowOnboardProcess = false;
}
} }
} }
@ -194,6 +208,11 @@ namespace WinUI
joinNetView = null; joinNetView = null;
} }
private void ToolbarItem_CentralClicked(object sender, System.EventArgs e)
{
Process.Start("https://my.zerotier.com");
}
private void ToolbarItem_AboutClicked(object sender, System.EventArgs e) private void ToolbarItem_AboutClicked(object sender, System.EventArgs e)
{ {
if (aboutView == null) if (aboutView == null)
@ -267,7 +286,7 @@ namespace WinUI
private void ToolbarItem_QuitClicked(object sender, System.EventArgs e) private void ToolbarItem_QuitClicked(object sender, System.EventArgs e)
{ {
NetworkMonitor.Instance.StopMonitor(); NetworkMonitor.Instance.StopMonitor();
this.Close(); Close();
Application.Current.Shutdown(); Application.Current.Shutdown();
} }
@ -281,11 +300,11 @@ namespace WinUI
ZeroTierNetwork network = item.DataContext as ZeroTierNetwork; ZeroTierNetwork network = item.DataContext as ZeroTierNetwork;
if (item.IsChecked) if (item.IsChecked)
{ {
APIHandler.Instance.LeaveNetwork(this.Dispatcher, network.NetworkId); APIHandler.Instance.LeaveNetwork(Dispatcher, network.NetworkId);
} }
else else
{ {
APIHandler.Instance.JoinNetwork(this.Dispatcher, network.NetworkId, network.AllowManaged, network.AllowGlobal, network.AllowDefault); APIHandler.Instance.JoinNetwork(Dispatcher, network.NetworkId, network.AllowManaged, network.AllowGlobal, network.AllowDefault);
} }
} }
} }