fix(ui): make overview modal resizable; add diff content pane
Drop outer Border wrapper in WorktreesOverviewModalView so Avalonia edge resize handles reach the window frame. Add split pane to WorktreeModalView with file tree on left and per-file unified diff on right; wire SelectedNode via SelectedItem TwoWay binding + SelectionChanged fallback; add GetFileDiffAsync to GitService. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,18 @@ public partial class WorktreeModalView : Window
|
||||
base.OnDataContextChanged(e);
|
||||
if (DataContext is WorktreeModalViewModel vm)
|
||||
vm.CloseAction = Close;
|
||||
|
||||
// Wire TreeView selection — SelectedItem TwoWay binding may not fire
|
||||
// reliably in Avalonia 12 for TreeView; use SelectionChanged as backup.
|
||||
var tree = this.FindControl<TreeView>("FileTree");
|
||||
if (tree is not null)
|
||||
tree.SelectionChanged += OnFileTreeSelectionChanged;
|
||||
}
|
||||
|
||||
private void OnFileTreeSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (DataContext is WorktreeModalViewModel vm && sender is TreeView tree)
|
||||
vm.SelectedNode = tree.SelectedItem as WorktreeNodeViewModel;
|
||||
}
|
||||
|
||||
protected override async void OnOpened(EventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user