Skip to content

Commit 9f493ab

Browse files
committed
enhance: add context menu for selected log
Signed-off-by: leo <[email protected]>
1 parent 349844c commit 9f493ab

File tree

5 files changed

+40
-16
lines changed

5 files changed

+40
-16
lines changed

src/Resources/Locales/en_US.axaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,8 @@
700700
<x:String x:Key="Text.URL" xml:space="preserve">URL:</x:String>
701701
<x:String x:Key="Text.ViewLogs" xml:space="preserve">Logs</x:String>
702702
<x:String x:Key="Text.ViewLogs.Clear" xml:space="preserve">CLEAR ALL</x:String>
703+
<x:String x:Key="Text.ViewLogs.CopyLog" xml:space="preserve">Copy</x:String>
704+
<x:String x:Key="Text.ViewLogs.Delete" xml:space="preserve">Delete</x:String>
703705
<x:String x:Key="Text.Warn" xml:space="preserve">Warning</x:String>
704706
<x:String x:Key="Text.Welcome" xml:space="preserve">Welcome Page</x:String>
705707
<x:String x:Key="Text.Welcome.AddRootFolder" xml:space="preserve">Create Group</x:String>

src/Resources/Locales/zh_CN.axaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,8 @@
704704
<x:String x:Key="Text.URL" xml:space="preserve">仓库地址 :</x:String>
705705
<x:String x:Key="Text.ViewLogs" xml:space="preserve">日志列表</x:String>
706706
<x:String x:Key="Text.ViewLogs.Clear" xml:space="preserve">清空日志</x:String>
707+
<x:String x:Key="Text.ViewLogs.CopyLog" xml:space="preserve">复制</x:String>
708+
<x:String x:Key="Text.ViewLogs.Delete" xml:space="preserve">删除</x:String>
707709
<x:String x:Key="Text.Warn" xml:space="preserve">警告</x:String>
708710
<x:String x:Key="Text.Welcome" xml:space="preserve">起始页</x:String>
709711
<x:String x:Key="Text.Welcome.AddRootFolder" xml:space="preserve">新建分组</x:String>

src/Resources/Locales/zh_TW.axaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,8 @@
704704
<x:String x:Key="Text.URL" xml:space="preserve">存放庫網址:</x:String>
705705
<x:String x:Key="Text.ViewLogs" xml:space="preserve">日誌清單</x:String>
706706
<x:String x:Key="Text.ViewLogs.Clear" xml:space="preserve">清除所有日誌</x:String>
707+
<x:String x:Key="Text.ViewLogs.CopyLog" xml:space="preserve">複製</x:String>
708+
<x:String x:Key="Text.ViewLogs.Delete" xml:space="preserve">刪除</x:String>
707709
<x:String x:Key="Text.Warn" xml:space="preserve">警告</x:String>
708710
<x:String x:Key="Text.Welcome" xml:space="preserve">起始頁</x:String>
709711
<x:String x:Key="Text.Welcome.AddRootFolder" xml:space="preserve">新增群組</x:String>

src/Views/ViewLogs.axaml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,35 +67,30 @@
6767

6868
<ListBox.ItemTemplate>
6969
<DataTemplate DataType="vm:CommandLog">
70-
<Grid>
70+
<Grid Background="Transparent" ContextRequested="OnLogContextRequested">
7171
<Grid.ColumnDefinitions>
72-
<ColumnDefinition Width="*"/>
7372
<ColumnDefinition Width="Auto"/>
73+
<ColumnDefinition Width="*"/>
7474
<ColumnDefinition Width="Auto" SharedSizeGroup="SearchCommitTimeColumn"/>
75-
<ColumnDefinition Width="28"/>
7675
</Grid.ColumnDefinitions>
77-
<TextBlock Grid.Column="0"
76+
<v:LoadingIcon Grid.Column="0"
77+
Width="14" Height="14"
78+
Margin="4,0,0,0"
79+
IsVisible="{Binding !IsComplete}"/>
80+
81+
<TextBlock Grid.Column="1"
7882
Classes="primary"
79-
Text="{Binding Name}"
8083
Margin="4,0,0,0"
84+
Text="{Binding Name}"
8185
VerticalAlignment="Center"
8286
TextTrimming="CharacterEllipsis"/>
8387

84-
<v:LoadingIcon Grid.Column="1"
85-
Width="14" Height="14"
86-
Margin="2,0,0,0"
87-
IsVisible="{Binding !IsComplete}"/>
88-
8988
<TextBlock Grid.Column="2"
9089
Classes="primary"
9190
Margin="4,0"
9291
Foreground="{DynamicResource Brush.FG2}"
9392
Text="{Binding TimeStr}"
9493
HorizontalAlignment="Right" VerticalAlignment="Center"/>
95-
96-
<Button Grid.Column="3" Classes="icon_button" Click="OnRemoveLog">
97-
<Path Width="14" Height="14" Data="{StaticResource Icons.Clear}"/>
98-
</Button>
9994
</Grid>
10095
</DataTemplate>
10196
</ListBox.ItemTemplate>

src/Views/ViewLogs.axaml.cs

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,33 @@ public ViewLogs()
9797
InitializeComponent();
9898
}
9999

100-
private void OnRemoveLog(object sender, RoutedEventArgs e)
100+
private void OnLogContextRequested(object sender, ContextRequestedEventArgs e)
101101
{
102-
if (sender is Button { DataContext: ViewModels.CommandLog log } && DataContext is ViewModels.ViewLogs vm)
102+
if (sender is not Grid { DataContext: ViewModels.CommandLog log } grid || DataContext is not ViewModels.ViewLogs vm)
103+
return;
104+
105+
var copy = new MenuItem();
106+
copy.Header = App.Text("ViewLogs.CopyLog");
107+
copy.Icon = App.CreateMenuIcon("Icons.Copy");
108+
copy.Click += (_, ev) =>
109+
{
110+
App.CopyText(log.Content);
111+
ev.Handled = true;
112+
};
113+
114+
var rm = new MenuItem();
115+
rm.Header = App.Text("ViewLogs.Delete");
116+
rm.Icon = App.CreateMenuIcon("Icons.Clear");
117+
rm.Click += (_, ev) =>
118+
{
103119
vm.Logs.Remove(log);
120+
ev.Handled = true;
121+
};
122+
123+
var menu = new ContextMenu();
124+
menu.Items.Add(copy);
125+
menu.Items.Add(rm);
126+
menu.Open(grid);
104127

105128
e.Handled = true;
106129
}

0 commit comments

Comments
 (0)