Server Availability Changes

- moved a few things into the common project.
This commit is contained in:
Brett Hewitson 2022-06-22 17:27:23 +10:00
parent 5c0bbfd0a8
commit a14f91c412
38 changed files with 393 additions and 461 deletions

View file

@ -187,11 +187,8 @@
<Compile Include="Enums\ServerProfileCategory.cs" /> <Compile Include="Enums\ServerProfileCategory.cs" />
<Compile Include="Enums\ServerSettingsCustomLevelsAction.cs" /> <Compile Include="Enums\ServerSettingsCustomLevelsAction.cs" />
<Compile Include="Enums\ServerSettingsResetAction.cs" /> <Compile Include="Enums\ServerSettingsResetAction.cs" />
<Compile Include="Enums\ServerStatus.cs" />
<Compile Include="Enums\ServerUpdateType.cs" /> <Compile Include="Enums\ServerUpdateType.cs" />
<Compile Include="Enums\StatsMultiplier.cs" /> <Compile Include="Enums\StatsMultiplier.cs" />
<Compile Include="Enums\AvailabilityStatus.cs" />
<Compile Include="Enums\WatcherServerStatus.cs" />
<Compile Include="Interface\ISpawnIniValue.cs" /> <Compile Include="Interface\ISpawnIniValue.cs" />
<Compile Include="Interface\ISpawnIniValuesCollection.cs" /> <Compile Include="Interface\ISpawnIniValuesCollection.cs" />
<Compile Include="Lib\Events\ProfileEventArgs.cs" /> <Compile Include="Lib\Events\ProfileEventArgs.cs" />

View file

@ -1,4 +1,4 @@
using ServerManagerTool.Enums; using ServerManagerTool.Common.Enums;
namespace ServerManagerTool.Delegates namespace ServerManagerTool.Delegates
{ {

View file

@ -1,40 +0,0 @@
namespace ServerManagerTool.Enums
{
public enum WatcherServerStatus
{
/// <summary>
/// The server binary couldnot be found.
/// </summary>
NotInstalled,
/// <summary>
/// The server binary was found, but the process was not
/// </summary>
Stopped,
/// <summary>
/// The server binary was found, the process was found, but no permissions to access the process.
/// </summary>
Unknown,
/// <summary>
/// The server process was found, but the server is not responding on its port
/// </summary>
Initializing,
/// <summary>
/// The server is responding locally on its port, a local check was made
/// </summary>
RunningLocalCheck,
/// <summary>
/// The server is responding locally on its port, a public check was made
/// </summary>
RunningExternalCheck,
/// <summary>
/// The server is responding externally on its port
/// </summary>
Published,
}
}

View file

@ -3,6 +3,7 @@ using NLog.Config;
using NLog.Layouts; using NLog.Layouts;
using NLog.Targets; using NLog.Targets;
using ServerManagerTool.Common; using ServerManagerTool.Common;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model; using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;

View file

@ -1,10 +1,9 @@
using NLog; using NLog;
using ServerManagerTool.Common; using ServerManagerTool.Common;
using ServerManagerTool.Common.Interfaces; using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model; using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib.Model; using ServerManagerTool.Lib.Model;
using ServerManagerTool.Plugin.Common; using ServerManagerTool.Plugin.Common;
using ServerManagerTool.Utils; using ServerManagerTool.Utils;

View file

@ -1,5 +1,5 @@
using System.Diagnostics; using ServerManagerTool.Common.Enums;
using ServerManagerTool.Enums; using System.Diagnostics;
namespace ServerManagerTool.Lib namespace ServerManagerTool.Lib
{ {

View file

@ -8,7 +8,7 @@ namespace ServerManagerTool.Lib
{ {
public string InstallDirectory; public string InstallDirectory;
public IPEndPoint LocalEndpoint; public IPEndPoint LocalEndpoint;
public IPEndPoint SteamEndpoint; public IPEndPoint PublicEndpoint;
public Action<IAsyncDisposable, ServerStatusUpdate> UpdateCallback; public Action<IAsyncDisposable, ServerStatusUpdate> UpdateCallback;
public Func<Task> UnregisterAction; public Func<Task> UnregisterAction;

View file

@ -1,4 +1,8 @@
using System; using NLog;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@ -7,10 +11,6 @@ using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Threading.Tasks.Dataflow; using System.Threading.Tasks.Dataflow;
using NLog;
using ServerManagerTool.Common.Interfaces;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
namespace ServerManagerTool.Lib namespace ServerManagerTool.Lib
{ {
@ -46,7 +46,7 @@ namespace ServerManagerTool.Lib
InstallDirectory = installDirectory, InstallDirectory = installDirectory,
ProfileId = profileId, ProfileId = profileId,
LocalEndpoint = localEndpoint, LocalEndpoint = localEndpoint,
SteamEndpoint = steamEndpoint, PublicEndpoint = steamEndpoint,
UpdateCallback = updateCallback, UpdateCallback = updateCallback,
}; };
@ -57,7 +57,7 @@ namespace ServerManagerTool.Lib
{ {
if(_serverRegistrations.Contains(registration)) if(_serverRegistrations.Contains(registration))
{ {
Logger.Debug($"{nameof(RegisterForUpdates)} Removing registration for L:{registration.LocalEndpoint} S:{registration.SteamEndpoint}"); Logger.Debug($"{nameof(RegisterForUpdates)} Removing registration for L:{registration.LocalEndpoint} P:{registration.PublicEndpoint}");
_serverRegistrations.Remove(registration); _serverRegistrations.Remove(registration);
} }
tcs.TrySetResult(true); tcs.TrySetResult(true);
@ -71,10 +71,10 @@ namespace ServerManagerTool.Lib
{ {
if (!_serverRegistrations.Contains(registration)) if (!_serverRegistrations.Contains(registration))
{ {
Logger.Debug($"{nameof(RegisterForUpdates)} Adding registration for L:{registration.LocalEndpoint} S:{registration.SteamEndpoint}"); Logger.Debug($"{nameof(RegisterForUpdates)} Adding registration for L:{registration.LocalEndpoint} P:{registration.PublicEndpoint}");
_serverRegistrations.Add(registration); _serverRegistrations.Add(registration);
var registrationKey = registration.SteamEndpoint.ToString(); var registrationKey = registration.PublicEndpoint.ToString();
_nextExternalStatusQuery[registrationKey] = DateTime.MinValue; _nextExternalStatusQuery[registrationKey] = DateTime.MinValue;
} }
return Task.FromResult(true); return Task.FromResult(true);
@ -204,7 +204,7 @@ namespace ServerManagerTool.Lib
private async Task<ServerStatusUpdate> GenerateServerStatusUpdateAsync(ServerStatusUpdateRegistration registration) private async Task<ServerStatusUpdate> GenerateServerStatusUpdateAsync(ServerStatusUpdateRegistration registration)
{ {
var registrationKey = registration.SteamEndpoint.ToString(); var registrationKey = registration.PublicEndpoint.ToString();
// //
// First check the process status // First check the process status
@ -246,10 +246,10 @@ namespace ServerManagerTool.Lib
// //
// Now that it's running, we can check the publication status. // Now that it's running, we can check the publication status.
// //
Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public status direct at {registration.SteamEndpoint}"); Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public (directly) status at {registration.PublicEndpoint}");
// get the server information direct from the server using public connection. // get the server information direct from the server using public connection.
var serverStatus = CheckServerStatusDirect(registration.SteamEndpoint); var serverStatus = CheckServerStatusDirect(registration.PublicEndpoint);
// check if the server returned the information. // check if the server returned the information.
if (!serverStatus) if (!serverStatus)
{ {
@ -261,11 +261,11 @@ namespace ServerManagerTool.Lib
if (!string.IsNullOrWhiteSpace(Config.Default.ServerStatusUrlFormat)) if (!string.IsNullOrWhiteSpace(Config.Default.ServerStatusUrlFormat))
{ {
Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public status via api at {registration.SteamEndpoint}"); Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public (via api) status at {registration.PublicEndpoint}");
// get the server information direct from the server using external connection. // get the server information direct from the server using external connection.
var uri = new Uri(string.Format(Config.Default.ServerStatusUrlFormat, Config.Default.ServerManagerCode, App.Instance.Version, registration.SteamEndpoint.Address, registration.SteamEndpoint.Port)); var uri = new Uri(string.Format(Config.Default.ServerStatusUrlFormat, Config.Default.ServerManagerCode, App.Instance.Version, registration.PublicEndpoint.Address, registration.PublicEndpoint.Port));
serverStatus = await NetworkUtils.CheckServerStatusViaAPI(uri, registration.SteamEndpoint); serverStatus = await NetworkUtils.CheckServerStatusViaAPI(uri, registration.PublicEndpoint);
} }
_nextExternalStatusQuery[registrationKey] = DateTime.Now.AddMilliseconds(Config.Default.ServerStatusWatcher_RemoteStatusQueryDelay); _nextExternalStatusQuery[registrationKey] = DateTime.Now.AddMilliseconds(Config.Default.ServerStatusWatcher_RemoteStatusQueryDelay);

View file

@ -6,6 +6,7 @@
xmlns:mts="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler" xmlns:mts="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler"
xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:cc="clr-namespace:ServerManagerTool.Common.Converters;assembly=ServerManager.Common" xmlns:cc="clr-namespace:ServerManagerTool.Common.Converters;assembly=ServerManager.Common"
xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common" xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common"
xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common" xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common"
xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common"
@ -314,32 +315,32 @@
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Content" Value="{StaticResource InstallButtonContent}"/> <Setter Property="Content" Value="{StaticResource InstallButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
@ -371,26 +372,26 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
@ -419,19 +420,16 @@
<Label.Style> <Label.Style>
<Style BasedOn="{StaticResource {x:Type Label}}" TargetType="{x:Type Label}"> <Style BasedOn="{StaticResource {x:Type Label}}" TargetType="{x:Type Label}">
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Unknown}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Unknown}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unknown}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unknown}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.SetPublicIP}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Unavailable}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_SetPublicIP}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Unavailable}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unavailable}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unavailable}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Waiting}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Waiting}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Waiting}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Waiting}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Available}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Available}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Available}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Available}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -458,34 +456,34 @@
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Content" Value="{StaticResource StopButtonContent}"/> <Setter Property="Content" Value="{StaticResource StopButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Content" Value="{StaticResource StopButtonContent}"/> <Setter Property="Content" Value="{StaticResource StopButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Content" Value="{StaticResource StopButtonContent}"/> <Setter Property="Content" Value="{StaticResource StopButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StartButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StartButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
@ -757,25 +755,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -838,10 +836,10 @@
<Style BasedOn="{StaticResource ButtonStyle1}" TargetType="{x:Type Button}"> <Style BasedOn="{StaticResource ButtonStyle1}" TargetType="{x:Type Button}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -873,25 +871,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1110,25 +1108,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/> <Setter Property="IsEnabled" Value="true"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1143,45 +1141,45 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"/> <Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}"/>
<Condition Binding="{Binding Crossplay}" Value="true"/> <Condition Binding="{Binding Crossplay}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"/> <Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}"/>
<Condition Binding="{Binding Crossplay}" Value="true"/> <Condition Binding="{Binding Crossplay}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"/> <Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}"/>
<Condition Binding="{Binding EpicOnly}" Value="true"/> <Condition Binding="{Binding EpicOnly}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"/> <Condition Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}"/>
<Condition Binding="{Binding EpicOnly}" Value="true"/> <Condition Binding="{Binding EpicOnly}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
@ -1197,25 +1195,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/> <Setter Property="IsEnabled" Value="true"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1636,25 +1634,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/> <Setter Property="IsEnabled" Value="true"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1689,25 +1687,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="true"/> <Setter Property="IsEnabled" Value="true"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -3910,25 +3908,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -3998,25 +3996,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -4086,25 +4084,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>

