summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
Diffstat (limited to 'windows')
-rw-r--r--windows/WinUI/JoinNetworkView.xaml4
-rw-r--r--windows/WinUI/PreferencesView.xaml2
-rw-r--r--windows/WinUI/PreferencesView.xaml.cs25
3 files changed, 27 insertions, 4 deletions
diff --git a/windows/WinUI/JoinNetworkView.xaml b/windows/WinUI/JoinNetworkView.xaml
index 0bd065a4..1cd1e98d 100644
--- a/windows/WinUI/JoinNetworkView.xaml
+++ b/windows/WinUI/JoinNetworkView.xaml
@@ -5,12 +5,12 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WinUI"
mc:Ignorable="d"
- Title="Join a Network" Height="120" Width="320" Icon="ZeroTierIcon.ico">
+ Title="Join a Network" SizeToContent="WidthAndHeight" Height="Auto" Width="Auto" Icon="ZeroTierIcon.ico">
<Grid HorizontalAlignment="Left" Margin="0,0,0,0" Width="315">
<TextBox x:Name="joinNetworkBox" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="291" PreviewTextInput="joinNetworkBox_OnTextEntered" PreviewKeyDown="joinNetworkBox_OnKeyDown"/>
<CheckBox x:Name="allowManagedCheckbox" Content="Allow Managed" HorizontalAlignment="Left" Margin="10,38,0,0" VerticalAlignment="Top" IsChecked="True"/>
<CheckBox x:Name="allowGlobalCheckbox" Content="Allow Global" HorizontalAlignment="Left" Margin="118,38,0,0" VerticalAlignment="Top"/>
<CheckBox x:Name="allowDefaultCheckbox" Content="Allow Default" HorizontalAlignment="Left" Margin="210,38,-6,0" VerticalAlignment="Top"/>
- <Button x:Name="joinButton" Content="Join" HorizontalAlignment="Left" Margin="226,58,0,0" Background="#FFFFB354" VerticalAlignment="Top" Width="75" Click="joinButton_Click" IsEnabled="False"/>
+ <Button x:Name="joinButton" Content="Join" HorizontalAlignment="Left" Margin="226,58,0,10" Background="#FFFFB354" VerticalAlignment="Top" Width="75" Click="joinButton_Click" IsEnabled="False"/>
</Grid>
</Window>
diff --git a/windows/WinUI/PreferencesView.xaml b/windows/WinUI/PreferencesView.xaml
index 51c30d9a..ac61fff1 100644
--- a/windows/WinUI/PreferencesView.xaml
+++ b/windows/WinUI/PreferencesView.xaml
@@ -7,7 +7,7 @@
mc:Ignorable="d"
Title="PreferencesView" SizeToContent="WidthAndHeight" Height="Auto" Width="Auto" Icon="ZeroTierIcon.ico">
<Grid>
- <CheckBox x:Name="checkBox" Content="Launch ZeroTier On Startup" HorizontalAlignment="Left" Margin="10,10,10,10" VerticalAlignment="Top"/>
+ <CheckBox x:Name="startupCheckbox" Content="Launch ZeroTier On Startup" HorizontalAlignment="Left" Margin="10,10,10,10" VerticalAlignment="Top" Checked="startupCheckbox_Checked" Unchecked="startupCheckbox_Unchecked"/>
</Grid>
</Window>
diff --git a/windows/WinUI/PreferencesView.xaml.cs b/windows/WinUI/PreferencesView.xaml.cs
index 9de8766e..c6733be6 100644
--- a/windows/WinUI/PreferencesView.xaml.cs
+++ b/windows/WinUI/PreferencesView.xaml.cs
@@ -1,4 +1,5 @@
-using System;
+using Microsoft.Win32;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -19,9 +20,31 @@ namespace WinUI
/// </summary>
public partial class PreferencesView : Window
{
+ public static string AppName = "ZeroTier One";
+ private RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
+
public PreferencesView()
{
InitializeComponent();
+
+
+ string keyValue = rk.GetValue(AppName) as string;
+
+ if (keyValue != null && keyValue.Equals(System.Reflection.Assembly.GetExecutingAssembly().Location))
+ {
+ startupCheckbox.IsChecked = true;
+ }
}
+
+ private void startupCheckbox_Checked(object sender, RoutedEventArgs e)
+ {
+ rk.SetValue(AppName, System.Reflection.Assembly.GetExecutingAssembly().Location);
+ }
+
+ private void startupCheckbox_Unchecked(object sender, RoutedEventArgs e)
+ {
+ rk.DeleteValue(AppName);
+ }
+
}
}