add ability to hide/show server host options

This commit is contained in:
Bitl 2021-09-25 13:29:25 -07:00
parent 89306b74a7
commit cc6b807c3d
3 changed files with 78 additions and 29 deletions

View File

@ -70,6 +70,8 @@ namespace NovetusLauncher
}
}
launcherFormStylishInterface1.ToggleServerOptions();
ReadConfigValues(true);
LocalVars.launcherInitState = false;

View File

@ -752,13 +752,11 @@
<ColumnDefinition Width="135*"/>
<ColumnDefinition Width="447*"/>
</Grid.ColumnDefinitions>
<Rectangle x:Name="userInfoGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="120" Margin="0,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="169" Grid.ColumnSpan="2"/>
<Button x:Name="regenerateIDButton" Content="Regen ID" HorizontalAlignment="Left" Margin="19,106,0,0" VerticalAlignment="Top" Width="55" Height="20" Click="regenerateIDButton_Click"/>
<Rectangle x:Name="userInfoGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="83" Margin="0,47,0,0" Stroke="Black" VerticalAlignment="Top" Width="169" Grid.ColumnSpan="2"/>
<Button x:Name="regenerateIDButton" Content="Regenerate ID" HorizontalAlignment="Left" Margin="19,106,0,0" VerticalAlignment="Top" Width="136" Height="20" Click="regenerateIDButton_Click" Grid.ColumnSpan="2"/>
<TextBox x:Name="userNameBox" HorizontalAlignment="Left" Height="20" Margin="60,53,0,0" TextWrapping="Wrap" Text="Player" VerticalAlignment="Top" Width="95" Grid.ColumnSpan="2" TextChanged="userNameBox_TextChanged"/>
<Rectangle x:Name="joinServerGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="120" Margin="0,135,0,0" Stroke="Black" VerticalAlignment="Top" Width="169" Grid.ColumnSpan="2"/>
<Rectangle x:Name="joinServerLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="0,135,0,0" Stroke="Black" VerticalAlignment="Top" Width="169" Grid.ColumnSpan="2"/>
<Rectangle x:Name="userInfoLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="0,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="169" Grid.ColumnSpan="2"/>
<Label x:Name="userInfoLabel" Content="User Info" HorizontalAlignment="Left" Margin="37,9,0,0" VerticalAlignment="Top" FontSize="15" Grid.ColumnSpan="2" Width="95"/>
<Label x:Name="userName" Content="Name:" HorizontalAlignment="Left" Margin="10,47,0,0" VerticalAlignment="Top" FontSize="12" Height="29" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="userIDBox" HorizontalAlignment="Left" Height="20" Margin="60,81,0,0" TextWrapping="Wrap" Text="1" VerticalAlignment="Top" Width="95" Grid.ColumnSpan="2" TextChanged="userIDBox_TextChanged"/>
<Label x:Name="userID" Content="ID:" HorizontalAlignment="Left" Margin="20,75,0,0" VerticalAlignment="Top" FontSize="12" Height="29" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
@ -767,41 +765,42 @@
<Label x:Name="ipAddressLabel" Content="Server IP Address:" HorizontalAlignment="Left" Margin="20,165,0,0" VerticalAlignment="Top" FontSize="12" Height="29" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.ColumnSpan="2"/>
<TextBox x:Name="joinPortBox" HorizontalAlignment="Left" Height="20" Margin="20,220,0,0" TextWrapping="Wrap" Text="53640" VerticalAlignment="Top" Width="120" Grid.ColumnSpan="2" TextChanged="joinPortBox_TextChanged"/>
<Label x:Name="joinPortLabel" Content="Join Port" HorizontalAlignment="Left" Margin="37,199,0,0" VerticalAlignment="Top" FontSize="12" Height="27" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Width="86" Grid.ColumnSpan="2"/>
<Button x:Name="joinButton" Style="{DynamicResource JoinButton}" Content="" HorizontalAlignment="Left" Margin="103.166,192,0,0" VerticalAlignment="Top" Width="91" Height="33" Grid.Column="2" RenderTransformOrigin="0.227,0.54" Click="joinButton_Click"/>
<Button x:Name="serverBrowserButton" Style="{DynamicResource ImportantButton}" Content="Browse Servers" HorizontalAlignment="Left" Margin="103,229,0,0" VerticalAlignment="Top" Width="202" Height="26" Grid.Column="2" RenderTransformOrigin="0.645,-0.075" Click="serverBrowserButton_Click"/>
<Rectangle x:Name="hostServerGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="130" Margin="72,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="153" Grid.Column="1" Grid.ColumnSpan="2"/>
<Rectangle x:Name="hostServerLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="72,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="153" Grid.Column="1" Grid.ColumnSpan="2"/>
<Label x:Name="hostServerLabel" Content="Host Server" HorizontalAlignment="Left" Margin="100,9,0,0" VerticalAlignment="Top" FontSize="15" Width="98" Grid.Column="1" RenderTransformOrigin="0.561,0.175" Grid.ColumnSpan="2"/>
<Button x:Name="playSoloButton" Style="{DynamicResource SoloButton}" Content="" HorizontalAlignment="Left" Margin="213.166,192,0,0" VerticalAlignment="Top" Width="92" Height="32" Grid.Column="2" RenderTransformOrigin="1.3,0.863" Click="playSoloButton_Click"/>
<Button x:Name="StudioButton" Style="{DynamicResource StudioButton}" Content="" HorizontalAlignment="Left" Margin="339.166,192,0,0" VerticalAlignment="Top" Width="90" Height="32" Grid.Column="2" RenderTransformOrigin="1.3,0.863" Click="StudioButton_Click"/>
<Button x:Name="ServerButton" Style="{DynamicResource HostButton}" Content="" HorizontalAlignment="Left" Margin="339.166,227,0,0" VerticalAlignment="Top" Width="90" Height="31" Grid.Column="2" RenderTransformOrigin="1.3,0.863" Click="ServerButton_Click"/>
<Button x:Name="joinButton" Style="{DynamicResource JoinButton}" Content="" HorizontalAlignment="Left" Margin="122,191,0,0" VerticalAlignment="Top" Width="91" Height="33" Grid.Column="2" RenderTransformOrigin="0.227,0.54" Click="joinButton_Click"/>
<Button x:Name="serverBrowserButton" Style="{DynamicResource ImportantButton}" Content="Browse Servers" HorizontalAlignment="Left" Margin="100,225,0,0" VerticalAlignment="Top" Width="236" Height="30" Grid.Column="2" RenderTransformOrigin="0.645,-0.075" Click="serverBrowserButton_Click"/>
<Button x:Name="playSoloButton" Style="{DynamicResource SoloButton}" Content="" HorizontalAlignment="Left" Margin="218,191,0,0" VerticalAlignment="Top" Width="92" Height="32" Grid.Column="2" RenderTransformOrigin="1.3,0.863" Click="playSoloButton_Click"/>
<Button x:Name="StudioButton" Style="{DynamicResource StudioButton}" Content="" HorizontalAlignment="Left" Margin="341,192,0,0" VerticalAlignment="Top" Width="90" Height="32" Grid.Column="2" RenderTransformOrigin="1.3,0.863" Click="StudioButton_Click"/>
<Button x:Name="ServerOptionsButton" Style="{DynamicResource HostButton}" Content="" HorizontalAlignment="Left" Margin="341,225,0,0" VerticalAlignment="Top" Width="90" Height="31" Grid.Column="2" RenderTransformOrigin="1.3,0.863" Click="serverOptionsButton_Click"/>
<Rectangle x:Name="mapsGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="179" Margin="95,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="352" Grid.Column="2"/>
<Rectangle x:Name="mapsLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="95,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="352" Grid.Column="2"/>
<Label x:Name="mapsLabel" Content="Places" HorizontalAlignment="Left" Margin="253.166,9,0,0" VerticalAlignment="Top" FontSize="15" Width="52" Grid.Column="2"/>
<TextBox x:Name="mapsDescBox" Grid.Column="2" HorizontalAlignment="Left" Height="120" Margin="298,64,0,0" TextWrapping="Wrap" FontFamily="Comic Sans MS" FontSize="12" VerticalAlignment="Top" Width="139" IsReadOnly="True" HorizontalContentAlignment="Left" VerticalContentAlignment="Top"/>
<WindowsFormsHost Height="120" Margin="103.166,64,154,76" Width="190" Grid.Column="2" FontFamily="Comic Sans MS" FontSize="9" Background="#FFEDEDED">
<WindowsFormsHost x:Name="formHost" Height="120" Margin="103.166,64,154,76" Width="190" Grid.Column="2" FontFamily="Comic Sans MS" FontSize="9" Background="#FFEDEDED">
<wf:TreeView x:Name="mapsBox" AfterSelect="mapsBox_AfterSelect" BeforeSelect="mapsBox_BeforeSelect"/>
</WindowsFormsHost>
<TextBox x:Name="searchBox" Grid.Column="2" HorizontalAlignment="Left" Height="20" Margin="103.166,42,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="207" HorizontalContentAlignment="Left" VerticalContentAlignment="Top"/>
<Button x:Name="searchButton" Style="{DynamicResource SearchButton}" Content="" Grid.Column="2" HorizontalAlignment="Left" Margin="310,44,0,0" VerticalAlignment="Top" Width="24" Height="17" Click="searchButton_Click"/>
<Button x:Name="refreshButton" Style="{DynamicResource RefreshButton}" Content="" Grid.Column="2" HorizontalAlignment="Left" Margin="334,44,0,0" VerticalAlignment="Top" Width="26" Height="17" Click="refreshButton_Click"/>
<Button x:Name="addMapButton" Content="Add Place" Grid.Column="2" HorizontalAlignment="Left" Margin="365,45,0,0" VerticalAlignment="Top" Width="72" Click="addMapButton_Click"/>
<Button x:Name="customizeButton" Style="{DynamicResource ImportantButtonSmall}" Content="Customize" HorizontalAlignment="Left" Margin="79,106,0,0" VerticalAlignment="Top" Width="76" Grid.ColumnSpan="2" Click="customizeButton_Click" Height="20"/>
<Label x:Name="serverPortLabel" Content="Host Port:" Grid.Column="1" HorizontalAlignment="Left" Margin="78,43,0,0" VerticalAlignment="Top" Width="68" Grid.ColumnSpan="2"/>
<TextBox x:Name="serverPortBox" HorizontalAlignment="Left" Height="20" Margin="16.166,47,0,0" TextWrapping="Wrap" Text="53640" VerticalAlignment="Top" Width="65" Grid.Column="2" TextChanged="serverPortBox_TextChanged"/>
<Label x:Name="maxPlayersLabel" Content="Max Players:" Grid.Column="1" HorizontalAlignment="Left" Margin="68,64,0,0" VerticalAlignment="Top" Width="86" Grid.ColumnSpan="2"/>
<TextBox x:Name="maxPlayersBox" HorizontalAlignment="Left" Height="20" Margin="16.166,71,0,0" TextWrapping="Wrap" Text="12" VerticalAlignment="Top" Width="66" Grid.Column="2" TextChanged="maxPlayersBox_TextChanged"/>
<CheckBox x:Name="uPnPBox" Content="uPnP" Grid.Column="1" HorizontalAlignment="Left" Margin="78,93,0,0" VerticalAlignment="Top" Checked="uPnPBox_Checked" Unchecked="uPnPBox_Unchecked" Click="uPnPBox_Click"/>
<CheckBox x:Name="NotifBox" Content="Join Alerts" Grid.Column="1" HorizontalAlignment="Left" Margin="134,93,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2" Checked="NotifBox_Checked" Unchecked="NotifBox_Unchecked"/>
<Button x:Name="serverInfoButton" Content="Server Information" Grid.Column="1" HorizontalAlignment="Left" Margin="78,113,0,0" VerticalAlignment="Top" Width="139" Grid.ColumnSpan="2" Click="serverInfoButton_Click" Height="20"/>
<Rectangle x:Name="hostServerBrowserGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="110" Margin="72,145,0,0" Stroke="Black" VerticalAlignment="Top" Width="153" Grid.Column="1" Grid.ColumnSpan="2"/>
<Rectangle x:Name="hostServerBrowserLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="72,145,0,0" Stroke="Black" VerticalAlignment="Top" Width="153" Grid.Column="1" Grid.ColumnSpan="2"/>
<Label x:Name="hostServerBrowserLabel" Content="Optional Hosting Settings" HorizontalAlignment="Left" Margin="69,147,0,0" VerticalAlignment="Top" Width="156" Grid.Column="1" RenderTransformOrigin="0.561,0.175" FontSize="12" Grid.ColumnSpan="2"/>
<Label x:Name="browserNameLabel" Content="Server Name:" Grid.Column="1" HorizontalAlignment="Left" Margin="101,171,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2"/>
<TextBox x:Name="browserNameBox" HorizontalAlignment="Left" Height="20" Margin="82,192,0,0" TextWrapping="Wrap" Text="Novetus" VerticalAlignment="Top" Width="135" Grid.Column="1" Grid.ColumnSpan="2" TextChanged="browserNameBox_TextChanged"/>
<Label x:Name="browserAddressLabel" Content="Browser Master Server:" Grid.Column="1" HorizontalAlignment="Left" Margin="77,206,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2"/>
<TextBox x:Name="browserAddressBox" HorizontalAlignment="Left" Height="20" Margin="82,227,0,0" TextWrapping="Wrap" Text="localhost" VerticalAlignment="Top" Width="135" Grid.Column="1" Grid.ColumnSpan="2" TextChanged="browserAddressBox_TextChanged"/>
<Separator Style="{DynamicResource VerticalSeperator}" HorizontalAlignment="Left" Height="74" Margin="321,192,0,0" VerticalAlignment="Top" Width="4" Grid.Column="2"/>
<Button x:Name="customizeButton" Style="{DynamicResource ImportantButton}" Content="Customize Player" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top" Width="169" Click="customizeButton_Click" Height="32" Grid.ColumnSpan="2"/>
<GroupBox x:Name="hostBox" Grid.ColumnSpan="2" Grid.Column="1" Header="" HorizontalAlignment="Left" Height="273" Margin="65,-17,0,0" VerticalAlignment="Top" Width="168" BorderBrush="{x:Null}" Foreground="{x:Null}" BorderThickness="0">
<Grid Margin="0,0,0,-5">
<Rectangle x:Name="hostServerGroupBox" Fill="#FFDEDCDC" HorizontalAlignment="Left" Height="245" Margin="2,1,0,0" Stroke="Black" VerticalAlignment="Top" Width="153"/>
<Rectangle x:Name="hostServerLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="2,1,0,0" Stroke="Black" VerticalAlignment="Top" Width="153"/>
<Label x:Name="hostServerLabel" Content="Host Options" HorizontalAlignment="Left" Margin="24,0,0,0" VerticalAlignment="Top" FontSize="15" Width="105" RenderTransformOrigin="0.561,0.175"/>
<Label x:Name="serverPortLabel" Content="Host Port:" HorizontalAlignment="Left" Margin="8,34,0,0" VerticalAlignment="Top" Width="68"/>
<TextBox x:Name="serverPortBox" HorizontalAlignment="Left" Height="20" Margin="82,39,0,0" TextWrapping="Wrap" Text="53640" VerticalAlignment="Top" Width="65" TextChanged="serverPortBox_TextChanged"/>
<Label x:Name="maxPlayersLabel" Content="Max Players:" HorizontalAlignment="Left" Margin="-2,55,0,0" VerticalAlignment="Top" Width="86"/>
<TextBox x:Name="maxPlayersBox" HorizontalAlignment="Left" Height="20" Margin="82,62,0,0" TextWrapping="Wrap" Text="12" VerticalAlignment="Top" Width="66" TextChanged="maxPlayersBox_TextChanged"/>
<CheckBox x:Name="uPnPBox" Content="uPnP" HorizontalAlignment="Left" Margin="8,84,0,0" VerticalAlignment="Top" Checked="uPnPBox_Checked" Unchecked="uPnPBox_Unchecked" Click="uPnPBox_Click"/>
<CheckBox x:Name="NotifBox" Content="Join Alerts" HorizontalAlignment="Left" Margin="64,84,0,0" VerticalAlignment="Top" Checked="NotifBox_Checked" Unchecked="NotifBox_Unchecked"/>
<Button x:Name="serverInfoButton" Content="Server Information" HorizontalAlignment="Left" Margin="8,104,0,0" VerticalAlignment="Top" Width="139" Click="serverInfoButton_Click" Height="20"/>
<Label x:Name="browserNameLabel" Content="Browser Server Name:" HorizontalAlignment="Left" Margin="9,120,0,0" VerticalAlignment="Top"/>
<TextBox x:Name="browserNameBox" HorizontalAlignment="Left" Height="20" Margin="11,141,0,0" TextWrapping="Wrap" Text="Novetus" VerticalAlignment="Top" Width="135" TextChanged="browserNameBox_TextChanged"/>
<Label x:Name="browserAddressLabel" Content="Browser Master Server:" HorizontalAlignment="Left" Margin="6,155,0,0" VerticalAlignment="Top"/>
<TextBox x:Name="browserAddressBox" HorizontalAlignment="Left" Height="20" Margin="11,176,0,0" TextWrapping="Wrap" Text="localhost" VerticalAlignment="Top" Width="135" TextChanged="browserAddressBox_TextChanged"/>
<Button x:Name="ServerButton" Style="{DynamicResource ImportantButton}" Content="Start Server!" HorizontalAlignment="Left" Margin="10,202,0,0" VerticalAlignment="Top" Width="136" Height="34" Click="ServerButton_Click"/>
</Grid>
</GroupBox>
</Grid>
</TabItem>
<TabItem x:Name="clientTab" Header="VERSIONS" Style="{DynamicResource TabItemStyleSeperatorsInbetween}" BorderBrush="{x:Null}" Background="#FFEDEDED" Foreground="White" IsSelected="True">

