diff options
Diffstat (limited to 'windows/WinUI/MainWindow.xaml.cs')
| -rw-r--r-- | windows/WinUI/MainWindow.xaml.cs | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/windows/WinUI/MainWindow.xaml.cs b/windows/WinUI/MainWindow.xaml.cs index f6cb4f44..103165b3 100644 --- a/windows/WinUI/MainWindow.xaml.cs +++ b/windows/WinUI/MainWindow.xaml.cs @@ -29,6 +29,8 @@ namespace WinUI Timer timer = new Timer(); + bool connected = false; + public MainWindow() { InitializeComponent(); @@ -36,6 +38,11 @@ namespace WinUI networksPage.SetAPIHandler(handler); updateStatus(); + if (!connected) + { + MessageBox.Show("Unable to connect to ZeroTier Service."); + } + updateNetworks(); updatePeers(); @@ -50,18 +57,40 @@ namespace WinUI { var status = handler.GetStatus(); - networkId.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => - { - this.networkId.Content = status.Address; - })); - versionString.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + if (status != null) { - this.versionString.Content = status.Version; - })); - onlineStatus.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + connected = true; + + networkId.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + { + this.networkId.Content = status.Address; + })); + versionString.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + { + this.versionString.Content = status.Version; + })); + onlineStatus.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + { + this.onlineStatus.Content = (status.Online ? "ONLINE" : "OFFLINE"); + })); + } + else { - this.onlineStatus.Content = (status.Online ? "ONLINE" : "OFFLINE"); - })); + connected = false; + + networkId.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + { + this.networkId.Content = ""; + })); + versionString.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + { + this.versionString.Content = "0"; + })); + onlineStatus.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => + { + this.onlineStatus.Content = "OFFLINE"; + })); + } } private void updateNetworks() |
