feature: supports to hide AUTHOR/COMMIT TIME column in HISTORY page

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo
2026-02-05 10:42:26 +08:00
parent eac208ca0c
commit a8da481f69
18 changed files with 51 additions and 18 deletions

View File

@@ -27,6 +27,12 @@ namespace SourceGit.Models
set;
} = true;
public bool IsDateTimeColumnVisibleInHistory
{
get;
set;
} = true;
public bool EnableTopoOrderInHistory
{
get;

View File

@@ -475,7 +475,7 @@ $1, $2, … Werte der Eingabe-Steuerelemente</x:String>
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">AUTOR-ZEITPUNKT</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">VERLAUF &amp; COMMIT-NACHRICHT</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">COMMIT-ZEITPUNKT</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">COMMIT-ZEITPUNKT</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">{0} COMMITS AUSGEWÄHLT</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Halte Strg oder Umschalt, um mehrere Commits auszuwählen.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Halte ⌘ oder ⇧, um mehrere Commits auszuwählen</x:String>

View File

@@ -470,9 +470,10 @@
<x:String x:Key="Text.Histories" xml:space="preserve">HISTORY</x:String>
<x:String x:Key="Text.Histories.Header.Author" xml:space="preserve">AUTHOR</x:String>
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">AUTHOR TIME</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">COMMIT TIME</x:String>
<x:String x:Key="Text.Histories.Header.DateTime" xml:space="preserve">DATE TIME</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">GRAPH &amp; SUBJECT</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">COMMIT TIME</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">SELECTED {0} COMMITS</x:String>
<x:String x:Key="Text.Histories.ShowColumns" xml:space="preserve">SHOW COLUMNS</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Hold 'Ctrl' or 'Shift' to select multiple commits.</x:String>

View File

@@ -475,7 +475,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">HORA DEL AUTOR</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">GRÁFICO &amp; ASUNTO</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">FECHA DE COMMIT</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">FECHA DE COMMIT</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">{0} COMMITS SELECCIONADOS</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Mantén 'Ctrl' o 'Shift' para seleccionar múltiples commits.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Mantén ⌘ o ⇧ para seleccionar múltiples commits.</x:String>

View File

@@ -460,7 +460,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">HEURE DE L'AUTEUR</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">GRAPHE &amp; SUJET</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">HEURE DE COMMIT</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">HEURE DE COMMIT</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">{0} COMMITS SÉLECTIONNÉS</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Maintenir 'Ctrl' ou 'Shift' enfoncée pour sélectionner plusieurs commits.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Maintenir ⌘ ou ⇧ enfoncée pour sélectionner plusieurs commits.</x:String>

View File

@@ -440,7 +440,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">WAKTU AUTHOR</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">GRAFIK &amp; SUBJEK</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">WAKTU COMMIT</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">WAKTU COMMIT</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">DIPILIH {0} COMMIT</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Tahan 'Ctrl' atau 'Shift' untuk memilih beberapa commit.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Tahan ⌘ atau ⇧ untuk memilih beberapa commit.</x:String>

View File

@@ -427,7 +427,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">ORA AUTORE</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">GRAFICO E OGGETTO</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">ORA COMMIT</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">ORA COMMIT</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">{0} COMMIT SELEZIONATI</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Tieni premuto 'Ctrl' o 'Shift' per selezionare più commit.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Tieni premuto ⌘ o ⇧ per selezionare più commit.</x:String>

View File

@@ -330,7 +330,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">著者時間</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">グラフ &amp; コミットのタイトル</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">日時</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">日時</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">{0} コミットを選択しました</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">'Ctrl'キーまたは'Shift'キーを押すと、複数のコミットを選択できます。</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">⌘ または ⇧ キーを押して複数のコミットを選択します。</x:String>

View File

@@ -442,7 +442,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">작성 시간</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">그래프 &amp; 제목</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">커밋 시간</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">커밋 시간</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">{0}개 커밋 선택됨</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">'Ctrl' 또는 'Shift' 키를 누른 채로 여러 커밋을 선택하세요.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">⌘ 또는 ⇧ 키를 누른 채로 여러 커밋을 선택하세요.</x:String>

View File

@@ -342,7 +342,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">DATA DO AUTOR</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">GRÁFICO &amp; ASSUNTO</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">HORA DO COMMIT</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">HORA DO COMMIT</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">SELECIONADO {0} COMMITS</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Segure 'Ctrl' ou 'Shift' para selecionar múltiplos commits.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Segure ⌘ ou ⇧ para selecionar múltiplos commits.</x:String>

View File

@@ -476,7 +476,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">ВРЕМЯ АВТОРА</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">ГРАФ И СУБЪЕКТ</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">ВРЕМЯ РЕВИЗИИ</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">ВРЕМЯ РЕВИЗИИ</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">ВЫБРАННЫЕ {0} РЕВИЗИИ</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Удерживайте Ctrl или Shift, чтобы выбрать несколько ревизий.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Удерживайте ⌘ или ⇧, чтобы выбрать несколько ревизий.</x:String>

View File

@@ -330,7 +330,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">ஆசிரியர் நேரம்</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">வரைபடம் &amp; பொருள்</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">பாகொவ</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">உறுதிமொழி நேரம்</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">உறுதிமொழி நேரம்</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">தேர்ந்தெடுக்கப்பட்ட {0} உறுதிமொழிகள்</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">பல உறுதிமொழிகளைத் தேர்ந்தெடுக்க 'கட்டுப்பாடு' அல்லது 'உயர்த்து'ஐ அழுத்திப் பிடி.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">பல உறுதிமொழிகளைத் தேர்ந்தெடுக்க ⌘ அல்லது ⇧ ஐ அழுத்திப் பிடி.</x:String>

View File

@@ -334,7 +334,7 @@
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">ЧАС АВТОРА</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">ГРАФ ТА ТЕМА</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">SHA</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">ЧАС КОМІТУ</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">ЧАС КОМІТУ</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">ВИБРАНО {0} КОМІТІВ</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">Утримуйте 'Ctrl' або 'Shift' для вибору кількох комітів.</x:String>
<x:String x:Key="Text.Histories.Tips.MacOS" xml:space="preserve">Утримуйте ⌘ або ⇧ для вибору кількох комітів.</x:String>

View File

@@ -474,9 +474,10 @@
<x:String x:Key="Text.Histories" xml:space="preserve">历史记录</x:String>
<x:String x:Key="Text.Histories.Header.Author" xml:space="preserve">作者</x:String>
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">修改时间</x:String>
<x:String x:Key="Text.Histories.Header.DateTime" xml:space="preserve">日期时间</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">路线图与主题</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">提交指纹</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">提交时间</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">提交时间</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">已选中 {0} 项提交</x:String>
<x:String x:Key="Text.Histories.ShowColumns" xml:space="preserve">显示列</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">可以按住 Ctrl 或 Shift 键选择多个提交</x:String>

View File

@@ -474,9 +474,10 @@
<x:String x:Key="Text.Histories" xml:space="preserve">歷史記錄</x:String>
<x:String x:Key="Text.Histories.Header.Author" xml:space="preserve">作者</x:String>
<x:String x:Key="Text.Histories.Header.AuthorTime" xml:space="preserve">修改時間</x:String>
<x:String x:Key="Text.Histories.Header.DateTime" xml:space="preserve">日期時間</x:String>
<x:String x:Key="Text.Histories.Header.GraphAndSubject" xml:space="preserve">路線圖與訊息標題</x:String>
<x:String x:Key="Text.Histories.Header.SHA" xml:space="preserve">提交編號</x:String>
<x:String x:Key="Text.Histories.Header.Time" xml:space="preserve">提交時間</x:String>
<x:String x:Key="Text.Histories.Header.CommitTime" xml:space="preserve">提交時間</x:String>
<x:String x:Key="Text.Histories.Selected" xml:space="preserve">已選取 {0} 項提交</x:String>
<x:String x:Key="Text.Histories.ShowColumns" xml:space="preserve">顯示欄位</x:String>
<x:String x:Key="Text.Histories.Tips" xml:space="preserve">可以按住 Ctrl 或 Shift 鍵選擇多個提交</x:String>

View File

@@ -44,6 +44,19 @@ namespace SourceGit.ViewModels
}
}
public bool IsDateTimeColumnVisible
{
get => _repo.UIStates.IsDateTimeColumnVisibleInHistory;
set
{
if (_repo.UIStates.IsDateTimeColumnVisibleInHistory != value)
{
_repo.UIStates.IsDateTimeColumnVisibleInHistory = value;
OnPropertyChanged();
}
}
}
public List<Models.Commit> Commits
{
get => _commits;

View File

@@ -214,12 +214,12 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn MinWidth="160" CanUserResize="False" IsReadOnly="True">
<DataGridTemplateColumn MinWidth="160" CanUserResize="False" IsReadOnly="True" IsVisible="{Binding IsDateTimeColumnVisible, Mode=OneWay}">
<DataGridTemplateColumn.Header>
<Grid HorizontalAlignment="Center">
<TextBlock Classes="table_header"
Margin="6,0,0,0"
Text="{DynamicResource Text.Histories.Header.Time}"
Text="{DynamicResource Text.Histories.Header.CommitTime}"
IsVisible="{Binding Source={x:Static vm:Preferences.Instance}, Path=ShowAuthorTimeInGraph, Converter={x:Static BoolConverters.Not}, Mode=OneWay}"/>
<TextBlock Classes="table_header"
Margin="6,0,0,0"

View File

@@ -8,6 +8,7 @@ using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Media;
using Avalonia.Platform.Storage;
using Avalonia.VisualTree;
@@ -254,7 +255,7 @@ namespace SourceGit.Views
return;
var columnsHeader = new MenuItem();
columnsHeader.Header = App.Text("Histories.ShowColumns");
columnsHeader.Header = new TextBlock() { Text = App.Text("Histories.ShowColumns"), FontWeight = FontWeight.Bold };
columnsHeader.IsEnabled = false;
var authorColumn = new MenuItem();
@@ -277,11 +278,21 @@ namespace SourceGit.Views
ev.Handled = true;
};
var timeColumn = new MenuItem();
timeColumn.Header = App.Text("Histories.Header.DateTime");
if (vm.IsDateTimeColumnVisible)
timeColumn.Icon = App.CreateMenuIcon("Icons.Check");
timeColumn.Click += (_, ev) =>
{
vm.IsDateTimeColumnVisible = !vm.IsDateTimeColumnVisible;
ev.Handled = true;
};
var menu = new ContextMenu();
menu.Items.Add(columnsHeader);
menu.Items.Add(new MenuItem() { Header = "-" });
menu.Items.Add(authorColumn);
menu.Items.Add(shaColumn);
menu.Items.Add(timeColumn);
menu.Open(CommitListContainer);
}