View file

@ -1,6 +1,7 @@
using Microsoft.WindowsAPICodePack.Dialogs; using Microsoft.WindowsAPICodePack.Dialogs;
using ServerManagerTool.Common; using ServerManagerTool.Common;
using ServerManagerTool.Common.Controls; using ServerManagerTool.Common.Controls;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model; using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Serialization; using ServerManagerTool.Common.Serialization;

View file

@ -1,15 +1,16 @@
using System; using QueryMaster;
using System.Collections.Generic; using ServerManagerTool.Common.Enums;
using System.Linq;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using QueryMaster;
using ServerManagerTool.Common.Extensions; using ServerManagerTool.Common.Extensions;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.DiscordBot.Enums; using ServerManagerTool.DiscordBot.Enums;
using ServerManagerTool.Enums; using ServerManagerTool.Enums;
using ServerManagerTool.Lib; using ServerManagerTool.Lib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using WPFSharp.Globalizer; using WPFSharp.Globalizer;
namespace ServerManagerTool.Utils namespace ServerManagerTool.Utils

View file

@ -6,6 +6,7 @@
xmlns:tsk="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler" xmlns:tsk="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler"
xmlns:local="clr-namespace:ServerManagerTool" xmlns:local="clr-namespace:ServerManagerTool"
xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common" xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common"
xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common" xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common"
xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common"
xmlns:enum="clr-namespace:ServerManagerTool.Enums" xmlns:enum="clr-namespace:ServerManagerTool.Enums"
@ -372,13 +373,13 @@
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/>
</DataTrigger> </DataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
@ -386,18 +387,18 @@
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/>
</MultiDataTrigger> </MultiDataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/>
</DataTrigger> </DataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
@ -405,20 +406,20 @@
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/>
</MultiDataTrigger> </MultiDataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/>
</DataTrigger> </DataTrigger>
@ -433,31 +434,31 @@
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusUnknown.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusUnknown.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusStarting.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusStarting.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusOn.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusOn.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusStarting.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusStarting.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusOff.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusOff.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusUnknown.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusUnknown.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusUnknown.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/StatusUnknown.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/>
</DataTrigger> </DataTrigger>

View file

@ -1,9 +1,8 @@
using EO.Wpf; using EO.Wpf;
using NLog; using NLog;
using ServerManagerTool.Common; using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib; using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common; using ServerManagerTool.Plugin.Common;
using ServerManagerTool.Utils; using ServerManagerTool.Utils;

View file

@ -8,6 +8,7 @@
xmlns:sm="clr-namespace:ServerManagerTool" xmlns:sm="clr-namespace:ServerManagerTool"
xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common" xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common"
xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common"
xmlns:controls="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:controls="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:enum="clr-namespace:ServerManagerTool.Enums" xmlns:enum="clr-namespace:ServerManagerTool.Enums"
@ -198,25 +199,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Background" Value="#26FF0000" /> <Setter Property="Background" Value="#26FF0000" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Background" Value="#26FFA500" /> <Setter Property="Background" Value="#26FFA500" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Background" Value="#26008000" /> <Setter Property="Background" Value="#26008000" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Background" Value="#26FFA500" /> <Setter Property="Background" Value="#26FFA500" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Background" Value="White" /> <Setter Property="Background" Value="White" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Background" Value="#26FF0000" /> <Setter Property="Background" Value="#26FF0000" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Background" Value="#260000FF" /> <Setter Property="Background" Value="#260000FF" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Background" Value="#260000FF" /> <Setter Property="Background" Value="#260000FF" />
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -375,28 +376,28 @@
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" />
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StartServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StartServerTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -409,25 +410,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Start.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Start.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -454,26 +455,26 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
@ -487,25 +488,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/Ark Server Manager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -538,25 +539,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -596,25 +597,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>

