mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-11-01 13:13:21 -07:00
fix<CommitChanges>: fix row selection in Grid/List view mode
This commit is contained in:
parent
262c7afe9e
commit
75006db94f
2 changed files with 27 additions and 4 deletions
|
@ -70,7 +70,7 @@
|
||||||
BorderBrush="{StaticResource Brush.Border2}"
|
BorderBrush="{StaticResource Brush.Border2}"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Background="{StaticResource Brush.Contents}">
|
Background="{StaticResource Brush.Contents}">
|
||||||
<Grid>
|
<Grid x:Name="layerChanges">
|
||||||
<controls:Tree
|
<controls:Tree
|
||||||
x:Name="modeTree"
|
x:Name="modeTree"
|
||||||
FontFamily="Consolas"
|
FontFamily="Consolas"
|
||||||
|
@ -128,6 +128,7 @@
|
||||||
SelectionMode="Single"
|
SelectionMode="Single"
|
||||||
SelectionUnit="FullRow"
|
SelectionUnit="FullRow"
|
||||||
SelectionChanged="OnListSelectionChanged"
|
SelectionChanged="OnListSelectionChanged"
|
||||||
|
SizeChanged="OnListSizeChanged"
|
||||||
RowStyle="{StaticResource Style.DataGridRow.Changes}">
|
RowStyle="{StaticResource Style.DataGridRow.Changes}">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTemplateColumn Width="22" IsReadOnly="True">
|
<DataGridTemplateColumn Width="22" IsReadOnly="True">
|
||||||
|
@ -153,6 +154,7 @@
|
||||||
SelectionMode="Single"
|
SelectionMode="Single"
|
||||||
SelectionUnit="FullRow"
|
SelectionUnit="FullRow"
|
||||||
SelectionChanged="OnGridSelectionChanged"
|
SelectionChanged="OnGridSelectionChanged"
|
||||||
|
SizeChanged="OnGridSizeChanged"
|
||||||
RowStyle="{StaticResource Style.DataGridRow.Changes}">
|
RowStyle="{StaticResource Style.DataGridRow.Changes}">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTemplateColumn Width="22" IsReadOnly="True">
|
<DataGridTemplateColumn Width="22" IsReadOnly="True">
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
@ -252,7 +253,7 @@ namespace SourceGit.Views.Widgets {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnTreeSelectionChanged(object sender, RoutedEventArgs e) {
|
private void OnTreeSelectionChanged(object sender, RoutedEventArgs e) {
|
||||||
if (Models.Preference.Instance.Window.ChangeInCommitInfo != Models.Change.DisplayMode.Tree) return;
|
if (modeSwitcher.Mode != Models.Change.DisplayMode.Tree) return;
|
||||||
|
|
||||||
diffViewer.Reset();
|
diffViewer.Reset();
|
||||||
if (modeTree.Selected.Count == 0) return;
|
if (modeTree.Selected.Count == 0) return;
|
||||||
|
@ -264,7 +265,7 @@ namespace SourceGit.Views.Widgets {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnListSelectionChanged(object sender, SelectionChangedEventArgs e) {
|
private void OnListSelectionChanged(object sender, SelectionChangedEventArgs e) {
|
||||||
if (Models.Preference.Instance.Window.ChangeInCommitInfo != Models.Change.DisplayMode.List) return;
|
if (modeSwitcher.Mode != Models.Change.DisplayMode.List) return;
|
||||||
|
|
||||||
diffViewer.Reset();
|
diffViewer.Reset();
|
||||||
|
|
||||||
|
@ -275,7 +276,7 @@ namespace SourceGit.Views.Widgets {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnGridSelectionChanged(object sender, SelectionChangedEventArgs e) {
|
private void OnGridSelectionChanged(object sender, SelectionChangedEventArgs e) {
|
||||||
if (Models.Preference.Instance.Window.ChangeInCommitInfo != Models.Change.DisplayMode.Grid) return;
|
if (modeSwitcher.Mode != Models.Change.DisplayMode.Grid) return;
|
||||||
|
|
||||||
diffViewer.Reset();
|
diffViewer.Reset();
|
||||||
|
|
||||||
|
@ -306,5 +307,25 @@ namespace SourceGit.Views.Widgets {
|
||||||
OpenChangeContextMenu(change);
|
OpenChangeContextMenu(change);
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnListSizeChanged(object sender, SizeChangedEventArgs e) {
|
||||||
|
if (modeSwitcher.Mode != Models.Change.DisplayMode.List) return;
|
||||||
|
|
||||||
|
int last = modeList.Columns.Count - 1;
|
||||||
|
double offset = 0;
|
||||||
|
for (int i = 0; i < last; i++) offset += modeList.Columns[i].ActualWidth;
|
||||||
|
modeList.Columns[last].MinWidth = Math.Max(layerChanges.ActualWidth - offset, 10);
|
||||||
|
modeList.UpdateLayout();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGridSizeChanged(object sender, SizeChangedEventArgs e) {
|
||||||
|
if (modeSwitcher.Mode != Models.Change.DisplayMode.Grid) return;
|
||||||
|
|
||||||
|
int last = modeGrid.Columns.Count - 1;
|
||||||
|
double offset = 0;
|
||||||
|
for (int i = 0; i < last; i++) offset += modeGrid.Columns[i].ActualWidth;
|
||||||
|
modeGrid.Columns[last].MinWidth = Math.Max(layerChanges.ActualWidth - offset, 10);
|
||||||
|
modeGrid.UpdateLayout();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue