Skip to content

Commit 360596c

Browse files
committed
feature: add Refresh context menu entry to repo tab header
Signed-off-by: leo <longshuang@msn.cn>
1 parent 7b3f87c commit 360596c

File tree

4 files changed

+52
-37
lines changed

4 files changed

+52
-37
lines changed

src/Resources/Locales/en_US.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@
551551
<x:String x:Key="Text.PageTabBar.Tab.CloseOther" xml:space="preserve">Close Other Tabs</x:String>
552552
<x:String x:Key="Text.PageTabBar.Tab.CloseRight" xml:space="preserve">Close Tabs to the Right</x:String>
553553
<x:String x:Key="Text.PageTabBar.Tab.CopyPath" xml:space="preserve">Copy Repository Path</x:String>
554+
<x:String x:Key="Text.PageTabBar.Tab.Refresh" xml:space="preserve">Refresh</x:String>
554555
<x:String x:Key="Text.PageTabBar.Welcome.Title" xml:space="preserve">Repositories</x:String>
555556
<x:String x:Key="Text.Paste" xml:space="preserve">Paste</x:String>
556557
<x:String x:Key="Text.Period.DaysAgo" xml:space="preserve">{0} days ago</x:String>

src/Resources/Locales/zh_CN.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,7 @@
555555
<x:String x:Key="Text.PageTabBar.Tab.CloseOther" xml:space="preserve">关闭其他标签页</x:String>
556556
<x:String x:Key="Text.PageTabBar.Tab.CloseRight" xml:space="preserve">关闭右侧标签页</x:String>
557557
<x:String x:Key="Text.PageTabBar.Tab.CopyPath" xml:space="preserve">复制仓库路径</x:String>
558+
<x:String x:Key="Text.PageTabBar.Tab.Refresh" xml:space="preserve">刷新</x:String>
558559
<x:String x:Key="Text.PageTabBar.Welcome.Title" xml:space="preserve">新标签页</x:String>
559560
<x:String x:Key="Text.Paste" xml:space="preserve">粘贴</x:String>
560561
<x:String x:Key="Text.Period.DaysAgo" xml:space="preserve">{0}天前</x:String>

src/Resources/Locales/zh_TW.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,7 @@
555555
<x:String x:Key="Text.PageTabBar.Tab.CloseOther" xml:space="preserve">關閉其他分頁</x:String>
556556
<x:String x:Key="Text.PageTabBar.Tab.CloseRight" xml:space="preserve">關閉右側分頁</x:String>
557557
<x:String x:Key="Text.PageTabBar.Tab.CopyPath" xml:space="preserve">複製存放庫路徑</x:String>
558+
<x:String x:Key="Text.PageTabBar.Tab.Refresh" xml:space="preserve">刷新</x:String>
558559
<x:String x:Key="Text.PageTabBar.Welcome.Title" xml:space="preserve">新分頁</x:String>
559560
<x:String x:Key="Text.Paste" xml:space="preserve">貼上</x:String>
560561
<x:String x:Key="Text.Period.DaysAgo" xml:space="preserve">{0} 天前</x:String>

src/Views/LauncherTabBar.axaml.cs

Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -287,36 +287,31 @@ private void OnTabContextRequested(object sender, ContextRequestedEventArgs e)
287287
DataContext is ViewModels.Launcher vm)
288288
{
289289
var menu = new ContextMenu();
290-
var close = new MenuItem();
291-
close.Header = App.Text("PageTabBar.Tab.Close");
292-
close.Tag = OperatingSystem.IsMacOS() ? "⌘+W" : "Ctrl+W";
293-
close.Click += (_, ev) =>
294-
{
295-
vm.CloseTab(page);
296-
ev.Handled = true;
297-
};
298-
menu.Items.Add(close);
299290

300-
var closeOthers = new MenuItem();
301-
closeOthers.Header = App.Text("PageTabBar.Tab.CloseOther");
302-
closeOthers.Click += (_, ev) =>
291+
if (vm.ActivePage.Data is ViewModels.Repository repo)
303292
{
304-
vm.CloseOtherTabs();
305-
ev.Handled = true;
306-
};
307-
menu.Items.Add(closeOthers);
293+
var refresh = new MenuItem();
294+
refresh.Header = App.Text("PageTabBar.Tab.Refresh");
295+
refresh.Icon = App.CreateMenuIcon("Icons.Loading");
296+
refresh.Tag = "F5";
297+
refresh.Click += (_, ev) =>
298+
{
299+
repo.RefreshAll();
300+
ev.Handled = true;
301+
};
302+
menu.Items.Add(refresh);
308303

309-
var closeRight = new MenuItem();
310-
closeRight.Header = App.Text("PageTabBar.Tab.CloseRight");
311-
closeRight.Click += (_, ev) =>
312-
{
313-
vm.CloseRightTabs();
314-
ev.Handled = true;
315-
};
316-
menu.Items.Add(closeRight);
304+
var copyPath = new MenuItem();
305+
copyPath.Header = App.Text("PageTabBar.Tab.CopyPath");
306+
copyPath.Icon = App.CreateMenuIcon("Icons.Copy");
307+
copyPath.Click += async (_, ev) =>
308+
{
309+
await page.CopyPathAsync();
310+
ev.Handled = true;
311+
};
312+
menu.Items.Add(copyPath);
313+
menu.Items.Add(new MenuItem() { Header = "-" });
317314

318-
if (page.Node.IsRepository)
319-
{
320315
var bookmark = new MenuItem();
321316
bookmark.Header = App.Text("PageTabBar.Tab.Bookmark");
322317
bookmark.Icon = App.CreateMenuIcon("Icons.Bookmark");
@@ -338,20 +333,37 @@ private void OnTabContextRequested(object sender, ContextRequestedEventArgs e)
338333
};
339334
bookmark.Items.Add(setter);
340335
}
341-
menu.Items.Add(new MenuItem() { Header = "-" });
342336
menu.Items.Add(bookmark);
343-
344-
var copyPath = new MenuItem();
345-
copyPath.Header = App.Text("PageTabBar.Tab.CopyPath");
346-
copyPath.Icon = App.CreateMenuIcon("Icons.Copy");
347-
copyPath.Click += async (_, ev) =>
348-
{
349-
await page.CopyPathAsync();
350-
ev.Handled = true;
351-
};
352337
menu.Items.Add(new MenuItem() { Header = "-" });
353-
menu.Items.Add(copyPath);
354338
}
339+
340+
var close = new MenuItem();
341+
close.Header = App.Text("PageTabBar.Tab.Close");
342+
close.Tag = OperatingSystem.IsMacOS() ? "⌘+W" : "Ctrl+W";
343+
close.Click += (_, ev) =>
344+
{
345+
vm.CloseTab(page);
346+
ev.Handled = true;
347+
};
348+
menu.Items.Add(close);
349+
350+
var closeOthers = new MenuItem();
351+
closeOthers.Header = App.Text("PageTabBar.Tab.CloseOther");
352+
closeOthers.Click += (_, ev) =>
353+
{
354+
vm.CloseOtherTabs();
355+
ev.Handled = true;
356+
};
357+
menu.Items.Add(closeOthers);
358+
359+
var closeRight = new MenuItem();
360+
closeRight.Header = App.Text("PageTabBar.Tab.CloseRight");
361+
closeRight.Click += (_, ev) =>
362+
{
363+
vm.CloseRightTabs();
364+
ev.Handled = true;
365+
};
366+
menu.Items.Add(closeRight);
355367
menu.Open(border);
356368
}
357369

0 commit comments

Comments
 (0)