View file

@ -1,5 +1,6 @@
using IWshRuntimeLibrary; using IWshRuntimeLibrary;
using NLog; using NLog;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.DiscordBot.Enums; using ServerManagerTool.DiscordBot.Enums;

View file

@ -2,7 +2,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:en="clr-namespace:ServerManagerTool.Enums" xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
Width="600" ResizeMode="CanMinimize" SizeToContent="Height" WindowStyle="SingleBorderWindow" WindowStartupLocation="CenterOwner" ShowInTaskbar="True" Width="600" ResizeMode="CanMinimize" SizeToContent="Height" WindowStyle="SingleBorderWindow" WindowStartupLocation="CenterOwner" ShowInTaskbar="True"
Closing="Window_Closing" Closed="Window_Closed" Closing="Window_Closing" Closed="Window_Closed"
Icon="../Art/favicon.ico" Title="{DynamicResource ShutdownWindow_Title}" Icon="../Art/favicon.ico" Title="{DynamicResource ShutdownWindow_Title}"
@ -104,7 +104,7 @@
<Style BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}"> <Style BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}">
<Setter Property="Visibility" Value="Visible" /> <Setter Property="Visibility" Value="Visible" />
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Server.Runtime.Status}" Value="{x:Static en:ServerStatus.Running}"> <DataTrigger Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Visibility" Value="Collapsed"/> <Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding ShutdownType}" Value="1"> <DataTrigger Binding="{Binding ShutdownType}" Value="1">
@ -141,7 +141,7 @@
<Style.Triggers> <Style.Triggers>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static en:ServerStatus.Running}" /> <Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}" />
<Condition Binding="{Binding ShutdownStarted}" Value="False" /> <Condition Binding="{Binding ShutdownStarted}" Value="False" />
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
@ -163,7 +163,7 @@
<Style.Triggers> <Style.Triggers>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static en:ServerStatus.Stopping}" /> <Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}" />
<Condition Binding="{Binding ShutdownStarted}" Value="True" /> <Condition Binding="{Binding ShutdownStarted}" Value="True" />
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible"/> <Setter Property="Visibility" Value="Visible"/>
@ -181,7 +181,7 @@
<Style.Triggers> <Style.Triggers>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static en:ServerStatus.Running}" /> <Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}" />
<Condition Binding="{Binding ShutdownStarted}" Value="False" /> <Condition Binding="{Binding ShutdownStarted}" Value="False" />
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>

View file

@ -6,6 +6,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using ServerManagerTool.Common; using ServerManagerTool.Common;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums; using ServerManagerTool.Enums;
using ServerManagerTool.Lib; using ServerManagerTool.Lib;

View file

@ -282,9 +282,6 @@
<Compile Include="Enums\ServerProcessStatus.cs" /> <Compile Include="Enums\ServerProcessStatus.cs" />
<Compile Include="Enums\ServerProcessType.cs" /> <Compile Include="Enums\ServerProcessType.cs" />
<Compile Include="Enums\ServerProfileCategory.cs" /> <Compile Include="Enums\ServerProfileCategory.cs" />
<Compile Include="Enums\ServerStatus.cs" />
<Compile Include="Enums\AvailabilityStatus.cs" />
<Compile Include="Enums\WatcherServerStatus.cs" />
<Compile Include="ErrorHandling.cs" /> <Compile Include="ErrorHandling.cs" />
<Content Include="Styles\Default.xaml"> <Content Include="Styles\Default.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>

View file

