Skip to content

Commit

Permalink
Validate steamId64 in AccountInfoDialog
Browse files Browse the repository at this point in the history
* Make sure the steamId64 is in the valid format before enabling the FriendsOnlineStatus ComboBox
  • Loading branch information
rex706 committed Dec 5, 2022
1 parent 7dc34fa commit 274eee1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
4 changes: 2 additions & 2 deletions Views/AccountInfoDialog.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@
<Label x:Name="UrlLabel" Content="Profile URL" ToolTip="Enter steam profile url to get user avatar without an API key" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="47,151,0,0"/>
<TextBox Name="UrlTextBox" Padding="3,3,3,3" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="120,149,0,0" Width="314" LostFocus="UrlBox_LostFocus" GotFocus="UrlBox_GotFocus" />
<Label x:Name="SteamIdLabel" Content="Steam Id" ToolTip="Base64 Steam Id" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="59,186,0,0"/>
<TextBox x:Name="SteamIdBox" Padding="3,3,3,3" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="120,184,0,0" Width="314" />
<TextBox x:Name="SteamIdBox" Padding="3,3,3,3" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="120,184,0,0" Width="314" TextChanged="SteamIdBox_TextChanged" />
<TextBox x:Name="ParametersBox" Padding="3,3,3,3" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="120,219,0,0" Width="314" />
<Label x:Name="ParametersLabel" Content="Parameters" ToolTip="Overrides global launch parameters for this account" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="46,221,0,0"/>
<Label x:Name="DescriptionLabel" Content="Description" ToolTip="Enter a description for this entry. Will display as a tooltip." HorizontalAlignment="Left" VerticalAlignment="Top" Height="28" Margin="45,255,0,0" />
<TextBox Name="DescriptionBox" Padding="3,3,3,3" AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Height="63" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="120,254,0,0" Width="314"/>
<CheckBox x:Name="autoLogCheckBox" Content="Auto Login" HorizontalAlignment="Left" Margin="320,328,0,0" VerticalAlignment="Top"/>
<Button Name="OKButton" Content="OK" Grid.Column="0" Margin="120,363,0,0" Click="OKButton_Click" VerticalAlignment="Top" Width="100" HorizontalAlignment="Left" />
<Button Name="CancelButton" Content="Cancel" Margin="225,363,0,0" Click="CancelButton_Click" VerticalAlignment="Top" Width="100" HorizontalAlignment="Left" />
<ComboBox Name="FriendsOnlineStatusComboBox" HorizontalAlignment="Left" Margin="120,322,0,0" VerticalAlignment="Top" Width="157" Height="30" SelectedIndex="0">
<ComboBox Name="FriendsOnlineStatusComboBox" HorizontalAlignment="Left" Margin="120,322,0,0" VerticalAlignment="Top" Width="157" Height="30" SelectedIndex="0" IsEnabled="False">
<ComboBoxItem Content="Unchanged"/>
<ComboBoxItem Content="Online"/>
<ComboBoxItem Content="Invisible"/>
Expand Down
15 changes: 15 additions & 0 deletions Views/AccountInfoDialog.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ namespace SAM.Views
/// </summary>
public partial class AccountInfoDialog : MetroWindow
{
private const int STEAMID64_LENGTH = 17;

public AccountInfoDialog()
{
InitializeComponent();
Expand Down Expand Up @@ -162,5 +164,18 @@ private async void UrlBox_LostFocus(object sender, RoutedEventArgs e)
OKButton.IsEnabled = true;
}
}

private void SteamIdBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
{
if (SteamId.Length == STEAMID64_LENGTH && long.TryParse(SteamId, out _))
{
FriendsOnlineStatusComboBox.IsEnabled = true;
}
else
{
FriendsOnlineStatusComboBox.IsEnabled = false;
FriendsOnlineStatusComboBox.SelectedIndex= 0;
}
}
}
}

0 comments on commit 274eee1

Please sign in to comment.