From 6842490c1feb572936d8b3893f6d3d07e289a878 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Wed, 9 Aug 2017 14:19:37 -0700 Subject: Add menu option to open ZeroTier Central in the system default browser --- windows/WinUI/ToolbarItem.xaml | 3 +++ windows/WinUI/ToolbarItem.xaml.cs | 27 +++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'windows') diff --git a/windows/WinUI/ToolbarItem.xaml b/windows/WinUI/ToolbarItem.xaml index 3b064fc4..85e4122a 100644 --- a/windows/WinUI/ToolbarItem.xaml +++ b/windows/WinUI/ToolbarItem.xaml @@ -41,6 +41,9 @@ + + _networkCollection = new ObservableCollection(); + private static Boolean shouldShowOnboardProcess = true; + public ObservableCollection NetworkCollection { get { return _networkCollection; } @@ -79,7 +81,12 @@ namespace WinUI { if (networks != null) { - this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + if (networks.Count > 0) + { + shouldShowOnboardProcess = false; + } + + Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => { NetworkCollection.Clear(); foreach (ZeroTierNetwork n in networks) @@ -93,6 +100,13 @@ namespace WinUI NetworkCollection.Add(item); } })); + + if (shouldShowOnboardProcess) + { + // TODO: Show onboarding process window (on main thread) + + shouldShowOnboardProcess = false; + } } } @@ -194,6 +208,11 @@ namespace WinUI 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) { if (aboutView == null) @@ -267,7 +286,7 @@ namespace WinUI private void ToolbarItem_QuitClicked(object sender, System.EventArgs e) { NetworkMonitor.Instance.StopMonitor(); - this.Close(); + Close(); Application.Current.Shutdown(); } @@ -281,11 +300,11 @@ namespace WinUI ZeroTierNetwork network = item.DataContext as ZeroTierNetwork; if (item.IsChecked) { - APIHandler.Instance.LeaveNetwork(this.Dispatcher, network.NetworkId); + APIHandler.Instance.LeaveNetwork(Dispatcher, network.NetworkId); } 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); } } } -- cgit v1.2.3