Rearrange preferences, channel change prompting

This commit is contained in:
pizzaboxer 2023-01-13 20:44:14 +00:00
parent 54f12965c3
commit f8f6ce0c0c
4 changed files with 45 additions and 34 deletions

View File

@ -72,18 +72,18 @@
<TextBlock Text="Modifications" FontSize="13" /> <TextBlock Text="Modifications" FontSize="13" />
</TabItem.Header> </TabItem.Header>
<StackPanel> <StackPanel>
<GroupBox Header="Presets" VerticalAlignment="Top" Margin="10,10,10,5"> <GroupBox Header="Presets" Margin="10,10,10,5">
<StackPanel VerticalAlignment="Center"> <StackPanel VerticalAlignment="Center">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" VerticalAlignment="Top"> <StackPanel Grid.Column="0">
<CheckBox x:Name="CheckBoxModDeathSound" Content=" Use old death sound" Margin="5" IsChecked="{Binding ModOldDeathSound, Mode=TwoWay}" /> <CheckBox x:Name="CheckBoxModDeathSound" Content=" Use old death sound" Margin="5" IsChecked="{Binding ModOldDeathSound, Mode=TwoWay}" />
<CheckBox x:Name="CheckBoxModMouseCursor" Content=" Use old mouse cursor" Margin="5" IsChecked="{Binding ModOldMouseCursor, Mode=TwoWay}" /> <CheckBox x:Name="CheckBoxModMouseCursor" Content=" Use old mouse cursor" Margin="5" IsChecked="{Binding ModOldMouseCursor, Mode=TwoWay}" />
</StackPanel> </StackPanel>
<StackPanel Grid.Column="1" VerticalAlignment="Top"> <StackPanel Grid.Column="1">
<CheckBox x:Name="CheckBoxDisableAppPatch" Content=" Disable desktop app" Margin="5" IsChecked="{Binding ModDisableAppPatch, Mode=TwoWay}" /> <CheckBox x:Name="CheckBoxDisableAppPatch" Content=" Disable desktop app" Margin="5" IsChecked="{Binding ModDisableAppPatch, Mode=TwoWay}" />
</StackPanel> </StackPanel>
</Grid> </Grid>
@ -97,7 +97,7 @@
<TextBlock Text="Installation" FontSize="13" /> <TextBlock Text="Installation" FontSize="13" />
</TabItem.Header> </TabItem.Header>
<StackPanel> <StackPanel>
<GroupBox Header="Location" VerticalAlignment="Top" Margin="10,10,10,5"> <GroupBox Header="Location" Margin="10,10,10,5">
<Grid Margin="5"> <Grid Margin="5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
@ -107,7 +107,7 @@
<Button Grid.Column="1" x:Name="ButtonInstallLocationBrowse" Content="Browse..." Margin="5,0,0,0" Click="ButtonLocationBrowse_Click" /> <Button Grid.Column="1" x:Name="ButtonInstallLocationBrowse" Content="Browse..." Margin="5,0,0,0" Click="ButtonLocationBrowse_Click" />
</Grid> </Grid>
</GroupBox> </GroupBox>
<GroupBox Header="Channel" VerticalAlignment="Top" Margin="10, 5, 10, 5"> <GroupBox Header="Channel" Margin="10,5,10,5">
<StackPanel VerticalAlignment="Center"> <StackPanel VerticalAlignment="Center">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -118,37 +118,41 @@
<CheckBox Grid.Column="1" x:Name="CheckBoxShowAllChannels" Content=" Show all channels" VerticalAlignment="Center" Margin="5" IsChecked="{Binding ShowAllChannels, Mode=TwoWay}" /> <CheckBox Grid.Column="1" x:Name="CheckBoxShowAllChannels" Content=" Show all channels" VerticalAlignment="Center" Margin="5" IsChecked="{Binding ShowAllChannels, Mode=TwoWay}" />
</Grid> </Grid>
<TextBlock x:Name="TextBlockChannelInfo" Text="{Binding ChannelInfo, Mode=OneWay}" TextWrapping="Wrap" Margin="5" /> <TextBlock x:Name="TextBlockChannelInfo" Text="{Binding ChannelInfo, Mode=OneWay}" TextWrapping="Wrap" Margin="5" />
<CheckBox x:Name="TextBoxPromptChannelChange" Content=" Prompt on Roblox-forced channel change" ToolTip="Choose whether to be prompted when Roblox mandates a channel change through the website. Otherwise, the channel changes automatically." Margin="5" IsChecked="{Binding PromptChannelChange, Mode=TwoWay}" />
</StackPanel> </StackPanel>
</GroupBox> </GroupBox>
<CheckBox Content=" Check for Bloxstrap updates on startup" IsChecked="{Binding CheckForUpdates, Mode=TwoWay}" Margin="10,5,10,5" />
</StackPanel> </StackPanel>
</TabItem> </TabItem>
<TabItem Padding="5"> <TabItem Padding="5">
<TabItem.Header> <TabItem.Header>
<TextBlock Text="Style" FontSize="13" /> <TextBlock Text="Bloxstrap" FontSize="13" />
</TabItem.Header> </TabItem.Header>
<StackPanel Margin="10"> <StackPanel>
<Grid> <GroupBox Header="Style" Margin="10,10,10,0">
<Grid.RowDefinitions> <StackPanel Margin="5">
<RowDefinition Height="*" /> <Grid>
<RowDefinition Height="*" /> <Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="*" />
<RowDefinition Height="*" /> <RowDefinition Height="*" />
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Grid.ColumnDefinitions> </Grid.RowDefinitions>
<ColumnDefinition Width="100" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="100" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="*" />
<TextBlock Grid.Row="0" Grid.Column="0" Text="Theme*" VerticalAlignment="Center" Margin="0,0,0,5" /> </Grid.ColumnDefinitions>
<ComboBox Grid.Row="0" Grid.Column="1" x:Name="ComboBoxTheme" VerticalAlignment="Center" Margin="0,0,0,0" ItemsSource="{Binding Themes.Keys, Mode=OneTime}" Text="{Binding Theme, Mode=TwoWay}" /> <TextBlock Grid.Row="0" Grid.Column="0" Text="Theme*" VerticalAlignment="Center" Margin="0,0,0,5" />
<TextBlock Grid.Row="1" Grid.Column="1" Text="*Dark theme only applies to the Progress Dialog style" FontSize="10" VerticalAlignment="Center" Margin="0,0,0,5" /> <ComboBox Grid.Row="0" Grid.Column="1" x:Name="ComboBoxTheme" VerticalAlignment="Center" Margin="0,0,0,0" ItemsSource="{Binding Themes.Keys, Mode=OneTime}" Text="{Binding Theme, Mode=TwoWay}" />
<TextBlock Grid.Row="2" Grid.Column="0" Text="Dialog" VerticalAlignment="Center" Margin="0,5,0,5" /> <TextBlock Grid.Row="1" Grid.Column="1" Text="*Dark theme only applies to the Progress dialog" FontSize="10" VerticalAlignment="Center" Margin="0,0,0,5" />
<ComboBox Grid.Row="2" Grid.Column="1" x:Name="ComboBoxDialog" VerticalAlignment="Center" Margin="0,5,0,5" ItemsSource="{Binding Dialogs.Keys, Mode=OneTime}" Text="{Binding Dialog, Mode=TwoWay}" /> <TextBlock Grid.Row="2" Grid.Column="0" Text="Dialog" VerticalAlignment="Center" Margin="0,5,0,5" />
<TextBlock Grid.Row="4" Grid.Column="0" Text="Icon" VerticalAlignment="Center" Margin="0,5,0,5" /> <ComboBox Grid.Row="2" Grid.Column="1" x:Name="ComboBoxDialog" VerticalAlignment="Center" Margin="0,5,0,5" ItemsSource="{Binding Dialogs.Keys, Mode=OneTime}" Text="{Binding Dialog, Mode=TwoWay}" />
<ComboBox Grid.Row="4" Grid.Column="1" x:Name="ComboBoxIcon" VerticalAlignment="Center" Margin="0,5,0,5" ItemsSource="{Binding Icons.Keys, Mode=OneTime}" Text="{Binding Icon, Mode=TwoWay}" /> <TextBlock Grid.Row="3" Grid.Column="0" Text="Icon" VerticalAlignment="Center" Margin="0,5,0,5" />
</Grid> <ComboBox Grid.Row="3" Grid.Column="1" x:Name="ComboBoxIcon" VerticalAlignment="Center" Margin="0,5,0,5" ItemsSource="{Binding Icons.Keys, Mode=OneTime}" Text="{Binding Icon, Mode=TwoWay}" />
<Button x:Name="ButtonPreview" Content="Preview" Margin="0,5,0,0" VerticalAlignment="Bottom" Height="23" Click="ButtonPreview_Click" /> </Grid>
<Button x:Name="ButtonPreview" Content="Preview" Margin="0,5,0,0" VerticalAlignment="Bottom" Height="23" Click="ButtonPreview_Click" />
</StackPanel>
</GroupBox>
<CheckBox Content=" Check for Bloxstrap updates on startup" IsChecked="{Binding CheckForUpdates, Mode=TwoWay}" Margin="10,10,10,0" />
</StackPanel> </StackPanel>
</TabItem> </TabItem>
</TabControl> </TabControl>

