Skip to content

Commit

Permalink
configure_v3: use tabbed UI for patch selection
Browse files Browse the repository at this point in the history
It makes the full patches list more visible, while not being too distracting for
users who just want to install the language patch for their language.
  • Loading branch information
brliron committed Dec 22, 2024
1 parent 12c6a54 commit dd1a080
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 34 deletions.
16 changes: 8 additions & 8 deletions thcrap_configure_v3/Page2.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
xmlns:local="clr-namespace:thcrap_configure_v3"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<DockPanel>
<Grid DockPanel.Dock="Bottom" Cursor="Hand" MouseUp="ChangeMode">
<TextBlock Foreground="Blue" TextDecorations="Underline" x:Name="SimpleText">Advanced mode...</TextBlock>
<TextBlock Foreground="Blue" TextDecorations="Underline" x:Name="AdvancedText" Visibility="Collapsed">Simple mode...</TextBlock>
</Grid>
<local:Page2_simple x:Name="Simple" />
<local:Page2_advanced x:Name="Advanced" Visibility="Collapsed" />
</DockPanel>
<TabControl SelectionChanged="TabChanged">
<TabItem Header="Language patches">
<local:Page2_simple x:Name="Simple" Margin="6" />
</TabItem>
<TabItem Header="All patches" Name="tab_AllPatches">
<local:Page2_advanced x:Name="Advanced" Margin="6" />
</TabItem>
</TabControl>
</UserControl>
33 changes: 9 additions & 24 deletions thcrap_configure_v3/Page2.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,33 +59,18 @@ public string GetConfigName()
return patches[0].Id.Substring("lang_".Length);
}

private void GoToAdvanced()
private void TabChanged(object sender, SelectionChangedEventArgs e)
{
Advanced.configMaxLength = 248 - (Environment.CurrentDirectory.Length + "\\config\\.js".Length);
Advanced.SetInitialPatch(Simple.GetSelectedRepoPatch()[0]);
if ((sender as TabControl).SelectedContent == Advanced)
{
Advanced.SetInitialPatch(Simple.GetSelectedRepoPatch()[0]);

Simple.Visibility = Visibility.Collapsed;
SimpleText.Visibility = Visibility.Collapsed;
Advanced.Visibility = Visibility.Visible;
AdvancedText.Visibility = Visibility.Visible;
mode = Mode.Advanced;
}

private void GoToSimple()
{
Advanced.Visibility = Visibility.Collapsed;
AdvancedText.Visibility = Visibility.Collapsed;
Simple.Visibility = Visibility.Visible;
SimpleText.Visibility = Visibility.Visible;
mode = Mode.Simple;
}

private void ChangeMode(object sender, MouseButtonEventArgs e)
{
if (mode == Mode.Simple)
GoToAdvanced();
mode = Mode.Advanced;
}
else
GoToSimple();
{
mode = Mode.Simple;
}
}
}
}
6 changes: 5 additions & 1 deletion thcrap_configure_v3/Page2_advanced.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace thcrap_configure_v3
public partial class Page2_advanced : UserControl
{
private int isUnedited = 1;
public int configMaxLength = 0;
private int configMaxLength = 0;

private void ResetConfigName()
{
Expand Down Expand Up @@ -293,6 +293,10 @@ public void ConfigNameChanged(object sender, TextChangedEventArgs e)
{
isUnedited--;
}
if (configMaxLength == 0)
{
configMaxLength = 248 - (Environment.CurrentDirectory.Length + "\\config\\.js".Length);
}
if (ConfigName.Text.Length > configMaxLength)
{
ConfigName.Text = ConfigName.Text.Substring(0, configMaxLength);
Expand Down
2 changes: 1 addition & 1 deletion thcrap_configure_v3/Page2_simple.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<ItemsControl x:Name="UserLanguagePatches">
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="patch" IsChecked="{Binding IsChecked}">
<RadioButton GroupName="patch" IsChecked="{Binding IsChecked}" Margin="0,0,0,2">
<TextBlock Text="{Binding patch.Title}" />
</RadioButton>
</DataTemplate>
Expand Down

0 comments on commit dd1a080

Please sign in to comment.