Skip to content

Commit b9874d3

Browse files
committed
feat(Preferences): add UI configuration for hover view tracking
在“允许滚动条自动隐藏”下方新增了“开启悬停视图跟踪”的全局选项,并配置了多语言翻译。 FAILED TEST CASES: NONE
1 parent d27a7d6 commit b9874d3

7 files changed

Lines changed: 22 additions & 1 deletion

File tree

‎src/Resources/Locales/en_US.axaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,7 @@
641641
<x:String x:Key="Text.Preferences.Appearance.Theme" xml:space="preserve">Theme</x:String>
642642
<x:String x:Key="Text.Preferences.Appearance.ThemeOverrides" xml:space="preserve">Theme Overrides</x:String>
643643
<x:String x:Key="Text.Preferences.Appearance.UseAutoHideScrollBars" xml:space="preserve">Use auto-hide scrollbars</x:String>
644+
<x:String x:Key="Text.Preferences.Appearance.EnableHoverViewTracking" xml:space="preserve">Enable hover view tracking</x:String>
644645
<x:String x:Key="Text.Preferences.Appearance.UseFixedTabWidth" xml:space="preserve">Use fixed tab width in titlebar</x:String>
645646
<x:String x:Key="Text.Preferences.Appearance.UseNativeWindowFrame" xml:space="preserve">Use native window frame</x:String>
646647
<x:String x:Key="Text.Preferences.DiffMerge" xml:space="preserve">DIFF/MERGE TOOL</x:String>

‎src/Resources/Locales/zh_CN.axaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,7 @@
645645
<x:String x:Key="Text.Preferences.Appearance.Theme" xml:space="preserve">主题</x:String>
646646
<x:String x:Key="Text.Preferences.Appearance.ThemeOverrides" xml:space="preserve">主题自定义</x:String>
647647
<x:String x:Key="Text.Preferences.Appearance.UseAutoHideScrollBars" xml:space="preserve">允许滚动条自动隐藏</x:String>
648+
<x:String x:Key="Text.Preferences.Appearance.EnableHoverViewTracking" xml:space="preserve">开启悬停视图跟踪</x:String>
648649
<x:String x:Key="Text.Preferences.Appearance.UseFixedTabWidth" xml:space="preserve">主标签使用固定宽度</x:String>
649650
<x:String x:Key="Text.Preferences.Appearance.UseNativeWindowFrame" xml:space="preserve">使用系统默认窗体样式</x:String>
650651
<x:String x:Key="Text.Preferences.DiffMerge" xml:space="preserve">对比/合并工具</x:String>

‎src/Resources/Locales/zh_TW.axaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,7 @@
645645
<x:String x:Key="Text.Preferences.Appearance.Theme" xml:space="preserve">佈景主題</x:String>
646646
<x:String x:Key="Text.Preferences.Appearance.ThemeOverrides" xml:space="preserve">自訂主題</x:String>
647647
<x:String x:Key="Text.Preferences.Appearance.UseAutoHideScrollBars" xml:space="preserve">允許自動隱藏捲軸</x:String>
648+
<x:String x:Key="Text.Preferences.Appearance.EnableHoverViewTracking" xml:space="preserve">開啟懸停視圖跟蹤</x:String>
648649
<x:String x:Key="Text.Preferences.Appearance.UseFixedTabWidth" xml:space="preserve">使用固定寬度的分頁標籤</x:String>
649650
<x:String x:Key="Text.Preferences.Appearance.UseNativeWindowFrame" xml:space="preserve">使用系統原生預設視窗樣式</x:String>
650651
<x:String x:Key="Text.Preferences.DiffMerge" xml:space="preserve">對比/合併工具</x:String>

‎src/ViewModels/Histories.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public long HoveredCommitIndex
8080
{
8181
if (SetProperty(ref _hoveredCommitIndex, value))
8282
{
83-
if (value >= 0 && value < _commits.Count)
83+
if (Preferences.Instance.EnableHoverViewTracking && value >= 0 && value < _commits.Count)
8484
{
8585
var hoveredIndex = (int)value;
8686
var depth = 1000u;

‎src/ViewModels/Preferences.cs‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,12 @@ public bool UseAutoHideScrollBars
181181
set => SetProperty(ref _useAutoHideScrollBars, value);
182182
}
183183

184+
public bool EnableHoverViewTracking
185+
{
186+
get => _enableHoverViewTracking;
187+
set => SetProperty(ref _enableHoverViewTracking, value);
188+
}
189+
184190
public bool UseGitHubStyleAvatar
185191
{
186192
get => _useGitHubStyleAvatar;
@@ -824,6 +830,7 @@ private bool RemoveInvalidRepositoriesRecursive(List<RepositoryNode> collection)
824830
private int _subjectGuideLength = 50;
825831
private bool _useFixedTabWidth = true;
826832
private bool _useAutoHideScrollBars = true;
833+
private bool _enableHoverViewTracking = true;
827834
private bool _useGitHubStyleAvatar = true;
828835
private bool _showAuthorTimeInGraph = false;
829836
private bool _showChildren = false;

‎src/Views/Histories.axaml.cs‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,12 @@ protected override void OnPointerMoved(PointerEventArgs e)
241241
if (DataContext is not ViewModels.Histories vm)
242242
return;
243243

244+
if (!ViewModels.Preferences.Instance.EnableHoverViewTracking)
245+
{
246+
vm.HoveredCommitIndex = -1;
247+
return;
248+
}
249+
244250
var point = e.GetPosition(this);
245251
var row = (this.InputHitTest(point) as Visual)?.FindAncestorOfType<DataGridRow>();
246252
if (row != null)

‎src/Views/Preferences.axaml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,11 @@
296296
IsChecked="{Binding UseAutoHideScrollBars, Mode=TwoWay}"/>
297297

298298
<CheckBox Grid.Row="8" Grid.Column="1"
299+
Height="32"
300+
Content="{DynamicResource Text.Preferences.Appearance.EnableHoverViewTracking}"
301+
IsChecked="{Binding EnableHoverViewTracking, Mode=TwoWay}"/>
302+
303+
<CheckBox Grid.Row="9" Grid.Column="1"
299304
Height="32"
300305
Content="{DynamicResource Text.Preferences.Appearance.UseNativeWindowFrame}"
301306
IsChecked="{Binding UseSystemWindowFrame, Mode=OneTime}"

0 commit comments

Comments
 (0)