@ -1,4 +1,4 @@
using ServerManagerTool.Enums; using ServerManagerTool.Common.Enums;
namespace ServerManagerTool.Delegates namespace ServerManagerTool.Delegates
{ {

View file

@ -1,11 +0,0 @@
namespace ServerManagerTool.Enums
{
public enum AvailabilityStatus
{
Unknown,
SetPublicIP,
Unavailable,
Waiting,
Available
}
}

View file

@ -1,13 +0,0 @@
namespace ServerManagerTool.Enums
{
public enum ServerStatus
{
Unknown,
Stopping,
Stopped,
Initializing,
Running,
Updating,
Uninstalled
}
}

View file

@ -3,6 +3,7 @@ using NLog.Config;
using NLog.Layouts; using NLog.Layouts;
using NLog.Targets; using NLog.Targets;
using ServerManagerTool.Common; using ServerManagerTool.Common;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model; using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;

View file

@ -1,10 +1,9 @@
using NLog; using NLog;
using ServerManagerTool.Common; using ServerManagerTool.Common;
using ServerManagerTool.Common.Interfaces; using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model; using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Plugin.Common; using ServerManagerTool.Plugin.Common;
using ServerManagerTool.Utils; using ServerManagerTool.Utils;
using System; using System;

View file

@ -1,5 +1,5 @@
using System.Diagnostics; using ServerManagerTool.Common.Enums;
using ServerManagerTool.Enums; using System.Diagnostics;
namespace ServerManagerTool.Lib namespace ServerManagerTool.Lib
{ {

View file

@ -8,12 +8,11 @@ namespace ServerManagerTool.Lib
{ {
public string InstallDirectory; public string InstallDirectory;
public IPEndPoint LocalEndpoint; public IPEndPoint LocalEndpoint;
public IPEndPoint SteamEndpoint; public IPEndPoint PublicEndpoint;
public Action<IAsyncDisposable, ServerStatusUpdate> UpdateCallback; public Action<IAsyncDisposable, ServerStatusUpdate> UpdateCallback;
public Func<Task> UnregisterAction; public Func<Task> UnregisterAction;
public string ProfileId; public string ProfileId;
public string GameFile;
public async ValueTask DisposeAsync() public async ValueTask DisposeAsync()
{ {

View file

@ -1,4 +1,8 @@
using System; using NLog;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@ -7,10 +11,6 @@ using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Threading.Tasks.Dataflow; using System.Threading.Tasks.Dataflow;
using NLog;
using ServerManagerTool.Common.Interfaces;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
namespace ServerManagerTool.Lib namespace ServerManagerTool.Lib
{ {
@ -45,9 +45,8 @@ namespace ServerManagerTool.Lib
{ {
InstallDirectory = installDirectory, InstallDirectory = installDirectory,
ProfileId = profileId, ProfileId = profileId,
GameFile = gameFile,
LocalEndpoint = localEndpoint, LocalEndpoint = localEndpoint,
SteamEndpoint = steamEndpoint, PublicEndpoint = steamEndpoint,
UpdateCallback = updateCallback, UpdateCallback = updateCallback,
}; };
@ -58,7 +57,7 @@ namespace ServerManagerTool.Lib
{ {
if(_serverRegistrations.Contains(registration)) if(_serverRegistrations.Contains(registration))
{ {
Logger.Debug($"{nameof(RegisterForUpdates)} Removing registration for L:{registration.LocalEndpoint} S:{registration.SteamEndpoint}"); Logger.Debug($"{nameof(RegisterForUpdates)} Removing registration for L:{registration.LocalEndpoint} P:{registration.PublicEndpoint}");
_serverRegistrations.Remove(registration); _serverRegistrations.Remove(registration);
} }
tcs.TrySetResult(true); tcs.TrySetResult(true);
@ -72,10 +71,10 @@ namespace ServerManagerTool.Lib
{ {
if (!_serverRegistrations.Contains(registration)) if (!_serverRegistrations.Contains(registration))
{ {
Logger.Debug($"{nameof(RegisterForUpdates)} Adding registration for L:{registration.LocalEndpoint} S:{registration.SteamEndpoint}"); Logger.Debug($"{nameof(RegisterForUpdates)} Adding registration for L:{registration.LocalEndpoint} P:{registration.PublicEndpoint}");
_serverRegistrations.Add(registration); _serverRegistrations.Add(registration);
var registrationKey = registration.SteamEndpoint.ToString(); var registrationKey = registration.PublicEndpoint.ToString();
_nextExternalStatusQuery[registrationKey] = DateTime.MinValue; _nextExternalStatusQuery[registrationKey] = DateTime.MinValue;
} }
return Task.FromResult(true); return Task.FromResult(true);
@ -205,7 +204,7 @@ namespace ServerManagerTool.Lib
private async Task<ServerStatusUpdate> GenerateServerStatusUpdateAsync(ServerStatusUpdateRegistration registration) private async Task<ServerStatusUpdate> GenerateServerStatusUpdateAsync(ServerStatusUpdateRegistration registration)
{ {
var registrationKey = registration.SteamEndpoint.ToString(); var registrationKey = registration.PublicEndpoint.ToString();
// //
// First check the process status // First check the process status
@ -238,7 +237,7 @@ namespace ServerManagerTool.Lib
Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server local network status at {registration.LocalEndpoint}"); Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server local network status at {registration.LocalEndpoint}");
// get the server information direct from the server using local connection. // get the server information direct from the server using local connection.
GetLocalNetworkStatus(registration.GameFile, registration.LocalEndpoint, out QueryMaster.ServerInfo localInfo, out int onlinePlayerCount); GetLocalNetworkStatus(registration.LocalEndpoint, out QueryMaster.ServerInfo localInfo, out int onlinePlayerCount);
if (localInfo != null) if (localInfo != null)
{ {
@ -247,10 +246,10 @@ namespace ServerManagerTool.Lib
// //
// Now that it's running, we can check the publication status. // Now that it's running, we can check the publication status.
// //
Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public status direct at {registration.SteamEndpoint}"); Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public (directly) status at {registration.PublicEndpoint}");
// get the server information direct from the server using public connection. // get the server information direct from the server using public connection.
var serverStatus = CheckServerStatusDirect(registration.SteamEndpoint); var serverStatus = CheckServerStatusDirect(registration.PublicEndpoint);
// check if the server returned the information. // check if the server returned the information.
if (!serverStatus) if (!serverStatus)
{ {
@ -262,11 +261,11 @@ namespace ServerManagerTool.Lib
if (!string.IsNullOrWhiteSpace(Config.Default.ServerStatusUrlFormat)) if (!string.IsNullOrWhiteSpace(Config.Default.ServerStatusUrlFormat))
{ {
Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public status via api at {registration.SteamEndpoint}"); Logger.Info($"{nameof(GenerateServerStatusUpdateAsync)} Checking server public (via api) status at {registration.PublicEndpoint}");
// get the server information direct from the server using external connection. // get the server information direct from the server using external connection.
var uri = new Uri(string.Format(Config.Default.ServerStatusUrlFormat, Config.Default.ServerManagerCode, App.Instance.Version, registration.SteamEndpoint.Address, registration.SteamEndpoint.Port)); var uri = new Uri(string.Format(Config.Default.ServerStatusUrlFormat, Config.Default.ServerManagerCode, App.Instance.Version, registration.PublicEndpoint.Address, registration.PublicEndpoint.Port));
serverStatus = await NetworkUtils.CheckServerStatusViaAPI(uri, registration.SteamEndpoint); serverStatus = await NetworkUtils.CheckServerStatusViaAPI(uri, registration.PublicEndpoint);
} }
_nextExternalStatusQuery[registrationKey] = DateTime.Now.AddMilliseconds(Config.Default.ServerStatusWatcher_RemoteStatusQueryDelay); _nextExternalStatusQuery[registrationKey] = DateTime.Now.AddMilliseconds(Config.Default.ServerStatusWatcher_RemoteStatusQueryDelay);
@ -291,7 +290,7 @@ namespace ServerManagerTool.Lib
return await Task.FromResult(statusUpdate); return await Task.FromResult(statusUpdate);
} }
private static bool GetLocalNetworkStatus(string gameFile, IPEndPoint endpoint, out QueryMaster.ServerInfo serverInfo, out int onlinePlayerCount) private static bool GetLocalNetworkStatus(IPEndPoint endpoint, out QueryMaster.ServerInfo serverInfo, out int onlinePlayerCount)
{ {
serverInfo = null; serverInfo = null;
onlinePlayerCount = 0; onlinePlayerCount = 0;

View file

@ -6,6 +6,7 @@
xmlns:mts="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler" xmlns:mts="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler"
xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:cc="clr-namespace:ServerManagerTool.Common.Converters;assembly=ServerManager.Common" xmlns:cc="clr-namespace:ServerManagerTool.Common.Converters;assembly=ServerManager.Common"
xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common" xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common"
xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common"
xmlns:enum="clr-namespace:ServerManagerTool.Enums" xmlns:enum="clr-namespace:ServerManagerTool.Enums"
@ -174,32 +175,32 @@
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/> <Setter Property="Content" Value="{StaticResource UpgradeButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Content" Value="{StaticResource InstallButtonContent}"/> <Setter Property="Content" Value="{StaticResource InstallButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
@ -231,26 +232,26 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_SetLocationButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
@ -279,19 +280,16 @@
<Label.Style> <Label.Style>
<Style BasedOn="{StaticResource {x:Type Label}}" TargetType="{x:Type Label}"> <Style BasedOn="{StaticResource {x:Type Label}}" TargetType="{x:Type Label}">
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Unknown}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Unknown}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unknown}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unknown}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.SetPublicIP}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Unavailable}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_SetPublicIP}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Unavailable}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unavailable}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Unavailable}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Waiting}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Waiting}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Waiting}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Waiting}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Availability}" Value="{x:Static enum:AvailabilityStatus.Available}"> <DataTrigger Binding="{Binding Availability}" Value="{x:Static ce:AvailabilityStatus.Available}">
<Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Available}"/> <Setter Property="Content" Value="{DynamicResource ServerSettings_Availability_Available}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -318,34 +316,34 @@
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Content" Value="{StaticResource StopButtonContent}"/> <Setter Property="Content" Value="{StaticResource StopButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Content" Value="{StaticResource StopButtonContent}"/> <Setter Property="Content" Value="{StaticResource StopButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StopButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Content" Value="{StaticResource StopButtonContent}"/> <Setter Property="Content" Value="{StaticResource StopButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StartButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_StartButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Content" Value="{StaticResource StartButtonContent}"/> <Setter Property="Content" Value="{StaticResource StartButtonContent}"/>
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
@ -586,25 +584,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -651,10 +649,10 @@
<Style BasedOn="{StaticResource ButtonStyle1}" TargetType="{x:Type Button}"> <Style BasedOn="{StaticResource ButtonStyle1}" TargetType="{x:Type Button}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -685,25 +683,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1156,25 +1154,25 @@
<DataTrigger Binding="{Binding Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1251,25 +1249,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -1339,25 +1337,25 @@
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status, ElementName=SettingsControl}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>

View file

@ -1,4 +1,13 @@
using System; using Microsoft.WindowsAPICodePack.Dialogs;
using ServerManagerTool.Common;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Globalization; using System.Globalization;
@ -13,14 +22,6 @@ using System.Windows.Controls;
using System.Windows.Controls.Primitives; using System.Windows.Controls.Primitives;
using System.Windows.Data; using System.Windows.Data;
using System.Windows.Input; using System.Windows.Input;
using Microsoft.WindowsAPICodePack.Dialogs;
using ServerManagerTool.Common;
using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Model;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common;
using WPFSharp.Globalizer; using WPFSharp.Globalizer;
namespace ServerManagerTool namespace ServerManagerTool

View file

@ -1,15 +1,16 @@
using System; using QueryMaster;
using System.Collections.Generic; using ServerManagerTool.Common.Enums;
using System.Linq;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using QueryMaster;
using ServerManagerTool.Common.Extensions; using ServerManagerTool.Common.Extensions;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.DiscordBot.Enums; using ServerManagerTool.DiscordBot.Enums;
using ServerManagerTool.Enums; using ServerManagerTool.Enums;
using ServerManagerTool.Lib; using ServerManagerTool.Lib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using WPFSharp.Globalizer; using WPFSharp.Globalizer;
namespace ServerManagerTool.Utils namespace ServerManagerTool.Utils

View file

@ -6,6 +6,7 @@
xmlns:tsk="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler" xmlns:tsk="clr-namespace:Microsoft.Win32.TaskScheduler;assembly=Microsoft.Win32.TaskScheduler"
xmlns:sm="clr-namespace:ServerManagerTool" xmlns:sm="clr-namespace:ServerManagerTool"
xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common" xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common"
xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common" xmlns:cvr="clr-namespace:ServerManagerTool.Common.ValidationRules;assembly=ServerManager.Common"
xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common"
xmlns:enum="clr-namespace:ServerManagerTool.Enums" xmlns:enum="clr-namespace:ServerManagerTool.Enums"
@ -369,13 +370,13 @@
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/>
</DataTrigger> </DataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
@ -383,18 +384,18 @@
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/>
</MultiDataTrigger> </MultiDataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/>
</DataTrigger> </DataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="false"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
@ -402,20 +403,20 @@
</MultiDataTrigger> </MultiDataTrigger>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"/> <Condition Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}"/>
<Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/> <Condition Binding="{Binding Config.ServerStatus_EnableActions, ElementName=Main}" Value="true"/>
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/>
</MultiDataTrigger> </MultiDataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/>
</DataTrigger> </DataTrigger>
@ -430,31 +431,31 @@
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusUnknown.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusUnknown.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusStarting.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusStarting.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusInitializingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusOn.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusOn.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusRunningLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusStarting.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusStarting.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusOff.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusOff.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusStoppedLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusUnknown.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusUnknown.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUnknownLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUpdatingLabel}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusUnknown.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/StatusUnknown.ico,Size=32}"/>
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_RuntimeStatusUninstalledLabel}"/>
</DataTrigger> </DataTrigger>

View file

@ -1,9 +1,8 @@
using EO.Wpf; using EO.Wpf;
using NLog; using NLog;
using ServerManagerTool.Common; using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib; using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common; using ServerManagerTool.Plugin.Common;
using ServerManagerTool.Utils; using ServerManagerTool.Utils;

View file

@ -8,9 +8,9 @@
xmlns:sm="clr-namespace:ServerManagerTool" xmlns:sm="clr-namespace:ServerManagerTool"
xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common" xmlns:clib="clr-namespace:ServerManagerTool.Common.Lib;assembly=ServerManager.Common"
xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common" xmlns:com="clr-namespace:ServerManagerTool.Common;assembly=ServerManager.Common"
xmlns:controls="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:controls="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:enum="clr-namespace:ServerManagerTool.Enums"
xmlns:vm="clr-namespace:ServerManagerTool.Lib.ViewModel" xmlns:vm="clr-namespace:ServerManagerTool.Lib.ViewModel"
mc:Ignorable="d" mc:Ignorable="d"
MinWidth="600" MinHeight="500" Width="900" Height="500" Left="50" Top="50" ResizeMode="CanResize" MinWidth="600" MinHeight="500" Width="900" Height="500" Left="50" Top="50" ResizeMode="CanResize"
@ -198,25 +198,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Background" Value="#26FF0000" /> <Setter Property="Background" Value="#26FF0000" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Background" Value="#26FFA500" /> <Setter Property="Background" Value="#26FFA500" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Background" Value="#26008000" /> <Setter Property="Background" Value="#26008000" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Background" Value="#26FFA500" /> <Setter Property="Background" Value="#26FFA500" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Background" Value="White" /> <Setter Property="Background" Value="White" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Background" Value="#26FF0000" /> <Setter Property="Background" Value="#26FF0000" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Background" Value="#260000FF" /> <Setter Property="Background" Value="#260000FF" />
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Background" Value="#260000FF" /> <Setter Property="Background" Value="#260000FF" />
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -375,28 +375,28 @@
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" />
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StopServerTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StartServerTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerMonitor_StartServerTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -409,25 +409,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Start.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Start.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -454,26 +454,26 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_UpgradeButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Visibility" Value="Hidden"/> <Setter Property="Visibility" Value="Hidden"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" /> <Setter Property="ToolTip" Value="{DynamicResource ServerSettings_InstallButtonTooltip}" />
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
@ -487,25 +487,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Cancel.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Stop.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/> <Setter Property="Source" Value="{com:Icon Path=/ConanServerManager;component/Art/Download.ico,Size=32}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -538,25 +538,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -596,25 +596,25 @@
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Initializing}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Initializing}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopped}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopped}">
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Unknown}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Unknown}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Updating}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Updating}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static enum:ServerStatus.Uninstalled}"> <DataTrigger Binding="{Binding Runtime.Status}" Value="{x:Static ce:ServerStatus.Uninstalled}">
<Setter Property="IsEnabled" Value="False"/> <Setter Property="IsEnabled" Value="False"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>