View File

@ -25,6 +25,7 @@ namespace NovetusLauncher
public LauncherFormShared launcherForm;
private System.Windows.Forms.TreeView _fieldsTreeCache;
public LauncherFormStylish FormParent;
private bool hostPanelOpen;
public LauncherFormStylishInterface(LauncherFormStylish parent)
{
@ -41,6 +42,8 @@ namespace NovetusLauncher
launcherForm.FormStyle = Settings.Style.Stylish;
launcherForm.Tree = mapsBox;
launcherForm._TreeCache = _fieldsTreeCache;
hostPanelOpen = true;
}
private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
@ -491,6 +494,51 @@ namespace NovetusLauncher
launcherForm.RestartLauncherAfterSetting((bool)uPnPBox.IsChecked, "Novetus - UPnP", "Make sure to check if your router has UPnP functionality enabled.\n" +
"Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol.\nThis may not work for all users.");
}
private void serverOptionsButton_Click(object sender, RoutedEventArgs e)
{
ToggleServerOptions();
}
public void ToggleServerOptions()
{
if (!hostPanelOpen)
{
hostBox.Visibility = Visibility.Visible;
mapsLabelBox.Width = 352;
mapsLabelBox.Margin = new Thickness(95, 10, 0, 0);
mapsGroupBox.Width = 352;
mapsGroupBox.Margin = new Thickness(95, 10, 0, 0);
formHost.Width = 190;
formHost.Margin = new Thickness(103.166, 64, 154, 76);
searchBox.Width = 207;
searchBox.Margin = new Thickness(103.166, 42, 0, 0);
mapsLabel.Margin = new Thickness(253.166, 9, 0, 0);
joinButton.Margin = new Thickness(122, 191, 0, 0);
serverBrowserButton.Margin = new Thickness(100, 225, 0, 0);
playSoloButton.Margin = new Thickness(218, 191, 0, 0);
hostPanelOpen = true;
}
else
{
hostBox.Visibility = Visibility.Hidden;
mapsLabelBox.Width = 509;
mapsLabelBox.Margin = new Thickness(-62, 10, 0, 0);
mapsGroupBox.Width = 509;
mapsGroupBox.Margin = new Thickness(-62, 10, 0, 0);
formHost.Width = 348;
formHost.Margin = new Thickness(-55, 64, 154, 76);
searchBox.Width = 365;
searchBox.Margin = new Thickness(-55, 42, 0, 0);
mapsLabel.Margin = new Thickness(155, 9, 0, 0);
joinButton.Margin = new Thickness(32, 191, 0, 0);
serverBrowserButton.Margin = new Thickness(10, 225, 0, 0);
playSoloButton.Margin = new Thickness(128, 191, 0, 0);
hostPanelOpen = false;
}
}
}
//i hate these classes......