mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-01-18 02:40:13 +00:00
Added "Create and Join Network" menu item to windows system tray UI
This commit is contained in:
parent
fc225401a5
commit
4e6151ebd9
@ -43,7 +43,10 @@
|
||||
<Separator/>
|
||||
<MenuItem Header="ZeroTier Central"
|
||||
Click="ToolbarItem_CentralClicked"/>
|
||||
|
||||
<MenuItem Header="Create and Join Network"
|
||||
Click="ToolbarItem_NewNetwork"
|
||||
x:Name="newNetworkItem"/>
|
||||
<Separator/>
|
||||
<MenuItem Header="About..."
|
||||
Click="ToolbarItem_AboutClicked"/>
|
||||
<MenuItem Header="Preferences..."
|
||||
|
@ -120,17 +120,21 @@ namespace WinUI
|
||||
if (shouldShowOnboardProcess)
|
||||
{
|
||||
// TODO: Show onboarding process window (on main thread
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
|
||||
{
|
||||
PageSwitcher ps = new PageSwitcher();
|
||||
ps.Show();
|
||||
}));
|
||||
showOnboardProcess();
|
||||
|
||||
shouldShowOnboardProcess = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showOnboardProcess()
|
||||
{
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
|
||||
{
|
||||
PageSwitcher ps = new PageSwitcher();
|
||||
ps.Show();
|
||||
}));
|
||||
}
|
||||
private void updateStatus(ZeroTierStatus status)
|
||||
{
|
||||
if (status != null)
|
||||
@ -142,6 +146,15 @@ namespace WinUI
|
||||
nodeId = status.Address;
|
||||
}));
|
||||
}
|
||||
|
||||
if (CentralAPI.Instance.HasAccessToken())
|
||||
{
|
||||
newNetworkItem.IsEnabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
newNetworkItem.IsEnabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void ToolbarItem_NodeIDClicked(object sender, System.Windows.RoutedEventArgs e)
|
||||
@ -331,6 +344,25 @@ namespace WinUI
|
||||
}
|
||||
}
|
||||
|
||||
private async void ToolbarItem_NewNetwork(object sender, System.Windows.RoutedEventArgs e)
|
||||
{
|
||||
if (CentralAPI.Instance.HasAccessToken())
|
||||
{
|
||||
CentralAPI api = CentralAPI.Instance;
|
||||
CentralNetwork newNetwork = await api.CreateNewNetwork();
|
||||
|
||||
APIHandler handler = APIHandler.Instance;
|
||||
handler.JoinNetwork(this.Dispatcher, newNetwork.Id);
|
||||
|
||||
string nodeId = APIHandler.Instance.NodeAddress();
|
||||
bool authorized = await CentralAPI.Instance.AuthorizeNode(nodeId, newNetwork.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
showOnboardProcess();
|
||||
}
|
||||
}
|
||||
|
||||
private void setWindowPosition(Window w)
|
||||
{
|
||||
double width = w.ActualWidth;
|
||||
|
Loading…
Reference in New Issue
Block a user