Skip to content

Commit ddfc868

Browse files
committed
ux: re-design merge option style
Signed-off-by: leo <[email protected]>
1 parent 10fd0f9 commit ddfc868

File tree

3 files changed

+28
-11
lines changed

3 files changed

+28
-11
lines changed

src/Models/MergeMode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class MergeMode
66
[
77
new MergeMode("Default", "Fast-forward if possible", ""),
88
new MergeMode("No Fast-forward", "Always create a merge commit", "--no-ff"),
9-
new MergeMode("Squash", "Use '--squash'", "--squash"),
9+
new MergeMode("Squash", "Squash merge", "--squash"),
1010
new MergeMode("Don't commit", "Merge without commit", "--no-ff --no-commit"),
1111
];
1212

src/ViewModels/Merge.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public string Into
1515
get;
1616
}
1717

18-
public Models.MergeMode SelectedMode
18+
public Models.MergeMode Mode
1919
{
2020
get;
2121
set;
@@ -28,7 +28,7 @@ public Merge(Repository repo, Models.Branch source, string into)
2828

2929
Source = source;
3030
Into = into;
31-
SelectedMode = AutoSelectMergeMode();
31+
Mode = AutoSelectMergeMode();
3232
View = new Views.Merge() { DataContext = this };
3333
}
3434

@@ -39,7 +39,7 @@ public Merge(Repository repo, Models.Commit source, string into)
3939

4040
Source = source;
4141
Into = into;
42-
SelectedMode = AutoSelectMergeMode();
42+
Mode = AutoSelectMergeMode();
4343
View = new Views.Merge() { DataContext = this };
4444
}
4545

@@ -50,7 +50,7 @@ public Merge(Repository repo, Models.Tag source, string into)
5050

5151
Source = source;
5252
Into = into;
53-
SelectedMode = AutoSelectMergeMode();
53+
Mode = AutoSelectMergeMode();
5454
View = new Views.Merge() { DataContext = this };
5555
}
5656

@@ -61,7 +61,7 @@ public override Task<bool> Sure()
6161

6262
return Task.Run(() =>
6363
{
64-
new Commands.Merge(_repo.FullPath, _sourceName, SelectedMode.Arg, SetProgressDescription).Exec();
64+
new Commands.Merge(_repo.FullPath, _sourceName, Mode.Arg, SetProgressDescription).Exec();
6565
CallUIThread(() => _repo.SetWatcherEnabled(true));
6666
return true;
6767
});

src/Views/Merge.axaml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,32 @@
6060
Height="28" Padding="8,0"
6161
VerticalAlignment="Center" HorizontalAlignment="Stretch"
6262
ItemsSource="{Binding Source={x:Static m:MergeMode.Supported}}"
63-
SelectedItem="{Binding SelectedMode, Mode=TwoWay}">
63+
SelectedItem="{Binding Mode, Mode=TwoWay}"
64+
Grid.IsSharedSizeScope="True">
6465
<ComboBox.ItemTemplate>
6566
<DataTemplate DataType="m:MergeMode">
66-
<StackPanel Orientation="Horizontal" Height="20" VerticalAlignment="Center">
67-
<TextBlock Text="{Binding Name}"/>
68-
<TextBlock Text="{Binding Desc}" Margin="8,0,0,0" FontSize="11" Foreground="{DynamicResource Brush.FG2}"/>
69-
</StackPanel>
67+
<Grid Height="20">
68+
<Grid.ColumnDefinitions>
69+
<ColumnDefinition Width="Auto" SharedSizeGroup="MergeModeNameColumn"/>
70+
<ColumnDefinition Width="Auto" SharedSizeGroup="MergeModeDescriptionColumn"/>
71+
<ColumnDefinition Width="Auto" SharedSizeGroup="MergeModeOptionColumn"/>
72+
</Grid.ColumnDefinitions>
73+
74+
<TextBlock Grid.Column="0" Text="{Binding Name}"/>
75+
<TextBlock Grid.Column="1" Text="{Binding Desc}" Margin="8,0" FontSize="11" Foreground="{DynamicResource Brush.FG2}"/>
76+
<TextBlock Grid.Column="2" Text="{Binding Arg}" HorizontalAlignment="Right" FontSize="11" Foreground="{DynamicResource Brush.FG2}"/>
77+
</Grid>
7078
</DataTemplate>
7179
</ComboBox.ItemTemplate>
80+
81+
<ComboBox.SelectionBoxItemTemplate>
82+
<DataTemplate DataType="m:MergeMode">
83+
<Grid ColumnDefinitions="Auto,*">
84+
<TextBlock Grid.Column="0" Text="{Binding Name}" Margin="0,0,8,0"/>
85+
<TextBlock Grid.Column="1" Text="{Binding Desc}" HorizontalAlignment="Right" FontSize="11" Foreground="{DynamicResource Brush.FG2}"/>
86+
</Grid>
87+
</DataTemplate>
88+
</ComboBox.SelectionBoxItemTemplate>
7289
</ComboBox>
7390
</Grid>
7491
</StackPanel>

0 commit comments

Comments
 (0)