View File

@ -299,14 +299,14 @@ namespace Bloxstrap.Dialogs
} }
} }
public bool CheckForUpdates public bool PromptChannelChange
{ {
get => Program.Settings.CheckForUpdates; get => Program.Settings.PromptChannelChange;
set => Program.Settings.CheckForUpdates = value; set => Program.Settings.PromptChannelChange = value;
} }
#endregion #endregion
#region Style #region Bloxstrap
public IReadOnlyDictionary<string, Theme> Themes { get; set; } = new Dictionary<string, Theme>() public IReadOnlyDictionary<string, Theme> Themes { get; set; } = new Dictionary<string, Theme>()
{ {
{ "System Default", Enums.Theme.Default }, { "System Default", Enums.Theme.Default },
@ -355,6 +355,12 @@ namespace Bloxstrap.Dialogs
get => Icons.FirstOrDefault(x => x.Value == Program.Settings.BootstrapperIcon).Key; get => Icons.FirstOrDefault(x => x.Value == Program.Settings.BootstrapperIcon).Key;
set => Program.Settings.BootstrapperIcon = Icons[value]; set => Program.Settings.BootstrapperIcon = Icons[value];
} }
public bool CheckForUpdates
{
get => Program.Settings.CheckForUpdates;
set => Program.Settings.CheckForUpdates = value;
}
#endregion #endregion
public string ConfirmButtonText { get; } = Program.IsFirstRun ? "Install" : "Save"; public string ConfirmButtonText { get; } = Program.IsFirstRun ? "Install" : "Save";

View File

@ -49,7 +49,7 @@ namespace Bloxstrap.Helpers
{ {
if (val.ToLower() != Program.Settings.Channel.ToLower()) if (val.ToLower() != Program.Settings.Channel.ToLower())
{ {
DialogResult result = Program.ShowMessageBox( DialogResult result = !Program.Settings.PromptChannelChange ? DialogResult.Yes : Program.ShowMessageBox(
$"{Program.ProjectName} was launched with the Roblox build channel set to {val}, however your current preferred channel is {Program.Settings.Channel}.\n\n" + $"{Program.ProjectName} was launched with the Roblox build channel set to {val}, however your current preferred channel is {Program.Settings.Channel}.\n\n" +
$"Would you like to switch channels from {Program.Settings.Channel} to {val}?", $"Would you like to switch channels from {Program.Settings.Channel} to {val}?",
MessageBoxIcon.Question, MessageBoxIcon.Question,

View File

@ -9,6 +9,7 @@ namespace Bloxstrap.Models
public string VersionGuid { get; set; } = ""; public string VersionGuid { get; set; } = "";
public bool CheckForUpdates { get; set; } = true; public bool CheckForUpdates { get; set; } = true;
public bool PromptChannelChange { get; set; } = false;
public BootstrapperStyle BootstrapperStyle { get; set; } = BootstrapperStyle.ProgressDialog; public BootstrapperStyle BootstrapperStyle { get; set; } = BootstrapperStyle.ProgressDialog;
public BootstrapperIcon BootstrapperIcon { get; set; } = BootstrapperIcon.IconBloxstrap; public BootstrapperIcon BootstrapperIcon { get; set; } = BootstrapperIcon.IconBloxstrap;