mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-21 13:20:30 +08:00
Merge branch 'develop' into feature/async
This commit is contained in:
@@ -212,7 +212,15 @@ namespace SourceGit.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
Dispatcher.UIThread.Post(() => VisibleChanges = visible);
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
{
|
||||
VisibleChanges = visible;
|
||||
|
||||
if (VisibleChanges.Count > 0)
|
||||
SelectedChanges = [VisibleChanges[0]];
|
||||
else
|
||||
SelectedChanges = [];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -730,6 +730,8 @@ namespace SourceGit.ViewModels
|
||||
|
||||
if (visible.Count == 0)
|
||||
SelectedChanges = null;
|
||||
else
|
||||
SelectedChanges = [VisibleChanges[0]];
|
||||
});
|
||||
}
|
||||
}, token);
|
||||
|
||||
@@ -227,7 +227,15 @@ namespace SourceGit.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
Dispatcher.UIThread.Invoke(() => VisibleChanges = visible);
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
{
|
||||
VisibleChanges = visible;
|
||||
|
||||
if (VisibleChanges.Count > 0)
|
||||
SelectedChanges = [VisibleChanges[0]];
|
||||
else
|
||||
SelectedChanges = [];
|
||||
});
|
||||
}
|
||||
|
||||
private string GetSHA(object obj)
|
||||
|
||||
@@ -128,7 +128,6 @@
|
||||
<v:ChangeCollectionView ViewMode="{Binding Source={x:Static vm:Preferences.Instance}, Path=CommitChangeViewMode}"
|
||||
Changes="{Binding VisibleChanges}"
|
||||
SelectedChanges="{Binding SelectedChanges, Mode=TwoWay}"
|
||||
AutoSelectFirstChange="True"
|
||||
ContextRequested="OnChangeContextRequested"/>
|
||||
</Border>
|
||||
</Grid>
|
||||
|
||||
@@ -87,15 +87,6 @@ namespace SourceGit.Views
|
||||
set => SetValue(ChangesProperty, value);
|
||||
}
|
||||
|
||||
public static readonly StyledProperty<bool> AutoSelectFirstChangeProperty =
|
||||
AvaloniaProperty.Register<ChangeCollectionView, bool>(nameof(AutoSelectFirstChange));
|
||||
|
||||
public bool AutoSelectFirstChange
|
||||
{
|
||||
get => GetValue(AutoSelectFirstChangeProperty);
|
||||
set => SetValue(AutoSelectFirstChangeProperty, value);
|
||||
}
|
||||
|
||||
public static readonly StyledProperty<List<Models.Change>> SelectedChangesProperty =
|
||||
AvaloniaProperty.Register<ChangeCollectionView, List<Models.Change>>(nameof(SelectedChanges));
|
||||
|
||||
@@ -365,19 +356,7 @@ namespace SourceGit.Views
|
||||
MakeTreeRows(rows, tree.Tree);
|
||||
tree.Rows.AddRange(rows);
|
||||
|
||||
if (!onlyViewModeChange && AutoSelectFirstChange)
|
||||
{
|
||||
foreach (var row in tree.Rows)
|
||||
{
|
||||
if (row.Change != null)
|
||||
{
|
||||
tree.SelectedRows.Add(row);
|
||||
SetCurrentValue(SelectedChangesProperty, [row.Change]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (selected.Count > 0)
|
||||
if (selected.Count > 0)
|
||||
{
|
||||
var sets = new HashSet<Models.Change>(selected);
|
||||
var nodes = new List<ViewModels.ChangeTreeNode>();
|
||||
@@ -396,16 +375,8 @@ namespace SourceGit.Views
|
||||
{
|
||||
var grid = new ViewModels.ChangeCollectionAsGrid();
|
||||
grid.Changes.AddRange(changes);
|
||||
|
||||
if (!onlyViewModeChange && AutoSelectFirstChange)
|
||||
{
|
||||
grid.SelectedChanges.Add(changes[0]);
|
||||
SetCurrentValue(SelectedChangesProperty, [changes[0]]);
|
||||
}
|
||||
else if (selected.Count > 0)
|
||||
{
|
||||
if (selected.Count > 0)
|
||||
grid.SelectedChanges.AddRange(selected);
|
||||
}
|
||||
|
||||
Content = grid;
|
||||
}
|
||||
@@ -413,16 +384,8 @@ namespace SourceGit.Views
|
||||
{
|
||||
var list = new ViewModels.ChangeCollectionAsList();
|
||||
list.Changes.AddRange(changes);
|
||||
|
||||
if (!onlyViewModeChange && AutoSelectFirstChange)
|
||||
{
|
||||
list.SelectedChanges.Add(changes[0]);
|
||||
SetCurrentValue(SelectedChangesProperty, [changes[0]]);
|
||||
}
|
||||
else if (selected.Count > 0)
|
||||
{
|
||||
if (selected.Count > 0)
|
||||
list.SelectedChanges.AddRange(selected);
|
||||
}
|
||||
|
||||
Content = list;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
ViewMode="{Binding Source={x:Static vm:Preferences.Instance}, Path=CommitChangeViewMode}"
|
||||
Changes="{Binding VisibleChanges}"
|
||||
SelectedChanges="{Binding SelectedChanges, Mode=TwoWay}"
|
||||
AutoSelectFirstChange="True"
|
||||
ContextRequested="OnChangeContextRequested"/>
|
||||
</Border>
|
||||
|
||||
|
||||
@@ -99,7 +99,6 @@
|
||||
<v:ChangeCollectionView ViewMode="{Binding Source={x:Static vm:Preferences.Instance}, Path=CommitChangeViewMode}"
|
||||
Changes="{Binding VisibleChanges}"
|
||||
SelectedChanges="{Binding SelectedChanges, Mode=TwoWay}"
|
||||
AutoSelectFirstChange="True"
|
||||
ContextRequested="OnChangeContextRequested"/>
|
||||
</Border>
|
||||
</Grid>
|
||||
|
||||
Reference in New Issue
Block a user