View file

@ -1,5 +1,6 @@
using IWshRuntimeLibrary; using IWshRuntimeLibrary;
using NLog; using NLog;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Lib; using ServerManagerTool.Common.Lib;
using ServerManagerTool.Common.Utils; using ServerManagerTool.Common.Utils;
using ServerManagerTool.DiscordBot.Enums; using ServerManagerTool.DiscordBot.Enums;

View file

@ -2,7 +2,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common" xmlns:cctl="clr-namespace:ServerManagerTool.Common.Controls;assembly=ServerManager.Common"
xmlns:enum="clr-namespace:ServerManagerTool.Enums" xmlns:ce="clr-namespace:ServerManagerTool.Common.Enums;assembly=ServerManager.Common"
Width="600" ResizeMode="CanMinimize" SizeToContent="Height" WindowStyle="SingleBorderWindow" WindowStartupLocation="CenterOwner" ShowInTaskbar="True" Width="600" ResizeMode="CanMinimize" SizeToContent="Height" WindowStyle="SingleBorderWindow" WindowStartupLocation="CenterOwner" ShowInTaskbar="True"
Closing="Window_Closing" Closed="Window_Closed" Closing="Window_Closing" Closed="Window_Closed"
Icon="../Art/favicon.ico" Title="{DynamicResource ShutdownWindow_Title}" Icon="../Art/favicon.ico" Title="{DynamicResource ShutdownWindow_Title}"
@ -92,7 +92,7 @@
<Style BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}"> <Style BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}">
<Setter Property="Visibility" Value="Visible" /> <Setter Property="Visibility" Value="Visible" />
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Server.Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}"> <DataTrigger Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}">
<Setter Property="Visibility" Value="Collapsed"/> <Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding ShutdownType}" Value="1"> <DataTrigger Binding="{Binding ShutdownType}" Value="1">
@ -129,7 +129,7 @@
<Style.Triggers> <Style.Triggers>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}" /> <Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}" />
<Condition Binding="{Binding ShutdownStarted}" Value="False" /> <Condition Binding="{Binding ShutdownStarted}" Value="False" />
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>
@ -151,7 +151,7 @@
<Style.Triggers> <Style.Triggers>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static enum:ServerStatus.Stopping}" /> <Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Stopping}" />
<Condition Binding="{Binding ShutdownStarted}" Value="True" /> <Condition Binding="{Binding ShutdownStarted}" Value="True" />
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible"/> <Setter Property="Visibility" Value="Visible"/>
@ -169,7 +169,7 @@
<Style.Triggers> <Style.Triggers>
<MultiDataTrigger> <MultiDataTrigger>
<MultiDataTrigger.Conditions> <MultiDataTrigger.Conditions>
<Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static enum:ServerStatus.Running}" /> <Condition Binding="{Binding Server.Runtime.Status}" Value="{x:Static ce:ServerStatus.Running}" />
<Condition Binding="{Binding ShutdownStarted}" Value="False" /> <Condition Binding="{Binding ShutdownStarted}" Value="False" />
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True"/> <Setter Property="IsEnabled" Value="True"/>

View file

@ -1,15 +1,16 @@
using System; using ServerManagerTool.Common;
using ServerManagerTool.Common.Enums;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Diagnostics; using System.Diagnostics;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using ServerManagerTool.Common;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common;
using WPFSharp.Globalizer; using WPFSharp.Globalizer;
namespace ServerManagerTool namespace ServerManagerTool

View file

@ -1,9 +1,8 @@
namespace ServerManagerTool.Enums namespace ServerManagerTool.Common.Enums
{ {
public enum AvailabilityStatus public enum AvailabilityStatus
{ {
Unknown, Unknown,
SetPublicIP,
Unavailable, Unavailable,
Waiting, Waiting,
Available Available

View file

@ -1,4 +1,4 @@
namespace ServerManagerTool.Enums namespace ServerManagerTool.Common.Enums
{ {
public enum ServerStatus public enum ServerStatus
{ {

View file

@ -1,4 +1,4 @@
namespace ServerManagerTool.Enums namespace ServerManagerTool.Common.Enums
{ {
public enum WatcherServerStatus public enum WatcherServerStatus
{ {