Show the window before slow location probes and wrap git.exe for commit, diff, and merge.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
80
src/Explorer.App/GitChangesWindow.xaml
Normal file
80
src/Explorer.App/GitChangesWindow.xaml
Normal file
@@ -0,0 +1,80 @@
|
||||
<Window x:Class="Explorer.App.GitChangesWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="Git changes"
|
||||
Icon="pack://application:,,,/Assets/explorer-workbench.ico"
|
||||
Height="620" Width="920"
|
||||
MinHeight="400" MinWidth="640"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Background="{DynamicResource Bg}" Foreground="{DynamicResource Fg}">
|
||||
<DockPanel Margin="16">
|
||||
<DockPanel DockPanel.Dock="Bottom" Margin="0,12,0,0">
|
||||
<Button DockPanel.Dock="Right" Content="Close" MinWidth="88" Height="32" IsCancel="True" Margin="8,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Commit…" MinWidth="88" Height="32"
|
||||
Click="OnCommit" IsEnabled="{Binding CanCommit}" Margin="8,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Push" MinWidth="72" Height="32"
|
||||
Click="OnPush" IsEnabled="{Binding CanNetwork}" Margin="8,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Pull" MinWidth="72" Height="32"
|
||||
Click="OnPull" IsEnabled="{Binding CanNetwork}" Margin="8,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Fetch" MinWidth="72" Height="32"
|
||||
Click="OnFetch" IsEnabled="{Binding CanNetwork}" Margin="8,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Refresh" MinWidth="88" Height="32"
|
||||
Command="{Binding RefreshCommand}" Margin="8,0,0,0"/>
|
||||
<TextBlock Text="{Binding Status}" VerticalAlignment="Center" Foreground="{DynamicResource FgMuted}"
|
||||
TextWrapping="Wrap"/>
|
||||
</DockPanel>
|
||||
<StackPanel DockPanel.Dock="Top" Margin="0,0,0,8">
|
||||
<TextBlock Text="{Binding Summary}" FontWeight="SemiBold" TextWrapping="Wrap"/>
|
||||
<TextBlock Text="{Binding RepoRoot}" Margin="0,4,0,0" Foreground="{DynamicResource FgMuted}"
|
||||
TextTrimming="CharacterEllipsis"/>
|
||||
</StackPanel>
|
||||
<WrapPanel DockPanel.Dock="Top" Margin="0,0,0,8">
|
||||
<Button Content="View diff" MinWidth="88" Height="32" Click="OnDiff"
|
||||
IsEnabled="{Binding CanDiff}" Margin="0,0,8,8"/>
|
||||
<Button Content="Open in Cursor" MinWidth="120" Height="32"
|
||||
Command="{Binding OpenSelectedInCursorCommand}"
|
||||
IsEnabled="{Binding CanOpenInCursor}" Margin="0,0,8,8"/>
|
||||
<Button Content="Stage" MinWidth="72" Height="32" Click="OnStage"
|
||||
IsEnabled="{Binding CanStage}" Margin="0,0,8,8"/>
|
||||
<Button Content="Unstage" MinWidth="72" Height="32" Click="OnUnstage"
|
||||
IsEnabled="{Binding CanUnstage}" Margin="0,0,8,8"/>
|
||||
<Button Content="Discard…" MinWidth="88" Height="32" Click="OnDiscard"
|
||||
IsEnabled="{Binding CanDiscard}" Margin="0,0,16,8"/>
|
||||
<Button Content="Use ours" MinWidth="88" Height="32" Click="OnUseOurs"
|
||||
IsEnabled="{Binding CanResolve}" Margin="0,0,8,8"/>
|
||||
<Button Content="Use theirs" MinWidth="88" Height="32" Click="OnUseTheirs"
|
||||
IsEnabled="{Binding CanResolve}" Margin="0,0,8,8"/>
|
||||
<Button Content="Mark resolved" MinWidth="110" Height="32" Click="OnMarkResolved"
|
||||
IsEnabled="{Binding CanResolve}" Margin="0,0,16,8"/>
|
||||
<Button Content="Abort" MinWidth="72" Height="32" Click="OnAbort"
|
||||
IsEnabled="{Binding CanAbort}" Margin="0,0,8,8"/>
|
||||
<Button Content="Continue" MinWidth="88" Height="32" Click="OnContinue"
|
||||
IsEnabled="{Binding CanContinue}" Margin="0,0,8,8"/>
|
||||
</WrapPanel>
|
||||
<ListView ItemsSource="{Binding Changes}" SelectedItem="{Binding Selected}"
|
||||
MouseDoubleClick="OnRowDoubleClick">
|
||||
<ListView.ContextMenu>
|
||||
<ContextMenu>
|
||||
<MenuItem Header="View diff" Click="OnDiff" IsEnabled="{Binding CanDiff}"/>
|
||||
<MenuItem Header="Open in Cursor" Command="{Binding OpenSelectedInCursorCommand}"
|
||||
IsEnabled="{Binding CanOpenInCursor}"/>
|
||||
<Separator/>
|
||||
<MenuItem Header="Stage" Click="OnStage" IsEnabled="{Binding CanStage}"/>
|
||||
<MenuItem Header="Unstage" Click="OnUnstage" IsEnabled="{Binding CanUnstage}"/>
|
||||
<MenuItem Header="Discard…" Click="OnDiscard" IsEnabled="{Binding CanDiscard}"/>
|
||||
<Separator/>
|
||||
<MenuItem Header="Use ours" Click="OnUseOurs" IsEnabled="{Binding CanResolve}"/>
|
||||
<MenuItem Header="Use theirs" Click="OnUseTheirs" IsEnabled="{Binding CanResolve}"/>
|
||||
<MenuItem Header="Mark resolved" Click="OnMarkResolved" IsEnabled="{Binding CanResolve}"/>
|
||||
</ContextMenu>
|
||||
</ListView.ContextMenu>
|
||||
<ListView.View>
|
||||
<GridView>
|
||||
<GridViewColumn Header="Kind" Width="100" DisplayMemberBinding="{Binding KindLabel}"/>
|
||||
<GridViewColumn Header="Change" Width="110" DisplayMemberBinding="{Binding ChangeLabel}"/>
|
||||
<GridViewColumn Header="Path" Width="620" DisplayMemberBinding="{Binding DisplayPath}"/>
|
||||
</GridView>
|
||||
</ListView.View>
|
||||
</ListView>
|
||||
</DockPanel>
|
||||
</Window>
|
||||
Reference in New Issue
Block a user