From ae02e1025e7e052b91828c45acd58afe54170b3d Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 4 Mar 2024 10:25:19 +0800 Subject: [PATCH 0001/2652] style: margins for toolbar buttons --- src/Views/Launcher.axaml | 2 +- src/Views/Repository.axaml | 4 ++-- src/Views/Welcome.axaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Views/Launcher.axaml b/src/Views/Launcher.axaml index 066ee207..3aee0759 100644 --- a/src/Views/Launcher.axaml +++ b/src/Views/Launcher.axaml @@ -37,7 +37,7 @@ @@ -69,7 +69,7 @@ - + - + From ad9cf615ab9872c2b1f40ba1891767ddd66d4d58 Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 4 Mar 2024 17:34:46 +0800 Subject: [PATCH 0002/2652] style: change layout of Statistics --- src/Views/Statistics.axaml | 8 ++++---- src/Views/Statistics.axaml.cs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Views/Statistics.axaml b/src/Views/Statistics.axaml index ac0c84e8..26142545 100644 --- a/src/Views/Statistics.axaml +++ b/src/Views/Statistics.axaml @@ -54,7 +54,7 @@ - + - + @@ -164,7 +164,7 @@ - Date: Mon, 4 Mar 2024 20:50:10 +0800 Subject: [PATCH 0003/2652] optimize: only redraw chart when mouse hovered on a new sample box --- src/Views/Statistics.axaml.cs | 65 +++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 22 deletions(-) diff --git a/src/Views/Statistics.axaml.cs b/src/Views/Statistics.axaml.cs index a5715d82..22aa03f9 100644 --- a/src/Views/Statistics.axaml.cs +++ b/src/Views/Statistics.axaml.cs @@ -42,7 +42,11 @@ namespace SourceGit.Views { } static Chart() { - AffectsRender(SamplesProperty); + SamplesProperty.Changed.AddClassHandler((c, e) => { + c._hitBoxes.Clear(); + c._lastHitIdx = -1; + c.InvalidateVisual(); + }); } public override void Render(DrawingContext context) { @@ -75,6 +79,9 @@ namespace SourceGit.Views { var width = Bounds.Width; var height = Bounds.Height; + // Transparent background to block mouse move events. + context.DrawRectangle(Brushes.Transparent, null, new Rect(0, 0, Bounds.Width, Bounds.Height)); + // Draw coordinate var maxLabel = new FormattedText($"{maxV}", CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typeface, 12.0, LineBrush); var horizonStart = maxLabel.Width + 8; @@ -108,13 +115,14 @@ namespace SourceGit.Views { } // Calculate hit boxes - var shapeWidth = Math.Min(32, stepX - 4); - var hitboxes = new List(); - for (int i = 0; i < samples.Count; i++) { - var h = samples[i].Count * (height - labelHeight) / maxV; - var x = horizonStart + 1 + stepX * i + (stepX - shapeWidth) * 0.5; - var y = height - labelHeight - h; - hitboxes.Add(new Rect(x, y, shapeWidth, h)); + if (_hitBoxes.Count == 0) { + var shapeWidth = Math.Min(32, stepX - 4); + for (int i = 0; i < samples.Count; i++) { + var h = samples[i].Count * (height - labelHeight) / maxV; + var x = horizonStart + 1 + stepX * i + (stepX - shapeWidth) * 0.5; + var y = height - labelHeight - h; + _hitBoxes.Add(new Rect(x, y, shapeWidth, h - 1)); + } } // Draw shapes @@ -126,7 +134,7 @@ namespace SourceGit.Views { typeface, 10.0, LineBrush); - var rect = hitboxes[i]; + var rect = _hitBoxes[i]; var xLabel = rect.X - (hLabel.Width - rect.Width) * 0.5; var yLabel = height - labelHeight + 4; @@ -145,32 +153,45 @@ namespace SourceGit.Views { } // Draw labels on hover - for (int i = 0; i < samples.Count; i++) { - var rect = hitboxes[i]; - if (rect.Contains(_mousePos)) { - var tooltip = new FormattedText( - $"{samples[i].Count}", + if (_lastHitIdx >= 0 && _lastHitIdx < samples.Count) { + var rect = _hitBoxes[_lastHitIdx]; + var tooltip = new FormattedText( + $"{samples[_lastHitIdx].Count}", CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typeface, 12.0, LineBrush); - var tx = rect.X - (tooltip.Width - rect.Width) * 0.5; - var ty = rect.Y - tooltip.Height - 4; - context.DrawText(tooltip, new Point(tx, ty)); - break; - } + var tx = rect.X - (tooltip.Width - rect.Width) * 0.5; + var ty = rect.Y - tooltip.Height - 4; + context.DrawText(tooltip, new Point(tx, ty)); } } protected override void OnPointerMoved(PointerEventArgs e) { base.OnPointerMoved(e); - _mousePos = e.GetPosition(this); - InvalidateVisual(); + + var p = e.GetPosition(this); + for (int i = 0; i < _hitBoxes.Count; i++) { + if (_hitBoxes[i].Contains(p)) { + if (_lastHitIdx != i) { + _lastHitIdx = i; + InvalidateVisual(); + } + + return; + } + } + + if (_lastHitIdx != -1) { + _lastHitIdx = -1; + InvalidateVisual(); + } } - private Point _mousePos = new Point(0, 0); + private List _hitBoxes = new List(); + private int _lastHitIdx = -1; } public partial class Statistics : Window { From 01ddd07de55df943461a1944c644ae53aeb43e77 Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 4 Mar 2024 21:23:17 +0800 Subject: [PATCH 0004/2652] style<*>: set Background of all widgets used to display content of file to Brush.Contents for --- src/Views/Blame.axaml | 3 ++- src/Views/RevisionFiles.axaml | 2 +- src/Views/TextDiffView.axaml | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Views/Blame.axaml b/src/Views/Blame.axaml index aa8232f9..1c9ff66f 100644 --- a/src/Views/Blame.axaml +++ b/src/Views/Blame.axaml @@ -27,7 +27,7 @@ - + @@ -55,6 +55,7 @@ VerticalScrollBarVisibility="Auto" BorderBrush="{DynamicResource Brush.Border2}" BorderThickness="0" + Background="{DynamicResource Brush.Contents}" Foreground="{DynamicResource Brush.FG1}" FontFamily="{StaticResource JetBrainsMono}" FontSize="12" diff --git a/src/Views/RevisionFiles.axaml b/src/Views/RevisionFiles.axaml index 858e3ba6..e32f6a98 100644 --- a/src/Views/RevisionFiles.axaml +++ b/src/Views/RevisionFiles.axaml @@ -89,7 +89,7 @@ - + diff --git a/src/Views/TextDiffView.axaml b/src/Views/TextDiffView.axaml index 4321137a..d4d92ccd 100644 --- a/src/Views/TextDiffView.axaml +++ b/src/Views/TextDiffView.axaml @@ -7,7 +7,8 @@ xmlns:v="using:SourceGit.Views" xmlns:c="using:SourceGit.Converters" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" - x:Class="SourceGit.Views.TextDiffView"> + x:Class="SourceGit.Views.TextDiffView" + Background="{DynamicResource Brush.Contents}"> Date: Sun, 3 Mar 2024 21:11:25 +0000 Subject: [PATCH 0005/2652] Added CI build --- .github/workflows/ci.yml | 37 ++++++++++++++++++++++++++++++ src/SourceGit.sln => SourceGit.sln | 17 ++++++-------- 2 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/ci.yml rename src/SourceGit.sln => SourceGit.sln (50%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..60a69a26 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,37 @@ +name: Continuous Integration +on: + push: + branches: + - main + - 'feature/**' + pull_request: + branches: [main] +jobs: + build: + name: Build + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + platform: linux-x64 + - os: windows-latest + platform: win-x64 + - os: macos-latest + platform: osx-x64 + - os: macos-latest + platform: osx-arm64 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout sources + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + - name: Build + run: dotnet build -c Release + - name: Publish + run: dotnet publish -c Release -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained diff --git a/src/SourceGit.sln b/SourceGit.sln similarity index 50% rename from src/SourceGit.sln rename to SourceGit.sln index 13ea93f0..166f3046 100644 --- a/src/SourceGit.sln +++ b/SourceGit.sln @@ -1,25 +1,22 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.8.34408.163 +VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SourceGit", "SourceGit.csproj", "{89AD3F88-E72C-4399-AD61-6A87FC424E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGit", "src\SourceGit.csproj", "{CD98D9AA-079A-4A79-9212-850EB97CF2ED}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {89AD3F88-E72C-4399-AD61-6A87FC424E7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {89AD3F88-E72C-4399-AD61-6A87FC424E7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {89AD3F88-E72C-4399-AD61-6A87FC424E7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {89AD3F88-E72C-4399-AD61-6A87FC424E7B}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {DA70C1D9-A8D2-4C89-98F3-B263CCBC5F28} + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD98D9AA-079A-4A79-9212-850EB97CF2ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CD98D9AA-079A-4A79-9212-850EB97CF2ED}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CD98D9AA-079A-4A79-9212-850EB97CF2ED}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD98D9AA-079A-4A79-9212-850EB97CF2ED}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal From 0a2b1aa51de98956af801ba273f8ea20bb61f9fb Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Sun, 3 Mar 2024 21:22:26 +0000 Subject: [PATCH 0006/2652] Uploading artifacts --- .github/workflows/ci.yml | 7 ++++++- .gitignore | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60a69a26..74ae86d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,4 +34,9 @@ jobs: - name: Build run: dotnet build -c Release - name: Publish - run: dotnet publish -c Release -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained + run: dotnet publish -c Release -o publish -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.platform }} + path: publish \ No newline at end of file diff --git a/.gitignore b/.gitignore index d9b7b781..1bebd70e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ build obj *.user .DS_Store +publish From 950c7602de34c0717aeac0a661e5d53b5788a99d Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Sun, 3 Mar 2024 21:28:48 +0000 Subject: [PATCH 0007/2652] Removing warning --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74ae86d1..7b6f8c6b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - name: Build run: dotnet build -c Release - name: Publish - run: dotnet publish -c Release -o publish -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained + run: dotnet publish src/SourceGit.csproj -c Release -o publish -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained - name: Upload Artifact uses: actions/upload-artifact@v4 with: From b309c1c3463233a483088103de5f4708d13db650 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 5 Mar 2024 09:37:53 +0800 Subject: [PATCH 0008/2652] update: add thanks to new contributors --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7ca23b6a..4ab241e4 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ For **macOS** users: ## Thanks +* [gigi81](https://github.com/gigi81) Github actions integration +* [kekekeks](https://github.com/kekekeks) Way to stage/unstage/discard selected changes in a file. * [XiaoLinger](https://gitee.com/LingerNN) Hotkey: `CTRL + Enter` to commit * [carterl](https://gitee.com/carterl) Supports Windows Terminal; Rewrite way to find git executable * [PUMA](https://gitee.com/whgfu) Configure for default user From acb74a4b95c11db8cbd5ac0cfce18f4bd9324fe6 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 5 Mar 2024 10:46:08 +0800 Subject: [PATCH 0009/2652] feature: hotkeys enhancement. see issue #19 --- src/Resources/Icons.axaml | 1 + src/Resources/Locales/en_US.axaml | 13 +++++ src/Resources/Locales/zh_CN.axaml | 13 +++++ src/Views/Hotkeys.axaml | 92 +++++++++++++++++++++++++++++++ src/Views/Hotkeys.axaml.cs | 14 +++++ src/Views/Launcher.axaml | 9 +++ src/Views/Launcher.axaml.cs | 26 ++++++++- src/Views/Repository.axaml.cs | 12 ---- 8 files changed, 167 insertions(+), 13 deletions(-) create mode 100644 src/Views/Hotkeys.axaml create mode 100644 src/Views/Hotkeys.axaml.cs diff --git a/src/Resources/Icons.axaml b/src/Resources/Icons.axaml index 5b652d8a..27e9520d 100644 --- a/src/Resources/Icons.axaml +++ b/src/Resources/Icons.axaml @@ -83,4 +83,5 @@ M469 235V107h85v128h-85zm-162-94 85 85-60 60-85-85 60-60zm469 60-85 85-60-60 85-85 60 60zm-549 183A85 85 0 01302 341H722a85 85 0 0174 42l131 225A85 85 0 01939 652V832a85 85 0 01-85 85H171a85 85 0 01-85-85v-180a85 85 0 0112-43l131-225zM722 427H302l-100 171h255l10 29a59 59 0 002 5c2 4 5 9 9 14 8 9 18 17 34 17 16 0 26-7 34-17a72 72 0 0011-18l0-0 10-29h255l-100-171zM853 683H624a155 155 0 01-12 17C593 722 560 747 512 747c-48 0-81-25-99-47a155 155 0 01-12-17H171v149h683v-149z M719 85 388 417l-209-165L87 299v427l92 47 210-164L720 939 939 850V171zM186 610V412l104 104zm526 55L514 512l198-153z M296 912H120c-4.4 0-8-3.6-8-8V520c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v384c0 4.4-3.6 8-8 8zM600 912H424c-4.4 0-8-3.6-8-8V121c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v783c0 4.4-3.6 8-8 8zM904 912H728c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v624c0 4.4-3.6 8-8 8z + M512 0C229.216 0 0 229.216 0 512c0 282.752 229.216 512 512 512s512-229.248 512-512c0-282.784-229.216-512-512-512z m0 957.92C266.112 957.92 66.08 757.888 66.08 512S266.112 66.08 512 66.08 957.92 266.112 957.92 512 757.888 957.92 512 957.92zM192 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM384 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM576 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM832 320h-64a32 32 0 0 0-32 32v128h-160a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-192a32 32 0 0 0-32-32zM320 544v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h96a32 32 0 0 0 32-32zM384 576h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM800 640H256a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h544a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32z diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index 9d068e94..193b5094 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -470,6 +470,19 @@ COMMITTER COMMITS + HotKeys + GLOBAL + Create new page + Close current page + Go to next page + Cancel current popup + REPOSITORY + Switch to 'Histories' + Switch to 'Changes' + Switch to 'Stashes' + Toggle commit search + Stage/Unstage selected changes + Git has NOT been configured. Please to go [Preference] and configure it first. BINARY FILE NOT SUPPORTED!!! BLAME ON THIS FILE IS NOT SUPPORTED!!! diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml index 3deb6206..a3d0201d 100644 --- a/src/Resources/Locales/zh_CN.axaml +++ b/src/Resources/Locales/zh_CN.axaml @@ -469,6 +469,19 @@ 提交者 提交次数 + 快捷键 + 全局快捷键 + 新建页面 + 关闭当前页面 + 切换到下一个页面 + 取消弹出面板 + 仓库页面快捷键 + 显示历史记录 + 显示本地更改 + 显示贮藏列表 + 打开/关闭历史搜索 + 将选中的变更暂存或从暂存列表中移除 + GIT尚未配置。请打开【偏好设置】配置GIT路径。 二进制文件不支持该操作!!! 选中文件不支持该操作!!! diff --git a/src/Views/Hotkeys.axaml b/src/Views/Hotkeys.axaml new file mode 100644 index 00000000..a34bf163 --- /dev/null +++ b/src/Views/Hotkeys.axaml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Views/Hotkeys.axaml.cs b/src/Views/Hotkeys.axaml.cs new file mode 100644 index 00000000..5a68b6c2 --- /dev/null +++ b/src/Views/Hotkeys.axaml.cs @@ -0,0 +1,14 @@ +using Avalonia.Controls; +using Avalonia.Interactivity; + +namespace SourceGit.Views { + public partial class Hotkeys : Window { + public Hotkeys() { + InitializeComponent(); + } + + private void CloseWindow(object sender, RoutedEventArgs e) { + Close(); + } + } +} diff --git a/src/Views/Launcher.axaml b/src/Views/Launcher.axaml index 3aee0759..d9ea85ac 100644 --- a/src/Views/Launcher.axaml +++ b/src/Views/Launcher.axaml @@ -47,6 +47,11 @@ + + + + + @@ -212,6 +217,10 @@ + + diff --git a/src/Views/Launcher.axaml.cs b/src/Views/Launcher.axaml.cs index c77e051a..491434ad 100644 --- a/src/Views/Launcher.axaml.cs +++ b/src/Views/Launcher.axaml.cs @@ -82,7 +82,25 @@ namespace SourceGit.Views { vm.GotoNextTab(); e.Handled = true; return; - } + } else if (vm.ActivePage.Data is ViewModels.Repository repo) { + if (e.Key == Key.D1 || e.Key == Key.NumPad1) { + repo.SelectedViewIndex = 0; + e.Handled = true; + return; + } else if (e.Key == Key.D2 || e.Key == Key.NumPad2) { + repo.SelectedViewIndex = 1; + e.Handled = true; + return; + } else if (e.Key == Key.D3 || e.Key == Key.NumPad3) { + repo.SelectedViewIndex = 2; + e.Handled = true; + return; + } else if (e.Key == Key.F) { + repo.IsSearching = !repo.IsSearching; + e.Handled = true; + return; + } + } } else if (e.Key == Key.Escape) { vm.ActivePage.CancelPopup(); e.Handled = true; @@ -213,6 +231,12 @@ namespace SourceGit.Views { e.Handled = true; } + private async void OpenHotkeys(object sender, RoutedEventArgs e) { + var dialog = new Hotkeys(); + await dialog.ShowDialog(this); + e.Handled = true; + } + private async void OpenAboutDialog(object sender, RoutedEventArgs e) { var dialog = new About(); await dialog.ShowDialog(this); diff --git a/src/Views/Repository.axaml.cs b/src/Views/Repository.axaml.cs index 536a1da9..08ff6a94 100644 --- a/src/Views/Repository.axaml.cs +++ b/src/Views/Repository.axaml.cs @@ -45,18 +45,6 @@ namespace SourceGit.Views { InitializeComponent(); } - protected override void OnKeyDown(KeyEventArgs e) { - if (e.Key == Key.F && e.KeyModifiers == KeyModifiers.Control) { - if (DataContext is ViewModels.Repository repo) { - repo.IsSearching = true; - e.Handled = true; - return; - } - } - - base.OnKeyDown(e); - } - private void OnLocalBranchTreeLostFocus(object sender, RoutedEventArgs e) { if (sender is TreeView tree) tree.UnselectAll(); } From 636096c713568b251dfdced4a8987abcd375e5e5 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 5 Mar 2024 12:07:15 +0800 Subject: [PATCH 0010/2652] ci: main branch name in this repository is 'master'; add 'workflow_dispatch' event to enable trigger it manually --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b6f8c6b..c64864f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,10 +2,10 @@ name: Continuous Integration on: push: branches: - - main - - 'feature/**' + - master pull_request: - branches: [main] + branches: [master] + workflow_dispatch: jobs: build: name: Build From f834af10a284b632307bb7292ef01a1a5575a527 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 5 Mar 2024 15:53:38 +0800 Subject: [PATCH 0011/2652] refactor: change the way loading custom fonts --- src/App.axaml | 1 - src/App.axaml.cs | 9 +++++++++ src/Resources/Fonts.axaml | 6 ------ src/Resources/Styles.axaml | 10 ++------- src/Views/Archive.axaml | 2 +- src/Views/Avatar.cs | 11 +--------- src/Views/Blame.axaml | 2 +- src/Views/ChangeStatusIcon.cs | 12 ++--------- src/Views/CherryPick.axaml | 2 +- src/Views/CommitBaseInfo.axaml | 23 +++++++-------------- src/Views/CommitChanges.axaml | 14 ++++++------- src/Views/CommitDetail.axaml | 4 ++-- src/Views/CreateBranch.axaml | 2 +- src/Views/CreateTag.axaml | 2 +- src/Views/DiffView.axaml | 36 ++++++++++++++++----------------- src/Views/FileHistories.axaml | 14 +++++-------- src/Views/Histories.axaml | 17 ++++++++-------- src/Views/Hotkeys.axaml | 18 ++++++++--------- src/Views/Launcher.axaml | 4 ++-- src/Views/Rebase.axaml | 2 +- src/Views/Repository.axaml | 9 ++++----- src/Views/Revert.axaml | 2 +- src/Views/RevisionCompare.axaml | 36 ++++++++++++++++----------------- src/Views/RevisionFiles.axaml | 6 +++--- src/Views/StashesPage.axaml | 10 ++++----- src/Views/Statistics.axaml | 1 - src/Views/Statistics.axaml.cs | 10 +-------- src/Views/TextDiffView.axaml | 6 +++--- src/Views/TextDiffView.axaml.cs | 16 +++++++-------- src/Views/Welcome.axaml | 4 ++-- src/Views/WorkingCopy.axaml | 28 ++++++++++++------------- 31 files changed, 136 insertions(+), 183 deletions(-) delete mode 100644 src/Resources/Fonts.axaml diff --git a/src/App.axaml b/src/App.axaml index b9124294..83cbf2cb 100644 --- a/src/App.axaml +++ b/src/App.axaml @@ -6,7 +6,6 @@ - diff --git a/src/App.axaml.cs b/src/App.axaml.cs index 96276fb9..98425fc3 100644 --- a/src/App.axaml.cs +++ b/src/App.axaml.cs @@ -4,6 +4,7 @@ using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Data.Core.Plugins; using Avalonia.Markup.Xaml; using Avalonia.Media; +using Avalonia.Media.Fonts; using Avalonia.Styling; using System; using System.IO; @@ -41,15 +42,23 @@ namespace SourceGit { public static AppBuilder BuildAvaloniaApp() { var builder = AppBuilder.Configure(); builder.UsePlatformDetect(); + builder.ConfigureFonts(manager => { + var monospace = new EmbeddedFontCollection( + new Uri("fonts:SourceGit", UriKind.Absolute), + new Uri("avares://SourceGit/Resources/Fonts", UriKind.Absolute)); + manager.AddFontCollection(monospace); + }); if (OperatingSystem.IsWindows()) { builder.With(new FontManagerOptions() { + DefaultFamilyName = "Microsoft YaHei UI", FontFallbacks = [ new FontFallback { FontFamily = new FontFamily("Microsoft YaHei UI") } ] }); } else if (OperatingSystem.IsMacOS()) { builder.With(new FontManagerOptions() { + DefaultFamilyName = "PingFang SC", FontFallbacks = [ new FontFallback { FontFamily = new FontFamily("PingFang SC") } ] diff --git a/src/Resources/Fonts.axaml b/src/Resources/Fonts.axaml deleted file mode 100644 index 29681db5..00000000 --- a/src/Resources/Fonts.axaml +++ /dev/null @@ -1,6 +0,0 @@ - - avares://SourceGit/Resources/Fonts/JetBrainsMono-Regular.ttf#JetBrains Mono - avares://SourceGit/Resources/Fonts/JetBrainsMono-Bold.ttf#JetBrains Mono - avares://SourceGit/Resources/Fonts/JetBrainsMono-Italic.ttf#JetBrains Mono - diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml index c5ed0ebf..2ce2628b 100644 --- a/src/Resources/Styles.axaml +++ b/src/Resources/Styles.axaml @@ -68,13 +68,7 @@ - - - + - + + @@ -208,6 +213,12 @@ ScrollViewer.VerticalScrollBarVisibility="Auto" LostFocus="OnRemoteBranchTreeLostFocus" SelectionChanged="OnRemoteBranchTreeSelectionChanged"> + + + + From b82c0e2ebdb9a876eaf197ddae9d11bf4e258145 Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 11 Mar 2024 09:26:11 +0800 Subject: [PATCH 0035/2652] version: Release 8.3 --- src/App.plist | 4 ++-- src/SourceGit.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/App.plist b/src/App.plist index 0ae0faa5..4118194c 100644 --- a/src/App.plist +++ b/src/App.plist @@ -9,7 +9,7 @@ CFBundleName SourceGit CFBundleVersion - 8.2.0 + 8.3.0 LSMinimumSystemVersion 10.12 CFBundleExecutable @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 8.2 + 8.3 NSHighResolutionCapable diff --git a/src/SourceGit.csproj b/src/SourceGit.csproj index 65138026..8593399d 100644 --- a/src/SourceGit.csproj +++ b/src/SourceGit.csproj @@ -5,7 +5,7 @@ true App.manifest App.ico - 8.2 + 8.3 false true true From 76505fb582a2a95930c1bcf2d78d6a35883f1d1f Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 11 Mar 2024 18:29:42 +0800 Subject: [PATCH 0036/2652] style: new text editor search panel style --- src/Resources/Styles.axaml | 179 +++++++++++++++++++++++++++++++++++-- src/Views/Launcher.axaml | 4 + 2 files changed, 176 insertions(+), 7 deletions(-) diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml index 4332405c..7c103879 100644 --- a/src/Resources/Styles.axaml +++ b/src/Resources/Styles.axaml @@ -1,16 +1,12 @@ + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:ae="using:AvaloniaEdit" + xmlns:aes="using:AvaloniaEdit.Search"> - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ViewModels/Preference.cs b/src/ViewModels/Preference.cs index 3d7d94e6..0ecd7e79 100644 --- a/src/ViewModels/Preference.cs +++ b/src/ViewModels/Preference.cs @@ -1,372 +1,372 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text.Json; -using System.Text.Json.Serialization; - -using Avalonia.Collections; - -using CommunityToolkit.Mvvm.ComponentModel; - -namespace SourceGit.ViewModels -{ - public class Preference : ObservableObject - { - [JsonIgnore] - public static Preference Instance - { - get - { - if (_instance == null) - { - if (!File.Exists(_savePath)) - { - _instance = new Preference(); - } - else - { - try - { - _instance = JsonSerializer.Deserialize(File.ReadAllText(_savePath), JsonSerializationCodeGen.Default.Preference); - } - catch - { - _instance = new Preference(); - } - } - } - - _instance.Repositories.RemoveAll(x => !Directory.Exists(x.FullPath)); - - if (!_instance.IsGitConfigured) - { - _instance.GitInstallPath = Native.OS.FindGitExecutable(); - } - - return _instance; - } - } - - public string Locale - { - get => _locale; - set - { - if (SetProperty(ref _locale, value)) - { - App.SetLocale(value); - } - } - } - - public string Theme - { - get => _theme; - set - { - if (SetProperty(ref _theme, value)) - { - App.SetTheme(value); - } - } - } - - public string AvatarServer - { - get => Models.AvatarManager.SelectedServer; - set - { - if (Models.AvatarManager.SelectedServer != value) - { - Models.AvatarManager.SelectedServer = value; - OnPropertyChanged(nameof(AvatarServer)); - } - } - } - - public int MaxHistoryCommits - { - get => _maxHistoryCommits; - set => SetProperty(ref _maxHistoryCommits, value); - } - - public bool RestoreTabs - { - get => _restoreTabs; - set => SetProperty(ref _restoreTabs, value); - } - - public bool UseFixedTabWidth - { - get => _useFixedTabWidth; - set => SetProperty(ref _useFixedTabWidth, value); - } - - public bool UseTwoColumnsLayoutInHistories - { - get => _useTwoColumnsLayoutInHistories; - set => SetProperty(ref _useTwoColumnsLayoutInHistories, value); - } - - public bool UseCombinedTextDiff - { - get => _useCombinedTextDiff; - set => SetProperty(ref _useCombinedTextDiff, value); - } - - public Models.ChangeViewMode UnstagedChangeViewMode - { - get => _unstagedChangeViewMode; - set => SetProperty(ref _unstagedChangeViewMode, value); - } - - public Models.ChangeViewMode StagedChangeViewMode - { - get => _stagedChangeViewMode; - set => SetProperty(ref _stagedChangeViewMode, value); - } - - public Models.ChangeViewMode CommitChangeViewMode - { - get => _commitChangeViewMode; - set => SetProperty(ref _commitChangeViewMode, value); - } - - [JsonIgnore] - public bool IsGitConfigured - { - get => !string.IsNullOrEmpty(GitInstallPath) && File.Exists(GitInstallPath); - } - - public string GitInstallPath - { - get => Native.OS.GitInstallPath; - set - { - if (Native.OS.GitInstallPath != value) - { - Native.OS.GitInstallPath = value; - OnPropertyChanged(nameof(GitInstallPath)); - } - } - } - - public string GitDefaultCloneDir - { - get => _gitDefaultCloneDir; - set => SetProperty(ref _gitDefaultCloneDir, value); - } - - public bool GitAutoFetch - { - get => Commands.AutoFetch.IsEnabled; - set - { - if (Commands.AutoFetch.IsEnabled != value) - { - Commands.AutoFetch.IsEnabled = value; - OnPropertyChanged(nameof(GitAutoFetch)); - } - } - } - - public int ExternalMergeToolType - { - get => _externalMergeToolType; - set - { - var changed = SetProperty(ref _externalMergeToolType, value); - if (changed && !OperatingSystem.IsWindows() && value > 0 && value < Models.ExternalMergeTools.Supported.Count) - { - var tool = Models.ExternalMergeTools.Supported[value]; - if (File.Exists(tool.Exec)) ExternalMergeToolPath = tool.Exec; - else ExternalMergeToolPath = string.Empty; - } - } - } - - public string ExternalMergeToolPath - { - get => _externalMergeToolPath; - set => SetProperty(ref _externalMergeToolPath, value); - } - - public string ExternalMergeToolCmd - { - get => _externalMergeToolCmd; - set => SetProperty(ref _externalMergeToolCmd, value); - } - - public string ExternalMergeToolDiffCmd - { - get => _externalMergeToolDiffCmd; - set => SetProperty(ref _externalMergeToolDiffCmd, value); - } - - public List Repositories - { - get; - set; - } = new List(); - - public AvaloniaList RepositoryNodes - { - get => _repositoryNodes; - set => SetProperty(ref _repositoryNodes, value); - } - - public List OpenedTabs - { - get; - set; - } = new List(); - - public int LastActiveTabIdx - { - get; - set; - } = 0; - - public static void AddNode(RepositoryNode node, RepositoryNode to = null) - { - var collection = to == null ? _instance._repositoryNodes : to.SubNodes; - var list = new List(); - list.AddRange(collection); - list.Add(node); - list.Sort((l, r) => - { - if (l.IsRepository != r.IsRepository) - { - return l.IsRepository ? 1 : -1; - } - else - { - return l.Name.CompareTo(r.Name); - } - }); - - collection.Clear(); - foreach (var one in list) - { - collection.Add(one); - } - } - - public static RepositoryNode FindNode(string id) - { - return FindNodeRecursive(id, _instance.RepositoryNodes); - } - - public static void MoveNode(RepositoryNode node, RepositoryNode to = null) - { - if (to == null && _instance._repositoryNodes.Contains(node)) return; - if (to != null && to.SubNodes.Contains(node)) return; - - RemoveNode(node); - AddNode(node, to); - } - - public static void RemoveNode(RepositoryNode node) - { - RemoveNodeRecursive(node, _instance._repositoryNodes); - } - - public static Repository FindRepository(string path) - { - foreach (var repo in _instance.Repositories) - { - if (repo.FullPath == path) return repo; - } - return null; - } - - public static Repository AddRepository(string rootDir, string gitDir) - { - var normalized = rootDir.Replace('\\', '/'); - var repo = FindRepository(normalized); - if (repo != null) - { - repo.GitDir = gitDir; - return repo; - } - - repo = new Repository() - { - FullPath = normalized, - GitDir = gitDir - }; - - _instance.Repositories.Add(repo); - return repo; - } - - public static void Save() - { - var dir = Path.GetDirectoryName(_savePath); - if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); - - var data = JsonSerializer.Serialize(_instance, JsonSerializationCodeGen.Default.Preference); - File.WriteAllText(_savePath, data); - } - - private static RepositoryNode FindNodeRecursive(string id, AvaloniaList collection) - { - foreach (var node in collection) - { - if (node.Id == id) return node; - - var sub = FindNodeRecursive(id, node.SubNodes); - if (sub != null) return sub; - } - - return null; - } - - private static bool RemoveNodeRecursive(RepositoryNode node, AvaloniaList collection) - { - if (collection.Contains(node)) - { - collection.Remove(node); - return true; - } - - foreach (RepositoryNode one in collection) - { - if (RemoveNodeRecursive(node, one.SubNodes)) return true; - } - - return false; - } - - private static Preference _instance = null; - private static readonly string _savePath = Path.Combine( - Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), - "SourceGit", - "preference.json"); - - private string _locale = "en_US"; - private string _theme = "Default"; - private int _maxHistoryCommits = 20000; - private bool _restoreTabs = false; - private bool _useFixedTabWidth = true; - private bool _useTwoColumnsLayoutInHistories = false; - private bool _useCombinedTextDiff = true; - - private Models.ChangeViewMode _unstagedChangeViewMode = Models.ChangeViewMode.List; - private Models.ChangeViewMode _stagedChangeViewMode = Models.ChangeViewMode.List; - private Models.ChangeViewMode _commitChangeViewMode = Models.ChangeViewMode.List; - - private string _gitDefaultCloneDir = string.Empty; - - private int _externalMergeToolType = 0; - private string _externalMergeToolPath = string.Empty; - private string _externalMergeToolCmd = string.Empty; - private string _externalMergeToolDiffCmd = string.Empty; - - private AvaloniaList _repositoryNodes = new AvaloniaList(); - } - - [JsonSourceGenerationOptions(WriteIndented = true, IgnoreReadOnlyFields = true, IgnoreReadOnlyProperties = true)] - [JsonSerializable(typeof(Preference))] - internal partial class JsonSerializationCodeGen : JsonSerializerContext { } +using System; +using System.Collections.Generic; +using System.IO; +using System.Text.Json; +using System.Text.Json.Serialization; + +using Avalonia.Collections; + +using CommunityToolkit.Mvvm.ComponentModel; + +namespace SourceGit.ViewModels +{ + public class Preference : ObservableObject + { + [JsonIgnore] + public static Preference Instance + { + get + { + if (_instance == null) + { + if (!File.Exists(_savePath)) + { + _instance = new Preference(); + } + else + { + try + { + _instance = JsonSerializer.Deserialize(File.ReadAllText(_savePath), JsonSerializationCodeGen.Default.Preference); + } + catch + { + _instance = new Preference(); + } + } + } + + _instance.Repositories.RemoveAll(x => !Directory.Exists(x.FullPath)); + + if (!_instance.IsGitConfigured) + { + _instance.GitInstallPath = Native.OS.FindGitExecutable(); + } + + return _instance; + } + } + + public string Locale + { + get => _locale; + set + { + if (SetProperty(ref _locale, value)) + { + App.SetLocale(value); + } + } + } + + public string Theme + { + get => _theme; + set + { + if (SetProperty(ref _theme, value)) + { + App.SetTheme(value); + } + } + } + + public string AvatarServer + { + get => Models.AvatarManager.SelectedServer; + set + { + if (Models.AvatarManager.SelectedServer != value) + { + Models.AvatarManager.SelectedServer = value; + OnPropertyChanged(nameof(AvatarServer)); + } + } + } + + public int MaxHistoryCommits + { + get => _maxHistoryCommits; + set => SetProperty(ref _maxHistoryCommits, value); + } + + public bool RestoreTabs + { + get => _restoreTabs; + set => SetProperty(ref _restoreTabs, value); + } + + public bool UseFixedTabWidth + { + get => _useFixedTabWidth; + set => SetProperty(ref _useFixedTabWidth, value); + } + + public bool UseTwoColumnsLayoutInHistories + { + get => _useTwoColumnsLayoutInHistories; + set => SetProperty(ref _useTwoColumnsLayoutInHistories, value); + } + + public bool UseSideBySideDiff + { + get => _useSideBySideDiff; + set => SetProperty(ref _useSideBySideDiff, value); + } + + public Models.ChangeViewMode UnstagedChangeViewMode + { + get => _unstagedChangeViewMode; + set => SetProperty(ref _unstagedChangeViewMode, value); + } + + public Models.ChangeViewMode StagedChangeViewMode + { + get => _stagedChangeViewMode; + set => SetProperty(ref _stagedChangeViewMode, value); + } + + public Models.ChangeViewMode CommitChangeViewMode + { + get => _commitChangeViewMode; + set => SetProperty(ref _commitChangeViewMode, value); + } + + [JsonIgnore] + public bool IsGitConfigured + { + get => !string.IsNullOrEmpty(GitInstallPath) && File.Exists(GitInstallPath); + } + + public string GitInstallPath + { + get => Native.OS.GitInstallPath; + set + { + if (Native.OS.GitInstallPath != value) + { + Native.OS.GitInstallPath = value; + OnPropertyChanged(nameof(GitInstallPath)); + } + } + } + + public string GitDefaultCloneDir + { + get => _gitDefaultCloneDir; + set => SetProperty(ref _gitDefaultCloneDir, value); + } + + public bool GitAutoFetch + { + get => Commands.AutoFetch.IsEnabled; + set + { + if (Commands.AutoFetch.IsEnabled != value) + { + Commands.AutoFetch.IsEnabled = value; + OnPropertyChanged(nameof(GitAutoFetch)); + } + } + } + + public int ExternalMergeToolType + { + get => _externalMergeToolType; + set + { + var changed = SetProperty(ref _externalMergeToolType, value); + if (changed && !OperatingSystem.IsWindows() && value > 0 && value < Models.ExternalMergeTools.Supported.Count) + { + var tool = Models.ExternalMergeTools.Supported[value]; + if (File.Exists(tool.Exec)) ExternalMergeToolPath = tool.Exec; + else ExternalMergeToolPath = string.Empty; + } + } + } + + public string ExternalMergeToolPath + { + get => _externalMergeToolPath; + set => SetProperty(ref _externalMergeToolPath, value); + } + + public string ExternalMergeToolCmd + { + get => _externalMergeToolCmd; + set => SetProperty(ref _externalMergeToolCmd, value); + } + + public string ExternalMergeToolDiffCmd + { + get => _externalMergeToolDiffCmd; + set => SetProperty(ref _externalMergeToolDiffCmd, value); + } + + public List Repositories + { + get; + set; + } = new List(); + + public AvaloniaList RepositoryNodes + { + get => _repositoryNodes; + set => SetProperty(ref _repositoryNodes, value); + } + + public List OpenedTabs + { + get; + set; + } = new List(); + + public int LastActiveTabIdx + { + get; + set; + } = 0; + + public static void AddNode(RepositoryNode node, RepositoryNode to = null) + { + var collection = to == null ? _instance._repositoryNodes : to.SubNodes; + var list = new List(); + list.AddRange(collection); + list.Add(node); + list.Sort((l, r) => + { + if (l.IsRepository != r.IsRepository) + { + return l.IsRepository ? 1 : -1; + } + else + { + return l.Name.CompareTo(r.Name); + } + }); + + collection.Clear(); + foreach (var one in list) + { + collection.Add(one); + } + } + + public static RepositoryNode FindNode(string id) + { + return FindNodeRecursive(id, _instance.RepositoryNodes); + } + + public static void MoveNode(RepositoryNode node, RepositoryNode to = null) + { + if (to == null && _instance._repositoryNodes.Contains(node)) return; + if (to != null && to.SubNodes.Contains(node)) return; + + RemoveNode(node); + AddNode(node, to); + } + + public static void RemoveNode(RepositoryNode node) + { + RemoveNodeRecursive(node, _instance._repositoryNodes); + } + + public static Repository FindRepository(string path) + { + foreach (var repo in _instance.Repositories) + { + if (repo.FullPath == path) return repo; + } + return null; + } + + public static Repository AddRepository(string rootDir, string gitDir) + { + var normalized = rootDir.Replace('\\', '/'); + var repo = FindRepository(normalized); + if (repo != null) + { + repo.GitDir = gitDir; + return repo; + } + + repo = new Repository() + { + FullPath = normalized, + GitDir = gitDir + }; + + _instance.Repositories.Add(repo); + return repo; + } + + public static void Save() + { + var dir = Path.GetDirectoryName(_savePath); + if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); + + var data = JsonSerializer.Serialize(_instance, JsonSerializationCodeGen.Default.Preference); + File.WriteAllText(_savePath, data); + } + + private static RepositoryNode FindNodeRecursive(string id, AvaloniaList collection) + { + foreach (var node in collection) + { + if (node.Id == id) return node; + + var sub = FindNodeRecursive(id, node.SubNodes); + if (sub != null) return sub; + } + + return null; + } + + private static bool RemoveNodeRecursive(RepositoryNode node, AvaloniaList collection) + { + if (collection.Contains(node)) + { + collection.Remove(node); + return true; + } + + foreach (RepositoryNode one in collection) + { + if (RemoveNodeRecursive(node, one.SubNodes)) return true; + } + + return false; + } + + private static Preference _instance = null; + private static readonly string _savePath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), + "SourceGit", + "preference.json"); + + private string _locale = "en_US"; + private string _theme = "Default"; + private int _maxHistoryCommits = 20000; + private bool _restoreTabs = false; + private bool _useFixedTabWidth = true; + private bool _useTwoColumnsLayoutInHistories = false; + private bool _useSideBySideDiff = false; + + private Models.ChangeViewMode _unstagedChangeViewMode = Models.ChangeViewMode.List; + private Models.ChangeViewMode _stagedChangeViewMode = Models.ChangeViewMode.List; + private Models.ChangeViewMode _commitChangeViewMode = Models.ChangeViewMode.List; + + private string _gitDefaultCloneDir = string.Empty; + + private int _externalMergeToolType = 0; + private string _externalMergeToolPath = string.Empty; + private string _externalMergeToolCmd = string.Empty; + private string _externalMergeToolDiffCmd = string.Empty; + + private AvaloniaList _repositoryNodes = new AvaloniaList(); + } + + [JsonSourceGenerationOptions(WriteIndented = true, IgnoreReadOnlyFields = true, IgnoreReadOnlyProperties = true)] + [JsonSerializable(typeof(Preference))] + internal partial class JsonSerializationCodeGen : JsonSerializerContext { } } \ No newline at end of file diff --git a/src/Views/DiffView.axaml b/src/Views/DiffView.axaml index 83796133..59e7b917 100644 --- a/src/Views/DiffView.axaml +++ b/src/Views/DiffView.axaml @@ -1,120 +1,123 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Views/TextDiffView.axaml.cs b/src/Views/TextDiffView.axaml.cs index 1d9ab7ec..34002d84 100644 --- a/src/Views/TextDiffView.axaml.cs +++ b/src/Views/TextDiffView.axaml.cs @@ -790,13 +790,13 @@ namespace SourceGit.Views set => SetValue(TextDiffProperty, value); } - public static readonly StyledProperty UseCombinedProperty = - AvaloniaProperty.Register(nameof(UseCombined), false); + public static readonly StyledProperty UseSideBySideDiffProperty = + AvaloniaProperty.Register(nameof(UseSideBySideDiff), false); - public bool UseCombined + public bool UseSideBySideDiff { - get => GetValue(UseCombinedProperty); - set => SetValue(UseCombinedProperty, value); + get => GetValue(UseSideBySideDiffProperty); + set => SetValue(UseSideBySideDiffProperty, value); } public TextDiffView() @@ -903,7 +903,7 @@ namespace SourceGit.Views { TextDiff.GenerateNewPatchFromSelection(change, null, selection, false, tmpFile); } - else if (UseCombined) + else if (!UseSideBySideDiff) { var treeGuid = new Commands.QueryStagedFileBlobGuid(ctx.RepositoryPath, change.Path).Result(); TextDiff.GeneratePatchFromSelection(change, treeGuid, selection, false, tmpFile); @@ -935,7 +935,7 @@ namespace SourceGit.Views { TextDiff.GenerateNewPatchFromSelection(change, null, selection, true, tmpFile); } - else if (UseCombined) + else if (!UseSideBySideDiff) { var treeGuid = new Commands.QueryStagedFileBlobGuid(ctx.RepositoryPath, change.Path).Result(); TextDiff.GeneratePatchFromSelection(change, treeGuid, selection, true, tmpFile); @@ -973,7 +973,7 @@ namespace SourceGit.Views { TextDiff.GenerateNewPatchFromSelection(change, treeGuid, selection, true, tmpFile); } - else if (UseCombined) + else if (!UseSideBySideDiff) { TextDiff.GeneratePatchFromSelection(change, treeGuid, selection, true, tmpFile); } @@ -1003,7 +1003,7 @@ namespace SourceGit.Views { TextDiff.GenerateNewPatchFromSelection(change, null, selection, true, tmpFile); } - else if (UseCombined) + else if (!UseSideBySideDiff) { var treeGuid = new Commands.QueryStagedFileBlobGuid(ctx.RepositoryPath, change.Path).Result(); TextDiff.GeneratePatchFromSelection(change, treeGuid, selection, true, tmpFile); @@ -1034,19 +1034,19 @@ namespace SourceGit.Views { base.OnPropertyChanged(change); - if (change.Property == TextDiffProperty || change.Property == UseCombinedProperty) + if (change.Property == TextDiffProperty || change.Property == UseSideBySideDiffProperty) { if (TextDiff == null) { Content = null; } - else if (UseCombined) + else if (UseSideBySideDiff) { - Content = TextDiff; + Content = new ViewModels.TwoSideTextDiff(TextDiff); } else { - Content = new ViewModels.TwoSideTextDiff(TextDiff); + Content = TextDiff; } } } @@ -1115,7 +1115,7 @@ namespace SourceGit.Views var line = diff.Lines[i]; if (line.Type == Models.TextDiffLineType.Added) { - if (UseCombined) + if (!UseSideBySideDiff) { rs.HasChanges = true; break; @@ -1131,7 +1131,7 @@ namespace SourceGit.Views } else if (line.Type == Models.TextDiffLineType.Deleted) { - if (UseCombined) + if (!UseSideBySideDiff) { rs.HasChanges = true; break; From a64b67623311390c50cb9e8d12a9292a052d75ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 01:40:40 -0500 Subject: [PATCH 0073/2652] dotnet Config Files --- .config/dotnet-tools.json | 6 ++++++ global.json | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 .config/dotnet-tools.json create mode 100644 global.json diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 00000000..67d50ad4 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + } +} \ No newline at end of file diff --git a/global.json b/global.json new file mode 100644 index 00000000..b5b37b60 --- /dev/null +++ b/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "8.0.0", + "rollForward": "latestMajor", + "allowPrerelease": false + } +} \ No newline at end of file From b86703c6a3ec05d5251d9c45d46802a9f26938db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 01:40:55 -0500 Subject: [PATCH 0074/2652] Accelerate Builds for VS --- Directory.Build.props | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Directory.Build.props diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..fa499273 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,5 @@ + + + true + + \ No newline at end of file From f5b2559ee22049b5c9fbaaa5b5d188cb28dd621a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 02:02:30 -0500 Subject: [PATCH 0075/2652] Generic .gitattributes --- .gitattributes | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..08856d95 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,44 @@ +############################### +# Git Line Endings # +############################### + +# Set default behaviour to automatically normalize line endings. +* text=auto + +# Force batch scripts to always use CRLF line endings so that if a repo is accessed +# in Windows via a file share from Linux, the scripts will work. +*.{cmd,[cC][mM][dD]} text eol=crlf +*.{bat,[bB][aA][tT]} text eol=crlf + +# Force bash scripts to always use LF line endings so that if a repo is accessed +# in Unix via a file share from Windows, the scripts will work. +*.sh text eol=lf + +############################### +# Git Large File System (LFS) # +############################### + +# Archives +*.7z filter=lfs diff=lfs merge=lfs -text +*.br filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text + +# Documents +*.pdf filter=lfs diff=lfs merge=lfs -text + +# Images +*.gif filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.psd filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text + +# Fonts +*.woff2 filter=lfs diff=lfs merge=lfs -text + +# Other +*.exe filter=lfs diff=lfs merge=lfs -text \ No newline at end of file From fc0d88d0e6ec5d4899f98b8148b55f830aeb221b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 01:48:41 -0500 Subject: [PATCH 0076/2652] Generic .gitignore --- .gitignore | 627 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 609 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index e60ba83d..05b24d8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,609 @@ -# IDE / System -.idea -.vs -.vscode -.DS_Store - -# Output folders. -bin/ -obj/ -build/SourceGit/ -build/SourceGit.app/ - -# Files -*.user -SourceGit.win-x64.zip -SourceGit.linux-x64.tar.gz -SourceGit.osx-x64.zip -SourceGit.osx-arm64.zip +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Nuke Build - Uncomment if you are using it +.nuke/temp + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + +### Linux ### + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Rider ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +.idea/ + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### VisualStudioCode ### +!.vscode/*.code-snippets + +# Local History for Visual Studio Code + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files + +# Windows shortcuts +*.lnk + +### Specifics ### + +# Specials +*.zip +archives +package-lock.json +*.private.env.json +**/**/[Dd]ata/*.json +**/**/[Dd]ata/*.csv + +# SpecFlow +*.feature.cs + +# Azurite +*azurite*.json + +# Build Folders +[Pp]ublish +[Oo]utput +[Ss]cripts +[Tt]ests/[Rr]esults + +# LibraryManager +**/lib + +# BuildBundlerMinifier +*.min.* +*.map + +# Sass Output +**/css + +# SQLite files +*.db +*.sqlite3 +*.sqlite +*.db-journal +*.sqlite3-journal +*.sqlite-journal +*.db-shm +*.db-wal + +## SourceGit ### + +# Output folders. +[Bb]uild/[Ss]ource[Gg]it/ +[Bb]uild/[Ss]ource[Gg]it.app/ + +# Files +SourceGit.win-x64.zip +SourceGit.linux-x64.tar.gz +SourceGit.osx-x64.zip +SourceGit.osx-arm64.zip \ No newline at end of file From 09444f846fb296e62e843b7e46f0d2cf32641278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 01:48:54 -0500 Subject: [PATCH 0077/2652] dotnet Namespaces Rules --- .editorconfig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.editorconfig b/.editorconfig index b5f39e6a..1a659dc5 100644 --- a/.editorconfig +++ b/.editorconfig @@ -29,6 +29,10 @@ dotnet_separate_import_directive_groups = true dotnet_sort_system_directives_first = true file_header_template = unset +# Namespaces +dotnet_style_namespace_match_folder = true:suggestion +csharp_style_namespace_declarations = block_scoped:error + # this. and Me. preferences dotnet_style_qualification_for_event = false:silent dotnet_style_qualification_for_field = false:silent From a29700d9f4bb3de550990a490ca8b072491d7c88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 01:49:05 -0500 Subject: [PATCH 0078/2652] Solution Internal Structure --- SourceGit.sln | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/SourceGit.sln b/SourceGit.sln index 166f3046..db1f6a1e 100644 --- a/SourceGit.sln +++ b/SourceGit.sln @@ -5,6 +5,40 @@ VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGit", "src\SourceGit.csproj", "{CD98D9AA-079A-4A79-9212-850EB97CF2ED}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C2487DDC-93D3-485F-943D-5DDF23B92A57}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".files", ".files", "{2850A14C-4E9A-42EF-9559-C83610D4FBDE}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + .gitignore = .gitignore + LICENSE = LICENSE + README.md = README.md + .gitattributes = .gitattributes + Directory.Build.props = Directory.Build.props + global.json = global.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{39979501-8501-43A7-AD23-F0BCF02CADB3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".config", ".config", "{B7D4C4BA-BD7E-4B36-A0E2-3B226F419B8F}" + ProjectSection(SolutionItems) = preProject + .config\dotnet-tools.json = .config\dotnet-tools.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".build", ".build", "{E6B9E250-EA2D-4665-831D-A547F707718D}" + ProjectSection(SolutionItems) = preProject + build\build.linux.sh = build\build.linux.sh + build\build.osx.command = build\build.osx.command + build\build.windows.bat = build\build.windows.bat + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "resources", "resources", "{EAB376FC-F69F-4EDB-8E04-D3F326A9F015}" + ProjectSection(SolutionItems) = preProject + build\resources\App.icns = build\resources\App.icns + build\resources\App.plist = build\resources\App.plist + build\resources\SourceGit.desktop.template = build\resources\SourceGit.desktop.template + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -19,4 +53,8 @@ Global {CD98D9AA-079A-4A79-9212-850EB97CF2ED}.Release|Any CPU.ActiveCfg = Release|Any CPU {CD98D9AA-079A-4A79-9212-850EB97CF2ED}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {CD98D9AA-079A-4A79-9212-850EB97CF2ED} = {C2487DDC-93D3-485F-943D-5DDF23B92A57} + {EAB376FC-F69F-4EDB-8E04-D3F326A9F015} = {E6B9E250-EA2D-4665-831D-A547F707718D} + EndGlobalSection EndGlobal From 8bc8f1eaa2942596381c40d89c48901ce9c4a4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 02:33:19 -0500 Subject: [PATCH 0079/2652] Gitattributes Fix --- .gitattributes | 110 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 72 insertions(+), 38 deletions(-) diff --git a/.gitattributes b/.gitattributes index 08856d95..69139978 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,44 +1,78 @@ -############################### -# Git Line Endings # -############################### +# Auto detect text files and perform LF normalization +# https://www.davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/ +* text=auto -# Set default behaviour to automatically normalize line endings. -* text=auto - -# Force batch scripts to always use CRLF line endings so that if a repo is accessed -# in Windows via a file share from Linux, the scripts will work. -*.{cmd,[cC][mM][dD]} text eol=crlf -*.{bat,[bB][aA][tT]} text eol=crlf - -# Force bash scripts to always use LF line endings so that if a repo is accessed -# in Unix via a file share from Windows, the scripts will work. -*.sh text eol=lf - -############################### -# Git Large File System (LFS) # -############################### - -# Archives -*.7z filter=lfs diff=lfs merge=lfs -text -*.br filter=lfs diff=lfs merge=lfs -text -*.gz filter=lfs diff=lfs merge=lfs -text -*.tar filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text +# +# The above will handle all files NOT found below +# # Documents -*.pdf filter=lfs diff=lfs merge=lfs -text +*.bibtex text diff=bibtex +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain +*.md text +*.tex text diff=tex +*.adoc text +*.textile text +*.mustache text +*.csv text +*.tab text +*.tsv text +*.txt text +*.sql text -# Images -*.gif filter=lfs diff=lfs merge=lfs -text -*.ico filter=lfs diff=lfs merge=lfs -text -*.jpg filter=lfs diff=lfs merge=lfs -text -*.pdf filter=lfs diff=lfs merge=lfs -text -*.png filter=lfs diff=lfs merge=lfs -text -*.psd filter=lfs diff=lfs merge=lfs -text -*.webp filter=lfs diff=lfs merge=lfs -text +# Graphics +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.tif binary +*.tiff binary +*.ico binary +# SVG treated as an asset (binary) by default. +*.svg text +# If you want to treat it as binary, +# use the following line instead. +# *.svg binary +*.eps binary -# Fonts -*.woff2 filter=lfs diff=lfs merge=lfs -text +# Scripts +*.bash text eol=lf +*.fish text eol=lf +*.sh text eol=lf +# These are explicitly windows files and should use crlf +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf -# Other -*.exe filter=lfs diff=lfs merge=lfs -text \ No newline at end of file +# Serialisation +*.json text +*.toml text +*.xml text +*.yaml text +*.yml text + +# Archives +*.7z binary +*.gz binary +*.tar binary +*.tgz binary +*.zip binary + +# Text files where line endings should be preserved +*.patch -text + +# +# Exclude files from exporting +# + +.gitattributes export-ignore +.gitignore export-ignore \ No newline at end of file From 014e37e505450b1b7f8a4a07ca02e954d1076071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 02:34:01 -0500 Subject: [PATCH 0080/2652] Github Workflow Files --- .github/workflows/ci.yml | 2 +- SourceGit.sln | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c64864f0..babb2f79 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - name: Build run: dotnet build -c Release - name: Publish - run: dotnet publish src/SourceGit.csproj -c Release -o publish -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained + run: dotnet publish src/SourceGit/SourceGit.csproj -c Release -o publish -r ${{ matrix.platform }} -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained - name: Upload Artifact uses: actions/upload-artifact@v4 with: diff --git a/SourceGit.sln b/SourceGit.sln index db1f6a1e..c9f93115 100644 --- a/SourceGit.sln +++ b/SourceGit.sln @@ -1,4 +1,4 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31903.59 @@ -39,6 +39,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "resources", "resources", "{ build\resources\SourceGit.desktop.template = build\resources\SourceGit.desktop.template EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{8E67D51A-1C97-4B57-A0C4-C7916A6E983D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{8F83FE02-B6BB-4F96-8532-ACC5B8E3C33F}" + ProjectSection(SolutionItems) = preProject + .github\workflows\ci.yml = .github\workflows\ci.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -56,5 +63,6 @@ Global GlobalSection(NestedProjects) = preSolution {CD98D9AA-079A-4A79-9212-850EB97CF2ED} = {C2487DDC-93D3-485F-943D-5DDF23B92A57} {EAB376FC-F69F-4EDB-8E04-D3F326A9F015} = {E6B9E250-EA2D-4665-831D-A547F707718D} + {8F83FE02-B6BB-4F96-8532-ACC5B8E3C33F} = {8E67D51A-1C97-4B57-A0C4-C7916A6E983D} EndGlobalSection EndGlobal From a1a14f88589c431f2caaf600031f93bd825b3f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20P=C3=A9rez?= Date: Wed, 20 Mar 2024 02:36:10 -0500 Subject: [PATCH 0081/2652] Project Location --- SourceGit.sln | 2 +- build/build.linux.sh | 2 +- build/build.osx.command | 4 +- build/build.windows.bat | 8 +- src/{ => SourceGit}/App.axaml | 0 src/{ => SourceGit}/App.axaml.cs | 0 src/{ => SourceGit}/App.ico | Bin src/{ => SourceGit}/App.manifest | 0 src/{ => SourceGit}/Commands/Add.cs | 0 src/{ => SourceGit}/Commands/Apply.cs | 0 src/{ => SourceGit}/Commands/Archive.cs | 0 .../Commands/AssumeUnchanged.cs | 0 src/{ => SourceGit}/Commands/Blame.cs | 0 src/{ => SourceGit}/Commands/Branch.cs | 0 src/{ => SourceGit}/Commands/Checkout.cs | 0 src/{ => SourceGit}/Commands/CherryPick.cs | 0 src/{ => SourceGit}/Commands/Clean.cs | 0 src/{ => SourceGit}/Commands/Clone.cs | 0 src/{ => SourceGit}/Commands/Command.cs | 358 +- src/{ => SourceGit}/Commands/Commit.cs | 0 .../Commands/CompareRevisions.cs | 0 src/{ => SourceGit}/Commands/Config.cs | 0 src/{ => SourceGit}/Commands/Diff.cs | 0 src/{ => SourceGit}/Commands/Discard.cs | 0 src/{ => SourceGit}/Commands/Fetch.cs | 0 src/{ => SourceGit}/Commands/FormatPatch.cs | 0 src/{ => SourceGit}/Commands/GC.cs | 0 src/{ => SourceGit}/Commands/GitFlow.cs | 0 src/{ => SourceGit}/Commands/Init.cs | 0 src/{ => SourceGit}/Commands/IsBinary.cs | 0 src/{ => SourceGit}/Commands/IsLFSFiltered.cs | 0 src/{ => SourceGit}/Commands/LFS.cs | 0 src/{ => SourceGit}/Commands/Merge.cs | 0 src/{ => SourceGit}/Commands/MergeTool.cs | 0 src/{ => SourceGit}/Commands/Pull.cs | 0 src/{ => SourceGit}/Commands/Push.cs | 0 src/{ => SourceGit}/Commands/QueryBranches.cs | 0 .../Commands/QueryCommitChanges.cs | 0 src/{ => SourceGit}/Commands/QueryCommits.cs | 0 .../Commands/QueryFileContent.cs | 0 src/{ => SourceGit}/Commands/QueryFileSize.cs | 0 src/{ => SourceGit}/Commands/QueryGitDir.cs | 0 .../Commands/QueryLocalChanges.cs | 0 src/{ => SourceGit}/Commands/QueryRemotes.cs | 0 .../Commands/QueryRepositoryRootPath.cs | 0 .../Commands/QueryRevisionObjects.cs | 0 .../Commands/QueryStagedFileBlobGuid.cs | 0 .../Commands/QueryStashChanges.cs | 0 src/{ => SourceGit}/Commands/QueryStashes.cs | 0 .../Commands/QuerySubmodules.cs | 0 src/{ => SourceGit}/Commands/QueryTags.cs | 0 src/{ => SourceGit}/Commands/Rebase.cs | 0 src/{ => SourceGit}/Commands/Remote.cs | 0 src/{ => SourceGit}/Commands/Reset.cs | 0 src/{ => SourceGit}/Commands/Restore.cs | 0 src/{ => SourceGit}/Commands/Revert.cs | 0 .../Commands/SaveChangesAsPatch.cs | 0 .../Commands/SaveRevisionFile.cs | 0 src/{ => SourceGit}/Commands/Stash.cs | 0 src/{ => SourceGit}/Commands/Statistics.cs | 0 src/{ => SourceGit}/Commands/Submodule.cs | 0 src/{ => SourceGit}/Commands/Tag.cs | 0 src/{ => SourceGit}/Commands/Version.cs | 0 .../Converters/BookmarkConverters.cs | 0 .../Converters/BoolConverters.cs | 0 .../Converters/BranchConverters.cs | 0 .../Converters/ChangeViewModeConverters.cs | 0 .../Converters/DecoratorTypeConverters.cs | 0 .../Converters/IntConverters.cs | 0 .../Converters/LauncherPageConverters.cs | 0 .../Converters/ListConverters.cs | 0 .../Converters/PathConverters.cs | 0 .../Converters/StringConverters.cs | 0 .../Converters/WindowStateConverters.cs | 0 .../Models/ApplyWhiteSpaceMode.cs | 0 src/{ => SourceGit}/Models/AvatarManager.cs | 0 src/{ => SourceGit}/Models/Blame.cs | 0 src/{ => SourceGit}/Models/Bookmarks.cs | 0 src/{ => SourceGit}/Models/Branch.cs | 0 src/{ => SourceGit}/Models/BranchTreeNode.cs | 0 src/{ => SourceGit}/Models/CRLFMode.cs | 0 src/{ => SourceGit}/Models/Change.cs | 0 src/{ => SourceGit}/Models/Commit.cs | 0 src/{ => SourceGit}/Models/CommitGraph.cs | 0 src/{ => SourceGit}/Models/Decorator.cs | 0 src/{ => SourceGit}/Models/DiffOption.cs | 0 src/{ => SourceGit}/Models/DiffResult.cs | 0 .../Models/ExternalMergeTools.cs | 0 src/{ => SourceGit}/Models/GitFlow.cs | 0 src/{ => SourceGit}/Models/LFSObject.cs | 0 src/{ => SourceGit}/Models/Locales.cs | 0 src/{ => SourceGit}/Models/Notification.cs | 0 src/{ => SourceGit}/Models/Object.cs | 0 src/{ => SourceGit}/Models/Remote.cs | 0 src/{ => SourceGit}/Models/RevisionFile.cs | 0 src/{ => SourceGit}/Models/Stash.cs | 0 src/{ => SourceGit}/Models/Statistics.cs | 0 src/{ => SourceGit}/Models/Tag.cs | 0 .../Models/TextInlineChange.cs | 0 src/{ => SourceGit}/Models/User.cs | 0 src/{ => SourceGit}/Models/Watcher.cs | 0 src/{ => SourceGit}/Native/Linux.cs | 214 +- src/{ => SourceGit}/Native/MacOS.cs | 0 src/{ => SourceGit}/Native/OS.cs | 0 src/{ => SourceGit}/Native/Windows.cs | 0 .../Resources/Fonts/JetBrainsMono-Bold.ttf | Bin .../Resources/Fonts/JetBrainsMono-Italic.ttf | Bin .../Resources/Fonts/JetBrainsMono-Regular.ttf | Bin src/{ => SourceGit}/Resources/Icons.axaml | 176 +- .../Resources/Locales.Designer.cs | 7758 ++++++++--------- src/{ => SourceGit}/Resources/Locales.en.resx | 2578 +++--- src/{ => SourceGit}/Resources/Locales.resx | 2578 +++--- src/{ => SourceGit}/Resources/Locales.zh.resx | 2578 +++--- src/{ => SourceGit}/Resources/Styles.axaml | 2192 ++--- src/{ => SourceGit}/Resources/Themes.axaml | 0 src/{ => SourceGit}/SourceGit.csproj | 130 +- src/{ => SourceGit}/ViewModels/AddRemote.cs | 0 .../ViewModels/AddSubmodule.cs | 0 src/{ => SourceGit}/ViewModels/Apply.cs | 0 src/{ => SourceGit}/ViewModels/Archive.cs | 0 .../ViewModels/AssumeUnchangedManager.cs | 0 src/{ => SourceGit}/ViewModels/Blame.cs | 0 src/{ => SourceGit}/ViewModels/Checkout.cs | 0 src/{ => SourceGit}/ViewModels/CherryPick.cs | 0 src/{ => SourceGit}/ViewModels/Cleanup.cs | 0 .../ViewModels/ClearStashes.cs | 0 src/{ => SourceGit}/ViewModels/Clone.cs | 0 .../ViewModels/CommitDetail.cs | 0 .../ViewModels/CreateBranch.cs | 0 src/{ => SourceGit}/ViewModels/CreateGroup.cs | 0 src/{ => SourceGit}/ViewModels/CreateTag.cs | 0 .../ViewModels/DeleteBranch.cs | 0 .../ViewModels/DeleteRemote.cs | 0 .../ViewModels/DeleteRepositoryNode.cs | 0 .../ViewModels/DeleteSubmodule.cs | 0 src/{ => SourceGit}/ViewModels/DeleteTag.cs | 0 src/{ => SourceGit}/ViewModels/DiffContext.cs | 0 src/{ => SourceGit}/ViewModels/Discard.cs | 0 src/{ => SourceGit}/ViewModels/DropStash.cs | 0 src/{ => SourceGit}/ViewModels/EditRemote.cs | 0 .../ViewModels/EditRepositoryNode.cs | 0 .../ViewModels/FastForwardWithoutCheckout.cs | 0 src/{ => SourceGit}/ViewModels/Fetch.cs | 0 .../ViewModels/FileHistories.cs | 0 .../ViewModels/FileTreeNode.cs | 0 .../ViewModels/GitFlowFinish.cs | 0 .../ViewModels/GitFlowStart.cs | 0 src/{ => SourceGit}/ViewModels/Histories.cs | 0 src/{ => SourceGit}/ViewModels/Init.cs | 0 src/{ => SourceGit}/ViewModels/InitGitFlow.cs | 0 src/{ => SourceGit}/ViewModels/Launcher.cs | 0 .../ViewModels/LauncherPage.cs | 0 src/{ => SourceGit}/ViewModels/Merge.cs | 0 src/{ => SourceGit}/ViewModels/Popup.cs | 0 src/{ => SourceGit}/ViewModels/PopupHost.cs | 0 src/{ => SourceGit}/ViewModels/Preference.cs | 742 +- src/{ => SourceGit}/ViewModels/PruneRemote.cs | 0 src/{ => SourceGit}/ViewModels/Pull.cs | 0 src/{ => SourceGit}/ViewModels/Push.cs | 0 src/{ => SourceGit}/ViewModels/PushTag.cs | 0 src/{ => SourceGit}/ViewModels/Rebase.cs | 0 .../ViewModels/RenameBranch.cs | 0 src/{ => SourceGit}/ViewModels/Repository.cs | 0 .../ViewModels/RepositoryConfigure.cs | 0 .../ViewModels/RepositoryNode.cs | 0 src/{ => SourceGit}/ViewModels/Reset.cs | 0 src/{ => SourceGit}/ViewModels/Revert.cs | 0 .../ViewModels/RevisionCompare.cs | 0 src/{ => SourceGit}/ViewModels/Reword.cs | 0 src/{ => SourceGit}/ViewModels/Squash.cs | 0 .../ViewModels/StashChanges.cs | 0 src/{ => SourceGit}/ViewModels/StashesPage.cs | 0 src/{ => SourceGit}/ViewModels/Statistics.cs | 0 .../ViewModels/TwoSideTextDiff.cs | 0 src/{ => SourceGit}/ViewModels/Welcome.cs | 0 src/{ => SourceGit}/ViewModels/WorkingCopy.cs | 0 src/{ => SourceGit}/Views/About.axaml | 0 src/{ => SourceGit}/Views/About.axaml.cs | 0 src/{ => SourceGit}/Views/AddRemote.axaml | 0 src/{ => SourceGit}/Views/AddRemote.axaml.cs | 0 src/{ => SourceGit}/Views/AddSubmodule.axaml | 0 .../Views/AddSubmodule.axaml.cs | 0 src/{ => SourceGit}/Views/Apply.axaml | 0 src/{ => SourceGit}/Views/Apply.axaml.cs | 0 src/{ => SourceGit}/Views/Archive.axaml | 0 src/{ => SourceGit}/Views/Archive.axaml.cs | 0 .../Views/AssumeUnchangedManager.axaml | 0 .../Views/AssumeUnchangedManager.axaml.cs | 0 src/{ => SourceGit}/Views/Avatar.cs | 0 src/{ => SourceGit}/Views/Blame.axaml | 0 src/{ => SourceGit}/Views/Blame.axaml.cs | 0 .../Views/CaptionButtons.axaml | 0 .../Views/CaptionButtons.axaml.cs | 0 .../Views/CaptionButtonsMacOS.axaml | 0 .../Views/CaptionButtonsMacOS.axaml.cs | 0 src/{ => SourceGit}/Views/ChangeStatusIcon.cs | 0 .../Views/ChangeViewModeSwitcher.axaml | 0 .../Views/ChangeViewModeSwitcher.axaml.cs | 0 src/{ => SourceGit}/Views/Checkout.axaml | 0 src/{ => SourceGit}/Views/Checkout.axaml.cs | 0 src/{ => SourceGit}/Views/CherryPick.axaml | 0 src/{ => SourceGit}/Views/CherryPick.axaml.cs | 0 src/{ => SourceGit}/Views/Cleanup.axaml | 0 src/{ => SourceGit}/Views/Cleanup.axaml.cs | 0 src/{ => SourceGit}/Views/ClearStashes.axaml | 0 .../Views/ClearStashes.axaml.cs | 0 src/{ => SourceGit}/Views/Clone.axaml | 0 src/{ => SourceGit}/Views/Clone.axaml.cs | 0 .../Views/CommitBaseInfo.axaml | 0 .../Views/CommitBaseInfo.axaml.cs | 0 src/{ => SourceGit}/Views/CommitChanges.axaml | 0 .../Views/CommitChanges.axaml.cs | 0 src/{ => SourceGit}/Views/CommitDetail.axaml | 0 .../Views/CommitDetail.axaml.cs | 0 src/{ => SourceGit}/Views/CreateBranch.axaml | 0 .../Views/CreateBranch.axaml.cs | 0 src/{ => SourceGit}/Views/CreateGroup.axaml | 0 .../Views/CreateGroup.axaml.cs | 0 src/{ => SourceGit}/Views/CreateTag.axaml | 0 src/{ => SourceGit}/Views/CreateTag.axaml.cs | 0 src/{ => SourceGit}/Views/DeleteBranch.axaml | 0 .../Views/DeleteBranch.axaml.cs | 0 src/{ => SourceGit}/Views/DeleteRemote.axaml | 0 .../Views/DeleteRemote.axaml.cs | 0 .../Views/DeleteRepositoryNode.axaml | 0 .../Views/DeleteRepositoryNode.axaml.cs | 0 .../Views/DeleteSubmodule.axaml | 0 .../Views/DeleteSubmodule.axaml.cs | 0 src/{ => SourceGit}/Views/DeleteTag.axaml | 0 src/{ => SourceGit}/Views/DeleteTag.axaml.cs | 0 src/{ => SourceGit}/Views/DiffView.axaml | 246 +- src/{ => SourceGit}/Views/DiffView.axaml.cs | 0 src/{ => SourceGit}/Views/Discard.axaml | 0 src/{ => SourceGit}/Views/Discard.axaml.cs | 0 src/{ => SourceGit}/Views/DropStash.axaml | 0 src/{ => SourceGit}/Views/DropStash.axaml.cs | 0 src/{ => SourceGit}/Views/EditRemote.axaml | 0 src/{ => SourceGit}/Views/EditRemote.axaml.cs | 0 .../Views/EditRepositoryNode.axaml | 0 .../Views/EditRepositoryNode.axaml.cs | 0 .../Views/FastForwardWithoutCheckout.axaml | 0 .../Views/FastForwardWithoutCheckout.axaml.cs | 0 src/{ => SourceGit}/Views/Fetch.axaml | 0 src/{ => SourceGit}/Views/Fetch.axaml.cs | 0 src/{ => SourceGit}/Views/FileHistories.axaml | 0 .../Views/FileHistories.axaml.cs | 0 src/{ => SourceGit}/Views/GitFlowFinish.axaml | 0 .../Views/GitFlowFinish.axaml.cs | 0 src/{ => SourceGit}/Views/GitFlowStart.axaml | 0 .../Views/GitFlowStart.axaml.cs | 0 src/{ => SourceGit}/Views/Histories.axaml | 0 src/{ => SourceGit}/Views/Histories.axaml.cs | 0 src/{ => SourceGit}/Views/Hotkeys.axaml | 0 src/{ => SourceGit}/Views/Hotkeys.axaml.cs | 0 src/{ => SourceGit}/Views/Init.axaml | 0 src/{ => SourceGit}/Views/Init.axaml.cs | 0 src/{ => SourceGit}/Views/InitGitFlow.axaml | 0 .../Views/InitGitFlow.axaml.cs | 0 src/{ => SourceGit}/Views/Launcher.axaml | 0 src/{ => SourceGit}/Views/Launcher.axaml.cs | 0 src/{ => SourceGit}/Views/Merge.axaml | 0 src/{ => SourceGit}/Views/Merge.axaml.cs | 0 .../Views/NameHighlightedTextBlock.cs | 0 src/{ => SourceGit}/Views/Preference.axaml | 0 src/{ => SourceGit}/Views/Preference.axaml.cs | 0 src/{ => SourceGit}/Views/PruneRemote.axaml | 0 .../Views/PruneRemote.axaml.cs | 0 src/{ => SourceGit}/Views/Pull.axaml | 0 src/{ => SourceGit}/Views/Pull.axaml.cs | 0 src/{ => SourceGit}/Views/Push.axaml | 0 src/{ => SourceGit}/Views/Push.axaml.cs | 0 src/{ => SourceGit}/Views/PushTag.axaml | 0 src/{ => SourceGit}/Views/PushTag.axaml.cs | 0 src/{ => SourceGit}/Views/Rebase.axaml | 0 src/{ => SourceGit}/Views/Rebase.axaml.cs | 0 src/{ => SourceGit}/Views/RenameBranch.axaml | 0 .../Views/RenameBranch.axaml.cs | 0 src/{ => SourceGit}/Views/Repository.axaml | 0 src/{ => SourceGit}/Views/Repository.axaml.cs | 0 .../Views/RepositoryConfigure.axaml | 0 .../Views/RepositoryConfigure.axaml.cs | 0 src/{ => SourceGit}/Views/Reset.axaml | 0 src/{ => SourceGit}/Views/Reset.axaml.cs | 0 src/{ => SourceGit}/Views/Revert.axaml | 0 src/{ => SourceGit}/Views/Revert.axaml.cs | 0 .../Views/RevisionCompare.axaml | 0 .../Views/RevisionCompare.axaml.cs | 0 src/{ => SourceGit}/Views/RevisionFiles.axaml | 0 .../Views/RevisionFiles.axaml.cs | 0 src/{ => SourceGit}/Views/Reword.axaml | 0 src/{ => SourceGit}/Views/Reword.axaml.cs | 0 src/{ => SourceGit}/Views/Squash.axaml | 0 src/{ => SourceGit}/Views/Squash.axaml.cs | 0 src/{ => SourceGit}/Views/StashChanges.axaml | 0 .../Views/StashChanges.axaml.cs | 0 src/{ => SourceGit}/Views/StashesPage.axaml | 0 .../Views/StashesPage.axaml.cs | 0 src/{ => SourceGit}/Views/Statistics.axaml | 0 src/{ => SourceGit}/Views/Statistics.axaml.cs | 0 src/{ => SourceGit}/Views/TextDiffView.axaml | 0 .../Views/TextDiffView.axaml.cs | 0 src/{ => SourceGit}/Views/Welcome.axaml | 0 src/{ => SourceGit}/Views/Welcome.axaml.cs | 0 src/{ => SourceGit}/Views/WorkingCopy.axaml | 0 .../Views/WorkingCopy.axaml.cs | 0 305 files changed, 9783 insertions(+), 9783 deletions(-) rename src/{ => SourceGit}/App.axaml (100%) rename src/{ => SourceGit}/App.axaml.cs (100%) rename src/{ => SourceGit}/App.ico (100%) rename src/{ => SourceGit}/App.manifest (100%) rename src/{ => SourceGit}/Commands/Add.cs (100%) rename src/{ => SourceGit}/Commands/Apply.cs (100%) rename src/{ => SourceGit}/Commands/Archive.cs (100%) rename src/{ => SourceGit}/Commands/AssumeUnchanged.cs (100%) rename src/{ => SourceGit}/Commands/Blame.cs (100%) rename src/{ => SourceGit}/Commands/Branch.cs (100%) rename src/{ => SourceGit}/Commands/Checkout.cs (100%) rename src/{ => SourceGit}/Commands/CherryPick.cs (100%) rename src/{ => SourceGit}/Commands/Clean.cs (100%) rename src/{ => SourceGit}/Commands/Clone.cs (100%) rename src/{ => SourceGit}/Commands/Command.cs (97%) rename src/{ => SourceGit}/Commands/Commit.cs (100%) rename src/{ => SourceGit}/Commands/CompareRevisions.cs (100%) rename src/{ => SourceGit}/Commands/Config.cs (100%) rename src/{ => SourceGit}/Commands/Diff.cs (100%) rename src/{ => SourceGit}/Commands/Discard.cs (100%) rename src/{ => SourceGit}/Commands/Fetch.cs (100%) rename src/{ => SourceGit}/Commands/FormatPatch.cs (100%) rename src/{ => SourceGit}/Commands/GC.cs (100%) rename src/{ => SourceGit}/Commands/GitFlow.cs (100%) rename src/{ => SourceGit}/Commands/Init.cs (100%) rename src/{ => SourceGit}/Commands/IsBinary.cs (100%) rename src/{ => SourceGit}/Commands/IsLFSFiltered.cs (100%) rename src/{ => SourceGit}/Commands/LFS.cs (100%) rename src/{ => SourceGit}/Commands/Merge.cs (100%) rename src/{ => SourceGit}/Commands/MergeTool.cs (100%) rename src/{ => SourceGit}/Commands/Pull.cs (100%) rename src/{ => SourceGit}/Commands/Push.cs (100%) rename src/{ => SourceGit}/Commands/QueryBranches.cs (100%) rename src/{ => SourceGit}/Commands/QueryCommitChanges.cs (100%) rename src/{ => SourceGit}/Commands/QueryCommits.cs (100%) rename src/{ => SourceGit}/Commands/QueryFileContent.cs (100%) rename src/{ => SourceGit}/Commands/QueryFileSize.cs (100%) rename src/{ => SourceGit}/Commands/QueryGitDir.cs (100%) rename src/{ => SourceGit}/Commands/QueryLocalChanges.cs (100%) rename src/{ => SourceGit}/Commands/QueryRemotes.cs (100%) rename src/{ => SourceGit}/Commands/QueryRepositoryRootPath.cs (100%) rename src/{ => SourceGit}/Commands/QueryRevisionObjects.cs (100%) rename src/{ => SourceGit}/Commands/QueryStagedFileBlobGuid.cs (100%) rename src/{ => SourceGit}/Commands/QueryStashChanges.cs (100%) rename src/{ => SourceGit}/Commands/QueryStashes.cs (100%) rename src/{ => SourceGit}/Commands/QuerySubmodules.cs (100%) rename src/{ => SourceGit}/Commands/QueryTags.cs (100%) rename src/{ => SourceGit}/Commands/Rebase.cs (100%) rename src/{ => SourceGit}/Commands/Remote.cs (100%) rename src/{ => SourceGit}/Commands/Reset.cs (100%) rename src/{ => SourceGit}/Commands/Restore.cs (100%) rename src/{ => SourceGit}/Commands/Revert.cs (100%) rename src/{ => SourceGit}/Commands/SaveChangesAsPatch.cs (100%) rename src/{ => SourceGit}/Commands/SaveRevisionFile.cs (100%) rename src/{ => SourceGit}/Commands/Stash.cs (100%) rename src/{ => SourceGit}/Commands/Statistics.cs (100%) rename src/{ => SourceGit}/Commands/Submodule.cs (100%) rename src/{ => SourceGit}/Commands/Tag.cs (100%) rename src/{ => SourceGit}/Commands/Version.cs (100%) rename src/{ => SourceGit}/Converters/BookmarkConverters.cs (100%) rename src/{ => SourceGit}/Converters/BoolConverters.cs (100%) rename src/{ => SourceGit}/Converters/BranchConverters.cs (100%) rename src/{ => SourceGit}/Converters/ChangeViewModeConverters.cs (100%) rename src/{ => SourceGit}/Converters/DecoratorTypeConverters.cs (100%) rename src/{ => SourceGit}/Converters/IntConverters.cs (100%) rename src/{ => SourceGit}/Converters/LauncherPageConverters.cs (100%) rename src/{ => SourceGit}/Converters/ListConverters.cs (100%) rename src/{ => SourceGit}/Converters/PathConverters.cs (100%) rename src/{ => SourceGit}/Converters/StringConverters.cs (100%) rename src/{ => SourceGit}/Converters/WindowStateConverters.cs (100%) rename src/{ => SourceGit}/Models/ApplyWhiteSpaceMode.cs (100%) rename src/{ => SourceGit}/Models/AvatarManager.cs (100%) rename src/{ => SourceGit}/Models/Blame.cs (100%) rename src/{ => SourceGit}/Models/Bookmarks.cs (100%) rename src/{ => SourceGit}/Models/Branch.cs (100%) rename src/{ => SourceGit}/Models/BranchTreeNode.cs (100%) rename src/{ => SourceGit}/Models/CRLFMode.cs (100%) rename src/{ => SourceGit}/Models/Change.cs (100%) rename src/{ => SourceGit}/Models/Commit.cs (100%) rename src/{ => SourceGit}/Models/CommitGraph.cs (100%) rename src/{ => SourceGit}/Models/Decorator.cs (100%) rename src/{ => SourceGit}/Models/DiffOption.cs (100%) rename src/{ => SourceGit}/Models/DiffResult.cs (100%) rename src/{ => SourceGit}/Models/ExternalMergeTools.cs (100%) rename src/{ => SourceGit}/Models/GitFlow.cs (100%) rename src/{ => SourceGit}/Models/LFSObject.cs (100%) rename src/{ => SourceGit}/Models/Locales.cs (100%) rename src/{ => SourceGit}/Models/Notification.cs (100%) rename src/{ => SourceGit}/Models/Object.cs (100%) rename src/{ => SourceGit}/Models/Remote.cs (100%) rename src/{ => SourceGit}/Models/RevisionFile.cs (100%) rename src/{ => SourceGit}/Models/Stash.cs (100%) rename src/{ => SourceGit}/Models/Statistics.cs (100%) rename src/{ => SourceGit}/Models/Tag.cs (100%) rename src/{ => SourceGit}/Models/TextInlineChange.cs (100%) rename src/{ => SourceGit}/Models/User.cs (100%) rename src/{ => SourceGit}/Models/Watcher.cs (100%) rename src/{ => SourceGit}/Native/Linux.cs (96%) rename src/{ => SourceGit}/Native/MacOS.cs (100%) rename src/{ => SourceGit}/Native/OS.cs (100%) rename src/{ => SourceGit}/Native/Windows.cs (100%) rename src/{ => SourceGit}/Resources/Fonts/JetBrainsMono-Bold.ttf (100%) rename src/{ => SourceGit}/Resources/Fonts/JetBrainsMono-Italic.ttf (100%) rename src/{ => SourceGit}/Resources/Fonts/JetBrainsMono-Regular.ttf (100%) rename src/{ => SourceGit}/Resources/Icons.axaml (99%) rename src/{ => SourceGit}/Resources/Locales.Designer.cs (97%) rename src/{ => SourceGit}/Resources/Locales.en.resx (97%) rename src/{ => SourceGit}/Resources/Locales.resx (97%) rename src/{ => SourceGit}/Resources/Locales.zh.resx (97%) rename src/{ => SourceGit}/Resources/Styles.axaml (97%) rename src/{ => SourceGit}/Resources/Themes.axaml (100%) rename src/{ => SourceGit}/SourceGit.csproj (97%) rename src/{ => SourceGit}/ViewModels/AddRemote.cs (100%) rename src/{ => SourceGit}/ViewModels/AddSubmodule.cs (100%) rename src/{ => SourceGit}/ViewModels/Apply.cs (100%) rename src/{ => SourceGit}/ViewModels/Archive.cs (100%) rename src/{ => SourceGit}/ViewModels/AssumeUnchangedManager.cs (100%) rename src/{ => SourceGit}/ViewModels/Blame.cs (100%) rename src/{ => SourceGit}/ViewModels/Checkout.cs (100%) rename src/{ => SourceGit}/ViewModels/CherryPick.cs (100%) rename src/{ => SourceGit}/ViewModels/Cleanup.cs (100%) rename src/{ => SourceGit}/ViewModels/ClearStashes.cs (100%) rename src/{ => SourceGit}/ViewModels/Clone.cs (100%) rename src/{ => SourceGit}/ViewModels/CommitDetail.cs (100%) rename src/{ => SourceGit}/ViewModels/CreateBranch.cs (100%) rename src/{ => SourceGit}/ViewModels/CreateGroup.cs (100%) rename src/{ => SourceGit}/ViewModels/CreateTag.cs (100%) rename src/{ => SourceGit}/ViewModels/DeleteBranch.cs (100%) rename src/{ => SourceGit}/ViewModels/DeleteRemote.cs (100%) rename src/{ => SourceGit}/ViewModels/DeleteRepositoryNode.cs (100%) rename src/{ => SourceGit}/ViewModels/DeleteSubmodule.cs (100%) rename src/{ => SourceGit}/ViewModels/DeleteTag.cs (100%) rename src/{ => SourceGit}/ViewModels/DiffContext.cs (100%) rename src/{ => SourceGit}/ViewModels/Discard.cs (100%) rename src/{ => SourceGit}/ViewModels/DropStash.cs (100%) rename src/{ => SourceGit}/ViewModels/EditRemote.cs (100%) rename src/{ => SourceGit}/ViewModels/EditRepositoryNode.cs (100%) rename src/{ => SourceGit}/ViewModels/FastForwardWithoutCheckout.cs (100%) rename src/{ => SourceGit}/ViewModels/Fetch.cs (100%) rename src/{ => SourceGit}/ViewModels/FileHistories.cs (100%) rename src/{ => SourceGit}/ViewModels/FileTreeNode.cs (100%) rename src/{ => SourceGit}/ViewModels/GitFlowFinish.cs (100%) rename src/{ => SourceGit}/ViewModels/GitFlowStart.cs (100%) rename src/{ => SourceGit}/ViewModels/Histories.cs (100%) rename src/{ => SourceGit}/ViewModels/Init.cs (100%) rename src/{ => SourceGit}/ViewModels/InitGitFlow.cs (100%) rename src/{ => SourceGit}/ViewModels/Launcher.cs (100%) rename src/{ => SourceGit}/ViewModels/LauncherPage.cs (100%) rename src/{ => SourceGit}/ViewModels/Merge.cs (100%) rename src/{ => SourceGit}/ViewModels/Popup.cs (100%) rename src/{ => SourceGit}/ViewModels/PopupHost.cs (100%) rename src/{ => SourceGit}/ViewModels/Preference.cs (96%) rename src/{ => SourceGit}/ViewModels/PruneRemote.cs (100%) rename src/{ => SourceGit}/ViewModels/Pull.cs (100%) rename src/{ => SourceGit}/ViewModels/Push.cs (100%) rename src/{ => SourceGit}/ViewModels/PushTag.cs (100%) rename src/{ => SourceGit}/ViewModels/Rebase.cs (100%) rename src/{ => SourceGit}/ViewModels/RenameBranch.cs (100%) rename src/{ => SourceGit}/ViewModels/Repository.cs (100%) rename src/{ => SourceGit}/ViewModels/RepositoryConfigure.cs (100%) rename src/{ => SourceGit}/ViewModels/RepositoryNode.cs (100%) rename src/{ => SourceGit}/ViewModels/Reset.cs (100%) rename src/{ => SourceGit}/ViewModels/Revert.cs (100%) rename src/{ => SourceGit}/ViewModels/RevisionCompare.cs (100%) rename src/{ => SourceGit}/ViewModels/Reword.cs (100%) rename src/{ => SourceGit}/ViewModels/Squash.cs (100%) rename src/{ => SourceGit}/ViewModels/StashChanges.cs (100%) rename src/{ => SourceGit}/ViewModels/StashesPage.cs (100%) rename src/{ => SourceGit}/ViewModels/Statistics.cs (100%) rename src/{ => SourceGit}/ViewModels/TwoSideTextDiff.cs (100%) rename src/{ => SourceGit}/ViewModels/Welcome.cs (100%) rename src/{ => SourceGit}/ViewModels/WorkingCopy.cs (100%) rename src/{ => SourceGit}/Views/About.axaml (100%) rename src/{ => SourceGit}/Views/About.axaml.cs (100%) rename src/{ => SourceGit}/Views/AddRemote.axaml (100%) rename src/{ => SourceGit}/Views/AddRemote.axaml.cs (100%) rename src/{ => SourceGit}/Views/AddSubmodule.axaml (100%) rename src/{ => SourceGit}/Views/AddSubmodule.axaml.cs (100%) rename src/{ => SourceGit}/Views/Apply.axaml (100%) rename src/{ => SourceGit}/Views/Apply.axaml.cs (100%) rename src/{ => SourceGit}/Views/Archive.axaml (100%) rename src/{ => SourceGit}/Views/Archive.axaml.cs (100%) rename src/{ => SourceGit}/Views/AssumeUnchangedManager.axaml (100%) rename src/{ => SourceGit}/Views/AssumeUnchangedManager.axaml.cs (100%) rename src/{ => SourceGit}/Views/Avatar.cs (100%) rename src/{ => SourceGit}/Views/Blame.axaml (100%) rename src/{ => SourceGit}/Views/Blame.axaml.cs (100%) rename src/{ => SourceGit}/Views/CaptionButtons.axaml (100%) rename src/{ => SourceGit}/Views/CaptionButtons.axaml.cs (100%) rename src/{ => SourceGit}/Views/CaptionButtonsMacOS.axaml (100%) rename src/{ => SourceGit}/Views/CaptionButtonsMacOS.axaml.cs (100%) rename src/{ => SourceGit}/Views/ChangeStatusIcon.cs (100%) rename src/{ => SourceGit}/Views/ChangeViewModeSwitcher.axaml (100%) rename src/{ => SourceGit}/Views/ChangeViewModeSwitcher.axaml.cs (100%) rename src/{ => SourceGit}/Views/Checkout.axaml (100%) rename src/{ => SourceGit}/Views/Checkout.axaml.cs (100%) rename src/{ => SourceGit}/Views/CherryPick.axaml (100%) rename src/{ => SourceGit}/Views/CherryPick.axaml.cs (100%) rename src/{ => SourceGit}/Views/Cleanup.axaml (100%) rename src/{ => SourceGit}/Views/Cleanup.axaml.cs (100%) rename src/{ => SourceGit}/Views/ClearStashes.axaml (100%) rename src/{ => SourceGit}/Views/ClearStashes.axaml.cs (100%) rename src/{ => SourceGit}/Views/Clone.axaml (100%) rename src/{ => SourceGit}/Views/Clone.axaml.cs (100%) rename src/{ => SourceGit}/Views/CommitBaseInfo.axaml (100%) rename src/{ => SourceGit}/Views/CommitBaseInfo.axaml.cs (100%) rename src/{ => SourceGit}/Views/CommitChanges.axaml (100%) rename src/{ => SourceGit}/Views/CommitChanges.axaml.cs (100%) rename src/{ => SourceGit}/Views/CommitDetail.axaml (100%) rename src/{ => SourceGit}/Views/CommitDetail.axaml.cs (100%) rename src/{ => SourceGit}/Views/CreateBranch.axaml (100%) rename src/{ => SourceGit}/Views/CreateBranch.axaml.cs (100%) rename src/{ => SourceGit}/Views/CreateGroup.axaml (100%) rename src/{ => SourceGit}/Views/CreateGroup.axaml.cs (100%) rename src/{ => SourceGit}/Views/CreateTag.axaml (100%) rename src/{ => SourceGit}/Views/CreateTag.axaml.cs (100%) rename src/{ => SourceGit}/Views/DeleteBranch.axaml (100%) rename src/{ => SourceGit}/Views/DeleteBranch.axaml.cs (100%) rename src/{ => SourceGit}/Views/DeleteRemote.axaml (100%) rename src/{ => SourceGit}/Views/DeleteRemote.axaml.cs (100%) rename src/{ => SourceGit}/Views/DeleteRepositoryNode.axaml (100%) rename src/{ => SourceGit}/Views/DeleteRepositoryNode.axaml.cs (100%) rename src/{ => SourceGit}/Views/DeleteSubmodule.axaml (100%) rename src/{ => SourceGit}/Views/DeleteSubmodule.axaml.cs (100%) rename src/{ => SourceGit}/Views/DeleteTag.axaml (100%) rename src/{ => SourceGit}/Views/DeleteTag.axaml.cs (100%) rename src/{ => SourceGit}/Views/DiffView.axaml (98%) rename src/{ => SourceGit}/Views/DiffView.axaml.cs (100%) rename src/{ => SourceGit}/Views/Discard.axaml (100%) rename src/{ => SourceGit}/Views/Discard.axaml.cs (100%) rename src/{ => SourceGit}/Views/DropStash.axaml (100%) rename src/{ => SourceGit}/Views/DropStash.axaml.cs (100%) rename src/{ => SourceGit}/Views/EditRemote.axaml (100%) rename src/{ => SourceGit}/Views/EditRemote.axaml.cs (100%) rename src/{ => SourceGit}/Views/EditRepositoryNode.axaml (100%) rename src/{ => SourceGit}/Views/EditRepositoryNode.axaml.cs (100%) rename src/{ => SourceGit}/Views/FastForwardWithoutCheckout.axaml (100%) rename src/{ => SourceGit}/Views/FastForwardWithoutCheckout.axaml.cs (100%) rename src/{ => SourceGit}/Views/Fetch.axaml (100%) rename src/{ => SourceGit}/Views/Fetch.axaml.cs (100%) rename src/{ => SourceGit}/Views/FileHistories.axaml (100%) rename src/{ => SourceGit}/Views/FileHistories.axaml.cs (100%) rename src/{ => SourceGit}/Views/GitFlowFinish.axaml (100%) rename src/{ => SourceGit}/Views/GitFlowFinish.axaml.cs (100%) rename src/{ => SourceGit}/Views/GitFlowStart.axaml (100%) rename src/{ => SourceGit}/Views/GitFlowStart.axaml.cs (100%) rename src/{ => SourceGit}/Views/Histories.axaml (100%) rename src/{ => SourceGit}/Views/Histories.axaml.cs (100%) rename src/{ => SourceGit}/Views/Hotkeys.axaml (100%) rename src/{ => SourceGit}/Views/Hotkeys.axaml.cs (100%) rename src/{ => SourceGit}/Views/Init.axaml (100%) rename src/{ => SourceGit}/Views/Init.axaml.cs (100%) rename src/{ => SourceGit}/Views/InitGitFlow.axaml (100%) rename src/{ => SourceGit}/Views/InitGitFlow.axaml.cs (100%) rename src/{ => SourceGit}/Views/Launcher.axaml (100%) rename src/{ => SourceGit}/Views/Launcher.axaml.cs (100%) rename src/{ => SourceGit}/Views/Merge.axaml (100%) rename src/{ => SourceGit}/Views/Merge.axaml.cs (100%) rename src/{ => SourceGit}/Views/NameHighlightedTextBlock.cs (100%) rename src/{ => SourceGit}/Views/Preference.axaml (100%) rename src/{ => SourceGit}/Views/Preference.axaml.cs (100%) rename src/{ => SourceGit}/Views/PruneRemote.axaml (100%) rename src/{ => SourceGit}/Views/PruneRemote.axaml.cs (100%) rename src/{ => SourceGit}/Views/Pull.axaml (100%) rename src/{ => SourceGit}/Views/Pull.axaml.cs (100%) rename src/{ => SourceGit}/Views/Push.axaml (100%) rename src/{ => SourceGit}/Views/Push.axaml.cs (100%) rename src/{ => SourceGit}/Views/PushTag.axaml (100%) rename src/{ => SourceGit}/Views/PushTag.axaml.cs (100%) rename src/{ => SourceGit}/Views/Rebase.axaml (100%) rename src/{ => SourceGit}/Views/Rebase.axaml.cs (100%) rename src/{ => SourceGit}/Views/RenameBranch.axaml (100%) rename src/{ => SourceGit}/Views/RenameBranch.axaml.cs (100%) rename src/{ => SourceGit}/Views/Repository.axaml (100%) rename src/{ => SourceGit}/Views/Repository.axaml.cs (100%) rename src/{ => SourceGit}/Views/RepositoryConfigure.axaml (100%) rename src/{ => SourceGit}/Views/RepositoryConfigure.axaml.cs (100%) rename src/{ => SourceGit}/Views/Reset.axaml (100%) rename src/{ => SourceGit}/Views/Reset.axaml.cs (100%) rename src/{ => SourceGit}/Views/Revert.axaml (100%) rename src/{ => SourceGit}/Views/Revert.axaml.cs (100%) rename src/{ => SourceGit}/Views/RevisionCompare.axaml (100%) rename src/{ => SourceGit}/Views/RevisionCompare.axaml.cs (100%) rename src/{ => SourceGit}/Views/RevisionFiles.axaml (100%) rename src/{ => SourceGit}/Views/RevisionFiles.axaml.cs (100%) rename src/{ => SourceGit}/Views/Reword.axaml (100%) rename src/{ => SourceGit}/Views/Reword.axaml.cs (100%) rename src/{ => SourceGit}/Views/Squash.axaml (100%) rename src/{ => SourceGit}/Views/Squash.axaml.cs (100%) rename src/{ => SourceGit}/Views/StashChanges.axaml (100%) rename src/{ => SourceGit}/Views/StashChanges.axaml.cs (100%) rename src/{ => SourceGit}/Views/StashesPage.axaml (100%) rename src/{ => SourceGit}/Views/StashesPage.axaml.cs (100%) rename src/{ => SourceGit}/Views/Statistics.axaml (100%) rename src/{ => SourceGit}/Views/Statistics.axaml.cs (100%) rename src/{ => SourceGit}/Views/TextDiffView.axaml (100%) rename src/{ => SourceGit}/Views/TextDiffView.axaml.cs (100%) rename src/{ => SourceGit}/Views/Welcome.axaml (100%) rename src/{ => SourceGit}/Views/Welcome.axaml.cs (100%) rename src/{ => SourceGit}/Views/WorkingCopy.axaml (100%) rename src/{ => SourceGit}/Views/WorkingCopy.axaml.cs (100%) diff --git a/SourceGit.sln b/SourceGit.sln index c9f93115..39177369 100644 --- a/SourceGit.sln +++ b/SourceGit.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGit", "src\SourceGit.csproj", "{CD98D9AA-079A-4A79-9212-850EB97CF2ED}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGit", "src\SourceGit\SourceGit.csproj", "{CD98D9AA-079A-4A79-9212-850EB97CF2ED}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C2487DDC-93D3-485F-943D-5DDF23B92A57}" EndProject diff --git a/build/build.linux.sh b/build/build.linux.sh index 6e2c302b..491dd503 100644 --- a/build/build.linux.sh +++ b/build/build.linux.sh @@ -1,7 +1,7 @@ #!/bin/sh rm -rf SourceGit -dotnet publish ../src/SourceGit.csproj -c Release -r linux-x64 -o SourceGit -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained +dotnet publish ../src/SourceGit/SourceGit.csproj -c Release -r linux-x64 -o SourceGit -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained cp resources/SourceGit.desktop.template SourceGit/SourceGit.desktop.template cp resources/App.icns SourceGit/SourceGit.icns tar -zcvf SourceGit.linux-x64.tar.gz --exclude="*/en" --exclude="*/zh" --exclude="*/*.dbg" SourceGit diff --git a/build/build.osx.command b/build/build.osx.command index 99f90429..91a3d2f6 100644 --- a/build/build.osx.command +++ b/build/build.osx.command @@ -7,11 +7,11 @@ cp resources/App.plist SourceGit.app/Contents/Info.plist cp resources/App.icns SourceGit.app/Contents/Resources/App.icns mkdir -p SourceGit.app/Contents/MacOS -dotnet publish ../src/SourceGit.csproj -c Release -r osx-arm64 -o SourceGit.app/Contents/MacOS -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained +dotnet publish ../src/SourceGit/SourceGit.csproj -c Release -r osx-arm64 -o SourceGit.app/Contents/MacOS -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained zip SourceGit.osx-arm64.zip -r SourceGit.app -x "*/en/*" -x "*/zh/*" -x "*/*\.dsym/*" rm -rf SourceGit.app/Contents/MacOS mkdir -p SourceGit.app/Contents/MacOS -dotnet publish ../src/SourceGit.csproj -c Release -r osx-x64 -o SourceGit.app/Contents/MacOS -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained +dotnet publish ../src/SourceGit/SourceGit.csproj -c Release -r osx-x64 -o SourceGit.app/Contents/MacOS -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained zip SourceGit.osx-x64.zip -r SourceGit.app -x "*/en/*" -x "*/zh/*" -x "*/*\.dsym/*" diff --git a/build/build.windows.bat b/build/build.windows.bat index bde2185c..9198dbd2 100644 --- a/build/build.windows.bat +++ b/build/build.windows.bat @@ -1,5 +1,5 @@ - -rmdir /S /Q SourceGit -dotnet publish ..\src\SourceGit.csproj -c Release -r win-x64 -o SourceGit -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained -resources\7z.exe a SourceGit.win-x64.zip SourceGit "-xr!en/" "-xr!zh/" "-xr!*.pdb" + +rmdir /S /Q SourceGit +dotnet publish ..\src\SourceGit\SourceGit.csproj -c Release -r win-x64 -o SourceGit -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained +resources\7z.exe a SourceGit.win-x64.zip SourceGit "-xr!en/" "-xr!zh/" "-xr!*.pdb" rmdir /S /Q SourceGit \ No newline at end of file diff --git a/src/App.axaml b/src/SourceGit/App.axaml similarity index 100% rename from src/App.axaml rename to src/SourceGit/App.axaml diff --git a/src/App.axaml.cs b/src/SourceGit/App.axaml.cs similarity index 100% rename from src/App.axaml.cs rename to src/SourceGit/App.axaml.cs diff --git a/src/App.ico b/src/SourceGit/App.ico similarity index 100% rename from src/App.ico rename to src/SourceGit/App.ico diff --git a/src/App.manifest b/src/SourceGit/App.manifest similarity index 100% rename from src/App.manifest rename to src/SourceGit/App.manifest diff --git a/src/Commands/Add.cs b/src/SourceGit/Commands/Add.cs similarity index 100% rename from src/Commands/Add.cs rename to src/SourceGit/Commands/Add.cs diff --git a/src/Commands/Apply.cs b/src/SourceGit/Commands/Apply.cs similarity index 100% rename from src/Commands/Apply.cs rename to src/SourceGit/Commands/Apply.cs diff --git a/src/Commands/Archive.cs b/src/SourceGit/Commands/Archive.cs similarity index 100% rename from src/Commands/Archive.cs rename to src/SourceGit/Commands/Archive.cs diff --git a/src/Commands/AssumeUnchanged.cs b/src/SourceGit/Commands/AssumeUnchanged.cs similarity index 100% rename from src/Commands/AssumeUnchanged.cs rename to src/SourceGit/Commands/AssumeUnchanged.cs diff --git a/src/Commands/Blame.cs b/src/SourceGit/Commands/Blame.cs similarity index 100% rename from src/Commands/Blame.cs rename to src/SourceGit/Commands/Blame.cs diff --git a/src/Commands/Branch.cs b/src/SourceGit/Commands/Branch.cs similarity index 100% rename from src/Commands/Branch.cs rename to src/SourceGit/Commands/Branch.cs diff --git a/src/Commands/Checkout.cs b/src/SourceGit/Commands/Checkout.cs similarity index 100% rename from src/Commands/Checkout.cs rename to src/SourceGit/Commands/Checkout.cs diff --git a/src/Commands/CherryPick.cs b/src/SourceGit/Commands/CherryPick.cs similarity index 100% rename from src/Commands/CherryPick.cs rename to src/SourceGit/Commands/CherryPick.cs diff --git a/src/Commands/Clean.cs b/src/SourceGit/Commands/Clean.cs similarity index 100% rename from src/Commands/Clean.cs rename to src/SourceGit/Commands/Clean.cs diff --git a/src/Commands/Clone.cs b/src/SourceGit/Commands/Clone.cs similarity index 100% rename from src/Commands/Clone.cs rename to src/SourceGit/Commands/Clone.cs diff --git a/src/Commands/Command.cs b/src/SourceGit/Commands/Command.cs similarity index 97% rename from src/Commands/Command.cs rename to src/SourceGit/Commands/Command.cs index ce0afcab..297d9b85 100644 --- a/src/Commands/Command.cs +++ b/src/SourceGit/Commands/Command.cs @@ -1,180 +1,180 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Text; -using System.Text.RegularExpressions; - -using Avalonia.Threading; - -namespace SourceGit.Commands -{ - public partial class Command - { - public class CancelToken - { - public bool Requested { get; set; } = false; - } - - public class ReadToEndResult - { - public bool IsSuccess { get; set; } - public string StdOut { get; set; } - public string StdErr { get; set; } - } - - public string Context { get; set; } = string.Empty; - public CancelToken Cancel { get; set; } = null; - public string WorkingDirectory { get; set; } = null; - public string Args { get; set; } = string.Empty; - public bool RaiseError { get; set; } = true; - public bool TraitErrorAsOutput { get; set; } = false; - - public bool Exec() - { - var start = new ProcessStartInfo(); - start.FileName = Native.OS.GitInstallPath; - start.Arguments = "--no-pager -c core.quotepath=off " + Args; - start.UseShellExecute = false; - start.CreateNoWindow = true; - start.RedirectStandardOutput = true; - start.RedirectStandardError = true; - start.StandardOutputEncoding = Encoding.UTF8; - start.StandardErrorEncoding = Encoding.UTF8; - - // Force using en_US.UTF-8 locale to avoid GCM crash - if (OperatingSystem.IsLinux()) - { - start.Environment.Add("LANG", "en_US.UTF-8"); - } - - if (!string.IsNullOrEmpty(WorkingDirectory)) start.WorkingDirectory = WorkingDirectory; - - var errs = new List(); - var proc = new Process() { StartInfo = start }; - var isCancelled = false; - - proc.OutputDataReceived += (_, e) => - { - if (Cancel != null && Cancel.Requested) - { - isCancelled = true; - proc.CancelErrorRead(); - proc.CancelOutputRead(); - if (!proc.HasExited) proc.Kill(true); - return; - } - - if (e.Data != null) OnReadline(e.Data); - }; - - proc.ErrorDataReceived += (_, e) => - { - if (Cancel != null && Cancel.Requested) - { - isCancelled = true; - proc.CancelErrorRead(); - proc.CancelOutputRead(); - if (!proc.HasExited) proc.Kill(true); - return; - } - - if (string.IsNullOrEmpty(e.Data)) return; - if (TraitErrorAsOutput) OnReadline(e.Data); - - // Ignore progress messages - if (e.Data.StartsWith("remote: Enumerating objects:", StringComparison.Ordinal)) return; - if (e.Data.StartsWith("remote: Counting objects:", StringComparison.Ordinal)) return; - if (e.Data.StartsWith("remote: Compressing objects:", StringComparison.Ordinal)) return; - if (e.Data.StartsWith("Filtering content:", StringComparison.Ordinal)) return; - if (_progressRegex().IsMatch(e.Data)) return; - errs.Add(e.Data); - }; - - try - { - proc.Start(); - } - catch (Exception e) - { - if (RaiseError) - { - Dispatcher.UIThread.Invoke(() => - { - App.RaiseException(Context, e.Message); - }); - } - return false; - } - - proc.BeginOutputReadLine(); - proc.BeginErrorReadLine(); - proc.WaitForExit(); - - int exitCode = proc.ExitCode; - proc.Close(); - - if (!isCancelled && exitCode != 0 && errs.Count > 0) - { - if (RaiseError) - { - Dispatcher.UIThread.Invoke(() => - { - App.RaiseException(Context, string.Join("\n", errs)); - }); - } - return false; - } - else - { - return true; - } - } - - public ReadToEndResult ReadToEnd() - { - var start = new ProcessStartInfo(); - start.FileName = Native.OS.GitInstallPath; - start.Arguments = "--no-pager -c core.quotepath=off " + Args; - start.UseShellExecute = false; - start.CreateNoWindow = true; - start.RedirectStandardOutput = true; - start.RedirectStandardError = true; - start.StandardOutputEncoding = Encoding.UTF8; - start.StandardErrorEncoding = Encoding.UTF8; - - if (!string.IsNullOrEmpty(WorkingDirectory)) start.WorkingDirectory = WorkingDirectory; - - var proc = new Process() { StartInfo = start }; - try - { - proc.Start(); - } - catch (Exception e) - { - return new ReadToEndResult() - { - IsSuccess = false, - StdOut = string.Empty, - StdErr = e.Message, - }; - } - - var rs = new ReadToEndResult() - { - StdOut = proc.StandardOutput.ReadToEnd(), - StdErr = proc.StandardError.ReadToEnd(), - }; - - proc.WaitForExit(); - rs.IsSuccess = proc.ExitCode == 0; - proc.Close(); - - return rs; - } - - protected virtual void OnReadline(string line) { } - - [GeneratedRegex(@"\d+%")] - private static partial Regex _progressRegex(); - } +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; +using System.Text.RegularExpressions; + +using Avalonia.Threading; + +namespace SourceGit.Commands +{ + public partial class Command + { + public class CancelToken + { + public bool Requested { get; set; } = false; + } + + public class ReadToEndResult + { + public bool IsSuccess { get; set; } + public string StdOut { get; set; } + public string StdErr { get; set; } + } + + public string Context { get; set; } = string.Empty; + public CancelToken Cancel { get; set; } = null; + public string WorkingDirectory { get; set; } = null; + public string Args { get; set; } = string.Empty; + public bool RaiseError { get; set; } = true; + public bool TraitErrorAsOutput { get; set; } = false; + + public bool Exec() + { + var start = new ProcessStartInfo(); + start.FileName = Native.OS.GitInstallPath; + start.Arguments = "--no-pager -c core.quotepath=off " + Args; + start.UseShellExecute = false; + start.CreateNoWindow = true; + start.RedirectStandardOutput = true; + start.RedirectStandardError = true; + start.StandardOutputEncoding = Encoding.UTF8; + start.StandardErrorEncoding = Encoding.UTF8; + + // Force using en_US.UTF-8 locale to avoid GCM crash + if (OperatingSystem.IsLinux()) + { + start.Environment.Add("LANG", "en_US.UTF-8"); + } + + if (!string.IsNullOrEmpty(WorkingDirectory)) start.WorkingDirectory = WorkingDirectory; + + var errs = new List(); + var proc = new Process() { StartInfo = start }; + var isCancelled = false; + + proc.OutputDataReceived += (_, e) => + { + if (Cancel != null && Cancel.Requested) + { + isCancelled = true; + proc.CancelErrorRead(); + proc.CancelOutputRead(); + if (!proc.HasExited) proc.Kill(true); + return; + } + + if (e.Data != null) OnReadline(e.Data); + }; + + proc.ErrorDataReceived += (_, e) => + { + if (Cancel != null && Cancel.Requested) + { + isCancelled = true; + proc.CancelErrorRead(); + proc.CancelOutputRead(); + if (!proc.HasExited) proc.Kill(true); + return; + } + + if (string.IsNullOrEmpty(e.Data)) return; + if (TraitErrorAsOutput) OnReadline(e.Data); + + // Ignore progress messages + if (e.Data.StartsWith("remote: Enumerating objects:", StringComparison.Ordinal)) return; + if (e.Data.StartsWith("remote: Counting objects:", StringComparison.Ordinal)) return; + if (e.Data.StartsWith("remote: Compressing objects:", StringComparison.Ordinal)) return; + if (e.Data.StartsWith("Filtering content:", StringComparison.Ordinal)) return; + if (_progressRegex().IsMatch(e.Data)) return; + errs.Add(e.Data); + }; + + try + { + proc.Start(); + } + catch (Exception e) + { + if (RaiseError) + { + Dispatcher.UIThread.Invoke(() => + { + App.RaiseException(Context, e.Message); + }); + } + return false; + } + + proc.BeginOutputReadLine(); + proc.BeginErrorReadLine(); + proc.WaitForExit(); + + int exitCode = proc.ExitCode; + proc.Close(); + + if (!isCancelled && exitCode != 0 && errs.Count > 0) + { + if (RaiseError) + { + Dispatcher.UIThread.Invoke(() => + { + App.RaiseException(Context, string.Join("\n", errs)); + }); + } + return false; + } + else + { + return true; + } + } + + public ReadToEndResult ReadToEnd() + { + var start = new ProcessStartInfo(); + start.FileName = Native.OS.GitInstallPath; + start.Arguments = "--no-pager -c core.quotepath=off " + Args; + start.UseShellExecute = false; + start.CreateNoWindow = true; + start.RedirectStandardOutput = true; + start.RedirectStandardError = true; + start.StandardOutputEncoding = Encoding.UTF8; + start.StandardErrorEncoding = Encoding.UTF8; + + if (!string.IsNullOrEmpty(WorkingDirectory)) start.WorkingDirectory = WorkingDirectory; + + var proc = new Process() { StartInfo = start }; + try + { + proc.Start(); + } + catch (Exception e) + { + return new ReadToEndResult() + { + IsSuccess = false, + StdOut = string.Empty, + StdErr = e.Message, + }; + } + + var rs = new ReadToEndResult() + { + StdOut = proc.StandardOutput.ReadToEnd(), + StdErr = proc.StandardError.ReadToEnd(), + }; + + proc.WaitForExit(); + rs.IsSuccess = proc.ExitCode == 0; + proc.Close(); + + return rs; + } + + protected virtual void OnReadline(string line) { } + + [GeneratedRegex(@"\d+%")] + private static partial Regex _progressRegex(); + } } \ No newline at end of file diff --git a/src/Commands/Commit.cs b/src/SourceGit/Commands/Commit.cs similarity index 100% rename from src/Commands/Commit.cs rename to src/SourceGit/Commands/Commit.cs diff --git a/src/Commands/CompareRevisions.cs b/src/SourceGit/Commands/CompareRevisions.cs similarity index 100% rename from src/Commands/CompareRevisions.cs rename to src/SourceGit/Commands/CompareRevisions.cs diff --git a/src/Commands/Config.cs b/src/SourceGit/Commands/Config.cs similarity index 100% rename from src/Commands/Config.cs rename to src/SourceGit/Commands/Config.cs diff --git a/src/Commands/Diff.cs b/src/SourceGit/Commands/Diff.cs similarity index 100% rename from src/Commands/Diff.cs rename to src/SourceGit/Commands/Diff.cs diff --git a/src/Commands/Discard.cs b/src/SourceGit/Commands/Discard.cs similarity index 100% rename from src/Commands/Discard.cs rename to src/SourceGit/Commands/Discard.cs diff --git a/src/Commands/Fetch.cs b/src/SourceGit/Commands/Fetch.cs similarity index 100% rename from src/Commands/Fetch.cs rename to src/SourceGit/Commands/Fetch.cs diff --git a/src/Commands/FormatPatch.cs b/src/SourceGit/Commands/FormatPatch.cs similarity index 100% rename from src/Commands/FormatPatch.cs rename to src/SourceGit/Commands/FormatPatch.cs diff --git a/src/Commands/GC.cs b/src/SourceGit/Commands/GC.cs similarity index 100% rename from src/Commands/GC.cs rename to src/SourceGit/Commands/GC.cs diff --git a/src/Commands/GitFlow.cs b/src/SourceGit/Commands/GitFlow.cs similarity index 100% rename from src/Commands/GitFlow.cs rename to src/SourceGit/Commands/GitFlow.cs diff --git a/src/Commands/Init.cs b/src/SourceGit/Commands/Init.cs similarity index 100% rename from src/Commands/Init.cs rename to src/SourceGit/Commands/Init.cs diff --git a/src/Commands/IsBinary.cs b/src/SourceGit/Commands/IsBinary.cs similarity index 100% rename from src/Commands/IsBinary.cs rename to src/SourceGit/Commands/IsBinary.cs diff --git a/src/Commands/IsLFSFiltered.cs b/src/SourceGit/Commands/IsLFSFiltered.cs similarity index 100% rename from src/Commands/IsLFSFiltered.cs rename to src/SourceGit/Commands/IsLFSFiltered.cs diff --git a/src/Commands/LFS.cs b/src/SourceGit/Commands/LFS.cs similarity index 100% rename from src/Commands/LFS.cs rename to src/SourceGit/Commands/LFS.cs diff --git a/src/Commands/Merge.cs b/src/SourceGit/Commands/Merge.cs similarity index 100% rename from src/Commands/Merge.cs rename to src/SourceGit/Commands/Merge.cs diff --git a/src/Commands/MergeTool.cs b/src/SourceGit/Commands/MergeTool.cs similarity index 100% rename from src/Commands/MergeTool.cs rename to src/SourceGit/Commands/MergeTool.cs diff --git a/src/Commands/Pull.cs b/src/SourceGit/Commands/Pull.cs similarity index 100% rename from src/Commands/Pull.cs rename to src/SourceGit/Commands/Pull.cs diff --git a/src/Commands/Push.cs b/src/SourceGit/Commands/Push.cs similarity index 100% rename from src/Commands/Push.cs rename to src/SourceGit/Commands/Push.cs diff --git a/src/Commands/QueryBranches.cs b/src/SourceGit/Commands/QueryBranches.cs similarity index 100% rename from src/Commands/QueryBranches.cs rename to src/SourceGit/Commands/QueryBranches.cs diff --git a/src/Commands/QueryCommitChanges.cs b/src/SourceGit/Commands/QueryCommitChanges.cs similarity index 100% rename from src/Commands/QueryCommitChanges.cs rename to src/SourceGit/Commands/QueryCommitChanges.cs diff --git a/src/Commands/QueryCommits.cs b/src/SourceGit/Commands/QueryCommits.cs similarity index 100% rename from src/Commands/QueryCommits.cs rename to src/SourceGit/Commands/QueryCommits.cs diff --git a/src/Commands/QueryFileContent.cs b/src/SourceGit/Commands/QueryFileContent.cs similarity index 100% rename from src/Commands/QueryFileContent.cs rename to src/SourceGit/Commands/QueryFileContent.cs diff --git a/src/Commands/QueryFileSize.cs b/src/SourceGit/Commands/QueryFileSize.cs similarity index 100% rename from src/Commands/QueryFileSize.cs rename to src/SourceGit/Commands/QueryFileSize.cs diff --git a/src/Commands/QueryGitDir.cs b/src/SourceGit/Commands/QueryGitDir.cs similarity index 100% rename from src/Commands/QueryGitDir.cs rename to src/SourceGit/Commands/QueryGitDir.cs diff --git a/src/Commands/QueryLocalChanges.cs b/src/SourceGit/Commands/QueryLocalChanges.cs similarity index 100% rename from src/Commands/QueryLocalChanges.cs rename to src/SourceGit/Commands/QueryLocalChanges.cs diff --git a/src/Commands/QueryRemotes.cs b/src/SourceGit/Commands/QueryRemotes.cs similarity index 100% rename from src/Commands/QueryRemotes.cs rename to src/SourceGit/Commands/QueryRemotes.cs diff --git a/src/Commands/QueryRepositoryRootPath.cs b/src/SourceGit/Commands/QueryRepositoryRootPath.cs similarity index 100% rename from src/Commands/QueryRepositoryRootPath.cs rename to src/SourceGit/Commands/QueryRepositoryRootPath.cs diff --git a/src/Commands/QueryRevisionObjects.cs b/src/SourceGit/Commands/QueryRevisionObjects.cs similarity index 100% rename from src/Commands/QueryRevisionObjects.cs rename to src/SourceGit/Commands/QueryRevisionObjects.cs diff --git a/src/Commands/QueryStagedFileBlobGuid.cs b/src/SourceGit/Commands/QueryStagedFileBlobGuid.cs similarity index 100% rename from src/Commands/QueryStagedFileBlobGuid.cs rename to src/SourceGit/Commands/QueryStagedFileBlobGuid.cs diff --git a/src/Commands/QueryStashChanges.cs b/src/SourceGit/Commands/QueryStashChanges.cs similarity index 100% rename from src/Commands/QueryStashChanges.cs rename to src/SourceGit/Commands/QueryStashChanges.cs diff --git a/src/Commands/QueryStashes.cs b/src/SourceGit/Commands/QueryStashes.cs similarity index 100% rename from src/Commands/QueryStashes.cs rename to src/SourceGit/Commands/QueryStashes.cs diff --git a/src/Commands/QuerySubmodules.cs b/src/SourceGit/Commands/QuerySubmodules.cs similarity index 100% rename from src/Commands/QuerySubmodules.cs rename to src/SourceGit/Commands/QuerySubmodules.cs diff --git a/src/Commands/QueryTags.cs b/src/SourceGit/Commands/QueryTags.cs similarity index 100% rename from src/Commands/QueryTags.cs rename to src/SourceGit/Commands/QueryTags.cs diff --git a/src/Commands/Rebase.cs b/src/SourceGit/Commands/Rebase.cs similarity index 100% rename from src/Commands/Rebase.cs rename to src/SourceGit/Commands/Rebase.cs diff --git a/src/Commands/Remote.cs b/src/SourceGit/Commands/Remote.cs similarity index 100% rename from src/Commands/Remote.cs rename to src/SourceGit/Commands/Remote.cs diff --git a/src/Commands/Reset.cs b/src/SourceGit/Commands/Reset.cs similarity index 100% rename from src/Commands/Reset.cs rename to src/SourceGit/Commands/Reset.cs diff --git a/src/Commands/Restore.cs b/src/SourceGit/Commands/Restore.cs similarity index 100% rename from src/Commands/Restore.cs rename to src/SourceGit/Commands/Restore.cs diff --git a/src/Commands/Revert.cs b/src/SourceGit/Commands/Revert.cs similarity index 100% rename from src/Commands/Revert.cs rename to src/SourceGit/Commands/Revert.cs diff --git a/src/Commands/SaveChangesAsPatch.cs b/src/SourceGit/Commands/SaveChangesAsPatch.cs similarity index 100% rename from src/Commands/SaveChangesAsPatch.cs rename to src/SourceGit/Commands/SaveChangesAsPatch.cs diff --git a/src/Commands/SaveRevisionFile.cs b/src/SourceGit/Commands/SaveRevisionFile.cs similarity index 100% rename from src/Commands/SaveRevisionFile.cs rename to src/SourceGit/Commands/SaveRevisionFile.cs diff --git a/src/Commands/Stash.cs b/src/SourceGit/Commands/Stash.cs similarity index 100% rename from src/Commands/Stash.cs rename to src/SourceGit/Commands/Stash.cs diff --git a/src/Commands/Statistics.cs b/src/SourceGit/Commands/Statistics.cs similarity index 100% rename from src/Commands/Statistics.cs rename to src/SourceGit/Commands/Statistics.cs diff --git a/src/Commands/Submodule.cs b/src/SourceGit/Commands/Submodule.cs similarity index 100% rename from src/Commands/Submodule.cs rename to src/SourceGit/Commands/Submodule.cs diff --git a/src/Commands/Tag.cs b/src/SourceGit/Commands/Tag.cs similarity index 100% rename from src/Commands/Tag.cs rename to src/SourceGit/Commands/Tag.cs diff --git a/src/Commands/Version.cs b/src/SourceGit/Commands/Version.cs similarity index 100% rename from src/Commands/Version.cs rename to src/SourceGit/Commands/Version.cs diff --git a/src/Converters/BookmarkConverters.cs b/src/SourceGit/Converters/BookmarkConverters.cs similarity index 100% rename from src/Converters/BookmarkConverters.cs rename to src/SourceGit/Converters/BookmarkConverters.cs diff --git a/src/Converters/BoolConverters.cs b/src/SourceGit/Converters/BoolConverters.cs similarity index 100% rename from src/Converters/BoolConverters.cs rename to src/SourceGit/Converters/BoolConverters.cs diff --git a/src/Converters/BranchConverters.cs b/src/SourceGit/Converters/BranchConverters.cs similarity index 100% rename from src/Converters/BranchConverters.cs rename to src/SourceGit/Converters/BranchConverters.cs diff --git a/src/Converters/ChangeViewModeConverters.cs b/src/SourceGit/Converters/ChangeViewModeConverters.cs similarity index 100% rename from src/Converters/ChangeViewModeConverters.cs rename to src/SourceGit/Converters/ChangeViewModeConverters.cs diff --git a/src/Converters/DecoratorTypeConverters.cs b/src/SourceGit/Converters/DecoratorTypeConverters.cs similarity index 100% rename from src/Converters/DecoratorTypeConverters.cs rename to src/SourceGit/Converters/DecoratorTypeConverters.cs diff --git a/src/Converters/IntConverters.cs b/src/SourceGit/Converters/IntConverters.cs similarity index 100% rename from src/Converters/IntConverters.cs rename to src/SourceGit/Converters/IntConverters.cs diff --git a/src/Converters/LauncherPageConverters.cs b/src/SourceGit/Converters/LauncherPageConverters.cs similarity index 100% rename from src/Converters/LauncherPageConverters.cs rename to src/SourceGit/Converters/LauncherPageConverters.cs diff --git a/src/Converters/ListConverters.cs b/src/SourceGit/Converters/ListConverters.cs similarity index 100% rename from src/Converters/ListConverters.cs rename to src/SourceGit/Converters/ListConverters.cs diff --git a/src/Converters/PathConverters.cs b/src/SourceGit/Converters/PathConverters.cs similarity index 100% rename from src/Converters/PathConverters.cs rename to src/SourceGit/Converters/PathConverters.cs diff --git a/src/Converters/StringConverters.cs b/src/SourceGit/Converters/StringConverters.cs similarity index 100% rename from src/Converters/StringConverters.cs rename to src/SourceGit/Converters/StringConverters.cs diff --git a/src/Converters/WindowStateConverters.cs b/src/SourceGit/Converters/WindowStateConverters.cs similarity index 100% rename from src/Converters/WindowStateConverters.cs rename to src/SourceGit/Converters/WindowStateConverters.cs diff --git a/src/Models/ApplyWhiteSpaceMode.cs b/src/SourceGit/Models/ApplyWhiteSpaceMode.cs similarity index 100% rename from src/Models/ApplyWhiteSpaceMode.cs rename to src/SourceGit/Models/ApplyWhiteSpaceMode.cs diff --git a/src/Models/AvatarManager.cs b/src/SourceGit/Models/AvatarManager.cs similarity index 100% rename from src/Models/AvatarManager.cs rename to src/SourceGit/Models/AvatarManager.cs diff --git a/src/Models/Blame.cs b/src/SourceGit/Models/Blame.cs similarity index 100% rename from src/Models/Blame.cs rename to src/SourceGit/Models/Blame.cs diff --git a/src/Models/Bookmarks.cs b/src/SourceGit/Models/Bookmarks.cs similarity index 100% rename from src/Models/Bookmarks.cs rename to src/SourceGit/Models/Bookmarks.cs diff --git a/src/Models/Branch.cs b/src/SourceGit/Models/Branch.cs similarity index 100% rename from src/Models/Branch.cs rename to src/SourceGit/Models/Branch.cs diff --git a/src/Models/BranchTreeNode.cs b/src/SourceGit/Models/BranchTreeNode.cs similarity index 100% rename from src/Models/BranchTreeNode.cs rename to src/SourceGit/Models/BranchTreeNode.cs diff --git a/src/Models/CRLFMode.cs b/src/SourceGit/Models/CRLFMode.cs similarity index 100% rename from src/Models/CRLFMode.cs rename to src/SourceGit/Models/CRLFMode.cs diff --git a/src/Models/Change.cs b/src/SourceGit/Models/Change.cs similarity index 100% rename from src/Models/Change.cs rename to src/SourceGit/Models/Change.cs diff --git a/src/Models/Commit.cs b/src/SourceGit/Models/Commit.cs similarity index 100% rename from src/Models/Commit.cs rename to src/SourceGit/Models/Commit.cs diff --git a/src/Models/CommitGraph.cs b/src/SourceGit/Models/CommitGraph.cs similarity index 100% rename from src/Models/CommitGraph.cs rename to src/SourceGit/Models/CommitGraph.cs diff --git a/src/Models/Decorator.cs b/src/SourceGit/Models/Decorator.cs similarity index 100% rename from src/Models/Decorator.cs rename to src/SourceGit/Models/Decorator.cs diff --git a/src/Models/DiffOption.cs b/src/SourceGit/Models/DiffOption.cs similarity index 100% rename from src/Models/DiffOption.cs rename to src/SourceGit/Models/DiffOption.cs diff --git a/src/Models/DiffResult.cs b/src/SourceGit/Models/DiffResult.cs similarity index 100% rename from src/Models/DiffResult.cs rename to src/SourceGit/Models/DiffResult.cs diff --git a/src/Models/ExternalMergeTools.cs b/src/SourceGit/Models/ExternalMergeTools.cs similarity index 100% rename from src/Models/ExternalMergeTools.cs rename to src/SourceGit/Models/ExternalMergeTools.cs diff --git a/src/Models/GitFlow.cs b/src/SourceGit/Models/GitFlow.cs similarity index 100% rename from src/Models/GitFlow.cs rename to src/SourceGit/Models/GitFlow.cs diff --git a/src/Models/LFSObject.cs b/src/SourceGit/Models/LFSObject.cs similarity index 100% rename from src/Models/LFSObject.cs rename to src/SourceGit/Models/LFSObject.cs diff --git a/src/Models/Locales.cs b/src/SourceGit/Models/Locales.cs similarity index 100% rename from src/Models/Locales.cs rename to src/SourceGit/Models/Locales.cs diff --git a/src/Models/Notification.cs b/src/SourceGit/Models/Notification.cs similarity index 100% rename from src/Models/Notification.cs rename to src/SourceGit/Models/Notification.cs diff --git a/src/Models/Object.cs b/src/SourceGit/Models/Object.cs similarity index 100% rename from src/Models/Object.cs rename to src/SourceGit/Models/Object.cs diff --git a/src/Models/Remote.cs b/src/SourceGit/Models/Remote.cs similarity index 100% rename from src/Models/Remote.cs rename to src/SourceGit/Models/Remote.cs diff --git a/src/Models/RevisionFile.cs b/src/SourceGit/Models/RevisionFile.cs similarity index 100% rename from src/Models/RevisionFile.cs rename to src/SourceGit/Models/RevisionFile.cs diff --git a/src/Models/Stash.cs b/src/SourceGit/Models/Stash.cs similarity index 100% rename from src/Models/Stash.cs rename to src/SourceGit/Models/Stash.cs diff --git a/src/Models/Statistics.cs b/src/SourceGit/Models/Statistics.cs similarity index 100% rename from src/Models/Statistics.cs rename to src/SourceGit/Models/Statistics.cs diff --git a/src/Models/Tag.cs b/src/SourceGit/Models/Tag.cs similarity index 100% rename from src/Models/Tag.cs rename to src/SourceGit/Models/Tag.cs diff --git a/src/Models/TextInlineChange.cs b/src/SourceGit/Models/TextInlineChange.cs similarity index 100% rename from src/Models/TextInlineChange.cs rename to src/SourceGit/Models/TextInlineChange.cs diff --git a/src/Models/User.cs b/src/SourceGit/Models/User.cs similarity index 100% rename from src/Models/User.cs rename to src/SourceGit/Models/User.cs diff --git a/src/Models/Watcher.cs b/src/SourceGit/Models/Watcher.cs similarity index 100% rename from src/Models/Watcher.cs rename to src/SourceGit/Models/Watcher.cs diff --git a/src/Native/Linux.cs b/src/SourceGit/Native/Linux.cs similarity index 96% rename from src/Native/Linux.cs rename to src/SourceGit/Native/Linux.cs index 5c20a3ba..0753fdc4 100644 --- a/src/Native/Linux.cs +++ b/src/SourceGit/Native/Linux.cs @@ -1,108 +1,108 @@ -using System.Diagnostics; -using System.IO; -using System.Runtime.Versioning; - -using Avalonia; -using Avalonia.Dialogs; - -namespace SourceGit.Native -{ - [SupportedOSPlatform("linux")] - internal class Linux : OS.IBackend - { - public void SetupApp(AppBuilder builder) - { -#if USE_FONT_INTER - builder.WithInterFont(); -#endif - // Free-desktop file picker has an extra black background panel. - builder.UseManagedSystemDialogs(); - } - - public string FindGitExecutable() - { - if (File.Exists("/usr/bin/git")) return "/usr/bin/git"; - return string.Empty; - } - - public string FindVSCode() - { - if (File.Exists("/usr/share/code/code")) return "/usr/share/code/code"; - return string.Empty; - } - - public void OpenBrowser(string url) - { - if (!File.Exists("/usr/bin/xdg-open")) - { - App.RaiseException("", $"You should install xdg-open first!"); - return; - } - - Process.Start("xdg-open", $"\"{url}\""); - } - - public void OpenInFileManager(string path, bool select) - { - if (!File.Exists("/usr/bin/xdg-open")) - { - App.RaiseException("", $"You should install xdg-open first!"); - return; - } - - if (Directory.Exists(path)) - { - Process.Start("xdg-open", $"\"{path}\""); - } - else - { - var dir = Path.GetDirectoryName(path); - if (Directory.Exists(dir)) - { - Process.Start("xdg-open", $"\"{dir}\""); - } - } - } - - public void OpenTerminal(string workdir) - { - var dir = string.IsNullOrEmpty(workdir) ? "~" : workdir; - if (File.Exists("/usr/bin/gnome-terminal")) - { - Process.Start("/usr/bin/gnome-terminal", $"--working-directory=\"{dir}\""); - } - else if (File.Exists("/usr/bin/konsole")) - { - Process.Start("/usr/bin/konsole", $"--workdir \"{dir}\""); - } - else if (File.Exists("/usr/bin/xfce4-terminal")) - { - Process.Start("/usr/bin/xfce4-terminal", $"--working-directory=\"{dir}\""); - } - else - { - App.RaiseException("", $"Only supports gnome-terminal/konsole/xfce4-terminal!"); - return; - } - } - - public void OpenWithDefaultEditor(string file) - { - if (!File.Exists("/usr/bin/xdg-open")) - { - App.RaiseException("", $"You should install xdg-open first!"); - return; - } - - var proc = Process.Start("xdg-open", $"\"{file}\""); - proc.WaitForExit(); - - if (proc.ExitCode != 0) - { - App.RaiseException("", $"Failed to open \"{file}\""); - } - - proc.Close(); - } - } +using System.Diagnostics; +using System.IO; +using System.Runtime.Versioning; + +using Avalonia; +using Avalonia.Dialogs; + +namespace SourceGit.Native +{ + [SupportedOSPlatform("linux")] + internal class Linux : OS.IBackend + { + public void SetupApp(AppBuilder builder) + { +#if USE_FONT_INTER + builder.WithInterFont(); +#endif + // Free-desktop file picker has an extra black background panel. + builder.UseManagedSystemDialogs(); + } + + public string FindGitExecutable() + { + if (File.Exists("/usr/bin/git")) return "/usr/bin/git"; + return string.Empty; + } + + public string FindVSCode() + { + if (File.Exists("/usr/share/code/code")) return "/usr/share/code/code"; + return string.Empty; + } + + public void OpenBrowser(string url) + { + if (!File.Exists("/usr/bin/xdg-open")) + { + App.RaiseException("", $"You should install xdg-open first!"); + return; + } + + Process.Start("xdg-open", $"\"{url}\""); + } + + public void OpenInFileManager(string path, bool select) + { + if (!File.Exists("/usr/bin/xdg-open")) + { + App.RaiseException("", $"You should install xdg-open first!"); + return; + } + + if (Directory.Exists(path)) + { + Process.Start("xdg-open", $"\"{path}\""); + } + else + { + var dir = Path.GetDirectoryName(path); + if (Directory.Exists(dir)) + { + Process.Start("xdg-open", $"\"{dir}\""); + } + } + } + + public void OpenTerminal(string workdir) + { + var dir = string.IsNullOrEmpty(workdir) ? "~" : workdir; + if (File.Exists("/usr/bin/gnome-terminal")) + { + Process.Start("/usr/bin/gnome-terminal", $"--working-directory=\"{dir}\""); + } + else if (File.Exists("/usr/bin/konsole")) + { + Process.Start("/usr/bin/konsole", $"--workdir \"{dir}\""); + } + else if (File.Exists("/usr/bin/xfce4-terminal")) + { + Process.Start("/usr/bin/xfce4-terminal", $"--working-directory=\"{dir}\""); + } + else + { + App.RaiseException("", $"Only supports gnome-terminal/konsole/xfce4-terminal!"); + return; + } + } + + public void OpenWithDefaultEditor(string file) + { + if (!File.Exists("/usr/bin/xdg-open")) + { + App.RaiseException("", $"You should install xdg-open first!"); + return; + } + + var proc = Process.Start("xdg-open", $"\"{file}\""); + proc.WaitForExit(); + + if (proc.ExitCode != 0) + { + App.RaiseException("", $"Failed to open \"{file}\""); + } + + proc.Close(); + } + } } \ No newline at end of file diff --git a/src/Native/MacOS.cs b/src/SourceGit/Native/MacOS.cs similarity index 100% rename from src/Native/MacOS.cs rename to src/SourceGit/Native/MacOS.cs diff --git a/src/Native/OS.cs b/src/SourceGit/Native/OS.cs similarity index 100% rename from src/Native/OS.cs rename to src/SourceGit/Native/OS.cs diff --git a/src/Native/Windows.cs b/src/SourceGit/Native/Windows.cs similarity index 100% rename from src/Native/Windows.cs rename to src/SourceGit/Native/Windows.cs diff --git a/src/Resources/Fonts/JetBrainsMono-Bold.ttf b/src/SourceGit/Resources/Fonts/JetBrainsMono-Bold.ttf similarity index 100% rename from src/Resources/Fonts/JetBrainsMono-Bold.ttf rename to src/SourceGit/Resources/Fonts/JetBrainsMono-Bold.ttf diff --git a/src/Resources/Fonts/JetBrainsMono-Italic.ttf b/src/SourceGit/Resources/Fonts/JetBrainsMono-Italic.ttf similarity index 100% rename from src/Resources/Fonts/JetBrainsMono-Italic.ttf rename to src/SourceGit/Resources/Fonts/JetBrainsMono-Italic.ttf diff --git a/src/Resources/Fonts/JetBrainsMono-Regular.ttf b/src/SourceGit/Resources/Fonts/JetBrainsMono-Regular.ttf similarity index 100% rename from src/Resources/Fonts/JetBrainsMono-Regular.ttf rename to src/SourceGit/Resources/Fonts/JetBrainsMono-Regular.ttf diff --git a/src/Resources/Icons.axaml b/src/SourceGit/Resources/Icons.axaml similarity index 99% rename from src/Resources/Icons.axaml rename to src/SourceGit/Resources/Icons.axaml index 9b81b71d..6aaef5f6 100644 --- a/src/Resources/Icons.axaml +++ b/src/SourceGit/Resources/Icons.axaml @@ -1,88 +1,88 @@ - - M0 0M1024 1024 M960 544H64a32 32 0 1 1 0-64h896a32 32 0 1 1 0 64 - M153 154h768v768h-768v-768zm64 64v640h640v-640h-640z - M256 128l0 192L64 320l0 576 704 0 0-192 192 0L960 128 256 128zM704 832 128 832 128 384l576 0L704 832zM896 640l-128 0L768 320 320 320 320 192l576 0L896 640z - M519 459 222 162a37 37 0 10-52 52l297 297L169 809a37 37 0 1052 52l297-297 297 297a37 37 0 1052-52l-297-297 297-297a37 37 0 10-52-52L519 459z - M1024 750v110c0 50-41 91-91 91h-841A92 92 0 010 859v-110C0 699 41 658 91 658h841c50 0 91 41 91 91z - M0 4 0 20 16 20 0 4M4 0 20 0 20 16 4 0z - M851 755q0 23-16 39l-78 78q-16 16-39 16t-39-16l-168-168-168 168q-16 16-39 16t-39-16l-78-78q-16-16-16-39t16-39l168-168-168-168q-16-16-16-39t16-39l78-78q16-16 39-16t39 16l168 168 168-168q16-16 39-16t39 16l78 78q16 16 16 39t-16 39l-168 168 168 168q16 16 16 39z - M30 0 30 30 0 15z - M0 0 0 30 30 15z - M192 192m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0ZM192 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0ZM192 832m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0ZM864 160H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32zM864 480H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32zM864 800H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32z - M512 945c-238 0-433-195-433-433S274 79 512 79c238 0 433 195 433 433S750 945 512 945M512 0C228 0 0 228 0 512s228 512 512 512 512-228 512-512-228-512-512-512zM752 477H364l128-128a38 38 0 000-55 38 38 0 00-55 0l-185 183a55 55 0 00-16 39c0 16 6 30 16 39l185 185a39 39 0 0028 12 34 34 0 0028-14 38 38 0 000-55l-128-128h386c22 0 41-18 41-39a39 39 0 00-39-39 - M1231 0v372H120V0zM1352 484v56H0v-56zM1147 939H205V737h942v203M1231 1024V652H120V1024z - M576 832C576 867 547 896 512 896 477 896 448 867 448 832 448 797 477 768 512 768 547 768 576 797 576 832ZM512 256C477 256 448 285 448 320L448 640C448 675 477 704 512 704 547 704 576 675 576 640L576 320C576 285 547 256 512 256ZM1024 896C1024 967 967 1024 896 1024L128 1024C57 1024 0 967 0 896 0 875 5 855 14 837L14 837 398 69 398 69C420 28 462 0 512 0 562 0 604 28 626 69L1008 835C1018 853 1024 874 1024 896ZM960 896C960 885 957 875 952 865L952 864 951 863 569 98C557 77 536 64 512 64 488 64 466 77 455 99L452 105 92 825 93 825 71 867C66 876 64 886 64 896 64 931 93 960 128 960L896 960C931 960 960 931 960 896Z - M352 64h320L960 352v320L672 960h-320L64 672v-320L352 64zm161 363L344 256 260 341 429 512l-169 171L344 768 513 597 682 768l85-85L598 512l169-171L682 256 513 427z - m186 532 287 0 0 287c0 11 9 20 20 20s20-9 20-20l0-287 287 0c11 0 20-9 20-20s-9-20-20-20l-287 0 0-287c0-11-9-20-20-20s-20 9-20 20l0 287-287 0c-11 0-20 9-20 20s9 20 20 20z - M716.3 383.1c0 38.4-6.5 76-19.4 111.8l-10.7 29.7 229.6 229.5c44.5 44.6 44.5 117.1 0 161.6a113.6 113.6 0 01-80.8 33.5a113.6 113.6 0 01-80.8-33.5L529 694l-32 13a331.6 331.6 0 01-111.9 19.4A333.5 333.5 0 0150 383.1c0-39 6.8-77.2 20-113.6L285 482l194-195-214-210A331 331 0 01383.1 50A333.5 333.5 0 01716.3 383.1zM231.6 31.6l-22.9 9.9a22.2 22.2 0 00-5.9 4.2a19.5 19.5 0 000 27.5l215 215.2L288.4 417.8 77.8 207.1a26 26 0 00-17.2-7.1a22.8 22.8 0 00-21.5 15a400.5 400.5 0 00-7.5 16.6A381.6 381.6 0 000 384c0 211.7 172.2 384 384 384c44.3 0 87.6-7.5 129-22.3L743.1 975.8A163.5 163.5 0 00859.5 1024c43.9 0 85.3-17.1 116.4-48.2a164.8 164.8 0 000-233L745.5 513C760.5 471.5 768 428 768 384C768 172 596 0 384 0c-53 0-104 10.5-152.5 31.5z - M928 500a21 21 0 00-19-20L858 472a11 11 0 01-9-9c-1-6-2-13-3-19a11 11 0 015-12l46-25a21 21 0 0010-26l-8-22a21 21 0 00-24-13l-51 10a11 11 0 01-12-6c-3-6-6-11-10-17a11 11 0 011-13l34-39a21 21 0 001-28l-15-18a20 20 0 00-27-4l-45 27a11 11 0 01-13-1c-5-4-10-9-15-12a11 11 0 01-3-12l19-49a21 21 0 00-9-26l-20-12a21 21 0 00-27 6L650 193a9 9 0 01-11 3c-1-1-12-5-20-7a11 11 0 01-7-10l1-52a21 21 0 00-17-22l-23-4a21 21 0 00-24 14L532 164a11 11 0 01-11 7h-20a11 11 0 01-11-7l-17-49a21 21 0 00-24-15l-23 4a21 21 0 00-17 22l1 52a11 11 0 01-8 11c-5 2-15 6-19 7c-4 1-8 0-12-4l-33-40A21 21 0 00313 146l-20 12A21 21 0 00285 184l19 49a11 11 0 01-3 12c-5 4-10 8-15 12a11 11 0 01-13 1L228 231a21 21 0 00-27 4L186 253a21 21 0 001 28L221 320a11 11 0 011 13c-3 5-7 11-10 17a11 11 0 01-12 6l-51-10a21 21 0 00-24 13l-8 22a21 21 0 0010 26l46 25a11 11 0 015 12l0 3c-1 6-2 11-3 16a11 11 0 01-9 9l-51 8A21 21 0 0096 500v23A21 21 0 00114 544l51 8a11 11 0 019 9c1 6 2 13 3 19a11 11 0 01-5 12l-46 25a21 21 0 00-10 26l8 22a21 21 0 0024 13l51-10a11 11 0 0112 6c3 6 6 11 10 17a11 11 0 01-1 13l-34 39a21 21 0 00-1 28l15 18a20 20 0 0027 4l45-27a11 11 0 0113 1c5 4 10 9 15 12a11 11 0 013 12l-19 49a21 21 0 009 26l20 12a21 21 0 0027-6L374 832c3-3 7-5 10-4c7 3 12 5 20 7a11 11 0 018 10l-1 52a21 21 0 0017 22l23 4a21 21 0 0024-14l17-50a11 11 0 0111-7h20a11 11 0 0111 7l17 49a21 21 0 0020 15a19 19 0 004 0l23-4a21 21 0 0017-22l-1-52a11 11 0 018-10c8-3 13-5 18-7l1 0c6-2 9 0 11 3l34 41A21 21 0 00710 878l20-12a21 21 0 009-26l-18-49a11 11 0 013-12c5-4 10-8 15-12a11 11 0 0113-1l45 27a21 21 0 0027-4l15-18a21 21 0 00-1-28l-34-39a11 11 0 01-1-13c3-5 7-11 10-17a11 11 0 0112-6l51 10a21 21 0 0024-13l8-22a21 21 0 00-10-26l-46-25a11 11 0 01-5-12l0-3c1-6 2-11 3-16a11 11 0 019-9l51-8a21 21 0 0018-21v-23zm-565 188a32 32 0 01-51 5a270 270 0 011-363a32 32 0 0151 6l91 161a32 32 0 010 31zM512 782a270 270 0 01-57-6a32 32 0 01-20-47l92-160a32 32 0 0127-16h184a32 32 0 0130 41c-35 109-137 188-257 188zm15-328L436 294a32 32 0 0121-47a268 268 0 0155-6c120 0 222 79 257 188a32 32 0 01-30 41h-184a32 32 0 01-28-16z - M512 0C229 0 0 229 0 512s229 512 512 512 512-229 512-512S795 0 512 0zM512 928c-230 0-416-186-416-416S282 96 512 96s416 186 416 416S742 928 512 928zM538 343c47 0 83-38 83-78 0-32-21-61-62-61-55 0-82 45-82 77C475 320 498 343 538 343zM533 729c-8 0-11-10-3-40l43-166c16-61 11-100-22-100-39 0-131 40-211 108l16 27c25-17 68-35 78-35 8 0 7 10 0 36l-38 158c-23 89 1 110 34 110 33 0 118-30 196-110l-19-25C575 717 543 729 533 729z - M702 677 590 565a148 148 0 10-25 27L676 703zm-346-200a115 115 0 11115 115A115 115 0 01355 478z - M512 57c251 0 455 204 455 455S763 967 512 967 57 763 57 512 261 57 512 57zm181 274c-11-11-29-11-40 0L512 472 371 331c-11-11-29-11-40 0-11 11-11 29 0 40L471 512 331 653c-11 11-11 29 0 40 11 11 29 11 40 0l141-141 141 141c11 11 29 11 40 0 11-11 11-29 0-40L552 512l141-141c11-11 11-29 0-40z - M899 870l-53-306H864c14 0 26-12 26-26V346c0-14-12-26-26-26H618V138c0-14-12-26-26-26H432c-14 0-26 12-26 26v182H160c-14 0-26 12-26 26v192c0 14 12 26 26 26h18l-53 306c0 2 0 3 0 4c0 14 12 26 26 26h723c2 0 3 0 4 0c14-2 24-16 21-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4-4-8-8-8h-48c-4 0-8 4-8 8v156H416V674c0-4-4-8-8-8h-48c-4 0-8 4-8 8v156H203l45-260H776l45 260H672z - M960 146v91C960 318 759 384 512 384S64 318 64 238V146C64 66 265 0 512 0s448 66 448 146zM960 352v206C960 638 759 704 512 704S64 638 64 558V352c96 66 272 97 448 97S864 418 960 352zm0 320v206C960 958 759 1024 512 1024S64 958 64 878V672c96 66 272 97 448 97S864 738 960 672z - M800 928l-512 0 0-704 224 0 0 292 113-86 111 86 0-292 128 0 0 640c0 35-29 64-64 64zM625 388l-81 64 0-260 160 0 0 260-79-64zM192 160l0 32c0 18 14 32 32 32l32 0 0 704-32 0c-35 0-64-29-64-64l0-704c0-35 29-64 64-64l576 0c24 0 44 13 55 32l-631 0c-18 0-32 14-32 32z - M64 864h896V288h-396a64 64 0 01-57-35L460 160H64v704zm-64 32V128a32 32 0 0132-32h448a32 32 0 0129 18L564 224H992a32 32 0 0132 32v640a32 32 0 01-32 32H32a32 32 0 01-32-32z - M1088 227H609L453 78a11 11 0 00-7-3H107a43 43 0 00-43 43v789a43 43 0 0043 43h981a43 43 0 0043-43V270a43 43 0 00-43-43zM757 599c0 5-5 9-10 9h-113v113c0 5-4 9-9 9h-56c-5 0-9-4-9-9V608h-113c-5 0-10-4-10-9V543c0-5 5-9 10-9h113V420c0-5 4-9 9-9h56c5 0 9 4 9 9V533h113c5 0 10 4 10 9v56z - M448 64l128 128h448v768H0V64z - M832 960l192-512H192L0 960zM128 384L0 960V128h288l128 128h416v128z - M959 320H960v640A64 64 0 01896 1024H192A64 64 0 01128 960V64A64 64 0 01192 0H640v321h320L959 320zM320 544c0 17 14 32 32 32h384A32 32 0 00768 544c0-17-14-32-32-32H352A32 32 0 00320 544zm0 128c0 17 14 32 32 32h384a32 32 0 0032-32c0-17-14-32-32-32H352a32 32 0 00-32 32zm0 128c0 17 14 32 32 32h384a32 32 0 0032-32c0-17-14-32-32-32H352a32 32 0 00-32 32z - M683 85l213 213v598a42 42 0 01-42 42H170A43 43 0 01128 896V128C128 104 147 85 170 85H683zm-213 384H341v85h128v128h85v-128h128v-85h-128V341h-85v128z - M896 320c0-19-6-32-19-45l-192-192c-13-13-26-19-45-19H192c-38 0-64 26-64 64v768c0 38 26 64 64 64h640c38 0 64-26 64-64V320zm-256 384H384c-19 0-32-13-32-32s13-32 32-32h256c19 0 32 13 32 32s-13 32-32 32zm166-384H640V128l192 192h-26z - M416 832H128V128h384v192C512 355 541 384 576 384L768 384v32c0 19 13 32 32 32S832 435 832 416v-64c0-6 0-19-6-25l-256-256c-6-6-19-6-25-6H128A64 64 0 0064 128v704C64 867 93 896 129 896h288c19 0 32-13 32-32S435 832 416 832zM576 172 722 320H576V172zM736 512C614 512 512 614 512 736S614 960 736 960s224-102 224-224S858 512 736 512zM576 736C576 646 646 576 736 576c32 0 58 6 83 26l-218 218c-19-26-26-51-26-83zm160 160c-32 0-64-13-96-32l224-224c19 26 32 58 32 96 0 90-70 160-160 160z - M71 1024V0h661L953 219V1024H71zm808-731-220-219H145V951h735V293zM439 512h-220V219h220V512zm-74-219H292v146h74v-146zm0 512h74v73h-220v-73H292v-146H218V585h147v219zm294-366h74V512H512v-73h74v-146H512V219h147v219zm74 439H512V585h220v293zm-74-219h-74v146h74v-146z - M1024 896v128H0V704h128v192h768V704h128v192zM576 555 811 320 896 405l-384 384-384-384L213 320 448 555V0h128v555z - M432 0h160c27 0 48 21 48 48v336h175c36 0 53 43 28 68L539 757c-15 15-40 15-55 0L180 452c-25-25-7-68 28-68H384V48c0-27 21-48 48-48zm592 752v224c0 27-21 48-48 48H48c-27 0-48-21-48-48V752c0-27 21-48 48-48h293l98 98c40 40 105 40 145 0l98-98H976c27 0 48 21 48 48zm-248 176c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40zm128 0c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40z - M592 768h-160c-27 0-48-21-48-48V384h-175c-36 0-53-43-28-68L485 11c15-15 40-15 55 0l304 304c25 25 7 68-28 68H640v336c0 27-21 48-48 48zm432-16v224c0 27-21 48-48 48H48c-27 0-48-21-48-48V752c0-27 21-48 48-48h272v16c0 62 50 112 112 112h160c62 0 112-50 112-112v-16h272c27 0 48 21 48 48zm-248 176c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40zm128 0c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40z - M961 320 512 577 63 320 512 62l449 258zM512 628 185 442 63 512 512 770 961 512l-123-70L512 628zM512 821 185 634 63 704 512 962l449-258L839 634 512 821z - M144 112h736c18 0 32 14 32 32v736c0 18-14 32-32 32H144c-18 0-32-14-32-32V144c0-18 14-32 32-32zm112 211v72a9 9 0 003 7L386 509 259 615a9 9 0 00-3 7v72a9 9 0 0015 7L493 516a9 9 0 000-14l-222-186a9 9 0 00-15 7zM522 624a10 10 0 00-10 10v60a10 10 0 0010 10h237a10 10 0 0010-10v-60a10 10 0 00-10-10H522z - M509 556l93 149h124l-80-79 49-50 165 164-165 163-49-50 79-79h-163l-96-153 41-65zm187-395 165 164-165 163-49-50L726 360H530l-136 224H140v-70h215l136-224h236l-80-79 49-50z - M683 409v204L1024 308 683 0v191c-413 0-427 526-427 526c117-229 203-307 427-307zm85 492H102V327h153s38-63 114-122H51c-28 0-51 27-51 61v697c0 34 23 61 51 61h768c28 0 51-27 51-61V614l-102 100v187z - M652 157a113 113 0 11156 161L731 395 572 236l80-80 1 1zM334 792v0H175v-159l358-358 159 159-358 358zM62 850h900v113H62v-113z - M853 256h-43v512h43c47 0 85-38 85-85v-341c0-47-38-85-85-85zM725 768V171h128V85h-341v85H640v85H171c-47 0-85 38-85 85v341c0 47 38 85 85 85h469V853h-128v85h341v-85H725v-86zm-469-171v-171h384v171H256z - M762 1024C876 818 895 504 448 514V768L64 384l384-384v248c535-14 595 472 314 776z - M854 307 611 73c-6-6-14-9-22-9H296c-4 0-8 4-8 8v56c0 4 4 8 8 8h277l219 211V824c0 4 4 8 8 8h56c4 0 8-4 8-8V330c0-9-4-17-10-23zM553 201c-6-6-14-9-23-9H192c-18 0-32 14-32 32v704c0 18 14 32 32 32h512c18 0 32-14 32-32V397c0-9-3-17-9-23L553 201zM568 753c0 4-3 7-8 7h-225c-4 0-8-3-8-7v-42c0-4 3-7 8-7h225c4 0 8 3 8 7v42zm0-220c0 4-3 7-8 7H476v85c0 4-3 7-7 7h-42c-4 0-7-3-7-7V540h-85c-4 0-8-3-8-7v-42c0-4 3-7 8-7H420v-85c0-4 3-7 7-7h42c4 0 7 3 7 7V484h85c4 0 8 3 8 7v42z - M797 829a49 49 0 1049 49 49 49 0 00-49-49zm147-114A49 49 0 10992 764a49 49 0 00-49-49zM928 861a49 49 0 1049 49A49 49 0 00928 861zm-5-586L992 205 851 64l-71 71a67 67 0 00-94 0l235 235a67 67 0 000-94zm-853 128a32 32 0 00-32 50 1291 1291 0 0075 112L288 552c20 0 25 21 8 37l-93 86a1282 1282 0 00120 114l100-32c19-6 28 15 14 34l-40 55c26 19 53 36 82 53a89 89 0 00115-20 1391 1391 0 00256-485l-188-188s-306 224-595 198z - M796 471A292 292 0 00512 256a293 293 0 00-284 215H0v144h228A293 293 0 00512 832a291 291 0 00284-217H1024V471h-228M512 688A146 146 0 01366 544A145 145 0 01512 400c80 0 146 63 146 144A146 146 0 01512 688 - M529 511c115 0 212 79 239 185h224a62 62 0 017 123l-7 0-224 0a247 247 0 01-479 0H65a62 62 0 01-7-123l7-0h224a247 247 0 01239-185zm0 124a124 124 0 100 247 124 124 0 000-247zm0-618c32 0 58 24 61 55l0 7V206c89 11 165 45 225 103a74 74 0 0122 45l0 9v87a62 62 0 01-123 7l-0-7v-65l-6-4c-43-33-97-51-163-53l-17-0c-74 0-133 18-180 54l-6 4v65a62 62 0 01-55 61l-7 0a62 62 0 01-61-55l-0-7V362c0-20 8-39 23-53 60-58 135-92 224-103V79c0-34 28-62 62-62z - M824 645V307c0-56-46-102-102-102h-102V102l-154 154 154 154V307h102v338c-46 20-82 67-82 123 0 72 61 133 133 133 72 0 133-61 133-133 0-56-36-102-82-123zm-51 195c-41 0-72-31-72-72s31-72 72-72c41 0 72 31 72 72s-31 72-72 72zM384 256c0-72-61-133-133-133-72 0-133 61-133 133 0 56 36 102 82 123v266C154 666 118 712 118 768c0 72 61 133 133 133 72 0 133-61 133-133 0-56-36-102-82-123V379C348 358 384 312 384 256zM323 768c0 41-31 72-72 72-41 0-72-31-72-72s31-72 72-72c41 0 72 31 72 72zM251 328c-41 0-72-31-72-72s31-72 72-72c41 0 72 31 72 72s-31 72-72 72z - M826 498 538 250c-11-9-26-1-26 14v496c0 15 16 23 26 14L826 526c8-7 8-21 0-28zm-320 0L218 250c-11-9-26-1-26 14v496c0 15 16 23 26 14L506 526c4-4 6-9 6-14 0-5-2-10-6-14z - M512 939C465 939 427 900 427 853 427 806 465 768 512 768 559 768 597 806 597 853 597 900 559 939 512 939M555 85 555 555 747 363 807 423 512 719 217 423 277 363 469 555 469 85 555 85Z - M883 567l-128-128c-17-17-43-17-60 0l-128 128c-17 17-17 43 0 60 17 17 43 17 60 0l55-55V683c0 21-21 43-43 43H418c-13-38-43-64-77-77V375c51-17 85-64 85-119 0-73-60-128-128-128-73 0-128 55-128 128 0 55 34 102 85 119v269c-51 17-85 64-85 119 0 73 55 128 128 128 55 0 102-34 119-85H640c73 0 128-55 128-128v-111l55 55c9 9 17 13 30 13 13 0 21-4 30-13 17-13 17-43 0-55zM299 213c26 0 43 17 43 43 0 21-21 43-43 43-26 0-43-21-43-43 0-26 17-43 43-43zm0 597c-26 0-43-21-43-43 0-26 17-43 43-43s43 17 43 43c0 21-17 43-43 43zM725 384c-73 0-128-60-128-128 0-73 55-128 128-128s128 55 128 128c0 68-55 128-128 128zm0-171c-26 0-43 17-43 43s17 43 43 43 43-17 43-43-17-43-43-43z - M277 85a149 149 0 00-43 292v230a32 32 0 0064 0V555h267A160 160 0 00725 395v-12a149 149 0 10-64-5v17a96 96 0 01-96 96H299V383A149 149 0 00277 85zM228 720a32 32 0 00-37-52 150 150 0 00-53 68 32 32 0 1060 23 85 85 0 0130-39zm136-52a32 32 0 00-37 52 86 86 0 0130 39 32 32 0 1060-23 149 149 0 00-53-68zM204 833a32 32 0 10-55 32 149 149 0 0063 58 32 32 0 0028-57 85 85 0 01-36-33zm202 32a32 32 0 00-55-32 85 85 0 01-36 33 32 32 0 0028 57 149 149 0 0063-58z - M0 586l404 119 498-410-386 441-2 251 155-205 279 83L1170 37z - M128 256h192a64 64 0 110 128H128a64 64 0 110-128zm576 192h192a64 64 0 010 128h-192a64 64 0 010-128zm-576 192h192a64 64 0 010 128H128a64 64 0 010-128zm576 0h192a64 64 0 010 128h-192a64 64 0 010-128zm0-384h192a64 64 0 010 128h-192a64 64 0 010-128zM128 448h192a64 64 0 110 128H128a64 64 0 110-128zm384-320a64 64 0 0164 64v640a64 64 0 01-128 0V192a64 64 0 0164-64z - M24 512A488 488 0 01512 24A488 488 0 011000 512A488 488 0 01512 1000A488 488 0 0124 512zm447-325v327L243 619l51 111 300-138V187H471z - M715 254h-405l-58 57h520zm-492 86v201h578V340zm405 143h-29v-29H425v29h-29v-57h231v57zm-405 295h578V559H223zm174-133h231v57h-29v-29H425v29h-29v-57z - M869 145a145 145 0 10-289 0c0 56 33 107 83 131c-5 96-77 128-201 175c-52 20-110 42-160 74V276A144 144 0 00242 0a145 145 0 00-145 145c0 58 35 108 84 131v461a144 144 0 00-84 131a145 145 0 10289 0a144 144 0 00-84-131c5-95 77-128 201-175c122-46 274-103 280-287a145 145 0 0085-132zM242 61a83 83 0 110 167a83 83 0 010-167zm0 891a84 84 0 110-167a84 84 0 010 167zM724 228a84 84 0 110-167a84 84 0 010 167z - M896 128h-64V64c0-35-29-64-64-64s-64 29-64 64v64h-64c-35 0-64 29-64 64s29 64 64 64h64v64c0 35 29 64 64 64s64-29 64-64V256h64c35 0 64-29 64-64s-29-64-64-64zm-204 307C673 481 628 512 576 512H448c-47 0-90 13-128 35V372C394 346 448 275 448 192c0-106-86-192-192-192S64 86 64 192c0 83 54 154 128 180v280c-74 26-128 97-128 180c0 106 86 192 192 192s192-86 192-192c0-67-34-125-84-159c22-20 52-33 84-33h128c122 0 223-85 249-199c-19 4-37 7-57 7c-26 0-51-5-76-13zM256 128c35 0 64 29 64 64s-29 64-64 64s-64-29-64-64s29-64 64-64zm0 768c-35 0-64-29-64-64s29-64 64-64s64 29 64 64s-29 64-64 64z - M902 479v-1c0-133-112-242-250-242c-106 0-196 64-232 154c-28-20-62-32-100-32c-76 0-140 49-160 116c-52 37-86 97-86 165c0 112 90 202 202 202h503c112 0 202-90 202-202c0-65-31-123-79-160z - M364 512h67v108h108v67h-108v108h-67v-108h-108v-67h108v-108zm298-64A107 107 0 01768 555C768 614 720 660 660 660h-108v-54h-108v-108h-94v108h-94c4-21 22-47 44-51l-1-12a75 75 0 0171-75a128 128 0 01239-7a106 106 0 0153-14z - M177 156c-22 5-33 17-36 37c-10 57-33 258-13 278l445 445c23 23 61 23 84 0l246-246c23-23 23-61 0-84l-445-445C437 120 231 145 177 156zM331 344c-26 26-69 26-95 0c-26-26-26-69 0-95s69-26 95 0C357 276 357 318 331 344z - M683 537h-144v-142h-142V283H239a44 44 0 00-41 41v171a56 56 0 0014 34l321 321a41 41 0 0058 0l174-174a41 41 0 000-58zm-341-109a41 41 0 110-58a41 41 0 010 58zM649 284V142h-69v142h-142v68h142v142h69v-142h142v-68h-142z - M557.7 545.3 789.9 402.7c24-15 31.3-46.5 16.4-70.5c-14.8-23.8-46-31.2-70-16.7L506.5 456.6 277.1 315.4c-24.1-14.8-55.6-7.3-70.5 16.8c-14.8 24.1-7.3 55.6 16.8 70.5l231.8 142.6V819.1c0 28.3 22.9 51.2 51.2 51.2c28.3 0 51.2-22.9 51.2-51.2V545.3h.1zM506.5 0l443.4 256v511.9L506.5 1023.9 63.1 767.9v-511.9L506.5 0z - M170 470l0 84 86 0 0-84-86 0zM86 598l0-172 852 0 0 172-852 0zM256 298l0-84-86 0 0 84 86 0zM86 170l852 0 0 172-852 0 0-172zM170 726l0 84 86 0 0-84-86 0zM86 854l0-172 852 0 0 172-852 0z - M812 864h-29V654c0-21-11-40-28-52l-133-88 134-89c18-12 28-31 28-52V164h28c18 0 32-14 32-32s-14-32-32-32H212c-18 0-32 14-32 32s14 32 32 32h30v210c0 21 11 40 28 52l133 88-134 89c-18 12-28 31-28 52V864H212c-18 0-32 14-32 32s14 32 32 32h600c18 0 32-14 32-32s-14-32-32-32zM441 566c18-12 28-31 28-52s-11-40-28-52L306 373V164h414v209l-136 90c-18 12-28 31-28 52 0 21 11 40 28 52l135 89V695c-9-7-20-13-32-19-30-15-93-41-176-41-63 0-125 14-175 38-12 6-22 12-31 18v-36l136-90z - M512 0C233 0 7 223 0 500C6 258 190 64 416 64c230 0 416 200 416 448c0 53 43 96 96 96s96-43 96-96c0-283-229-512-512-512zm0 1023c279 0 505-223 512-500c-6 242-190 436-416 436c-230 0-416-200-416-448c0-53-43-96-96-96s-96 43-96 96c0 283 229 512 512 512z - M888.8 0H135.2c-32.3 0-58.9 26.1-58.9 58.9v906.2c0 32.3 26.1 58.9 58.9 58.9h753.2c32.3 0 58.9-26.1 58.9-58.9v-906.2c.5-32.8-26.1-58.9-58.4-58.9zm-164.9 176.6c30.7 0 55.8 25.1 55.8 55.8s-25.1 55.8-55.8 55.8s-55.8-25.1-55.8-55.8s24.6-55.8 55.8-55.8zm-212 0c30.7 0 55.8 25.1 55.8 55.8S542.7 288.3 512 288.3s-55.8-25.1-55.8-55.8S481.3 176.6 512 176.6zm-212 0c30.7 0 55.8 25.1 55.8 55.8s-25.1 55.8-55.8 55.8s-55.8-25.1-55.8-55.8s25.1-55.8 55.8-55.8zm208.9 606.2H285.2c-24.6 0-44-20-44-44c0-24.6 20-44 44-44h223.7c24.6 0 44 20 44 44c0 24.1-19.5 44-44 44zm229.9-212H285.2c-24.6 0-44-20-44-44c0-24.6 20-44 44-44h453.1c24.6 0 44 20 44 44c.5 24.1-19.5 44-43.5 44z - M512 597m-1 0a1 1 0 103 0a1 1 0 10-3 0ZM810 393 732 315 448 600 293 444 214 522l156 156 78 78 362-362z - M0 33h1024v160H0zM0 432h1024v160H0zM0 831h1024v160H0z - M1024 610v-224H640v48H256V224h128V0H0v224h128v752h512v48h384V800H640v48H256V562h384v48z - M30 271l241 0 0-241-241 0 0 241zM392 271l241 0 0-241-241 0 0 241zM753 30l0 241 241 0 0-241-241 0zM30 632l241 0 0-241-241 0 0 241zM392 632l241 0 0-241-241 0 0 241zM753 632l241 0 0-241-241 0 0 241zM30 994l241 0 0-241-241 0 0 241zM392 994l241 0 0-241-241 0 0 241zM753 994l241 0 0-241-241 0 0 241z - M509 546l271-271 91 91-348 349-1-1-13 13-363-361 91-91z - M256 224l0 115L512 544l256-205 0-115-256 205L256 224zM512 685l-256-205L256 595 512 800 768 595l0-115L512 685z - M170 831l343-342L855 831l105-105-448-448L64 726 170 831z - M768 800V685L512 480 256 685V800l256-205L768 800zM512 339 768 544V429L512 224 256 429V544l256-205z - M599 425 599 657 425 832 425 425 192 192 832 192Z - M280 145l243 341 0-0 45 63-0 0 79 110a143 143 0 11-36 75l-88-123-92 126c1 4 1 9 1 13l0 5a143 143 0 11-36-95l82-113L221 188l60-43zm473 541a70 70 0 100 140 70 70 0 000-140zm-463 0a70 70 0 100 140 70 70 0 000-140zM772 145l59 43-232 319-45-63L772 145z - M896 811l-128 0c-23 0-43-19-43-43 0-23 19-43 43-43l107 0c13 0 21-9 21-21L896 107c0-13-9-21-21-21L448 85c-13 0-21 9-21 21l0 21c0 23-19 43-43 43-23 0-43-19-43-43L341 85c0-47 38-85 85-85l469 0c47 0 85 38 85 85l0 640C981 772 943 811 896 811zM683 299l0 640c0 47-38 85-85 85L128 1024c-47 0-85-38-85-85L43 299c0-47 38-85 85-85l469 0C644 213 683 252 683 299zM576 299 149 299c-13 0-21 9-21 21l0 597c0 13 9 21 21 21l427 0c13 0 21-9 21-21L597 320C597 307 589 299 576 299z - M544 85c49 0 90 37 95 85h75a96 96 0 0196 89L811 267a32 32 0 01-28 32L779 299a32 32 0 01-32-28L747 267a32 32 0 00-28-32L715 235h-91a96 96 0 01-80 42H395c-33 0-62-17-80-42L224 235a32 32 0 00-32 28L192 267v576c0 16 12 30 28 32l4 0h128a32 32 0 0132 28l0 4a32 32 0 01-32 32h-128a96 96 0 01-96-89L128 843V267a96 96 0 0189-96L224 171h75a96 96 0 0195-85h150zm256 256a96 96 0 0196 89l0 7v405a96 96 0 01-89 96L800 939h-277a96 96 0 01-96-89L427 843v-405a96 96 0 0189-96L523 341h277zm-256-192H395a32 32 0 000 64h150a32 32 0 100-64z - M293 122v244h439V146l171 175V829a73 73 0 01-73 73h-98V536H293v366H195a73 73 0 01-73-73V195a73 73 0 0173-73h98zm366 512v268H366V634h293zm-49 49h-195v73h195v-73zm49-561v171H366V122h293z - M520 168C291 168 95 311 16 512c79 201 275 344 504 344 229 0 425-143 504-344-79-201-275-344-504-344zm0 573c-126 0-229-103-229-229s103-229 229-229c126 0 229 103 229 229s-103 229-229 229zm0-367c-76 0-137 62-137 137s62 137 137 137S657 588 657 512s-62-137-137-137z - M734 128c-33-19-74-8-93 25l-41 70c-28-6-58-9-90-9-294 0-445 298-445 298s82 149 231 236l-31 54c-19 33-8 74 25 93 33 19 74 8 93-25L759 222C778 189 767 147 734 128zM305 512c0-115 93-208 207-208 14 0 27 1 40 4l-37 64c-1 0-2 0-2 0-77 0-140 63-140 140 0 26 7 51 20 71l-37 64C324 611 305 564 305 512zM771 301 700 423c13 27 20 57 20 89 0 110-84 200-192 208l-51 89c12 1 24 2 36 2 292 0 446-298 446-298S895 388 771 301z - M469 235V107h85v128h-85zm-162-94 85 85-60 60-85-85 60-60zm469 60-85 85-60-60 85-85 60 60zm-549 183A85 85 0 01302 341H722a85 85 0 0174 42l131 225A85 85 0 01939 652V832a85 85 0 01-85 85H171a85 85 0 01-85-85v-180a85 85 0 0112-43l131-225zM722 427H302l-100 171h255l10 29a59 59 0 002 5c2 4 5 9 9 14 8 9 18 17 34 17 16 0 26-7 34-17a72 72 0 0011-18l0-0 10-29h255l-100-171zM853 683H624a155 155 0 01-12 17C593 722 560 747 512 747c-48 0-81-25-99-47a155 155 0 01-12-17H171v149h683v-149z - M719 85 388 417l-209-165L87 299v427l92 47 210-164L720 939 939 850V171zM186 610V412l104 104zm526 55L514 512l198-153z - M296 912H120c-4.4 0-8-3.6-8-8V520c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v384c0 4.4-3.6 8-8 8zM600 912H424c-4.4 0-8-3.6-8-8V121c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v783c0 4.4-3.6 8-8 8zM904 912H728c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v624c0 4.4-3.6 8-8 8z - M512 0C229.216 0 0 229.216 0 512c0 282.752 229.216 512 512 512s512-229.248 512-512c0-282.784-229.216-512-512-512z m0 957.92C266.112 957.92 66.08 757.888 66.08 512S266.112 66.08 512 66.08 957.92 266.112 957.92 512 757.888 957.92 512 957.92zM192 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM384 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM576 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM832 320h-64a32 32 0 0 0-32 32v128h-160a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-192a32 32 0 0 0-32-32zM320 544v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h96a32 32 0 0 0 32-32zM384 576h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM800 640H256a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h544a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32z - M875 117H149C109 117 75 151 75 192v640c0 41 34 75 75 75h725c41 0 75-34 75-75V192c0-41-34-75-75-75zM139 832V192c0-6 4-11 11-11h331v661H149c-6 0-11-4-11-11zm747 0c0 6-4 11-11 11H544v-661H875c6 0 11 4 11 11v640z - + + M0 0M1024 1024 M960 544H64a32 32 0 1 1 0-64h896a32 32 0 1 1 0 64 + M153 154h768v768h-768v-768zm64 64v640h640v-640h-640z + M256 128l0 192L64 320l0 576 704 0 0-192 192 0L960 128 256 128zM704 832 128 832 128 384l576 0L704 832zM896 640l-128 0L768 320 320 320 320 192l576 0L896 640z + M519 459 222 162a37 37 0 10-52 52l297 297L169 809a37 37 0 1052 52l297-297 297 297a37 37 0 1052-52l-297-297 297-297a37 37 0 10-52-52L519 459z + M1024 750v110c0 50-41 91-91 91h-841A92 92 0 010 859v-110C0 699 41 658 91 658h841c50 0 91 41 91 91z + M0 4 0 20 16 20 0 4M4 0 20 0 20 16 4 0z + M851 755q0 23-16 39l-78 78q-16 16-39 16t-39-16l-168-168-168 168q-16 16-39 16t-39-16l-78-78q-16-16-16-39t16-39l168-168-168-168q-16-16-16-39t16-39l78-78q16-16 39-16t39 16l168 168 168-168q16-16 39-16t39 16l78 78q16 16 16 39t-16 39l-168 168 168 168q16 16 16 39z + M30 0 30 30 0 15z + M0 0 0 30 30 15z + M192 192m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0ZM192 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0ZM192 832m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0ZM864 160H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32zM864 480H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32zM864 800H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32z + M512 945c-238 0-433-195-433-433S274 79 512 79c238 0 433 195 433 433S750 945 512 945M512 0C228 0 0 228 0 512s228 512 512 512 512-228 512-512-228-512-512-512zM752 477H364l128-128a38 38 0 000-55 38 38 0 00-55 0l-185 183a55 55 0 00-16 39c0 16 6 30 16 39l185 185a39 39 0 0028 12 34 34 0 0028-14 38 38 0 000-55l-128-128h386c22 0 41-18 41-39a39 39 0 00-39-39 + M1231 0v372H120V0zM1352 484v56H0v-56zM1147 939H205V737h942v203M1231 1024V652H120V1024z + M576 832C576 867 547 896 512 896 477 896 448 867 448 832 448 797 477 768 512 768 547 768 576 797 576 832ZM512 256C477 256 448 285 448 320L448 640C448 675 477 704 512 704 547 704 576 675 576 640L576 320C576 285 547 256 512 256ZM1024 896C1024 967 967 1024 896 1024L128 1024C57 1024 0 967 0 896 0 875 5 855 14 837L14 837 398 69 398 69C420 28 462 0 512 0 562 0 604 28 626 69L1008 835C1018 853 1024 874 1024 896ZM960 896C960 885 957 875 952 865L952 864 951 863 569 98C557 77 536 64 512 64 488 64 466 77 455 99L452 105 92 825 93 825 71 867C66 876 64 886 64 896 64 931 93 960 128 960L896 960C931 960 960 931 960 896Z + M352 64h320L960 352v320L672 960h-320L64 672v-320L352 64zm161 363L344 256 260 341 429 512l-169 171L344 768 513 597 682 768l85-85L598 512l169-171L682 256 513 427z + m186 532 287 0 0 287c0 11 9 20 20 20s20-9 20-20l0-287 287 0c11 0 20-9 20-20s-9-20-20-20l-287 0 0-287c0-11-9-20-20-20s-20 9-20 20l0 287-287 0c-11 0-20 9-20 20s9 20 20 20z + M716.3 383.1c0 38.4-6.5 76-19.4 111.8l-10.7 29.7 229.6 229.5c44.5 44.6 44.5 117.1 0 161.6a113.6 113.6 0 01-80.8 33.5a113.6 113.6 0 01-80.8-33.5L529 694l-32 13a331.6 331.6 0 01-111.9 19.4A333.5 333.5 0 0150 383.1c0-39 6.8-77.2 20-113.6L285 482l194-195-214-210A331 331 0 01383.1 50A333.5 333.5 0 01716.3 383.1zM231.6 31.6l-22.9 9.9a22.2 22.2 0 00-5.9 4.2a19.5 19.5 0 000 27.5l215 215.2L288.4 417.8 77.8 207.1a26 26 0 00-17.2-7.1a22.8 22.8 0 00-21.5 15a400.5 400.5 0 00-7.5 16.6A381.6 381.6 0 000 384c0 211.7 172.2 384 384 384c44.3 0 87.6-7.5 129-22.3L743.1 975.8A163.5 163.5 0 00859.5 1024c43.9 0 85.3-17.1 116.4-48.2a164.8 164.8 0 000-233L745.5 513C760.5 471.5 768 428 768 384C768 172 596 0 384 0c-53 0-104 10.5-152.5 31.5z + M928 500a21 21 0 00-19-20L858 472a11 11 0 01-9-9c-1-6-2-13-3-19a11 11 0 015-12l46-25a21 21 0 0010-26l-8-22a21 21 0 00-24-13l-51 10a11 11 0 01-12-6c-3-6-6-11-10-17a11 11 0 011-13l34-39a21 21 0 001-28l-15-18a20 20 0 00-27-4l-45 27a11 11 0 01-13-1c-5-4-10-9-15-12a11 11 0 01-3-12l19-49a21 21 0 00-9-26l-20-12a21 21 0 00-27 6L650 193a9 9 0 01-11 3c-1-1-12-5-20-7a11 11 0 01-7-10l1-52a21 21 0 00-17-22l-23-4a21 21 0 00-24 14L532 164a11 11 0 01-11 7h-20a11 11 0 01-11-7l-17-49a21 21 0 00-24-15l-23 4a21 21 0 00-17 22l1 52a11 11 0 01-8 11c-5 2-15 6-19 7c-4 1-8 0-12-4l-33-40A21 21 0 00313 146l-20 12A21 21 0 00285 184l19 49a11 11 0 01-3 12c-5 4-10 8-15 12a11 11 0 01-13 1L228 231a21 21 0 00-27 4L186 253a21 21 0 001 28L221 320a11 11 0 011 13c-3 5-7 11-10 17a11 11 0 01-12 6l-51-10a21 21 0 00-24 13l-8 22a21 21 0 0010 26l46 25a11 11 0 015 12l0 3c-1 6-2 11-3 16a11 11 0 01-9 9l-51 8A21 21 0 0096 500v23A21 21 0 00114 544l51 8a11 11 0 019 9c1 6 2 13 3 19a11 11 0 01-5 12l-46 25a21 21 0 00-10 26l8 22a21 21 0 0024 13l51-10a11 11 0 0112 6c3 6 6 11 10 17a11 11 0 01-1 13l-34 39a21 21 0 00-1 28l15 18a20 20 0 0027 4l45-27a11 11 0 0113 1c5 4 10 9 15 12a11 11 0 013 12l-19 49a21 21 0 009 26l20 12a21 21 0 0027-6L374 832c3-3 7-5 10-4c7 3 12 5 20 7a11 11 0 018 10l-1 52a21 21 0 0017 22l23 4a21 21 0 0024-14l17-50a11 11 0 0111-7h20a11 11 0 0111 7l17 49a21 21 0 0020 15a19 19 0 004 0l23-4a21 21 0 0017-22l-1-52a11 11 0 018-10c8-3 13-5 18-7l1 0c6-2 9 0 11 3l34 41A21 21 0 00710 878l20-12a21 21 0 009-26l-18-49a11 11 0 013-12c5-4 10-8 15-12a11 11 0 0113-1l45 27a21 21 0 0027-4l15-18a21 21 0 00-1-28l-34-39a11 11 0 01-1-13c3-5 7-11 10-17a11 11 0 0112-6l51 10a21 21 0 0024-13l8-22a21 21 0 00-10-26l-46-25a11 11 0 01-5-12l0-3c1-6 2-11 3-16a11 11 0 019-9l51-8a21 21 0 0018-21v-23zm-565 188a32 32 0 01-51 5a270 270 0 011-363a32 32 0 0151 6l91 161a32 32 0 010 31zM512 782a270 270 0 01-57-6a32 32 0 01-20-47l92-160a32 32 0 0127-16h184a32 32 0 0130 41c-35 109-137 188-257 188zm15-328L436 294a32 32 0 0121-47a268 268 0 0155-6c120 0 222 79 257 188a32 32 0 01-30 41h-184a32 32 0 01-28-16z + M512 0C229 0 0 229 0 512s229 512 512 512 512-229 512-512S795 0 512 0zM512 928c-230 0-416-186-416-416S282 96 512 96s416 186 416 416S742 928 512 928zM538 343c47 0 83-38 83-78 0-32-21-61-62-61-55 0-82 45-82 77C475 320 498 343 538 343zM533 729c-8 0-11-10-3-40l43-166c16-61 11-100-22-100-39 0-131 40-211 108l16 27c25-17 68-35 78-35 8 0 7 10 0 36l-38 158c-23 89 1 110 34 110 33 0 118-30 196-110l-19-25C575 717 543 729 533 729z + M702 677 590 565a148 148 0 10-25 27L676 703zm-346-200a115 115 0 11115 115A115 115 0 01355 478z + M512 57c251 0 455 204 455 455S763 967 512 967 57 763 57 512 261 57 512 57zm181 274c-11-11-29-11-40 0L512 472 371 331c-11-11-29-11-40 0-11 11-11 29 0 40L471 512 331 653c-11 11-11 29 0 40 11 11 29 11 40 0l141-141 141 141c11 11 29 11 40 0 11-11 11-29 0-40L552 512l141-141c11-11 11-29 0-40z + M899 870l-53-306H864c14 0 26-12 26-26V346c0-14-12-26-26-26H618V138c0-14-12-26-26-26H432c-14 0-26 12-26 26v182H160c-14 0-26 12-26 26v192c0 14 12 26 26 26h18l-53 306c0 2 0 3 0 4c0 14 12 26 26 26h723c2 0 3 0 4 0c14-2 24-16 21-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4-4-8-8-8h-48c-4 0-8 4-8 8v156H416V674c0-4-4-8-8-8h-48c-4 0-8 4-8 8v156H203l45-260H776l45 260H672z + M960 146v91C960 318 759 384 512 384S64 318 64 238V146C64 66 265 0 512 0s448 66 448 146zM960 352v206C960 638 759 704 512 704S64 638 64 558V352c96 66 272 97 448 97S864 418 960 352zm0 320v206C960 958 759 1024 512 1024S64 958 64 878V672c96 66 272 97 448 97S864 738 960 672z + M800 928l-512 0 0-704 224 0 0 292 113-86 111 86 0-292 128 0 0 640c0 35-29 64-64 64zM625 388l-81 64 0-260 160 0 0 260-79-64zM192 160l0 32c0 18 14 32 32 32l32 0 0 704-32 0c-35 0-64-29-64-64l0-704c0-35 29-64 64-64l576 0c24 0 44 13 55 32l-631 0c-18 0-32 14-32 32z + M64 864h896V288h-396a64 64 0 01-57-35L460 160H64v704zm-64 32V128a32 32 0 0132-32h448a32 32 0 0129 18L564 224H992a32 32 0 0132 32v640a32 32 0 01-32 32H32a32 32 0 01-32-32z + M1088 227H609L453 78a11 11 0 00-7-3H107a43 43 0 00-43 43v789a43 43 0 0043 43h981a43 43 0 0043-43V270a43 43 0 00-43-43zM757 599c0 5-5 9-10 9h-113v113c0 5-4 9-9 9h-56c-5 0-9-4-9-9V608h-113c-5 0-10-4-10-9V543c0-5 5-9 10-9h113V420c0-5 4-9 9-9h56c5 0 9 4 9 9V533h113c5 0 10 4 10 9v56z + M448 64l128 128h448v768H0V64z + M832 960l192-512H192L0 960zM128 384L0 960V128h288l128 128h416v128z + M959 320H960v640A64 64 0 01896 1024H192A64 64 0 01128 960V64A64 64 0 01192 0H640v321h320L959 320zM320 544c0 17 14 32 32 32h384A32 32 0 00768 544c0-17-14-32-32-32H352A32 32 0 00320 544zm0 128c0 17 14 32 32 32h384a32 32 0 0032-32c0-17-14-32-32-32H352a32 32 0 00-32 32zm0 128c0 17 14 32 32 32h384a32 32 0 0032-32c0-17-14-32-32-32H352a32 32 0 00-32 32z + M683 85l213 213v598a42 42 0 01-42 42H170A43 43 0 01128 896V128C128 104 147 85 170 85H683zm-213 384H341v85h128v128h85v-128h128v-85h-128V341h-85v128z + M896 320c0-19-6-32-19-45l-192-192c-13-13-26-19-45-19H192c-38 0-64 26-64 64v768c0 38 26 64 64 64h640c38 0 64-26 64-64V320zm-256 384H384c-19 0-32-13-32-32s13-32 32-32h256c19 0 32 13 32 32s-13 32-32 32zm166-384H640V128l192 192h-26z + M416 832H128V128h384v192C512 355 541 384 576 384L768 384v32c0 19 13 32 32 32S832 435 832 416v-64c0-6 0-19-6-25l-256-256c-6-6-19-6-25-6H128A64 64 0 0064 128v704C64 867 93 896 129 896h288c19 0 32-13 32-32S435 832 416 832zM576 172 722 320H576V172zM736 512C614 512 512 614 512 736S614 960 736 960s224-102 224-224S858 512 736 512zM576 736C576 646 646 576 736 576c32 0 58 6 83 26l-218 218c-19-26-26-51-26-83zm160 160c-32 0-64-13-96-32l224-224c19 26 32 58 32 96 0 90-70 160-160 160z + M71 1024V0h661L953 219V1024H71zm808-731-220-219H145V951h735V293zM439 512h-220V219h220V512zm-74-219H292v146h74v-146zm0 512h74v73h-220v-73H292v-146H218V585h147v219zm294-366h74V512H512v-73h74v-146H512V219h147v219zm74 439H512V585h220v293zm-74-219h-74v146h74v-146z + M1024 896v128H0V704h128v192h768V704h128v192zM576 555 811 320 896 405l-384 384-384-384L213 320 448 555V0h128v555z + M432 0h160c27 0 48 21 48 48v336h175c36 0 53 43 28 68L539 757c-15 15-40 15-55 0L180 452c-25-25-7-68 28-68H384V48c0-27 21-48 48-48zm592 752v224c0 27-21 48-48 48H48c-27 0-48-21-48-48V752c0-27 21-48 48-48h293l98 98c40 40 105 40 145 0l98-98H976c27 0 48 21 48 48zm-248 176c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40zm128 0c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40z + M592 768h-160c-27 0-48-21-48-48V384h-175c-36 0-53-43-28-68L485 11c15-15 40-15 55 0l304 304c25 25 7 68-28 68H640v336c0 27-21 48-48 48zm432-16v224c0 27-21 48-48 48H48c-27 0-48-21-48-48V752c0-27 21-48 48-48h272v16c0 62 50 112 112 112h160c62 0 112-50 112-112v-16h272c27 0 48 21 48 48zm-248 176c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40zm128 0c0-22-18-40-40-40s-40 18-40 40s18 40 40 40s40-18 40-40z + M961 320 512 577 63 320 512 62l449 258zM512 628 185 442 63 512 512 770 961 512l-123-70L512 628zM512 821 185 634 63 704 512 962l449-258L839 634 512 821z + M144 112h736c18 0 32 14 32 32v736c0 18-14 32-32 32H144c-18 0-32-14-32-32V144c0-18 14-32 32-32zm112 211v72a9 9 0 003 7L386 509 259 615a9 9 0 00-3 7v72a9 9 0 0015 7L493 516a9 9 0 000-14l-222-186a9 9 0 00-15 7zM522 624a10 10 0 00-10 10v60a10 10 0 0010 10h237a10 10 0 0010-10v-60a10 10 0 00-10-10H522z + M509 556l93 149h124l-80-79 49-50 165 164-165 163-49-50 79-79h-163l-96-153 41-65zm187-395 165 164-165 163-49-50L726 360H530l-136 224H140v-70h215l136-224h236l-80-79 49-50z + M683 409v204L1024 308 683 0v191c-413 0-427 526-427 526c117-229 203-307 427-307zm85 492H102V327h153s38-63 114-122H51c-28 0-51 27-51 61v697c0 34 23 61 51 61h768c28 0 51-27 51-61V614l-102 100v187z + M652 157a113 113 0 11156 161L731 395 572 236l80-80 1 1zM334 792v0H175v-159l358-358 159 159-358 358zM62 850h900v113H62v-113z + M853 256h-43v512h43c47 0 85-38 85-85v-341c0-47-38-85-85-85zM725 768V171h128V85h-341v85H640v85H171c-47 0-85 38-85 85v341c0 47 38 85 85 85h469V853h-128v85h341v-85H725v-86zm-469-171v-171h384v171H256z + M762 1024C876 818 895 504 448 514V768L64 384l384-384v248c535-14 595 472 314 776z + M854 307 611 73c-6-6-14-9-22-9H296c-4 0-8 4-8 8v56c0 4 4 8 8 8h277l219 211V824c0 4 4 8 8 8h56c4 0 8-4 8-8V330c0-9-4-17-10-23zM553 201c-6-6-14-9-23-9H192c-18 0-32 14-32 32v704c0 18 14 32 32 32h512c18 0 32-14 32-32V397c0-9-3-17-9-23L553 201zM568 753c0 4-3 7-8 7h-225c-4 0-8-3-8-7v-42c0-4 3-7 8-7h225c4 0 8 3 8 7v42zm0-220c0 4-3 7-8 7H476v85c0 4-3 7-7 7h-42c-4 0-7-3-7-7V540h-85c-4 0-8-3-8-7v-42c0-4 3-7 8-7H420v-85c0-4 3-7 7-7h42c4 0 7 3 7 7V484h85c4 0 8 3 8 7v42z + M797 829a49 49 0 1049 49 49 49 0 00-49-49zm147-114A49 49 0 10992 764a49 49 0 00-49-49zM928 861a49 49 0 1049 49A49 49 0 00928 861zm-5-586L992 205 851 64l-71 71a67 67 0 00-94 0l235 235a67 67 0 000-94zm-853 128a32 32 0 00-32 50 1291 1291 0 0075 112L288 552c20 0 25 21 8 37l-93 86a1282 1282 0 00120 114l100-32c19-6 28 15 14 34l-40 55c26 19 53 36 82 53a89 89 0 00115-20 1391 1391 0 00256-485l-188-188s-306 224-595 198z + M796 471A292 292 0 00512 256a293 293 0 00-284 215H0v144h228A293 293 0 00512 832a291 291 0 00284-217H1024V471h-228M512 688A146 146 0 01366 544A145 145 0 01512 400c80 0 146 63 146 144A146 146 0 01512 688 + M529 511c115 0 212 79 239 185h224a62 62 0 017 123l-7 0-224 0a247 247 0 01-479 0H65a62 62 0 01-7-123l7-0h224a247 247 0 01239-185zm0 124a124 124 0 100 247 124 124 0 000-247zm0-618c32 0 58 24 61 55l0 7V206c89 11 165 45 225 103a74 74 0 0122 45l0 9v87a62 62 0 01-123 7l-0-7v-65l-6-4c-43-33-97-51-163-53l-17-0c-74 0-133 18-180 54l-6 4v65a62 62 0 01-55 61l-7 0a62 62 0 01-61-55l-0-7V362c0-20 8-39 23-53 60-58 135-92 224-103V79c0-34 28-62 62-62z + M824 645V307c0-56-46-102-102-102h-102V102l-154 154 154 154V307h102v338c-46 20-82 67-82 123 0 72 61 133 133 133 72 0 133-61 133-133 0-56-36-102-82-123zm-51 195c-41 0-72-31-72-72s31-72 72-72c41 0 72 31 72 72s-31 72-72 72zM384 256c0-72-61-133-133-133-72 0-133 61-133 133 0 56 36 102 82 123v266C154 666 118 712 118 768c0 72 61 133 133 133 72 0 133-61 133-133 0-56-36-102-82-123V379C348 358 384 312 384 256zM323 768c0 41-31 72-72 72-41 0-72-31-72-72s31-72 72-72c41 0 72 31 72 72zM251 328c-41 0-72-31-72-72s31-72 72-72c41 0 72 31 72 72s-31 72-72 72z + M826 498 538 250c-11-9-26-1-26 14v496c0 15 16 23 26 14L826 526c8-7 8-21 0-28zm-320 0L218 250c-11-9-26-1-26 14v496c0 15 16 23 26 14L506 526c4-4 6-9 6-14 0-5-2-10-6-14z + M512 939C465 939 427 900 427 853 427 806 465 768 512 768 559 768 597 806 597 853 597 900 559 939 512 939M555 85 555 555 747 363 807 423 512 719 217 423 277 363 469 555 469 85 555 85Z + M883 567l-128-128c-17-17-43-17-60 0l-128 128c-17 17-17 43 0 60 17 17 43 17 60 0l55-55V683c0 21-21 43-43 43H418c-13-38-43-64-77-77V375c51-17 85-64 85-119 0-73-60-128-128-128-73 0-128 55-128 128 0 55 34 102 85 119v269c-51 17-85 64-85 119 0 73 55 128 128 128 55 0 102-34 119-85H640c73 0 128-55 128-128v-111l55 55c9 9 17 13 30 13 13 0 21-4 30-13 17-13 17-43 0-55zM299 213c26 0 43 17 43 43 0 21-21 43-43 43-26 0-43-21-43-43 0-26 17-43 43-43zm0 597c-26 0-43-21-43-43 0-26 17-43 43-43s43 17 43 43c0 21-17 43-43 43zM725 384c-73 0-128-60-128-128 0-73 55-128 128-128s128 55 128 128c0 68-55 128-128 128zm0-171c-26 0-43 17-43 43s17 43 43 43 43-17 43-43-17-43-43-43z + M277 85a149 149 0 00-43 292v230a32 32 0 0064 0V555h267A160 160 0 00725 395v-12a149 149 0 10-64-5v17a96 96 0 01-96 96H299V383A149 149 0 00277 85zM228 720a32 32 0 00-37-52 150 150 0 00-53 68 32 32 0 1060 23 85 85 0 0130-39zm136-52a32 32 0 00-37 52 86 86 0 0130 39 32 32 0 1060-23 149 149 0 00-53-68zM204 833a32 32 0 10-55 32 149 149 0 0063 58 32 32 0 0028-57 85 85 0 01-36-33zm202 32a32 32 0 00-55-32 85 85 0 01-36 33 32 32 0 0028 57 149 149 0 0063-58z + M0 586l404 119 498-410-386 441-2 251 155-205 279 83L1170 37z + M128 256h192a64 64 0 110 128H128a64 64 0 110-128zm576 192h192a64 64 0 010 128h-192a64 64 0 010-128zm-576 192h192a64 64 0 010 128H128a64 64 0 010-128zm576 0h192a64 64 0 010 128h-192a64 64 0 010-128zm0-384h192a64 64 0 010 128h-192a64 64 0 010-128zM128 448h192a64 64 0 110 128H128a64 64 0 110-128zm384-320a64 64 0 0164 64v640a64 64 0 01-128 0V192a64 64 0 0164-64z + M24 512A488 488 0 01512 24A488 488 0 011000 512A488 488 0 01512 1000A488 488 0 0124 512zm447-325v327L243 619l51 111 300-138V187H471z + M715 254h-405l-58 57h520zm-492 86v201h578V340zm405 143h-29v-29H425v29h-29v-57h231v57zm-405 295h578V559H223zm174-133h231v57h-29v-29H425v29h-29v-57z + M869 145a145 145 0 10-289 0c0 56 33 107 83 131c-5 96-77 128-201 175c-52 20-110 42-160 74V276A144 144 0 00242 0a145 145 0 00-145 145c0 58 35 108 84 131v461a144 144 0 00-84 131a145 145 0 10289 0a144 144 0 00-84-131c5-95 77-128 201-175c122-46 274-103 280-287a145 145 0 0085-132zM242 61a83 83 0 110 167a83 83 0 010-167zm0 891a84 84 0 110-167a84 84 0 010 167zM724 228a84 84 0 110-167a84 84 0 010 167z + M896 128h-64V64c0-35-29-64-64-64s-64 29-64 64v64h-64c-35 0-64 29-64 64s29 64 64 64h64v64c0 35 29 64 64 64s64-29 64-64V256h64c35 0 64-29 64-64s-29-64-64-64zm-204 307C673 481 628 512 576 512H448c-47 0-90 13-128 35V372C394 346 448 275 448 192c0-106-86-192-192-192S64 86 64 192c0 83 54 154 128 180v280c-74 26-128 97-128 180c0 106 86 192 192 192s192-86 192-192c0-67-34-125-84-159c22-20 52-33 84-33h128c122 0 223-85 249-199c-19 4-37 7-57 7c-26 0-51-5-76-13zM256 128c35 0 64 29 64 64s-29 64-64 64s-64-29-64-64s29-64 64-64zm0 768c-35 0-64-29-64-64s29-64 64-64s64 29 64 64s-29 64-64 64z + M902 479v-1c0-133-112-242-250-242c-106 0-196 64-232 154c-28-20-62-32-100-32c-76 0-140 49-160 116c-52 37-86 97-86 165c0 112 90 202 202 202h503c112 0 202-90 202-202c0-65-31-123-79-160z + M364 512h67v108h108v67h-108v108h-67v-108h-108v-67h108v-108zm298-64A107 107 0 01768 555C768 614 720 660 660 660h-108v-54h-108v-108h-94v108h-94c4-21 22-47 44-51l-1-12a75 75 0 0171-75a128 128 0 01239-7a106 106 0 0153-14z + M177 156c-22 5-33 17-36 37c-10 57-33 258-13 278l445 445c23 23 61 23 84 0l246-246c23-23 23-61 0-84l-445-445C437 120 231 145 177 156zM331 344c-26 26-69 26-95 0c-26-26-26-69 0-95s69-26 95 0C357 276 357 318 331 344z + M683 537h-144v-142h-142V283H239a44 44 0 00-41 41v171a56 56 0 0014 34l321 321a41 41 0 0058 0l174-174a41 41 0 000-58zm-341-109a41 41 0 110-58a41 41 0 010 58zM649 284V142h-69v142h-142v68h142v142h69v-142h142v-68h-142z + M557.7 545.3 789.9 402.7c24-15 31.3-46.5 16.4-70.5c-14.8-23.8-46-31.2-70-16.7L506.5 456.6 277.1 315.4c-24.1-14.8-55.6-7.3-70.5 16.8c-14.8 24.1-7.3 55.6 16.8 70.5l231.8 142.6V819.1c0 28.3 22.9 51.2 51.2 51.2c28.3 0 51.2-22.9 51.2-51.2V545.3h.1zM506.5 0l443.4 256v511.9L506.5 1023.9 63.1 767.9v-511.9L506.5 0z + M170 470l0 84 86 0 0-84-86 0zM86 598l0-172 852 0 0 172-852 0zM256 298l0-84-86 0 0 84 86 0zM86 170l852 0 0 172-852 0 0-172zM170 726l0 84 86 0 0-84-86 0zM86 854l0-172 852 0 0 172-852 0z + M812 864h-29V654c0-21-11-40-28-52l-133-88 134-89c18-12 28-31 28-52V164h28c18 0 32-14 32-32s-14-32-32-32H212c-18 0-32 14-32 32s14 32 32 32h30v210c0 21 11 40 28 52l133 88-134 89c-18 12-28 31-28 52V864H212c-18 0-32 14-32 32s14 32 32 32h600c18 0 32-14 32-32s-14-32-32-32zM441 566c18-12 28-31 28-52s-11-40-28-52L306 373V164h414v209l-136 90c-18 12-28 31-28 52 0 21 11 40 28 52l135 89V695c-9-7-20-13-32-19-30-15-93-41-176-41-63 0-125 14-175 38-12 6-22 12-31 18v-36l136-90z + M512 0C233 0 7 223 0 500C6 258 190 64 416 64c230 0 416 200 416 448c0 53 43 96 96 96s96-43 96-96c0-283-229-512-512-512zm0 1023c279 0 505-223 512-500c-6 242-190 436-416 436c-230 0-416-200-416-448c0-53-43-96-96-96s-96 43-96 96c0 283 229 512 512 512z + M888.8 0H135.2c-32.3 0-58.9 26.1-58.9 58.9v906.2c0 32.3 26.1 58.9 58.9 58.9h753.2c32.3 0 58.9-26.1 58.9-58.9v-906.2c.5-32.8-26.1-58.9-58.4-58.9zm-164.9 176.6c30.7 0 55.8 25.1 55.8 55.8s-25.1 55.8-55.8 55.8s-55.8-25.1-55.8-55.8s24.6-55.8 55.8-55.8zm-212 0c30.7 0 55.8 25.1 55.8 55.8S542.7 288.3 512 288.3s-55.8-25.1-55.8-55.8S481.3 176.6 512 176.6zm-212 0c30.7 0 55.8 25.1 55.8 55.8s-25.1 55.8-55.8 55.8s-55.8-25.1-55.8-55.8s25.1-55.8 55.8-55.8zm208.9 606.2H285.2c-24.6 0-44-20-44-44c0-24.6 20-44 44-44h223.7c24.6 0 44 20 44 44c0 24.1-19.5 44-44 44zm229.9-212H285.2c-24.6 0-44-20-44-44c0-24.6 20-44 44-44h453.1c24.6 0 44 20 44 44c.5 24.1-19.5 44-43.5 44z + M512 597m-1 0a1 1 0 103 0a1 1 0 10-3 0ZM810 393 732 315 448 600 293 444 214 522l156 156 78 78 362-362z + M0 33h1024v160H0zM0 432h1024v160H0zM0 831h1024v160H0z + M1024 610v-224H640v48H256V224h128V0H0v224h128v752h512v48h384V800H640v48H256V562h384v48z + M30 271l241 0 0-241-241 0 0 241zM392 271l241 0 0-241-241 0 0 241zM753 30l0 241 241 0 0-241-241 0zM30 632l241 0 0-241-241 0 0 241zM392 632l241 0 0-241-241 0 0 241zM753 632l241 0 0-241-241 0 0 241zM30 994l241 0 0-241-241 0 0 241zM392 994l241 0 0-241-241 0 0 241zM753 994l241 0 0-241-241 0 0 241z + M509 546l271-271 91 91-348 349-1-1-13 13-363-361 91-91z + M256 224l0 115L512 544l256-205 0-115-256 205L256 224zM512 685l-256-205L256 595 512 800 768 595l0-115L512 685z + M170 831l343-342L855 831l105-105-448-448L64 726 170 831z + M768 800V685L512 480 256 685V800l256-205L768 800zM512 339 768 544V429L512 224 256 429V544l256-205z + M599 425 599 657 425 832 425 425 192 192 832 192Z + M280 145l243 341 0-0 45 63-0 0 79 110a143 143 0 11-36 75l-88-123-92 126c1 4 1 9 1 13l0 5a143 143 0 11-36-95l82-113L221 188l60-43zm473 541a70 70 0 100 140 70 70 0 000-140zm-463 0a70 70 0 100 140 70 70 0 000-140zM772 145l59 43-232 319-45-63L772 145z + M896 811l-128 0c-23 0-43-19-43-43 0-23 19-43 43-43l107 0c13 0 21-9 21-21L896 107c0-13-9-21-21-21L448 85c-13 0-21 9-21 21l0 21c0 23-19 43-43 43-23 0-43-19-43-43L341 85c0-47 38-85 85-85l469 0c47 0 85 38 85 85l0 640C981 772 943 811 896 811zM683 299l0 640c0 47-38 85-85 85L128 1024c-47 0-85-38-85-85L43 299c0-47 38-85 85-85l469 0C644 213 683 252 683 299zM576 299 149 299c-13 0-21 9-21 21l0 597c0 13 9 21 21 21l427 0c13 0 21-9 21-21L597 320C597 307 589 299 576 299z + M544 85c49 0 90 37 95 85h75a96 96 0 0196 89L811 267a32 32 0 01-28 32L779 299a32 32 0 01-32-28L747 267a32 32 0 00-28-32L715 235h-91a96 96 0 01-80 42H395c-33 0-62-17-80-42L224 235a32 32 0 00-32 28L192 267v576c0 16 12 30 28 32l4 0h128a32 32 0 0132 28l0 4a32 32 0 01-32 32h-128a96 96 0 01-96-89L128 843V267a96 96 0 0189-96L224 171h75a96 96 0 0195-85h150zm256 256a96 96 0 0196 89l0 7v405a96 96 0 01-89 96L800 939h-277a96 96 0 01-96-89L427 843v-405a96 96 0 0189-96L523 341h277zm-256-192H395a32 32 0 000 64h150a32 32 0 100-64z + M293 122v244h439V146l171 175V829a73 73 0 01-73 73h-98V536H293v366H195a73 73 0 01-73-73V195a73 73 0 0173-73h98zm366 512v268H366V634h293zm-49 49h-195v73h195v-73zm49-561v171H366V122h293z + M520 168C291 168 95 311 16 512c79 201 275 344 504 344 229 0 425-143 504-344-79-201-275-344-504-344zm0 573c-126 0-229-103-229-229s103-229 229-229c126 0 229 103 229 229s-103 229-229 229zm0-367c-76 0-137 62-137 137s62 137 137 137S657 588 657 512s-62-137-137-137z + M734 128c-33-19-74-8-93 25l-41 70c-28-6-58-9-90-9-294 0-445 298-445 298s82 149 231 236l-31 54c-19 33-8 74 25 93 33 19 74 8 93-25L759 222C778 189 767 147 734 128zM305 512c0-115 93-208 207-208 14 0 27 1 40 4l-37 64c-1 0-2 0-2 0-77 0-140 63-140 140 0 26 7 51 20 71l-37 64C324 611 305 564 305 512zM771 301 700 423c13 27 20 57 20 89 0 110-84 200-192 208l-51 89c12 1 24 2 36 2 292 0 446-298 446-298S895 388 771 301z + M469 235V107h85v128h-85zm-162-94 85 85-60 60-85-85 60-60zm469 60-85 85-60-60 85-85 60 60zm-549 183A85 85 0 01302 341H722a85 85 0 0174 42l131 225A85 85 0 01939 652V832a85 85 0 01-85 85H171a85 85 0 01-85-85v-180a85 85 0 0112-43l131-225zM722 427H302l-100 171h255l10 29a59 59 0 002 5c2 4 5 9 9 14 8 9 18 17 34 17 16 0 26-7 34-17a72 72 0 0011-18l0-0 10-29h255l-100-171zM853 683H624a155 155 0 01-12 17C593 722 560 747 512 747c-48 0-81-25-99-47a155 155 0 01-12-17H171v149h683v-149z + M719 85 388 417l-209-165L87 299v427l92 47 210-164L720 939 939 850V171zM186 610V412l104 104zm526 55L514 512l198-153z + M296 912H120c-4.4 0-8-3.6-8-8V520c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v384c0 4.4-3.6 8-8 8zM600 912H424c-4.4 0-8-3.6-8-8V121c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v783c0 4.4-3.6 8-8 8zM904 912H728c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v624c0 4.4-3.6 8-8 8z + M512 0C229.216 0 0 229.216 0 512c0 282.752 229.216 512 512 512s512-229.248 512-512c0-282.784-229.216-512-512-512z m0 957.92C266.112 957.92 66.08 757.888 66.08 512S266.112 66.08 512 66.08 957.92 266.112 957.92 512 757.888 957.92 512 957.92zM192 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM384 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM576 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM832 320h-64a32 32 0 0 0-32 32v128h-160a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-192a32 32 0 0 0-32-32zM320 544v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h96a32 32 0 0 0 32-32zM384 576h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM800 640H256a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h544a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32z + M875 117H149C109 117 75 151 75 192v640c0 41 34 75 75 75h725c41 0 75-34 75-75V192c0-41-34-75-75-75zM139 832V192c0-6 4-11 11-11h331v661H149c-6 0-11-4-11-11zm747 0c0 6-4 11-11 11H544v-661H875c6 0 11 4 11 11v640z + diff --git a/src/Resources/Locales.Designer.cs b/src/SourceGit/Resources/Locales.Designer.cs similarity index 97% rename from src/Resources/Locales.Designer.cs rename to src/SourceGit/Resources/Locales.Designer.cs index 11d9f2b8..af8765f6 100644 --- a/src/Resources/Locales.Designer.cs +++ b/src/SourceGit/Resources/Locales.Designer.cs @@ -1,3879 +1,3879 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace SourceGit.Resources { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class Locales { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Locales() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SourceGit.Resources.Locales", typeof(Locales).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to About. - /// - public static string Text_About { - get { - return ResourceManager.GetString("Text.About", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to • Build with . - /// - public static string Text_About_BuildWith { - get { - return ResourceManager.GetString("Text.About.BuildWith", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copyright © 2024 sourcegit-scm.. - /// - public static string Text_About_Copyright { - get { - return ResourceManager.GetString("Text.About.Copyright", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to • TextEditor from . - /// - public static string Text_About_Editor { - get { - return ResourceManager.GetString("Text.About.Editor", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to • Monospace fonts come from . - /// - public static string Text_About_Fonts { - get { - return ResourceManager.GetString("Text.About.Fonts", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Patch. - /// - public static string Text_Apply { - get { - return ResourceManager.GetString("Text.Apply", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Error. - /// - public static string Text_Apply_Error { - get { - return ResourceManager.GetString("Text.Apply.Error", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Raise errors and refuses to apply the patch. - /// - public static string Text_Apply_Error_Desc { - get { - return ResourceManager.GetString("Text.Apply.Error.Desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Error All. - /// - public static string Text_Apply_ErrorAll { - get { - return ResourceManager.GetString("Text.Apply.ErrorAll", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Similar to 'error', but shows more. - /// - public static string Text_Apply_ErrorAll_Desc { - get { - return ResourceManager.GetString("Text.Apply.ErrorAll.Desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Patch File :. - /// - public static string Text_Apply_File { - get { - return ResourceManager.GetString("Text.Apply.File", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Select .patch file to apply. - /// - public static string Text_Apply_File_Placeholder { - get { - return ResourceManager.GetString("Text.Apply.File.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Ignore whitespace changes. - /// - public static string Text_Apply_IgnoreWS { - get { - return ResourceManager.GetString("Text.Apply.IgnoreWS", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to No Warn. - /// - public static string Text_Apply_NoWarn { - get { - return ResourceManager.GetString("Text.Apply.NoWarn", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Turns off the trailing whitespace warning. - /// - public static string Text_Apply_NoWarn_Desc { - get { - return ResourceManager.GetString("Text.Apply.NoWarn.Desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Apply Patch. - /// - public static string Text_Apply_Title { - get { - return ResourceManager.GetString("Text.Apply.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Warn. - /// - public static string Text_Apply_Warn { - get { - return ResourceManager.GetString("Text.Apply.Warn", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Outputs warnings for a few such errors, but applies. - /// - public static string Text_Apply_Warn_Desc { - get { - return ResourceManager.GetString("Text.Apply.Warn.Desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Whitespace :. - /// - public static string Text_Apply_WS { - get { - return ResourceManager.GetString("Text.Apply.WS", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Archive .... - /// - public static string Text_Archive { - get { - return ResourceManager.GetString("Text.Archive", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Save Archive To :. - /// - public static string Text_Archive_File { - get { - return ResourceManager.GetString("Text.Archive.File", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Select archive file path. - /// - public static string Text_Archive_File_Placeholder { - get { - return ResourceManager.GetString("Text.Archive.File.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Revision :. - /// - public static string Text_Archive_Revision { - get { - return ResourceManager.GetString("Text.Archive.Revision", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Archive. - /// - public static string Text_Archive_Title { - get { - return ResourceManager.GetString("Text.Archive.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FILES ASSUME UNCHANGED. - /// - public static string Text_AssumeUnchanged { - get { - return ResourceManager.GetString("Text.AssumeUnchanged", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NO FILES ASSUMED AS UNCHANGED. - /// - public static string Text_AssumeUnchanged_Empty { - get { - return ResourceManager.GetString("Text.AssumeUnchanged.Empty", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to REMOVE. - /// - public static string Text_AssumeUnchanged_Remove { - get { - return ResourceManager.GetString("Text.AssumeUnchanged.Remove", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to BINARY FILE NOT SUPPORTED!!!. - /// - public static string Text_BinaryNotSupported { - get { - return ResourceManager.GetString("Text.BinaryNotSupported", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Blame. - /// - public static string Text_Blame { - get { - return ResourceManager.GetString("Text.Blame", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to BLAME ON THIS FILE IS NOT SUPPORTED!!!. - /// - public static string Text_BlameTypeNotSupported { - get { - return ResourceManager.GetString("Text.BlameTypeNotSupported", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Checkout${0}$. - /// - public static string Text_BranchCM_Checkout { - get { - return ResourceManager.GetString("Text.BranchCM.Checkout", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy Branch Name. - /// - public static string Text_BranchCM_CopyName { - get { - return ResourceManager.GetString("Text.BranchCM.CopyName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete${0}$. - /// - public static string Text_BranchCM_Delete { - get { - return ResourceManager.GetString("Text.BranchCM.Delete", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Discard all changes. - /// - public static string Text_BranchCM_DiscardAll { - get { - return ResourceManager.GetString("Text.BranchCM.DiscardAll", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fast-Forward to${0}$. - /// - public static string Text_BranchCM_FastForward { - get { - return ResourceManager.GetString("Text.BranchCM.FastForward", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Git Flow - Finish${0}$. - /// - public static string Text_BranchCM_Finish { - get { - return ResourceManager.GetString("Text.BranchCM.Finish", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Merge${0}$into${1}$. - /// - public static string Text_BranchCM_Merge { - get { - return ResourceManager.GetString("Text.BranchCM.Merge", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Pull${0}$. - /// - public static string Text_BranchCM_Pull { - get { - return ResourceManager.GetString("Text.BranchCM.Pull", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Pull${0}$into${1}$. - /// - public static string Text_BranchCM_PullInto { - get { - return ResourceManager.GetString("Text.BranchCM.PullInto", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Push${0}$. - /// - public static string Text_BranchCM_Push { - get { - return ResourceManager.GetString("Text.BranchCM.Push", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Rebase${0}$on${1}$. - /// - public static string Text_BranchCM_Rebase { - get { - return ResourceManager.GetString("Text.BranchCM.Rebase", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Rename${0}$. - /// - public static string Text_BranchCM_Rename { - get { - return ResourceManager.GetString("Text.BranchCM.Rename", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tracking .... - /// - public static string Text_BranchCM_Tracking { - get { - return ResourceManager.GetString("Text.BranchCM.Tracking", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unset Upstream. - /// - public static string Text_BranchCM_UnsetUpstream { - get { - return ResourceManager.GetString("Text.BranchCM.UnsetUpstream", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bytes. - /// - public static string Text_Bytes { - get { - return ResourceManager.GetString("Text.Bytes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CANCEL. - /// - public static string Text_Cancel { - get { - return ResourceManager.GetString("Text.Cancel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CHANGE DISPLAY MODE. - /// - public static string Text_ChangeDisplayMode { - get { - return ResourceManager.GetString("Text.ChangeDisplayMode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show as Grid. - /// - public static string Text_ChangeDisplayMode_Grid { - get { - return ResourceManager.GetString("Text.ChangeDisplayMode.Grid", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show as List. - /// - public static string Text_ChangeDisplayMode_List { - get { - return ResourceManager.GetString("Text.ChangeDisplayMode.List", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show as Tree. - /// - public static string Text_ChangeDisplayMode_Tree { - get { - return ResourceManager.GetString("Text.ChangeDisplayMode.Tree", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Checkout Branch. - /// - public static string Text_Checkout { - get { - return ResourceManager.GetString("Text.Checkout", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Target :. - /// - public static string Text_Checkout_Target { - get { - return ResourceManager.GetString("Text.Checkout.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cherry-Pick This Commit. - /// - public static string Text_CherryPick { - get { - return ResourceManager.GetString("Text.CherryPick", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Commit :. - /// - public static string Text_CherryPick_Commit { - get { - return ResourceManager.GetString("Text.CherryPick.Commit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Commit all changes. - /// - public static string Text_CherryPick_CommitChanges { - get { - return ResourceManager.GetString("Text.CherryPick.CommitChanges", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cherry Pick. - /// - public static string Text_CherryPick_Title { - get { - return ResourceManager.GetString("Text.CherryPick.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Clear Stashes. - /// - public static string Text_ClearStashes { - get { - return ResourceManager.GetString("Text.ClearStashes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You are trying to clear all stashes. Are you sure to continue?. - /// - public static string Text_ClearStashes_Message { - get { - return ResourceManager.GetString("Text.ClearStashes.Message", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Clone Remote Repository. - /// - public static string Text_Clone { - get { - return ResourceManager.GetString("Text.Clone", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Extra Parameters :. - /// - public static string Text_Clone_AdditionalParam { - get { - return ResourceManager.GetString("Text.Clone.AdditionalParam", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Additional arguments to clone repository. Optional.. - /// - public static string Text_Clone_AdditionalParam_Placeholder { - get { - return ResourceManager.GetString("Text.Clone.AdditionalParam.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Local Name :. - /// - public static string Text_Clone_LocalName { - get { - return ResourceManager.GetString("Text.Clone.LocalName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Repository name. Optional.. - /// - public static string Text_Clone_LocalName_Placeholder { - get { - return ResourceManager.GetString("Text.Clone.LocalName.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Parent Folder :. - /// - public static string Text_Clone_ParentFolder { - get { - return ResourceManager.GetString("Text.Clone.ParentFolder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Repository URL :. - /// - public static string Text_Clone_RemoteURL { - get { - return ResourceManager.GetString("Text.Clone.RemoteURL", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CLOSE. - /// - public static string Text_Close { - get { - return ResourceManager.GetString("Text.Close", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cherry-Pick This Commit. - /// - public static string Text_CommitCM_CherryPick { - get { - return ResourceManager.GetString("Text.CommitCM.CherryPick", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy SHA. - /// - public static string Text_CommitCM_CopySHA { - get { - return ResourceManager.GetString("Text.CommitCM.CopySHA", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Rebase${0}$to Here. - /// - public static string Text_CommitCM_Rebase { - get { - return ResourceManager.GetString("Text.CommitCM.Rebase", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset${0}$to Here. - /// - public static string Text_CommitCM_Reset { - get { - return ResourceManager.GetString("Text.CommitCM.Reset", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Revert Commit. - /// - public static string Text_CommitCM_Revert { - get { - return ResourceManager.GetString("Text.CommitCM.Revert", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reword. - /// - public static string Text_CommitCM_Reword { - get { - return ResourceManager.GetString("Text.CommitCM.Reword", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Save as Patch .... - /// - public static string Text_CommitCM_SaveAsPatch { - get { - return ResourceManager.GetString("Text.CommitCM.SaveAsPatch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Squash Into Parent. - /// - public static string Text_CommitCM_Squash { - get { - return ResourceManager.GetString("Text.CommitCM.Squash", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CHANGES. - /// - public static string Text_CommitDetail_Changes { - get { - return ResourceManager.GetString("Text.CommitDetail.Changes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Search Files .... - /// - public static string Text_CommitDetail_Changes_Search { - get { - return ResourceManager.GetString("Text.CommitDetail.Changes.Search", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FILES. - /// - public static string Text_CommitDetail_Files { - get { - return ResourceManager.GetString("Text.CommitDetail.Files", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to LFS File. - /// - public static string Text_CommitDetail_Files_LFS { - get { - return ResourceManager.GetString("Text.CommitDetail.Files.LFS", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Submodule. - /// - public static string Text_CommitDetail_Files_Submodule { - get { - return ResourceManager.GetString("Text.CommitDetail.Files.Submodule", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tag. - /// - public static string Text_CommitDetail_Files_Tag { - get { - return ResourceManager.GetString("Text.CommitDetail.Files.Tag", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tree. - /// - public static string Text_CommitDetail_Files_Tree { - get { - return ResourceManager.GetString("Text.CommitDetail.Files.Tree", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to INFORMATION. - /// - public static string Text_CommitDetail_Info { - get { - return ResourceManager.GetString("Text.CommitDetail.Info", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to AUTHOR. - /// - public static string Text_CommitDetail_Info_Author { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.Author", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CHANGED. - /// - public static string Text_CommitDetail_Info_Changed { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.Changed", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to COMMITTER. - /// - public static string Text_CommitDetail_Info_Committer { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.Committer", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to MESSAGE. - /// - public static string Text_CommitDetail_Info_Message { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.Message", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to PARENTS. - /// - public static string Text_CommitDetail_Info_Parents { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.Parents", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to REFS. - /// - public static string Text_CommitDetail_Info_Refs { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.Refs", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SHA. - /// - public static string Text_CommitDetail_Info_SHA { - get { - return ResourceManager.GetString("Text.CommitDetail.Info.SHA", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Configure. - /// - public static string Text_Configure { - get { - return ResourceManager.GetString("Text.Configure", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Email Address. - /// - public static string Text_Configure_Email { - get { - return ResourceManager.GetString("Text.Configure.Email", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Email address. - /// - public static string Text_Configure_Email_Placeholder { - get { - return ResourceManager.GetString("Text.Configure.Email.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to HTTP Proxy. - /// - public static string Text_Configure_Proxy { - get { - return ResourceManager.GetString("Text.Configure.Proxy", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to HTTP proxy used by this repository. - /// - public static string Text_Configure_Proxy_Placeholder { - get { - return ResourceManager.GetString("Text.Configure.Proxy.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to User Name. - /// - public static string Text_Configure_User { - get { - return ResourceManager.GetString("Text.Configure.User", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to User name for this repository. - /// - public static string Text_Configure_User_Placeholder { - get { - return ResourceManager.GetString("Text.Configure.User.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Conflict detected! Press 'Abort' to restore original HEAD.. - /// - public static string Text_Conflict_Tip { - get { - return ResourceManager.GetString("Text.Conflict.Tip", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy. - /// - public static string Text_Copy { - get { - return ResourceManager.GetString("Text.Copy", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy Path. - /// - public static string Text_CopyPath { - get { - return ResourceManager.GetString("Text.CopyPath", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create Branch. - /// - public static string Text_CreateBranch { - get { - return ResourceManager.GetString("Text.CreateBranch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Based On :. - /// - public static string Text_CreateBranch_BasedOn { - get { - return ResourceManager.GetString("Text.CreateBranch.BasedOn", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Check out after created. - /// - public static string Text_CreateBranch_Checkout { - get { - return ResourceManager.GetString("Text.CreateBranch.Checkout", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Local Changes :. - /// - public static string Text_CreateBranch_LocalChanges { - get { - return ResourceManager.GetString("Text.CreateBranch.LocalChanges", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Discard. - /// - public static string Text_CreateBranch_LocalChanges_Discard { - get { - return ResourceManager.GetString("Text.CreateBranch.LocalChanges.Discard", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash & Reapply. - /// - public static string Text_CreateBranch_LocalChanges_StashAndReply { - get { - return ResourceManager.GetString("Text.CreateBranch.LocalChanges.StashAndReply", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to New Branch Name :. - /// - public static string Text_CreateBranch_Name { - get { - return ResourceManager.GetString("Text.CreateBranch.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enter branch name.. - /// - public static string Text_CreateBranch_Name_Placeholder { - get { - return ResourceManager.GetString("Text.CreateBranch.Name.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create Local Branch. - /// - public static string Text_CreateBranch_Title { - get { - return ResourceManager.GetString("Text.CreateBranch.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create Tag. - /// - public static string Text_CreateTag { - get { - return ResourceManager.GetString("Text.CreateTag", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to New Tag At :. - /// - public static string Text_CreateTag_BasedOn { - get { - return ResourceManager.GetString("Text.CreateTag.BasedOn", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tag Message :. - /// - public static string Text_CreateTag_Message { - get { - return ResourceManager.GetString("Text.CreateTag.Message", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Optional.. - /// - public static string Text_CreateTag_Message_Placeholder { - get { - return ResourceManager.GetString("Text.CreateTag.Message.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tag Name :. - /// - public static string Text_CreateTag_Name { - get { - return ResourceManager.GetString("Text.CreateTag.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Recommended format :v1.0.0-alpha. - /// - public static string Text_CreateTag_Name_Placeholder { - get { - return ResourceManager.GetString("Text.CreateTag.Name.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cut. - /// - public static string Text_Cut { - get { - return ResourceManager.GetString("Text.Cut", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete Branch. - /// - public static string Text_DeleteBranch { - get { - return ResourceManager.GetString("Text.DeleteBranch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Branch :. - /// - public static string Text_DeleteBranch_Branch { - get { - return ResourceManager.GetString("Text.DeleteBranch.Branch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete Remote. - /// - public static string Text_DeleteRemote { - get { - return ResourceManager.GetString("Text.DeleteRemote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote :. - /// - public static string Text_DeleteRemote_Remote { - get { - return ResourceManager.GetString("Text.DeleteRemote.Remote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Target :. - /// - public static string Text_DeleteRepositoryNode_Target { - get { - return ResourceManager.GetString("Text.DeleteRepositoryNode.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Confirm Deleting Group. - /// - public static string Text_DeleteRepositoryNode_TitleForGroup { - get { - return ResourceManager.GetString("Text.DeleteRepositoryNode.TitleForGroup", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Confirm Deleting Repository. - /// - public static string Text_DeleteRepositoryNode_TitleForRepository { - get { - return ResourceManager.GetString("Text.DeleteRepositoryNode.TitleForRepository", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete Submodule. - /// - public static string Text_DeleteSubmodule { - get { - return ResourceManager.GetString("Text.DeleteSubmodule", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Submodule Path :. - /// - public static string Text_DeleteSubmodule_Path { - get { - return ResourceManager.GetString("Text.DeleteSubmodule.Path", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete Tag. - /// - public static string Text_DeleteTag { - get { - return ResourceManager.GetString("Text.DeleteTag", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tag :. - /// - public static string Text_DeleteTag_Tag { - get { - return ResourceManager.GetString("Text.DeleteTag.Tag", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete from remote repositories. - /// - public static string Text_DeleteTag_WithRemote { - get { - return ResourceManager.GetString("Text.DeleteTag.WithRemote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to BINARY DIFF. - /// - public static string Text_Diff_Binary { - get { - return ResourceManager.GetString("Text.Diff.Binary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NEW. - /// - public static string Text_Diff_Binary_New { - get { - return ResourceManager.GetString("Text.Diff.Binary.New", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OLD. - /// - public static string Text_Diff_Binary_Old { - get { - return ResourceManager.GetString("Text.Diff.Binary.Old", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy. - /// - public static string Text_Diff_Copy { - get { - return ResourceManager.GetString("Text.Diff.Copy", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to LFS OBJECT CHANGE. - /// - public static string Text_Diff_LFS { - get { - return ResourceManager.GetString("Text.Diff.LFS", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Next Difference. - /// - public static string Text_Diff_Next { - get { - return ResourceManager.GetString("Text.Diff.Next", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NO CHANGES OR ONLY EOL CHANGES. - /// - public static string Text_Diff_NoChange { - get { - return ResourceManager.GetString("Text.Diff.NoChange", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Previous Difference. - /// - public static string Text_Diff_Prev { - get { - return ResourceManager.GetString("Text.Diff.Prev", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Toggle Side-By-Side Diff. - /// - public static string Text_Diff_SideBySide { - get { - return ResourceManager.GetString("Text.Diff.SideBySide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open With Merge Tool. - /// - public static string Text_Diff_UseMerger { - get { - return ResourceManager.GetString("Text.Diff.UseMerger", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SELECT FILE TO VIEW CHANGES. - /// - public static string Text_Diff_Welcome { - get { - return ResourceManager.GetString("Text.Diff.Welcome", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Discard Changes. - /// - public static string Text_Discard { - get { - return ResourceManager.GetString("Text.Discard", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to All local changes in working copy.. - /// - public static string Text_Discard_All { - get { - return ResourceManager.GetString("Text.Discard.All", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Changes :. - /// - public static string Text_Discard_Changes { - get { - return ResourceManager.GetString("Text.Discard.Changes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Total {0} changes will be discard. - /// - public static string Text_Discard_Total { - get { - return ResourceManager.GetString("Text.Discard.Total", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You can't undo this action!!!. - /// - public static string Text_Discard_Warning { - get { - return ResourceManager.GetString("Text.Discard.Warning", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bookmark :. - /// - public static string Text_EditRepositoryNode_Bookmark { - get { - return ResourceManager.GetString("Text.EditRepositoryNode.Bookmark", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to New Name :. - /// - public static string Text_EditRepositoryNode_Name { - get { - return ResourceManager.GetString("Text.EditRepositoryNode.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Target :. - /// - public static string Text_EditRepositoryNode_Target { - get { - return ResourceManager.GetString("Text.EditRepositoryNode.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Edit Selected Group. - /// - public static string Text_EditRepositoryNode_TitleForGroup { - get { - return ResourceManager.GetString("Text.EditRepositoryNode.TitleForGroup", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Edit Selected Repository. - /// - public static string Text_EditRepositoryNode_TitleForRepository { - get { - return ResourceManager.GetString("Text.EditRepositoryNode.TitleForRepository", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fast-Forward (without checkout). - /// - public static string Text_FastForwardWithoutCheck { - get { - return ResourceManager.GetString("Text.FastForwardWithoutCheck", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fetch. - /// - public static string Text_Fetch { - get { - return ResourceManager.GetString("Text.Fetch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fetch all remotes. - /// - public static string Text_Fetch_AllRemotes { - get { - return ResourceManager.GetString("Text.Fetch.AllRemotes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Prune remote dead branches. - /// - public static string Text_Fetch_Prune { - get { - return ResourceManager.GetString("Text.Fetch.Prune", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote :. - /// - public static string Text_Fetch_Remote { - get { - return ResourceManager.GetString("Text.Fetch.Remote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fetch Remote Changes. - /// - public static string Text_Fetch_Title { - get { - return ResourceManager.GetString("Text.Fetch.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Assume unchanged. - /// - public static string Text_FileCM_AssumeUnchanged { - get { - return ResourceManager.GetString("Text.FileCM.AssumeUnchanged", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Discard.... - /// - public static string Text_FileCM_Discard { - get { - return ResourceManager.GetString("Text.FileCM.Discard", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Discard {0} files.... - /// - public static string Text_FileCM_DiscardMulti { - get { - return ResourceManager.GetString("Text.FileCM.DiscardMulti", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Discard Changes in Selected Line(s). - /// - public static string Text_FileCM_DiscardSelectedLines { - get { - return ResourceManager.GetString("Text.FileCM.DiscardSelectedLines", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Save As Patch.... - /// - public static string Text_FileCM_SaveAsPatch { - get { - return ResourceManager.GetString("Text.FileCM.SaveAsPatch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stage.... - /// - public static string Text_FileCM_Stage { - get { - return ResourceManager.GetString("Text.FileCM.Stage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stage {0} files.... - /// - public static string Text_FileCM_StageMulti { - get { - return ResourceManager.GetString("Text.FileCM.StageMulti", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stage Changes in Selected Line(s). - /// - public static string Text_FileCM_StageSelectedLines { - get { - return ResourceManager.GetString("Text.FileCM.StageSelectedLines", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash.... - /// - public static string Text_FileCM_Stash { - get { - return ResourceManager.GetString("Text.FileCM.Stash", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash {0} files.... - /// - public static string Text_FileCM_StashMulti { - get { - return ResourceManager.GetString("Text.FileCM.StashMulti", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unstage. - /// - public static string Text_FileCM_Unstage { - get { - return ResourceManager.GetString("Text.FileCM.Unstage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unstage {0} files. - /// - public static string Text_FileCM_UnstageMulti { - get { - return ResourceManager.GetString("Text.FileCM.UnstageMulti", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unstage Changes in Selected Line(s). - /// - public static string Text_FileCM_UnstageSelectedLines { - get { - return ResourceManager.GetString("Text.FileCM.UnstageSelectedLines", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to File History. - /// - public static string Text_FileHistory { - get { - return ResourceManager.GetString("Text.FileHistory", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FILTER. - /// - public static string Text_Filter { - get { - return ResourceManager.GetString("Text.Filter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to GIT FLOW. - /// - public static string Text_GitFlow { - get { - return ResourceManager.GetString("Text.GitFlow", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Development Branch :. - /// - public static string Text_GitFlow_DevelopBranch { - get { - return ResourceManager.GetString("Text.GitFlow.DevelopBranch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Feature :. - /// - public static string Text_GitFlow_Feature { - get { - return ResourceManager.GetString("Text.GitFlow.Feature", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Feature Prefix :. - /// - public static string Text_GitFlow_FeaturePrefix { - get { - return ResourceManager.GetString("Text.GitFlow.FeaturePrefix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FLOW - Finish Feature. - /// - public static string Text_GitFlow_FinishFeature { - get { - return ResourceManager.GetString("Text.GitFlow.FinishFeature", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FLOW - Finish Hotfix. - /// - public static string Text_GitFlow_FinishHotfix { - get { - return ResourceManager.GetString("Text.GitFlow.FinishHotfix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FLOW - Finish Release. - /// - public static string Text_GitFlow_FinishRelease { - get { - return ResourceManager.GetString("Text.GitFlow.FinishRelease", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Target :. - /// - public static string Text_GitFlow_FinishTarget { - get { - return ResourceManager.GetString("Text.GitFlow.FinishTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Hotfix :. - /// - public static string Text_GitFlow_Hotfix { - get { - return ResourceManager.GetString("Text.GitFlow.Hotfix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Hotfix Prefix :. - /// - public static string Text_GitFlow_HotfixPrefix { - get { - return ResourceManager.GetString("Text.GitFlow.HotfixPrefix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Initialize Git-Flow. - /// - public static string Text_GitFlow_Init { - get { - return ResourceManager.GetString("Text.GitFlow.Init", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Keep branch. - /// - public static string Text_GitFlow_KeepBranchAfterFinish { - get { - return ResourceManager.GetString("Text.GitFlow.KeepBranchAfterFinish", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Production Branch :. - /// - public static string Text_GitFlow_ProductionBranch { - get { - return ResourceManager.GetString("Text.GitFlow.ProductionBranch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Release :. - /// - public static string Text_GitFlow_Release { - get { - return ResourceManager.GetString("Text.GitFlow.Release", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Release Prefix :. - /// - public static string Text_GitFlow_ReleasePrefix { - get { - return ResourceManager.GetString("Text.GitFlow.ReleasePrefix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Start Feature .... - /// - public static string Text_GitFlow_StartFeature { - get { - return ResourceManager.GetString("Text.GitFlow.StartFeature", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FLOW - Start Feature. - /// - public static string Text_GitFlow_StartFeatureTitle { - get { - return ResourceManager.GetString("Text.GitFlow.StartFeatureTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Start Hotfix .... - /// - public static string Text_GitFlow_StartHotfix { - get { - return ResourceManager.GetString("Text.GitFlow.StartHotfix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FLOW - Start Hotfix. - /// - public static string Text_GitFlow_StartHotfixTitle { - get { - return ResourceManager.GetString("Text.GitFlow.StartHotfixTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enter name. - /// - public static string Text_GitFlow_StartPlaceholder { - get { - return ResourceManager.GetString("Text.GitFlow.StartPlaceholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Start Release .... - /// - public static string Text_GitFlow_StartRelease { - get { - return ResourceManager.GetString("Text.GitFlow.StartRelease", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to FLOW - Start Release. - /// - public static string Text_GitFlow_StartReleaseTitle { - get { - return ResourceManager.GetString("Text.GitFlow.StartReleaseTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Version Tag Prefix :. - /// - public static string Text_GitFlow_TagPrefix { - get { - return ResourceManager.GetString("Text.GitFlow.TagPrefix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Histories. - /// - public static string Text_Histories { - get { - return ResourceManager.GetString("Text.Histories", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switch Horizontal/Vertical Layout. - /// - public static string Text_Histories_DisplayMode { - get { - return ResourceManager.GetString("Text.Histories.DisplayMode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switch Curve/Polyline Graph Mode. - /// - public static string Text_Histories_GraphMode { - get { - return ResourceManager.GetString("Text.Histories.GraphMode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT. - /// - public static string Text_Histories_Search { - get { - return ResourceManager.GetString("Text.Histories.Search", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CLEAR. - /// - public static string Text_Histories_SearchClear { - get { - return ResourceManager.GetString("Text.Histories.SearchClear", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SELECTED {0} COMMITS. - /// - public static string Text_Histories_Selected { - get { - return ResourceManager.GetString("Text.Histories.Selected", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to HotKeys. - /// - public static string Text_Hotkeys { - get { - return ResourceManager.GetString("Text.Hotkeys", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to GLOBAL. - /// - public static string Text_Hotkeys_Global { - get { - return ResourceManager.GetString("Text.Hotkeys.Global", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cancel current popup. - /// - public static string Text_Hotkeys_Global_CancelPopup { - get { - return ResourceManager.GetString("Text.Hotkeys.Global.CancelPopup", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Close current page. - /// - public static string Text_Hotkeys_Global_CloseTab { - get { - return ResourceManager.GetString("Text.Hotkeys.Global.CloseTab", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Go to next page. - /// - public static string Text_Hotkeys_Global_GotoNextTab { - get { - return ResourceManager.GetString("Text.Hotkeys.Global.GotoNextTab", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create new page. - /// - public static string Text_Hotkeys_Global_NewTab { - get { - return ResourceManager.GetString("Text.Hotkeys.Global.NewTab", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to REPOSITORY. - /// - public static string Text_Hotkeys_Repo { - get { - return ResourceManager.GetString("Text.Hotkeys.Repo", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stage/Unstage selected changes. - /// - public static string Text_Hotkeys_Repo_StageOrUnstageSelected { - get { - return ResourceManager.GetString("Text.Hotkeys.Repo.StageOrUnstageSelected", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Toggle commit search. - /// - public static string Text_Hotkeys_Repo_ToggleSearch { - get { - return ResourceManager.GetString("Text.Hotkeys.Repo.ToggleSearch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switch to 'Changes'. - /// - public static string Text_Hotkeys_Repo_ViewChanges { - get { - return ResourceManager.GetString("Text.Hotkeys.Repo.ViewChanges", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switch to 'Histories'. - /// - public static string Text_Hotkeys_Repo_ViewHistories { - get { - return ResourceManager.GetString("Text.Hotkeys.Repo.ViewHistories", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switch to 'Stashes'. - /// - public static string Text_Hotkeys_Repo_ViewStashes { - get { - return ResourceManager.GetString("Text.Hotkeys.Repo.ViewStashes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to TEXT EDITOR. - /// - public static string Text_Hotkeys_TextEditor { - get { - return ResourceManager.GetString("Text.Hotkeys.TextEditor", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Close search panel. - /// - public static string Text_Hotkeys_TextEditor_CloseSearch { - get { - return ResourceManager.GetString("Text.Hotkeys.TextEditor.CloseSearch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Find next match. - /// - public static string Text_Hotkeys_TextEditor_GotoNextMatch { - get { - return ResourceManager.GetString("Text.Hotkeys.TextEditor.GotoNextMatch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Find previous match. - /// - public static string Text_Hotkeys_TextEditor_GotoPrevMatch { - get { - return ResourceManager.GetString("Text.Hotkeys.TextEditor.GotoPrevMatch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open search panel. - /// - public static string Text_Hotkeys_TextEditor_Search { - get { - return ResourceManager.GetString("Text.Hotkeys.TextEditor.Search", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Initialize Repository. - /// - public static string Text_Init { - get { - return ResourceManager.GetString("Text.Init", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Path :. - /// - public static string Text_Init_Path { - get { - return ResourceManager.GetString("Text.Init.Path", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Invalid repository detected. Run `git init` under this path?. - /// - public static string Text_Init_Tip { - get { - return ResourceManager.GetString("Text.Init.Tip", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Source Git. - /// - public static string Text_Launcher { - get { - return ResourceManager.GetString("Text.Launcher", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ERROR. - /// - public static string Text_Launcher_Error { - get { - return ResourceManager.GetString("Text.Launcher.Error", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NOTICE. - /// - public static string Text_Launcher_Info { - get { - return ResourceManager.GetString("Text.Launcher.Info", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open Main Menu. - /// - public static string Text_Launcher_Menu { - get { - return ResourceManager.GetString("Text.Launcher.Menu", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Merge Branch. - /// - public static string Text_Merge { - get { - return ResourceManager.GetString("Text.Merge", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Into :. - /// - public static string Text_Merge_Into { - get { - return ResourceManager.GetString("Text.Merge.Into", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Merge Option :. - /// - public static string Text_Merge_Mode { - get { - return ResourceManager.GetString("Text.Merge.Mode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Source Branch :. - /// - public static string Text_Merge_Source { - get { - return ResourceManager.GetString("Text.Merge.Source", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Name :. - /// - public static string Text_Name { - get { - return ResourceManager.GetString("Text.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Git has NOT been configured. Please to go [Preference] and configure it first.. - /// - public static string Text_NotConfigured { - get { - return ResourceManager.GetString("Text.NotConfigured", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NOTICE. - /// - public static string Text_Notice { - get { - return ResourceManager.GetString("Text.Notice", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SELECT FOLDER. - /// - public static string Text_OpenFolder { - get { - return ResourceManager.GetString("Text.OpenFolder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open With .... - /// - public static string Text_OpenWith { - get { - return ResourceManager.GetString("Text.OpenWith", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Optional.. - /// - public static string Text_Optional { - get { - return ResourceManager.GetString("Text.Optional", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create New Page (Ctrl+T). - /// - public static string Text_PageTabBar_New { - get { - return ResourceManager.GetString("Text.PageTabBar.New", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bookmark. - /// - public static string Text_PageTabBar_Tab_Bookmark { - get { - return ResourceManager.GetString("Text.PageTabBar.Tab.Bookmark", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Close Tab. - /// - public static string Text_PageTabBar_Tab_Close { - get { - return ResourceManager.GetString("Text.PageTabBar.Tab.Close", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Close Other Tabs. - /// - public static string Text_PageTabBar_Tab_CloseOther { - get { - return ResourceManager.GetString("Text.PageTabBar.Tab.CloseOther", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Close Tabs to the Right. - /// - public static string Text_PageTabBar_Tab_CloseRight { - get { - return ResourceManager.GetString("Text.PageTabBar.Tab.CloseRight", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy Repository Path. - /// - public static string Text_PageTabBar_Tab_CopyPath { - get { - return ResourceManager.GetString("Text.PageTabBar.Tab.CopyPath", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Repositories. - /// - public static string Text_PageTabBar_Welcome_Title { - get { - return ResourceManager.GetString("Text.PageTabBar.Welcome.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Paste. - /// - public static string Text_Paste { - get { - return ResourceManager.GetString("Text.Paste", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Preference. - /// - public static string Text_Preference { - get { - return ResourceManager.GetString("Text.Preference", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to GENERAL. - /// - public static string Text_Preference_General { - get { - return ResourceManager.GetString("Text.Preference.General", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Avatar Server. - /// - public static string Text_Preference_General_AvatarServer { - get { - return ResourceManager.GetString("Text.Preference.General.AvatarServer", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Language. - /// - public static string Text_Preference_General_Locale { - get { - return ResourceManager.GetString("Text.Preference.General.Locale", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to History Commits. - /// - public static string Text_Preference_General_MaxHistoryCommits { - get { - return ResourceManager.GetString("Text.Preference.General.MaxHistoryCommits", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Restore windows. - /// - public static string Text_Preference_General_RestoreTabs { - get { - return ResourceManager.GetString("Text.Preference.General.RestoreTabs", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Theme. - /// - public static string Text_Preference_General_Theme { - get { - return ResourceManager.GetString("Text.Preference.General.Theme", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Use fixed tab width in titlebar. - /// - public static string Text_Preference_General_UseFixedTabWidth { - get { - return ResourceManager.GetString("Text.Preference.General.UseFixedTabWidth", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to GIT. - /// - public static string Text_Preference_Git { - get { - return ResourceManager.GetString("Text.Preference.Git", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fetch remotes automatically. - /// - public static string Text_Preference_Git_AutoFetch { - get { - return ResourceManager.GetString("Text.Preference.Git.AutoFetch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable Auto CRLF. - /// - public static string Text_Preference_Git_CRLF { - get { - return ResourceManager.GetString("Text.Preference.Git.CRLF", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Default Clone Dir. - /// - public static string Text_Preference_Git_DefaultCloneDir { - get { - return ResourceManager.GetString("Text.Preference.Git.DefaultCloneDir", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to User Email. - /// - public static string Text_Preference_Git_Email { - get { - return ResourceManager.GetString("Text.Preference.Git.Email", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Global git user email. - /// - public static string Text_Preference_Git_Email_Placeholder { - get { - return ResourceManager.GetString("Text.Preference.Git.Email.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Install Path. - /// - public static string Text_Preference_Git_Path { - get { - return ResourceManager.GetString("Text.Preference.Git.Path", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to User Name. - /// - public static string Text_Preference_Git_User { - get { - return ResourceManager.GetString("Text.Preference.Git.User", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Global git user name. - /// - public static string Text_Preference_Git_User_Placeholder { - get { - return ResourceManager.GetString("Text.Preference.Git.User.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Git version. - /// - public static string Text_Preference_Git_Version { - get { - return ResourceManager.GetString("Text.Preference.Git.Version", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to GPG SIGNING. - /// - public static string Text_Preference_GPG { - get { - return ResourceManager.GetString("Text.Preference.GPG", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Commit GPG signing. - /// - public static string Text_Preference_GPG_Enabled { - get { - return ResourceManager.GetString("Text.Preference.GPG.Enabled", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Install Path. - /// - public static string Text_Preference_GPG_Path { - get { - return ResourceManager.GetString("Text.Preference.GPG.Path", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Input path for installed gpg program. - /// - public static string Text_Preference_GPG_Path_Placeholder { - get { - return ResourceManager.GetString("Text.Preference.GPG.Path.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to User Signing Key. - /// - public static string Text_Preference_GPG_UserKey { - get { - return ResourceManager.GetString("Text.Preference.GPG.UserKey", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to User's gpg signing key. - /// - public static string Text_Preference_GPG_UserKey_Placeholder { - get { - return ResourceManager.GetString("Text.Preference.GPG.UserKey.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to MERGE. - /// - public static string Text_Preference_Merger { - get { - return ResourceManager.GetString("Text.Preference.Merger", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Diff Command. - /// - public static string Text_Preference_Merger_CustomDiffCmd { - get { - return ResourceManager.GetString("Text.Preference.Merger.CustomDiffCmd", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Merge Command. - /// - public static string Text_Preference_Merger_CustomMergeCmd { - get { - return ResourceManager.GetString("Text.Preference.Merger.CustomMergeCmd", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Install Path. - /// - public static string Text_Preference_Merger_Path { - get { - return ResourceManager.GetString("Text.Preference.Merger.Path", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Input path for merge tool. - /// - public static string Text_Preference_Merger_Path_Placeholder { - get { - return ResourceManager.GetString("Text.Preference.Merger.Path.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Merger. - /// - public static string Text_Preference_Merger_Type { - get { - return ResourceManager.GetString("Text.Preference.Merger.Type", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Pull. - /// - public static string Text_Pull { - get { - return ResourceManager.GetString("Text.Pull", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash & reapply local changes. - /// - public static string Text_Pull_AutoStash { - get { - return ResourceManager.GetString("Text.Pull.AutoStash", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Branch :. - /// - public static string Text_Pull_Branch { - get { - return ResourceManager.GetString("Text.Pull.Branch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Into :. - /// - public static string Text_Pull_Into { - get { - return ResourceManager.GetString("Text.Pull.Into", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote :. - /// - public static string Text_Pull_Remote { - get { - return ResourceManager.GetString("Text.Pull.Remote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Pull (Fetch & Merge). - /// - public static string Text_Pull_Title { - get { - return ResourceManager.GetString("Text.Pull.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Use rebase instead of merge. - /// - public static string Text_Pull_UseRebase { - get { - return ResourceManager.GetString("Text.Pull.UseRebase", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Push. - /// - public static string Text_Push { - get { - return ResourceManager.GetString("Text.Push", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Force push. - /// - public static string Text_Push_Force { - get { - return ResourceManager.GetString("Text.Push.Force", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Local Branch :. - /// - public static string Text_Push_Local { - get { - return ResourceManager.GetString("Text.Push.Local", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote :. - /// - public static string Text_Push_Remote { - get { - return ResourceManager.GetString("Text.Push.Remote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Push Changes To Remote. - /// - public static string Text_Push_Title { - get { - return ResourceManager.GetString("Text.Push.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote Branch :. - /// - public static string Text_Push_To { - get { - return ResourceManager.GetString("Text.Push.To", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Push all tags. - /// - public static string Text_Push_WithAllTags { - get { - return ResourceManager.GetString("Text.Push.WithAllTags", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Push Tag To Remote. - /// - public static string Text_PushTag { - get { - return ResourceManager.GetString("Text.PushTag", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote :. - /// - public static string Text_PushTag_Remote { - get { - return ResourceManager.GetString("Text.PushTag.Remote", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Tag :. - /// - public static string Text_PushTag_Tag { - get { - return ResourceManager.GetString("Text.PushTag.Tag", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Rebase Current Branch. - /// - public static string Text_Rebase { - get { - return ResourceManager.GetString("Text.Rebase", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash & reapply local changes. - /// - public static string Text_Rebase_AutoStash { - get { - return ResourceManager.GetString("Text.Rebase.AutoStash", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to On :. - /// - public static string Text_Rebase_On { - get { - return ResourceManager.GetString("Text.Rebase.On", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Rebase :. - /// - public static string Text_Rebase_Target { - get { - return ResourceManager.GetString("Text.Rebase.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Refresh. - /// - public static string Text_RefetchAvatar { - get { - return ResourceManager.GetString("Text.RefetchAvatar", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Add Remote. - /// - public static string Text_Remote_AddTitle { - get { - return ResourceManager.GetString("Text.Remote.AddTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Edit Remote. - /// - public static string Text_Remote_EditTitle { - get { - return ResourceManager.GetString("Text.Remote.EditTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Name :. - /// - public static string Text_Remote_Name { - get { - return ResourceManager.GetString("Text.Remote.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote name. - /// - public static string Text_Remote_Name_Placeholder { - get { - return ResourceManager.GetString("Text.Remote.Name.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Repository URL :. - /// - public static string Text_Remote_URL { - get { - return ResourceManager.GetString("Text.Remote.URL", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remote git repository URL. - /// - public static string Text_Remote_URL_Placeholder { - get { - return ResourceManager.GetString("Text.Remote.URL.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy URL. - /// - public static string Text_RemoteCM_CopyURL { - get { - return ResourceManager.GetString("Text.RemoteCM.CopyURL", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete .... - /// - public static string Text_RemoteCM_Delete { - get { - return ResourceManager.GetString("Text.RemoteCM.Delete", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Edit .... - /// - public static string Text_RemoteCM_Edit { - get { - return ResourceManager.GetString("Text.RemoteCM.Edit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fetch .... - /// - public static string Text_RemoteCM_Fetch { - get { - return ResourceManager.GetString("Text.RemoteCM.Fetch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Prune. - /// - public static string Text_RemoteCM_Prune { - get { - return ResourceManager.GetString("Text.RemoteCM.Prune", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Target :. - /// - public static string Text_RemoteCM_Prune_Target { - get { - return ResourceManager.GetString("Text.RemoteCM.Prune.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Rename Branch. - /// - public static string Text_RenameBranch { - get { - return ResourceManager.GetString("Text.RenameBranch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to New Name :. - /// - public static string Text_RenameBranch_Name { - get { - return ResourceManager.GetString("Text.RenameBranch.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unique name for this branch. - /// - public static string Text_RenameBranch_Name_Placeholder { - get { - return ResourceManager.GetString("Text.RenameBranch.Name.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Branch :. - /// - public static string Text_RenameBranch_Target { - get { - return ResourceManager.GetString("Text.RenameBranch.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bookmark. - /// - public static string Text_RepoCM_Bookmark { - get { - return ResourceManager.GetString("Text.RepoCM.Bookmark", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Explore in File Manager. - /// - public static string Text_RepoCM_Explore { - get { - return ResourceManager.GetString("Text.RepoCM.Explore", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open. - /// - public static string Text_RepoCM_Open { - get { - return ResourceManager.GetString("Text.RepoCM.Open", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ABORT. - /// - public static string Text_Repository_Abort { - get { - return ResourceManager.GetString("Text.Repository.Abort", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cleanup(GC & Prune). - /// - public static string Text_Repository_Clean { - get { - return ResourceManager.GetString("Text.Repository.Clean", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Run `gc` command and do `lfs prune` if LFS is installed.. - /// - public static string Text_Repository_CleanTips { - get { - return ResourceManager.GetString("Text.Repository.CleanTips", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Configure this repository. - /// - public static string Text_Repository_Configure { - get { - return ResourceManager.GetString("Text.Repository.Configure", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CONTINUE. - /// - public static string Text_Repository_Continue { - get { - return ResourceManager.GetString("Text.Repository.Continue", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open In File Browser. - /// - public static string Text_Repository_Explore { - get { - return ResourceManager.GetString("Text.Repository.Explore", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to LOCAL BRANCHES. - /// - public static string Text_Repository_LocalBranches { - get { - return ResourceManager.GetString("Text.Repository.LocalBranches", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NEW BRANCH. - /// - public static string Text_Repository_NewBranch { - get { - return ResourceManager.GetString("Text.Repository.NewBranch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Refresh. - /// - public static string Text_Repository_Refresh { - get { - return ResourceManager.GetString("Text.Repository.Refresh", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to REMOTES. - /// - public static string Text_Repository_Remotes { - get { - return ResourceManager.GetString("Text.Repository.Remotes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ADD REMOTE. - /// - public static string Text_Repository_Remotes_Add { - get { - return ResourceManager.GetString("Text.Repository.Remotes.Add", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to RESOLVE. - /// - public static string Text_Repository_Resolve { - get { - return ResourceManager.GetString("Text.Repository.Resolve", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Search Commit (Ctrl+F). - /// - public static string Text_Repository_Search { - get { - return ResourceManager.GetString("Text.Repository.Search", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Search Author/Committer/Message/SHA. - /// - public static string Text_Repository_SearchTip { - get { - return ResourceManager.GetString("Text.Repository.SearchTip", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Statistics. - /// - public static string Text_Repository_Statistics { - get { - return ResourceManager.GetString("Text.Repository.Statistics", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SUBMODULES. - /// - public static string Text_Repository_Submodules { - get { - return ResourceManager.GetString("Text.Repository.Submodules", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ADD SUBMODULE. - /// - public static string Text_Repository_Submodules_Add { - get { - return ResourceManager.GetString("Text.Repository.Submodules.Add", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to UPDATE SUBMODULE. - /// - public static string Text_Repository_Submodules_Update { - get { - return ResourceManager.GetString("Text.Repository.Submodules.Update", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to TAGS. - /// - public static string Text_Repository_Tags { - get { - return ResourceManager.GetString("Text.Repository.Tags", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NEW TAG. - /// - public static string Text_Repository_Tags_Add { - get { - return ResourceManager.GetString("Text.Repository.Tags.Add", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open In Git Bash. - /// - public static string Text_Repository_Terminal { - get { - return ResourceManager.GetString("Text.Repository.Terminal", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open In Visual Studio Code. - /// - public static string Text_Repository_VSCode { - get { - return ResourceManager.GetString("Text.Repository.VSCode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to WORKSPACE. - /// - public static string Text_Repository_Workspace { - get { - return ResourceManager.GetString("Text.Repository.Workspace", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Git Repository URL. - /// - public static string Text_RepositoryURL { - get { - return ResourceManager.GetString("Text.RepositoryURL", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset Current Branch To Revision. - /// - public static string Text_Reset { - get { - return ResourceManager.GetString("Text.Reset", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset Mode :. - /// - public static string Text_Reset_Mode { - get { - return ResourceManager.GetString("Text.Reset.Mode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Move To :. - /// - public static string Text_Reset_MoveTo { - get { - return ResourceManager.GetString("Text.Reset.MoveTo", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Current Branch :. - /// - public static string Text_Reset_Target { - get { - return ResourceManager.GetString("Text.Reset.Target", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reveal in File Explorer. - /// - public static string Text_RevealFile { - get { - return ResourceManager.GetString("Text.RevealFile", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Revert Commit. - /// - public static string Text_Revert { - get { - return ResourceManager.GetString("Text.Revert", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Commit :. - /// - public static string Text_Revert_Commit { - get { - return ResourceManager.GetString("Text.Revert.Commit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Commit revert changes. - /// - public static string Text_Revert_CommitChanges { - get { - return ResourceManager.GetString("Text.Revert.CommitChanges", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reword Commit Message. - /// - public static string Text_Reword { - get { - return ResourceManager.GetString("Text.Reword", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Message :. - /// - public static string Text_Reword_Message { - get { - return ResourceManager.GetString("Text.Reword.Message", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to On :. - /// - public static string Text_Reword_On { - get { - return ResourceManager.GetString("Text.Reword.On", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Running. Please wait .... - /// - public static string Text_Running { - get { - return ResourceManager.GetString("Text.Running", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SAVE. - /// - public static string Text_Save { - get { - return ResourceManager.GetString("Text.Save", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Save As .... - /// - public static string Text_SaveAs { - get { - return ResourceManager.GetString("Text.SaveAs", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Patch has been saved successfully!. - /// - public static string Text_SaveAsPatchSuccess { - get { - return ResourceManager.GetString("Text.SaveAsPatchSuccess", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Squash HEAD Into Parent. - /// - public static string Text_Squash { - get { - return ResourceManager.GetString("Text.Squash", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to HEAD :. - /// - public static string Text_Squash_Head { - get { - return ResourceManager.GetString("Text.Squash.Head", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reword :. - /// - public static string Text_Squash_Message { - get { - return ResourceManager.GetString("Text.Squash.Message", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to To :. - /// - public static string Text_Squash_To { - get { - return ResourceManager.GetString("Text.Squash.To", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SSH Private Key :. - /// - public static string Text_SSHKey { - get { - return ResourceManager.GetString("Text.SSHKey", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Private SSH key store path. - /// - public static string Text_SSHKey_Placeholder { - get { - return ResourceManager.GetString("Text.SSHKey.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to START. - /// - public static string Text_Start { - get { - return ResourceManager.GetString("Text.Start", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash. - /// - public static string Text_Stash { - get { - return ResourceManager.GetString("Text.Stash", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Include untracked files. - /// - public static string Text_Stash_IncludeUntracked { - get { - return ResourceManager.GetString("Text.Stash.IncludeUntracked", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Message :. - /// - public static string Text_Stash_Message { - get { - return ResourceManager.GetString("Text.Stash.Message", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Optional. Name of this stash. - /// - public static string Text_Stash_Message_Placeholder { - get { - return ResourceManager.GetString("Text.Stash.Message.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stash Local Changes. - /// - public static string Text_Stash_Title { - get { - return ResourceManager.GetString("Text.Stash.Title", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Apply. - /// - public static string Text_StashCM_Apply { - get { - return ResourceManager.GetString("Text.StashCM.Apply", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Drop. - /// - public static string Text_StashCM_Drop { - get { - return ResourceManager.GetString("Text.StashCM.Drop", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Pop. - /// - public static string Text_StashCM_Pop { - get { - return ResourceManager.GetString("Text.StashCM.Pop", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Drop Stash. - /// - public static string Text_StashDropConfirm { - get { - return ResourceManager.GetString("Text.StashDropConfirm", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Drop :. - /// - public static string Text_StashDropConfirm_Label { - get { - return ResourceManager.GetString("Text.StashDropConfirm.Label", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stashes. - /// - public static string Text_Stashes { - get { - return ResourceManager.GetString("Text.Stashes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CHANGES. - /// - public static string Text_Stashes_Changes { - get { - return ResourceManager.GetString("Text.Stashes.Changes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to STASHES. - /// - public static string Text_Stashes_Stashes { - get { - return ResourceManager.GetString("Text.Stashes.Stashes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Statistics. - /// - public static string Text_Statistics { - get { - return ResourceManager.GetString("Text.Statistics", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to COMMITS. - /// - public static string Text_Statistics_CommitAmount { - get { - return ResourceManager.GetString("Text.Statistics.CommitAmount", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to COMMITTER. - /// - public static string Text_Statistics_Committer { - get { - return ResourceManager.GetString("Text.Statistics.Committer", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to MONTH. - /// - public static string Text_Statistics_ThisMonth { - get { - return ResourceManager.GetString("Text.Statistics.ThisMonth", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to WEEK. - /// - public static string Text_Statistics_ThisWeek { - get { - return ResourceManager.GetString("Text.Statistics.ThisWeek", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to YEAR. - /// - public static string Text_Statistics_ThisYear { - get { - return ResourceManager.GetString("Text.Statistics.ThisYear", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Total Commits. - /// - public static string Text_Statistics_TotalCommits { - get { - return ResourceManager.GetString("Text.Statistics.TotalCommits", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Total Committers. - /// - public static string Text_Statistics_TotalCommitters { - get { - return ResourceManager.GetString("Text.Statistics.TotalCommitters", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to SUBMODULES. - /// - public static string Text_Submodule { - get { - return ResourceManager.GetString("Text.Submodule", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Add Submodule. - /// - public static string Text_Submodule_Add { - get { - return ResourceManager.GetString("Text.Submodule.Add", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy Relative Path. - /// - public static string Text_Submodule_CopyPath { - get { - return ResourceManager.GetString("Text.Submodule.CopyPath", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fetch nested submodules. - /// - public static string Text_Submodule_FetchNested { - get { - return ResourceManager.GetString("Text.Submodule.FetchNested", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open Submodule Repository. - /// - public static string Text_Submodule_Open { - get { - return ResourceManager.GetString("Text.Submodule.Open", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Relative Path :. - /// - public static string Text_Submodule_RelativePath { - get { - return ResourceManager.GetString("Text.Submodule.RelativePath", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Relative folder to store this module.. - /// - public static string Text_Submodule_RelativePath_Placeholder { - get { - return ResourceManager.GetString("Text.Submodule.RelativePath.Placeholder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete Submodule. - /// - public static string Text_Submodule_Remove { - get { - return ResourceManager.GetString("Text.Submodule.Remove", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OK. - /// - public static string Text_Sure { - get { - return ResourceManager.GetString("Text.Sure", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy Tag Name. - /// - public static string Text_TagCM_Copy { - get { - return ResourceManager.GetString("Text.TagCM.Copy", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete${0}$. - /// - public static string Text_TagCM_Delete { - get { - return ResourceManager.GetString("Text.TagCM.Delete", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Push${0}$. - /// - public static string Text_TagCM_Push { - get { - return ResourceManager.GetString("Text.TagCM.Push", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to COMMIT : {0} -> {1}. - /// - public static string Text_TwoCommitsDiff { - get { - return ResourceManager.GetString("Text.TwoCommitsDiff", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to URL :. - /// - public static string Text_URL { - get { - return ResourceManager.GetString("Text.URL", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Warning. - /// - public static string Text_Warn { - get { - return ResourceManager.GetString("Text.Warn", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create Group. - /// - public static string Text_Welcome_AddRootFolder { - get { - return ResourceManager.GetString("Text.Welcome.AddRootFolder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Create Sub-Group. - /// - public static string Text_Welcome_AddSubFolder { - get { - return ResourceManager.GetString("Text.Welcome.AddSubFolder", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Clone Repository. - /// - public static string Text_Welcome_Clone { - get { - return ResourceManager.GetString("Text.Welcome.Clone", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete. - /// - public static string Text_Welcome_Delete { - get { - return ResourceManager.GetString("Text.Welcome.Delete", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to DRAG & DROP FOLDER SUPPORTED. - /// - public static string Text_Welcome_DragDropTip { - get { - return ResourceManager.GetString("Text.Welcome.DragDropTip", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Edit. - /// - public static string Text_Welcome_Edit { - get { - return ResourceManager.GetString("Text.Welcome.Edit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open Repository. - /// - public static string Text_Welcome_OpenOrInit { - get { - return ResourceManager.GetString("Text.Welcome.OpenOrInit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open In Git Bash. - /// - public static string Text_Welcome_OpenTerminal { - get { - return ResourceManager.GetString("Text.Welcome.OpenTerminal", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Search Repositories .... - /// - public static string Text_Welcome_Search { - get { - return ResourceManager.GetString("Text.Welcome.Search", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sort. - /// - public static string Text_Welcome_Sort { - get { - return ResourceManager.GetString("Text.Welcome.Sort", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Changes. - /// - public static string Text_WorkingCopy { - get { - return ResourceManager.GetString("Text.WorkingCopy", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Amend. - /// - public static string Text_WorkingCopy_Amend { - get { - return ResourceManager.GetString("Text.WorkingCopy.Amend", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to COMMIT. - /// - public static string Text_WorkingCopy_Commit { - get { - return ResourceManager.GetString("Text.WorkingCopy.Commit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to COMMIT & PUSH. - /// - public static string Text_WorkingCopy_CommitAndPush { - get { - return ResourceManager.GetString("Text.WorkingCopy.CommitAndPush", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enter commit message. - /// - public static string Text_WorkingCopy_CommitMessageTip { - get { - return ResourceManager.GetString("Text.WorkingCopy.CommitMessageTip", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CTRL + Enter. - /// - public static string Text_WorkingCopy_CommitTip { - get { - return ResourceManager.GetString("Text.WorkingCopy.CommitTip", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to CONFLICTS DETECTED. - /// - public static string Text_WorkingCopy_Conflicts { - get { - return ResourceManager.GetString("Text.WorkingCopy.Conflicts", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to RECENT INPUT MESSAGES. - /// - public static string Text_WorkingCopy_HasCommitHistories { - get { - return ResourceManager.GetString("Text.WorkingCopy.HasCommitHistories", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to INCLUDE UNTRACKED FILES. - /// - public static string Text_WorkingCopy_IncludeUntracked { - get { - return ResourceManager.GetString("Text.WorkingCopy.IncludeUntracked", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to MESSAGE HISTORIES. - /// - public static string Text_WorkingCopy_MessageHistories { - get { - return ResourceManager.GetString("Text.WorkingCopy.MessageHistories", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to NO RECENT INPUT MESSAGES. - /// - public static string Text_WorkingCopy_NoCommitHistories { - get { - return ResourceManager.GetString("Text.WorkingCopy.NoCommitHistories", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OPEN MERGE. - /// - public static string Text_WorkingCopy_OpenMerger { - get { - return ResourceManager.GetString("Text.WorkingCopy.OpenMerger", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to STAGED. - /// - public static string Text_WorkingCopy_Staged { - get { - return ResourceManager.GetString("Text.WorkingCopy.Staged", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to UNSTAGE. - /// - public static string Text_WorkingCopy_Staged_Unstage { - get { - return ResourceManager.GetString("Text.WorkingCopy.Staged.Unstage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to UNSTAGE ALL. - /// - public static string Text_WorkingCopy_Staged_UnstageAll { - get { - return ResourceManager.GetString("Text.WorkingCopy.Staged.UnstageAll", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to UNSTAGED. - /// - public static string Text_WorkingCopy_Unstaged { - get { - return ResourceManager.GetString("Text.WorkingCopy.Unstaged", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to STAGE. - /// - public static string Text_WorkingCopy_Unstaged_Stage { - get { - return ResourceManager.GetString("Text.WorkingCopy.Unstaged.Stage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to STAGE ALL. - /// - public static string Text_WorkingCopy_Unstaged_StageAll { - get { - return ResourceManager.GetString("Text.WorkingCopy.Unstaged.StageAll", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to VIEW ASSUME UNCHANGED. - /// - public static string Text_WorkingCopy_Unstaged_ViewAssumeUnchaged { - get { - return ResourceManager.GetString("Text.WorkingCopy.Unstaged.ViewAssumeUnchaged", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to USE MINE. - /// - public static string Text_WorkingCopy_UseMine { - get { - return ResourceManager.GetString("Text.WorkingCopy.UseMine", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to USE THEIRS. - /// - public static string Text_WorkingCopy_UseTheirs { - get { - return ResourceManager.GetString("Text.WorkingCopy.UseTheirs", resourceCulture); - } - } - } -} +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace SourceGit.Resources { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Locales { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Locales() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SourceGit.Resources.Locales", typeof(Locales).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to About. + /// + public static string Text_About { + get { + return ResourceManager.GetString("Text.About", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to • Build with . + /// + public static string Text_About_BuildWith { + get { + return ResourceManager.GetString("Text.About.BuildWith", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copyright © 2024 sourcegit-scm.. + /// + public static string Text_About_Copyright { + get { + return ResourceManager.GetString("Text.About.Copyright", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to • TextEditor from . + /// + public static string Text_About_Editor { + get { + return ResourceManager.GetString("Text.About.Editor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to • Monospace fonts come from . + /// + public static string Text_About_Fonts { + get { + return ResourceManager.GetString("Text.About.Fonts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Patch. + /// + public static string Text_Apply { + get { + return ResourceManager.GetString("Text.Apply", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + public static string Text_Apply_Error { + get { + return ResourceManager.GetString("Text.Apply.Error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Raise errors and refuses to apply the patch. + /// + public static string Text_Apply_Error_Desc { + get { + return ResourceManager.GetString("Text.Apply.Error.Desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error All. + /// + public static string Text_Apply_ErrorAll { + get { + return ResourceManager.GetString("Text.Apply.ErrorAll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Similar to 'error', but shows more. + /// + public static string Text_Apply_ErrorAll_Desc { + get { + return ResourceManager.GetString("Text.Apply.ErrorAll.Desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Patch File :. + /// + public static string Text_Apply_File { + get { + return ResourceManager.GetString("Text.Apply.File", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select .patch file to apply. + /// + public static string Text_Apply_File_Placeholder { + get { + return ResourceManager.GetString("Text.Apply.File.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ignore whitespace changes. + /// + public static string Text_Apply_IgnoreWS { + get { + return ResourceManager.GetString("Text.Apply.IgnoreWS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No Warn. + /// + public static string Text_Apply_NoWarn { + get { + return ResourceManager.GetString("Text.Apply.NoWarn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turns off the trailing whitespace warning. + /// + public static string Text_Apply_NoWarn_Desc { + get { + return ResourceManager.GetString("Text.Apply.NoWarn.Desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply Patch. + /// + public static string Text_Apply_Title { + get { + return ResourceManager.GetString("Text.Apply.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Warn. + /// + public static string Text_Apply_Warn { + get { + return ResourceManager.GetString("Text.Apply.Warn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Outputs warnings for a few such errors, but applies. + /// + public static string Text_Apply_Warn_Desc { + get { + return ResourceManager.GetString("Text.Apply.Warn.Desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whitespace :. + /// + public static string Text_Apply_WS { + get { + return ResourceManager.GetString("Text.Apply.WS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Archive .... + /// + public static string Text_Archive { + get { + return ResourceManager.GetString("Text.Archive", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save Archive To :. + /// + public static string Text_Archive_File { + get { + return ResourceManager.GetString("Text.Archive.File", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select archive file path. + /// + public static string Text_Archive_File_Placeholder { + get { + return ResourceManager.GetString("Text.Archive.File.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Revision :. + /// + public static string Text_Archive_Revision { + get { + return ResourceManager.GetString("Text.Archive.Revision", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Archive. + /// + public static string Text_Archive_Title { + get { + return ResourceManager.GetString("Text.Archive.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FILES ASSUME UNCHANGED. + /// + public static string Text_AssumeUnchanged { + get { + return ResourceManager.GetString("Text.AssumeUnchanged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NO FILES ASSUMED AS UNCHANGED. + /// + public static string Text_AssumeUnchanged_Empty { + get { + return ResourceManager.GetString("Text.AssumeUnchanged.Empty", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to REMOVE. + /// + public static string Text_AssumeUnchanged_Remove { + get { + return ResourceManager.GetString("Text.AssumeUnchanged.Remove", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to BINARY FILE NOT SUPPORTED!!!. + /// + public static string Text_BinaryNotSupported { + get { + return ResourceManager.GetString("Text.BinaryNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Blame. + /// + public static string Text_Blame { + get { + return ResourceManager.GetString("Text.Blame", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to BLAME ON THIS FILE IS NOT SUPPORTED!!!. + /// + public static string Text_BlameTypeNotSupported { + get { + return ResourceManager.GetString("Text.BlameTypeNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Checkout${0}$. + /// + public static string Text_BranchCM_Checkout { + get { + return ResourceManager.GetString("Text.BranchCM.Checkout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy Branch Name. + /// + public static string Text_BranchCM_CopyName { + get { + return ResourceManager.GetString("Text.BranchCM.CopyName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete${0}$. + /// + public static string Text_BranchCM_Delete { + get { + return ResourceManager.GetString("Text.BranchCM.Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discard all changes. + /// + public static string Text_BranchCM_DiscardAll { + get { + return ResourceManager.GetString("Text.BranchCM.DiscardAll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fast-Forward to${0}$. + /// + public static string Text_BranchCM_FastForward { + get { + return ResourceManager.GetString("Text.BranchCM.FastForward", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Git Flow - Finish${0}$. + /// + public static string Text_BranchCM_Finish { + get { + return ResourceManager.GetString("Text.BranchCM.Finish", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Merge${0}$into${1}$. + /// + public static string Text_BranchCM_Merge { + get { + return ResourceManager.GetString("Text.BranchCM.Merge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pull${0}$. + /// + public static string Text_BranchCM_Pull { + get { + return ResourceManager.GetString("Text.BranchCM.Pull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pull${0}$into${1}$. + /// + public static string Text_BranchCM_PullInto { + get { + return ResourceManager.GetString("Text.BranchCM.PullInto", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Push${0}$. + /// + public static string Text_BranchCM_Push { + get { + return ResourceManager.GetString("Text.BranchCM.Push", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rebase${0}$on${1}$. + /// + public static string Text_BranchCM_Rebase { + get { + return ResourceManager.GetString("Text.BranchCM.Rebase", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rename${0}$. + /// + public static string Text_BranchCM_Rename { + get { + return ResourceManager.GetString("Text.BranchCM.Rename", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tracking .... + /// + public static string Text_BranchCM_Tracking { + get { + return ResourceManager.GetString("Text.BranchCM.Tracking", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unset Upstream. + /// + public static string Text_BranchCM_UnsetUpstream { + get { + return ResourceManager.GetString("Text.BranchCM.UnsetUpstream", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bytes. + /// + public static string Text_Bytes { + get { + return ResourceManager.GetString("Text.Bytes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CANCEL. + /// + public static string Text_Cancel { + get { + return ResourceManager.GetString("Text.Cancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CHANGE DISPLAY MODE. + /// + public static string Text_ChangeDisplayMode { + get { + return ResourceManager.GetString("Text.ChangeDisplayMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show as Grid. + /// + public static string Text_ChangeDisplayMode_Grid { + get { + return ResourceManager.GetString("Text.ChangeDisplayMode.Grid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show as List. + /// + public static string Text_ChangeDisplayMode_List { + get { + return ResourceManager.GetString("Text.ChangeDisplayMode.List", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show as Tree. + /// + public static string Text_ChangeDisplayMode_Tree { + get { + return ResourceManager.GetString("Text.ChangeDisplayMode.Tree", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Checkout Branch. + /// + public static string Text_Checkout { + get { + return ResourceManager.GetString("Text.Checkout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Target :. + /// + public static string Text_Checkout_Target { + get { + return ResourceManager.GetString("Text.Checkout.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cherry-Pick This Commit. + /// + public static string Text_CherryPick { + get { + return ResourceManager.GetString("Text.CherryPick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Commit :. + /// + public static string Text_CherryPick_Commit { + get { + return ResourceManager.GetString("Text.CherryPick.Commit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Commit all changes. + /// + public static string Text_CherryPick_CommitChanges { + get { + return ResourceManager.GetString("Text.CherryPick.CommitChanges", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cherry Pick. + /// + public static string Text_CherryPick_Title { + get { + return ResourceManager.GetString("Text.CherryPick.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Clear Stashes. + /// + public static string Text_ClearStashes { + get { + return ResourceManager.GetString("Text.ClearStashes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are trying to clear all stashes. Are you sure to continue?. + /// + public static string Text_ClearStashes_Message { + get { + return ResourceManager.GetString("Text.ClearStashes.Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Clone Remote Repository. + /// + public static string Text_Clone { + get { + return ResourceManager.GetString("Text.Clone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Extra Parameters :. + /// + public static string Text_Clone_AdditionalParam { + get { + return ResourceManager.GetString("Text.Clone.AdditionalParam", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Additional arguments to clone repository. Optional.. + /// + public static string Text_Clone_AdditionalParam_Placeholder { + get { + return ResourceManager.GetString("Text.Clone.AdditionalParam.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Local Name :. + /// + public static string Text_Clone_LocalName { + get { + return ResourceManager.GetString("Text.Clone.LocalName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Repository name. Optional.. + /// + public static string Text_Clone_LocalName_Placeholder { + get { + return ResourceManager.GetString("Text.Clone.LocalName.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Parent Folder :. + /// + public static string Text_Clone_ParentFolder { + get { + return ResourceManager.GetString("Text.Clone.ParentFolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Repository URL :. + /// + public static string Text_Clone_RemoteURL { + get { + return ResourceManager.GetString("Text.Clone.RemoteURL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CLOSE. + /// + public static string Text_Close { + get { + return ResourceManager.GetString("Text.Close", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cherry-Pick This Commit. + /// + public static string Text_CommitCM_CherryPick { + get { + return ResourceManager.GetString("Text.CommitCM.CherryPick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy SHA. + /// + public static string Text_CommitCM_CopySHA { + get { + return ResourceManager.GetString("Text.CommitCM.CopySHA", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rebase${0}$to Here. + /// + public static string Text_CommitCM_Rebase { + get { + return ResourceManager.GetString("Text.CommitCM.Rebase", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset${0}$to Here. + /// + public static string Text_CommitCM_Reset { + get { + return ResourceManager.GetString("Text.CommitCM.Reset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Revert Commit. + /// + public static string Text_CommitCM_Revert { + get { + return ResourceManager.GetString("Text.CommitCM.Revert", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reword. + /// + public static string Text_CommitCM_Reword { + get { + return ResourceManager.GetString("Text.CommitCM.Reword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save as Patch .... + /// + public static string Text_CommitCM_SaveAsPatch { + get { + return ResourceManager.GetString("Text.CommitCM.SaveAsPatch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Squash Into Parent. + /// + public static string Text_CommitCM_Squash { + get { + return ResourceManager.GetString("Text.CommitCM.Squash", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CHANGES. + /// + public static string Text_CommitDetail_Changes { + get { + return ResourceManager.GetString("Text.CommitDetail.Changes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Search Files .... + /// + public static string Text_CommitDetail_Changes_Search { + get { + return ResourceManager.GetString("Text.CommitDetail.Changes.Search", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FILES. + /// + public static string Text_CommitDetail_Files { + get { + return ResourceManager.GetString("Text.CommitDetail.Files", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to LFS File. + /// + public static string Text_CommitDetail_Files_LFS { + get { + return ResourceManager.GetString("Text.CommitDetail.Files.LFS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Submodule. + /// + public static string Text_CommitDetail_Files_Submodule { + get { + return ResourceManager.GetString("Text.CommitDetail.Files.Submodule", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tag. + /// + public static string Text_CommitDetail_Files_Tag { + get { + return ResourceManager.GetString("Text.CommitDetail.Files.Tag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tree. + /// + public static string Text_CommitDetail_Files_Tree { + get { + return ResourceManager.GetString("Text.CommitDetail.Files.Tree", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to INFORMATION. + /// + public static string Text_CommitDetail_Info { + get { + return ResourceManager.GetString("Text.CommitDetail.Info", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AUTHOR. + /// + public static string Text_CommitDetail_Info_Author { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.Author", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CHANGED. + /// + public static string Text_CommitDetail_Info_Changed { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.Changed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to COMMITTER. + /// + public static string Text_CommitDetail_Info_Committer { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.Committer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MESSAGE. + /// + public static string Text_CommitDetail_Info_Message { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PARENTS. + /// + public static string Text_CommitDetail_Info_Parents { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.Parents", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to REFS. + /// + public static string Text_CommitDetail_Info_Refs { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.Refs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SHA. + /// + public static string Text_CommitDetail_Info_SHA { + get { + return ResourceManager.GetString("Text.CommitDetail.Info.SHA", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configure. + /// + public static string Text_Configure { + get { + return ResourceManager.GetString("Text.Configure", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Email Address. + /// + public static string Text_Configure_Email { + get { + return ResourceManager.GetString("Text.Configure.Email", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Email address. + /// + public static string Text_Configure_Email_Placeholder { + get { + return ResourceManager.GetString("Text.Configure.Email.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HTTP Proxy. + /// + public static string Text_Configure_Proxy { + get { + return ResourceManager.GetString("Text.Configure.Proxy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HTTP proxy used by this repository. + /// + public static string Text_Configure_Proxy_Placeholder { + get { + return ResourceManager.GetString("Text.Configure.Proxy.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User Name. + /// + public static string Text_Configure_User { + get { + return ResourceManager.GetString("Text.Configure.User", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User name for this repository. + /// + public static string Text_Configure_User_Placeholder { + get { + return ResourceManager.GetString("Text.Configure.User.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Conflict detected! Press 'Abort' to restore original HEAD.. + /// + public static string Text_Conflict_Tip { + get { + return ResourceManager.GetString("Text.Conflict.Tip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy. + /// + public static string Text_Copy { + get { + return ResourceManager.GetString("Text.Copy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy Path. + /// + public static string Text_CopyPath { + get { + return ResourceManager.GetString("Text.CopyPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Branch. + /// + public static string Text_CreateBranch { + get { + return ResourceManager.GetString("Text.CreateBranch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Based On :. + /// + public static string Text_CreateBranch_BasedOn { + get { + return ResourceManager.GetString("Text.CreateBranch.BasedOn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Check out after created. + /// + public static string Text_CreateBranch_Checkout { + get { + return ResourceManager.GetString("Text.CreateBranch.Checkout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Local Changes :. + /// + public static string Text_CreateBranch_LocalChanges { + get { + return ResourceManager.GetString("Text.CreateBranch.LocalChanges", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discard. + /// + public static string Text_CreateBranch_LocalChanges_Discard { + get { + return ResourceManager.GetString("Text.CreateBranch.LocalChanges.Discard", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash & Reapply. + /// + public static string Text_CreateBranch_LocalChanges_StashAndReply { + get { + return ResourceManager.GetString("Text.CreateBranch.LocalChanges.StashAndReply", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New Branch Name :. + /// + public static string Text_CreateBranch_Name { + get { + return ResourceManager.GetString("Text.CreateBranch.Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter branch name.. + /// + public static string Text_CreateBranch_Name_Placeholder { + get { + return ResourceManager.GetString("Text.CreateBranch.Name.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Local Branch. + /// + public static string Text_CreateBranch_Title { + get { + return ResourceManager.GetString("Text.CreateBranch.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Tag. + /// + public static string Text_CreateTag { + get { + return ResourceManager.GetString("Text.CreateTag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New Tag At :. + /// + public static string Text_CreateTag_BasedOn { + get { + return ResourceManager.GetString("Text.CreateTag.BasedOn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tag Message :. + /// + public static string Text_CreateTag_Message { + get { + return ResourceManager.GetString("Text.CreateTag.Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Optional.. + /// + public static string Text_CreateTag_Message_Placeholder { + get { + return ResourceManager.GetString("Text.CreateTag.Message.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tag Name :. + /// + public static string Text_CreateTag_Name { + get { + return ResourceManager.GetString("Text.CreateTag.Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recommended format :v1.0.0-alpha. + /// + public static string Text_CreateTag_Name_Placeholder { + get { + return ResourceManager.GetString("Text.CreateTag.Name.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cut. + /// + public static string Text_Cut { + get { + return ResourceManager.GetString("Text.Cut", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete Branch. + /// + public static string Text_DeleteBranch { + get { + return ResourceManager.GetString("Text.DeleteBranch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Branch :. + /// + public static string Text_DeleteBranch_Branch { + get { + return ResourceManager.GetString("Text.DeleteBranch.Branch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete Remote. + /// + public static string Text_DeleteRemote { + get { + return ResourceManager.GetString("Text.DeleteRemote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote :. + /// + public static string Text_DeleteRemote_Remote { + get { + return ResourceManager.GetString("Text.DeleteRemote.Remote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Target :. + /// + public static string Text_DeleteRepositoryNode_Target { + get { + return ResourceManager.GetString("Text.DeleteRepositoryNode.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Confirm Deleting Group. + /// + public static string Text_DeleteRepositoryNode_TitleForGroup { + get { + return ResourceManager.GetString("Text.DeleteRepositoryNode.TitleForGroup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Confirm Deleting Repository. + /// + public static string Text_DeleteRepositoryNode_TitleForRepository { + get { + return ResourceManager.GetString("Text.DeleteRepositoryNode.TitleForRepository", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete Submodule. + /// + public static string Text_DeleteSubmodule { + get { + return ResourceManager.GetString("Text.DeleteSubmodule", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Submodule Path :. + /// + public static string Text_DeleteSubmodule_Path { + get { + return ResourceManager.GetString("Text.DeleteSubmodule.Path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete Tag. + /// + public static string Text_DeleteTag { + get { + return ResourceManager.GetString("Text.DeleteTag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tag :. + /// + public static string Text_DeleteTag_Tag { + get { + return ResourceManager.GetString("Text.DeleteTag.Tag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete from remote repositories. + /// + public static string Text_DeleteTag_WithRemote { + get { + return ResourceManager.GetString("Text.DeleteTag.WithRemote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to BINARY DIFF. + /// + public static string Text_Diff_Binary { + get { + return ResourceManager.GetString("Text.Diff.Binary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NEW. + /// + public static string Text_Diff_Binary_New { + get { + return ResourceManager.GetString("Text.Diff.Binary.New", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OLD. + /// + public static string Text_Diff_Binary_Old { + get { + return ResourceManager.GetString("Text.Diff.Binary.Old", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy. + /// + public static string Text_Diff_Copy { + get { + return ResourceManager.GetString("Text.Diff.Copy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to LFS OBJECT CHANGE. + /// + public static string Text_Diff_LFS { + get { + return ResourceManager.GetString("Text.Diff.LFS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Next Difference. + /// + public static string Text_Diff_Next { + get { + return ResourceManager.GetString("Text.Diff.Next", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NO CHANGES OR ONLY EOL CHANGES. + /// + public static string Text_Diff_NoChange { + get { + return ResourceManager.GetString("Text.Diff.NoChange", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Previous Difference. + /// + public static string Text_Diff_Prev { + get { + return ResourceManager.GetString("Text.Diff.Prev", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Side-By-Side Diff. + /// + public static string Text_Diff_SideBySide { + get { + return ResourceManager.GetString("Text.Diff.SideBySide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open With Merge Tool. + /// + public static string Text_Diff_UseMerger { + get { + return ResourceManager.GetString("Text.Diff.UseMerger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SELECT FILE TO VIEW CHANGES. + /// + public static string Text_Diff_Welcome { + get { + return ResourceManager.GetString("Text.Diff.Welcome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discard Changes. + /// + public static string Text_Discard { + get { + return ResourceManager.GetString("Text.Discard", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to All local changes in working copy.. + /// + public static string Text_Discard_All { + get { + return ResourceManager.GetString("Text.Discard.All", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changes :. + /// + public static string Text_Discard_Changes { + get { + return ResourceManager.GetString("Text.Discard.Changes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Total {0} changes will be discard. + /// + public static string Text_Discard_Total { + get { + return ResourceManager.GetString("Text.Discard.Total", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You can't undo this action!!!. + /// + public static string Text_Discard_Warning { + get { + return ResourceManager.GetString("Text.Discard.Warning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bookmark :. + /// + public static string Text_EditRepositoryNode_Bookmark { + get { + return ResourceManager.GetString("Text.EditRepositoryNode.Bookmark", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New Name :. + /// + public static string Text_EditRepositoryNode_Name { + get { + return ResourceManager.GetString("Text.EditRepositoryNode.Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Target :. + /// + public static string Text_EditRepositoryNode_Target { + get { + return ResourceManager.GetString("Text.EditRepositoryNode.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Edit Selected Group. + /// + public static string Text_EditRepositoryNode_TitleForGroup { + get { + return ResourceManager.GetString("Text.EditRepositoryNode.TitleForGroup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Edit Selected Repository. + /// + public static string Text_EditRepositoryNode_TitleForRepository { + get { + return ResourceManager.GetString("Text.EditRepositoryNode.TitleForRepository", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fast-Forward (without checkout). + /// + public static string Text_FastForwardWithoutCheck { + get { + return ResourceManager.GetString("Text.FastForwardWithoutCheck", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetch. + /// + public static string Text_Fetch { + get { + return ResourceManager.GetString("Text.Fetch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetch all remotes. + /// + public static string Text_Fetch_AllRemotes { + get { + return ResourceManager.GetString("Text.Fetch.AllRemotes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Prune remote dead branches. + /// + public static string Text_Fetch_Prune { + get { + return ResourceManager.GetString("Text.Fetch.Prune", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote :. + /// + public static string Text_Fetch_Remote { + get { + return ResourceManager.GetString("Text.Fetch.Remote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetch Remote Changes. + /// + public static string Text_Fetch_Title { + get { + return ResourceManager.GetString("Text.Fetch.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Assume unchanged. + /// + public static string Text_FileCM_AssumeUnchanged { + get { + return ResourceManager.GetString("Text.FileCM.AssumeUnchanged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discard.... + /// + public static string Text_FileCM_Discard { + get { + return ResourceManager.GetString("Text.FileCM.Discard", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discard {0} files.... + /// + public static string Text_FileCM_DiscardMulti { + get { + return ResourceManager.GetString("Text.FileCM.DiscardMulti", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discard Changes in Selected Line(s). + /// + public static string Text_FileCM_DiscardSelectedLines { + get { + return ResourceManager.GetString("Text.FileCM.DiscardSelectedLines", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save As Patch.... + /// + public static string Text_FileCM_SaveAsPatch { + get { + return ResourceManager.GetString("Text.FileCM.SaveAsPatch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stage.... + /// + public static string Text_FileCM_Stage { + get { + return ResourceManager.GetString("Text.FileCM.Stage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stage {0} files.... + /// + public static string Text_FileCM_StageMulti { + get { + return ResourceManager.GetString("Text.FileCM.StageMulti", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stage Changes in Selected Line(s). + /// + public static string Text_FileCM_StageSelectedLines { + get { + return ResourceManager.GetString("Text.FileCM.StageSelectedLines", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash.... + /// + public static string Text_FileCM_Stash { + get { + return ResourceManager.GetString("Text.FileCM.Stash", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash {0} files.... + /// + public static string Text_FileCM_StashMulti { + get { + return ResourceManager.GetString("Text.FileCM.StashMulti", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unstage. + /// + public static string Text_FileCM_Unstage { + get { + return ResourceManager.GetString("Text.FileCM.Unstage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unstage {0} files. + /// + public static string Text_FileCM_UnstageMulti { + get { + return ResourceManager.GetString("Text.FileCM.UnstageMulti", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unstage Changes in Selected Line(s). + /// + public static string Text_FileCM_UnstageSelectedLines { + get { + return ResourceManager.GetString("Text.FileCM.UnstageSelectedLines", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File History. + /// + public static string Text_FileHistory { + get { + return ResourceManager.GetString("Text.FileHistory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FILTER. + /// + public static string Text_Filter { + get { + return ResourceManager.GetString("Text.Filter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to GIT FLOW. + /// + public static string Text_GitFlow { + get { + return ResourceManager.GetString("Text.GitFlow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Development Branch :. + /// + public static string Text_GitFlow_DevelopBranch { + get { + return ResourceManager.GetString("Text.GitFlow.DevelopBranch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Feature :. + /// + public static string Text_GitFlow_Feature { + get { + return ResourceManager.GetString("Text.GitFlow.Feature", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Feature Prefix :. + /// + public static string Text_GitFlow_FeaturePrefix { + get { + return ResourceManager.GetString("Text.GitFlow.FeaturePrefix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FLOW - Finish Feature. + /// + public static string Text_GitFlow_FinishFeature { + get { + return ResourceManager.GetString("Text.GitFlow.FinishFeature", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FLOW - Finish Hotfix. + /// + public static string Text_GitFlow_FinishHotfix { + get { + return ResourceManager.GetString("Text.GitFlow.FinishHotfix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FLOW - Finish Release. + /// + public static string Text_GitFlow_FinishRelease { + get { + return ResourceManager.GetString("Text.GitFlow.FinishRelease", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Target :. + /// + public static string Text_GitFlow_FinishTarget { + get { + return ResourceManager.GetString("Text.GitFlow.FinishTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hotfix :. + /// + public static string Text_GitFlow_Hotfix { + get { + return ResourceManager.GetString("Text.GitFlow.Hotfix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hotfix Prefix :. + /// + public static string Text_GitFlow_HotfixPrefix { + get { + return ResourceManager.GetString("Text.GitFlow.HotfixPrefix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initialize Git-Flow. + /// + public static string Text_GitFlow_Init { + get { + return ResourceManager.GetString("Text.GitFlow.Init", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Keep branch. + /// + public static string Text_GitFlow_KeepBranchAfterFinish { + get { + return ResourceManager.GetString("Text.GitFlow.KeepBranchAfterFinish", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Production Branch :. + /// + public static string Text_GitFlow_ProductionBranch { + get { + return ResourceManager.GetString("Text.GitFlow.ProductionBranch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Release :. + /// + public static string Text_GitFlow_Release { + get { + return ResourceManager.GetString("Text.GitFlow.Release", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Release Prefix :. + /// + public static string Text_GitFlow_ReleasePrefix { + get { + return ResourceManager.GetString("Text.GitFlow.ReleasePrefix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Feature .... + /// + public static string Text_GitFlow_StartFeature { + get { + return ResourceManager.GetString("Text.GitFlow.StartFeature", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FLOW - Start Feature. + /// + public static string Text_GitFlow_StartFeatureTitle { + get { + return ResourceManager.GetString("Text.GitFlow.StartFeatureTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Hotfix .... + /// + public static string Text_GitFlow_StartHotfix { + get { + return ResourceManager.GetString("Text.GitFlow.StartHotfix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FLOW - Start Hotfix. + /// + public static string Text_GitFlow_StartHotfixTitle { + get { + return ResourceManager.GetString("Text.GitFlow.StartHotfixTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter name. + /// + public static string Text_GitFlow_StartPlaceholder { + get { + return ResourceManager.GetString("Text.GitFlow.StartPlaceholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Release .... + /// + public static string Text_GitFlow_StartRelease { + get { + return ResourceManager.GetString("Text.GitFlow.StartRelease", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FLOW - Start Release. + /// + public static string Text_GitFlow_StartReleaseTitle { + get { + return ResourceManager.GetString("Text.GitFlow.StartReleaseTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Version Tag Prefix :. + /// + public static string Text_GitFlow_TagPrefix { + get { + return ResourceManager.GetString("Text.GitFlow.TagPrefix", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Histories. + /// + public static string Text_Histories { + get { + return ResourceManager.GetString("Text.Histories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch Horizontal/Vertical Layout. + /// + public static string Text_Histories_DisplayMode { + get { + return ResourceManager.GetString("Text.Histories.DisplayMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch Curve/Polyline Graph Mode. + /// + public static string Text_Histories_GraphMode { + get { + return ResourceManager.GetString("Text.Histories.GraphMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT. + /// + public static string Text_Histories_Search { + get { + return ResourceManager.GetString("Text.Histories.Search", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CLEAR. + /// + public static string Text_Histories_SearchClear { + get { + return ResourceManager.GetString("Text.Histories.SearchClear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SELECTED {0} COMMITS. + /// + public static string Text_Histories_Selected { + get { + return ResourceManager.GetString("Text.Histories.Selected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HotKeys. + /// + public static string Text_Hotkeys { + get { + return ResourceManager.GetString("Text.Hotkeys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to GLOBAL. + /// + public static string Text_Hotkeys_Global { + get { + return ResourceManager.GetString("Text.Hotkeys.Global", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel current popup. + /// + public static string Text_Hotkeys_Global_CancelPopup { + get { + return ResourceManager.GetString("Text.Hotkeys.Global.CancelPopup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close current page. + /// + public static string Text_Hotkeys_Global_CloseTab { + get { + return ResourceManager.GetString("Text.Hotkeys.Global.CloseTab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Go to next page. + /// + public static string Text_Hotkeys_Global_GotoNextTab { + get { + return ResourceManager.GetString("Text.Hotkeys.Global.GotoNextTab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create new page. + /// + public static string Text_Hotkeys_Global_NewTab { + get { + return ResourceManager.GetString("Text.Hotkeys.Global.NewTab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to REPOSITORY. + /// + public static string Text_Hotkeys_Repo { + get { + return ResourceManager.GetString("Text.Hotkeys.Repo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stage/Unstage selected changes. + /// + public static string Text_Hotkeys_Repo_StageOrUnstageSelected { + get { + return ResourceManager.GetString("Text.Hotkeys.Repo.StageOrUnstageSelected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle commit search. + /// + public static string Text_Hotkeys_Repo_ToggleSearch { + get { + return ResourceManager.GetString("Text.Hotkeys.Repo.ToggleSearch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to 'Changes'. + /// + public static string Text_Hotkeys_Repo_ViewChanges { + get { + return ResourceManager.GetString("Text.Hotkeys.Repo.ViewChanges", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to 'Histories'. + /// + public static string Text_Hotkeys_Repo_ViewHistories { + get { + return ResourceManager.GetString("Text.Hotkeys.Repo.ViewHistories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to 'Stashes'. + /// + public static string Text_Hotkeys_Repo_ViewStashes { + get { + return ResourceManager.GetString("Text.Hotkeys.Repo.ViewStashes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TEXT EDITOR. + /// + public static string Text_Hotkeys_TextEditor { + get { + return ResourceManager.GetString("Text.Hotkeys.TextEditor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close search panel. + /// + public static string Text_Hotkeys_TextEditor_CloseSearch { + get { + return ResourceManager.GetString("Text.Hotkeys.TextEditor.CloseSearch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Find next match. + /// + public static string Text_Hotkeys_TextEditor_GotoNextMatch { + get { + return ResourceManager.GetString("Text.Hotkeys.TextEditor.GotoNextMatch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Find previous match. + /// + public static string Text_Hotkeys_TextEditor_GotoPrevMatch { + get { + return ResourceManager.GetString("Text.Hotkeys.TextEditor.GotoPrevMatch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open search panel. + /// + public static string Text_Hotkeys_TextEditor_Search { + get { + return ResourceManager.GetString("Text.Hotkeys.TextEditor.Search", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initialize Repository. + /// + public static string Text_Init { + get { + return ResourceManager.GetString("Text.Init", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path :. + /// + public static string Text_Init_Path { + get { + return ResourceManager.GetString("Text.Init.Path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid repository detected. Run `git init` under this path?. + /// + public static string Text_Init_Tip { + get { + return ResourceManager.GetString("Text.Init.Tip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Source Git. + /// + public static string Text_Launcher { + get { + return ResourceManager.GetString("Text.Launcher", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ERROR. + /// + public static string Text_Launcher_Error { + get { + return ResourceManager.GetString("Text.Launcher.Error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NOTICE. + /// + public static string Text_Launcher_Info { + get { + return ResourceManager.GetString("Text.Launcher.Info", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Main Menu. + /// + public static string Text_Launcher_Menu { + get { + return ResourceManager.GetString("Text.Launcher.Menu", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Merge Branch. + /// + public static string Text_Merge { + get { + return ResourceManager.GetString("Text.Merge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Into :. + /// + public static string Text_Merge_Into { + get { + return ResourceManager.GetString("Text.Merge.Into", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Merge Option :. + /// + public static string Text_Merge_Mode { + get { + return ResourceManager.GetString("Text.Merge.Mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Source Branch :. + /// + public static string Text_Merge_Source { + get { + return ResourceManager.GetString("Text.Merge.Source", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Name :. + /// + public static string Text_Name { + get { + return ResourceManager.GetString("Text.Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Git has NOT been configured. Please to go [Preference] and configure it first.. + /// + public static string Text_NotConfigured { + get { + return ResourceManager.GetString("Text.NotConfigured", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NOTICE. + /// + public static string Text_Notice { + get { + return ResourceManager.GetString("Text.Notice", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SELECT FOLDER. + /// + public static string Text_OpenFolder { + get { + return ResourceManager.GetString("Text.OpenFolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open With .... + /// + public static string Text_OpenWith { + get { + return ResourceManager.GetString("Text.OpenWith", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Optional.. + /// + public static string Text_Optional { + get { + return ResourceManager.GetString("Text.Optional", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create New Page (Ctrl+T). + /// + public static string Text_PageTabBar_New { + get { + return ResourceManager.GetString("Text.PageTabBar.New", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bookmark. + /// + public static string Text_PageTabBar_Tab_Bookmark { + get { + return ResourceManager.GetString("Text.PageTabBar.Tab.Bookmark", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close Tab. + /// + public static string Text_PageTabBar_Tab_Close { + get { + return ResourceManager.GetString("Text.PageTabBar.Tab.Close", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close Other Tabs. + /// + public static string Text_PageTabBar_Tab_CloseOther { + get { + return ResourceManager.GetString("Text.PageTabBar.Tab.CloseOther", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close Tabs to the Right. + /// + public static string Text_PageTabBar_Tab_CloseRight { + get { + return ResourceManager.GetString("Text.PageTabBar.Tab.CloseRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy Repository Path. + /// + public static string Text_PageTabBar_Tab_CopyPath { + get { + return ResourceManager.GetString("Text.PageTabBar.Tab.CopyPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Repositories. + /// + public static string Text_PageTabBar_Welcome_Title { + get { + return ResourceManager.GetString("Text.PageTabBar.Welcome.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Paste. + /// + public static string Text_Paste { + get { + return ResourceManager.GetString("Text.Paste", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Preference. + /// + public static string Text_Preference { + get { + return ResourceManager.GetString("Text.Preference", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to GENERAL. + /// + public static string Text_Preference_General { + get { + return ResourceManager.GetString("Text.Preference.General", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Avatar Server. + /// + public static string Text_Preference_General_AvatarServer { + get { + return ResourceManager.GetString("Text.Preference.General.AvatarServer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + public static string Text_Preference_General_Locale { + get { + return ResourceManager.GetString("Text.Preference.General.Locale", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to History Commits. + /// + public static string Text_Preference_General_MaxHistoryCommits { + get { + return ResourceManager.GetString("Text.Preference.General.MaxHistoryCommits", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Restore windows. + /// + public static string Text_Preference_General_RestoreTabs { + get { + return ResourceManager.GetString("Text.Preference.General.RestoreTabs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Theme. + /// + public static string Text_Preference_General_Theme { + get { + return ResourceManager.GetString("Text.Preference.General.Theme", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use fixed tab width in titlebar. + /// + public static string Text_Preference_General_UseFixedTabWidth { + get { + return ResourceManager.GetString("Text.Preference.General.UseFixedTabWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to GIT. + /// + public static string Text_Preference_Git { + get { + return ResourceManager.GetString("Text.Preference.Git", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetch remotes automatically. + /// + public static string Text_Preference_Git_AutoFetch { + get { + return ResourceManager.GetString("Text.Preference.Git.AutoFetch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Auto CRLF. + /// + public static string Text_Preference_Git_CRLF { + get { + return ResourceManager.GetString("Text.Preference.Git.CRLF", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Default Clone Dir. + /// + public static string Text_Preference_Git_DefaultCloneDir { + get { + return ResourceManager.GetString("Text.Preference.Git.DefaultCloneDir", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User Email. + /// + public static string Text_Preference_Git_Email { + get { + return ResourceManager.GetString("Text.Preference.Git.Email", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Global git user email. + /// + public static string Text_Preference_Git_Email_Placeholder { + get { + return ResourceManager.GetString("Text.Preference.Git.Email.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Install Path. + /// + public static string Text_Preference_Git_Path { + get { + return ResourceManager.GetString("Text.Preference.Git.Path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User Name. + /// + public static string Text_Preference_Git_User { + get { + return ResourceManager.GetString("Text.Preference.Git.User", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Global git user name. + /// + public static string Text_Preference_Git_User_Placeholder { + get { + return ResourceManager.GetString("Text.Preference.Git.User.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Git version. + /// + public static string Text_Preference_Git_Version { + get { + return ResourceManager.GetString("Text.Preference.Git.Version", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to GPG SIGNING. + /// + public static string Text_Preference_GPG { + get { + return ResourceManager.GetString("Text.Preference.GPG", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Commit GPG signing. + /// + public static string Text_Preference_GPG_Enabled { + get { + return ResourceManager.GetString("Text.Preference.GPG.Enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Install Path. + /// + public static string Text_Preference_GPG_Path { + get { + return ResourceManager.GetString("Text.Preference.GPG.Path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Input path for installed gpg program. + /// + public static string Text_Preference_GPG_Path_Placeholder { + get { + return ResourceManager.GetString("Text.Preference.GPG.Path.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User Signing Key. + /// + public static string Text_Preference_GPG_UserKey { + get { + return ResourceManager.GetString("Text.Preference.GPG.UserKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User's gpg signing key. + /// + public static string Text_Preference_GPG_UserKey_Placeholder { + get { + return ResourceManager.GetString("Text.Preference.GPG.UserKey.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MERGE. + /// + public static string Text_Preference_Merger { + get { + return ResourceManager.GetString("Text.Preference.Merger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Diff Command. + /// + public static string Text_Preference_Merger_CustomDiffCmd { + get { + return ResourceManager.GetString("Text.Preference.Merger.CustomDiffCmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Merge Command. + /// + public static string Text_Preference_Merger_CustomMergeCmd { + get { + return ResourceManager.GetString("Text.Preference.Merger.CustomMergeCmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Install Path. + /// + public static string Text_Preference_Merger_Path { + get { + return ResourceManager.GetString("Text.Preference.Merger.Path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Input path for merge tool. + /// + public static string Text_Preference_Merger_Path_Placeholder { + get { + return ResourceManager.GetString("Text.Preference.Merger.Path.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Merger. + /// + public static string Text_Preference_Merger_Type { + get { + return ResourceManager.GetString("Text.Preference.Merger.Type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pull. + /// + public static string Text_Pull { + get { + return ResourceManager.GetString("Text.Pull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash & reapply local changes. + /// + public static string Text_Pull_AutoStash { + get { + return ResourceManager.GetString("Text.Pull.AutoStash", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Branch :. + /// + public static string Text_Pull_Branch { + get { + return ResourceManager.GetString("Text.Pull.Branch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Into :. + /// + public static string Text_Pull_Into { + get { + return ResourceManager.GetString("Text.Pull.Into", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote :. + /// + public static string Text_Pull_Remote { + get { + return ResourceManager.GetString("Text.Pull.Remote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pull (Fetch & Merge). + /// + public static string Text_Pull_Title { + get { + return ResourceManager.GetString("Text.Pull.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use rebase instead of merge. + /// + public static string Text_Pull_UseRebase { + get { + return ResourceManager.GetString("Text.Pull.UseRebase", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Push. + /// + public static string Text_Push { + get { + return ResourceManager.GetString("Text.Push", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Force push. + /// + public static string Text_Push_Force { + get { + return ResourceManager.GetString("Text.Push.Force", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Local Branch :. + /// + public static string Text_Push_Local { + get { + return ResourceManager.GetString("Text.Push.Local", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote :. + /// + public static string Text_Push_Remote { + get { + return ResourceManager.GetString("Text.Push.Remote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Push Changes To Remote. + /// + public static string Text_Push_Title { + get { + return ResourceManager.GetString("Text.Push.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote Branch :. + /// + public static string Text_Push_To { + get { + return ResourceManager.GetString("Text.Push.To", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Push all tags. + /// + public static string Text_Push_WithAllTags { + get { + return ResourceManager.GetString("Text.Push.WithAllTags", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Push Tag To Remote. + /// + public static string Text_PushTag { + get { + return ResourceManager.GetString("Text.PushTag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote :. + /// + public static string Text_PushTag_Remote { + get { + return ResourceManager.GetString("Text.PushTag.Remote", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tag :. + /// + public static string Text_PushTag_Tag { + get { + return ResourceManager.GetString("Text.PushTag.Tag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rebase Current Branch. + /// + public static string Text_Rebase { + get { + return ResourceManager.GetString("Text.Rebase", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash & reapply local changes. + /// + public static string Text_Rebase_AutoStash { + get { + return ResourceManager.GetString("Text.Rebase.AutoStash", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to On :. + /// + public static string Text_Rebase_On { + get { + return ResourceManager.GetString("Text.Rebase.On", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rebase :. + /// + public static string Text_Rebase_Target { + get { + return ResourceManager.GetString("Text.Rebase.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Refresh. + /// + public static string Text_RefetchAvatar { + get { + return ResourceManager.GetString("Text.RefetchAvatar", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add Remote. + /// + public static string Text_Remote_AddTitle { + get { + return ResourceManager.GetString("Text.Remote.AddTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Edit Remote. + /// + public static string Text_Remote_EditTitle { + get { + return ResourceManager.GetString("Text.Remote.EditTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Name :. + /// + public static string Text_Remote_Name { + get { + return ResourceManager.GetString("Text.Remote.Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote name. + /// + public static string Text_Remote_Name_Placeholder { + get { + return ResourceManager.GetString("Text.Remote.Name.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Repository URL :. + /// + public static string Text_Remote_URL { + get { + return ResourceManager.GetString("Text.Remote.URL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remote git repository URL. + /// + public static string Text_Remote_URL_Placeholder { + get { + return ResourceManager.GetString("Text.Remote.URL.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy URL. + /// + public static string Text_RemoteCM_CopyURL { + get { + return ResourceManager.GetString("Text.RemoteCM.CopyURL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete .... + /// + public static string Text_RemoteCM_Delete { + get { + return ResourceManager.GetString("Text.RemoteCM.Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Edit .... + /// + public static string Text_RemoteCM_Edit { + get { + return ResourceManager.GetString("Text.RemoteCM.Edit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetch .... + /// + public static string Text_RemoteCM_Fetch { + get { + return ResourceManager.GetString("Text.RemoteCM.Fetch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Prune. + /// + public static string Text_RemoteCM_Prune { + get { + return ResourceManager.GetString("Text.RemoteCM.Prune", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Target :. + /// + public static string Text_RemoteCM_Prune_Target { + get { + return ResourceManager.GetString("Text.RemoteCM.Prune.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rename Branch. + /// + public static string Text_RenameBranch { + get { + return ResourceManager.GetString("Text.RenameBranch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New Name :. + /// + public static string Text_RenameBranch_Name { + get { + return ResourceManager.GetString("Text.RenameBranch.Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unique name for this branch. + /// + public static string Text_RenameBranch_Name_Placeholder { + get { + return ResourceManager.GetString("Text.RenameBranch.Name.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Branch :. + /// + public static string Text_RenameBranch_Target { + get { + return ResourceManager.GetString("Text.RenameBranch.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bookmark. + /// + public static string Text_RepoCM_Bookmark { + get { + return ResourceManager.GetString("Text.RepoCM.Bookmark", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Explore in File Manager. + /// + public static string Text_RepoCM_Explore { + get { + return ResourceManager.GetString("Text.RepoCM.Explore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + public static string Text_RepoCM_Open { + get { + return ResourceManager.GetString("Text.RepoCM.Open", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ABORT. + /// + public static string Text_Repository_Abort { + get { + return ResourceManager.GetString("Text.Repository.Abort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cleanup(GC & Prune). + /// + public static string Text_Repository_Clean { + get { + return ResourceManager.GetString("Text.Repository.Clean", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run `gc` command and do `lfs prune` if LFS is installed.. + /// + public static string Text_Repository_CleanTips { + get { + return ResourceManager.GetString("Text.Repository.CleanTips", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configure this repository. + /// + public static string Text_Repository_Configure { + get { + return ResourceManager.GetString("Text.Repository.Configure", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CONTINUE. + /// + public static string Text_Repository_Continue { + get { + return ResourceManager.GetString("Text.Repository.Continue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open In File Browser. + /// + public static string Text_Repository_Explore { + get { + return ResourceManager.GetString("Text.Repository.Explore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to LOCAL BRANCHES. + /// + public static string Text_Repository_LocalBranches { + get { + return ResourceManager.GetString("Text.Repository.LocalBranches", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NEW BRANCH. + /// + public static string Text_Repository_NewBranch { + get { + return ResourceManager.GetString("Text.Repository.NewBranch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Refresh. + /// + public static string Text_Repository_Refresh { + get { + return ResourceManager.GetString("Text.Repository.Refresh", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to REMOTES. + /// + public static string Text_Repository_Remotes { + get { + return ResourceManager.GetString("Text.Repository.Remotes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ADD REMOTE. + /// + public static string Text_Repository_Remotes_Add { + get { + return ResourceManager.GetString("Text.Repository.Remotes.Add", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RESOLVE. + /// + public static string Text_Repository_Resolve { + get { + return ResourceManager.GetString("Text.Repository.Resolve", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Search Commit (Ctrl+F). + /// + public static string Text_Repository_Search { + get { + return ResourceManager.GetString("Text.Repository.Search", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Search Author/Committer/Message/SHA. + /// + public static string Text_Repository_SearchTip { + get { + return ResourceManager.GetString("Text.Repository.SearchTip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Statistics. + /// + public static string Text_Repository_Statistics { + get { + return ResourceManager.GetString("Text.Repository.Statistics", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SUBMODULES. + /// + public static string Text_Repository_Submodules { + get { + return ResourceManager.GetString("Text.Repository.Submodules", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ADD SUBMODULE. + /// + public static string Text_Repository_Submodules_Add { + get { + return ResourceManager.GetString("Text.Repository.Submodules.Add", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UPDATE SUBMODULE. + /// + public static string Text_Repository_Submodules_Update { + get { + return ResourceManager.GetString("Text.Repository.Submodules.Update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TAGS. + /// + public static string Text_Repository_Tags { + get { + return ResourceManager.GetString("Text.Repository.Tags", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NEW TAG. + /// + public static string Text_Repository_Tags_Add { + get { + return ResourceManager.GetString("Text.Repository.Tags.Add", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open In Git Bash. + /// + public static string Text_Repository_Terminal { + get { + return ResourceManager.GetString("Text.Repository.Terminal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open In Visual Studio Code. + /// + public static string Text_Repository_VSCode { + get { + return ResourceManager.GetString("Text.Repository.VSCode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WORKSPACE. + /// + public static string Text_Repository_Workspace { + get { + return ResourceManager.GetString("Text.Repository.Workspace", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Git Repository URL. + /// + public static string Text_RepositoryURL { + get { + return ResourceManager.GetString("Text.RepositoryURL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Current Branch To Revision. + /// + public static string Text_Reset { + get { + return ResourceManager.GetString("Text.Reset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Mode :. + /// + public static string Text_Reset_Mode { + get { + return ResourceManager.GetString("Text.Reset.Mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Move To :. + /// + public static string Text_Reset_MoveTo { + get { + return ResourceManager.GetString("Text.Reset.MoveTo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current Branch :. + /// + public static string Text_Reset_Target { + get { + return ResourceManager.GetString("Text.Reset.Target", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reveal in File Explorer. + /// + public static string Text_RevealFile { + get { + return ResourceManager.GetString("Text.RevealFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Revert Commit. + /// + public static string Text_Revert { + get { + return ResourceManager.GetString("Text.Revert", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Commit :. + /// + public static string Text_Revert_Commit { + get { + return ResourceManager.GetString("Text.Revert.Commit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Commit revert changes. + /// + public static string Text_Revert_CommitChanges { + get { + return ResourceManager.GetString("Text.Revert.CommitChanges", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reword Commit Message. + /// + public static string Text_Reword { + get { + return ResourceManager.GetString("Text.Reword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message :. + /// + public static string Text_Reword_Message { + get { + return ResourceManager.GetString("Text.Reword.Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to On :. + /// + public static string Text_Reword_On { + get { + return ResourceManager.GetString("Text.Reword.On", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Running. Please wait .... + /// + public static string Text_Running { + get { + return ResourceManager.GetString("Text.Running", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SAVE. + /// + public static string Text_Save { + get { + return ResourceManager.GetString("Text.Save", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save As .... + /// + public static string Text_SaveAs { + get { + return ResourceManager.GetString("Text.SaveAs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Patch has been saved successfully!. + /// + public static string Text_SaveAsPatchSuccess { + get { + return ResourceManager.GetString("Text.SaveAsPatchSuccess", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Squash HEAD Into Parent. + /// + public static string Text_Squash { + get { + return ResourceManager.GetString("Text.Squash", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HEAD :. + /// + public static string Text_Squash_Head { + get { + return ResourceManager.GetString("Text.Squash.Head", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reword :. + /// + public static string Text_Squash_Message { + get { + return ResourceManager.GetString("Text.Squash.Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To :. + /// + public static string Text_Squash_To { + get { + return ResourceManager.GetString("Text.Squash.To", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SSH Private Key :. + /// + public static string Text_SSHKey { + get { + return ResourceManager.GetString("Text.SSHKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Private SSH key store path. + /// + public static string Text_SSHKey_Placeholder { + get { + return ResourceManager.GetString("Text.SSHKey.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to START. + /// + public static string Text_Start { + get { + return ResourceManager.GetString("Text.Start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash. + /// + public static string Text_Stash { + get { + return ResourceManager.GetString("Text.Stash", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Include untracked files. + /// + public static string Text_Stash_IncludeUntracked { + get { + return ResourceManager.GetString("Text.Stash.IncludeUntracked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message :. + /// + public static string Text_Stash_Message { + get { + return ResourceManager.GetString("Text.Stash.Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Optional. Name of this stash. + /// + public static string Text_Stash_Message_Placeholder { + get { + return ResourceManager.GetString("Text.Stash.Message.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stash Local Changes. + /// + public static string Text_Stash_Title { + get { + return ResourceManager.GetString("Text.Stash.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply. + /// + public static string Text_StashCM_Apply { + get { + return ResourceManager.GetString("Text.StashCM.Apply", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Drop. + /// + public static string Text_StashCM_Drop { + get { + return ResourceManager.GetString("Text.StashCM.Drop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pop. + /// + public static string Text_StashCM_Pop { + get { + return ResourceManager.GetString("Text.StashCM.Pop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Drop Stash. + /// + public static string Text_StashDropConfirm { + get { + return ResourceManager.GetString("Text.StashDropConfirm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Drop :. + /// + public static string Text_StashDropConfirm_Label { + get { + return ResourceManager.GetString("Text.StashDropConfirm.Label", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stashes. + /// + public static string Text_Stashes { + get { + return ResourceManager.GetString("Text.Stashes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CHANGES. + /// + public static string Text_Stashes_Changes { + get { + return ResourceManager.GetString("Text.Stashes.Changes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to STASHES. + /// + public static string Text_Stashes_Stashes { + get { + return ResourceManager.GetString("Text.Stashes.Stashes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Statistics. + /// + public static string Text_Statistics { + get { + return ResourceManager.GetString("Text.Statistics", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to COMMITS. + /// + public static string Text_Statistics_CommitAmount { + get { + return ResourceManager.GetString("Text.Statistics.CommitAmount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to COMMITTER. + /// + public static string Text_Statistics_Committer { + get { + return ResourceManager.GetString("Text.Statistics.Committer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MONTH. + /// + public static string Text_Statistics_ThisMonth { + get { + return ResourceManager.GetString("Text.Statistics.ThisMonth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WEEK. + /// + public static string Text_Statistics_ThisWeek { + get { + return ResourceManager.GetString("Text.Statistics.ThisWeek", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to YEAR. + /// + public static string Text_Statistics_ThisYear { + get { + return ResourceManager.GetString("Text.Statistics.ThisYear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Total Commits. + /// + public static string Text_Statistics_TotalCommits { + get { + return ResourceManager.GetString("Text.Statistics.TotalCommits", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Total Committers. + /// + public static string Text_Statistics_TotalCommitters { + get { + return ResourceManager.GetString("Text.Statistics.TotalCommitters", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SUBMODULES. + /// + public static string Text_Submodule { + get { + return ResourceManager.GetString("Text.Submodule", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add Submodule. + /// + public static string Text_Submodule_Add { + get { + return ResourceManager.GetString("Text.Submodule.Add", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy Relative Path. + /// + public static string Text_Submodule_CopyPath { + get { + return ResourceManager.GetString("Text.Submodule.CopyPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetch nested submodules. + /// + public static string Text_Submodule_FetchNested { + get { + return ResourceManager.GetString("Text.Submodule.FetchNested", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Submodule Repository. + /// + public static string Text_Submodule_Open { + get { + return ResourceManager.GetString("Text.Submodule.Open", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Relative Path :. + /// + public static string Text_Submodule_RelativePath { + get { + return ResourceManager.GetString("Text.Submodule.RelativePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Relative folder to store this module.. + /// + public static string Text_Submodule_RelativePath_Placeholder { + get { + return ResourceManager.GetString("Text.Submodule.RelativePath.Placeholder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete Submodule. + /// + public static string Text_Submodule_Remove { + get { + return ResourceManager.GetString("Text.Submodule.Remove", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OK. + /// + public static string Text_Sure { + get { + return ResourceManager.GetString("Text.Sure", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy Tag Name. + /// + public static string Text_TagCM_Copy { + get { + return ResourceManager.GetString("Text.TagCM.Copy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete${0}$. + /// + public static string Text_TagCM_Delete { + get { + return ResourceManager.GetString("Text.TagCM.Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Push${0}$. + /// + public static string Text_TagCM_Push { + get { + return ResourceManager.GetString("Text.TagCM.Push", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to COMMIT : {0} -> {1}. + /// + public static string Text_TwoCommitsDiff { + get { + return ResourceManager.GetString("Text.TwoCommitsDiff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to URL :. + /// + public static string Text_URL { + get { + return ResourceManager.GetString("Text.URL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Warning. + /// + public static string Text_Warn { + get { + return ResourceManager.GetString("Text.Warn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Group. + /// + public static string Text_Welcome_AddRootFolder { + get { + return ResourceManager.GetString("Text.Welcome.AddRootFolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Sub-Group. + /// + public static string Text_Welcome_AddSubFolder { + get { + return ResourceManager.GetString("Text.Welcome.AddSubFolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Clone Repository. + /// + public static string Text_Welcome_Clone { + get { + return ResourceManager.GetString("Text.Welcome.Clone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + public static string Text_Welcome_Delete { + get { + return ResourceManager.GetString("Text.Welcome.Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DRAG & DROP FOLDER SUPPORTED. + /// + public static string Text_Welcome_DragDropTip { + get { + return ResourceManager.GetString("Text.Welcome.DragDropTip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Edit. + /// + public static string Text_Welcome_Edit { + get { + return ResourceManager.GetString("Text.Welcome.Edit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Repository. + /// + public static string Text_Welcome_OpenOrInit { + get { + return ResourceManager.GetString("Text.Welcome.OpenOrInit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open In Git Bash. + /// + public static string Text_Welcome_OpenTerminal { + get { + return ResourceManager.GetString("Text.Welcome.OpenTerminal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Search Repositories .... + /// + public static string Text_Welcome_Search { + get { + return ResourceManager.GetString("Text.Welcome.Search", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sort. + /// + public static string Text_Welcome_Sort { + get { + return ResourceManager.GetString("Text.Welcome.Sort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changes. + /// + public static string Text_WorkingCopy { + get { + return ResourceManager.GetString("Text.WorkingCopy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Amend. + /// + public static string Text_WorkingCopy_Amend { + get { + return ResourceManager.GetString("Text.WorkingCopy.Amend", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to COMMIT. + /// + public static string Text_WorkingCopy_Commit { + get { + return ResourceManager.GetString("Text.WorkingCopy.Commit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to COMMIT & PUSH. + /// + public static string Text_WorkingCopy_CommitAndPush { + get { + return ResourceManager.GetString("Text.WorkingCopy.CommitAndPush", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter commit message. + /// + public static string Text_WorkingCopy_CommitMessageTip { + get { + return ResourceManager.GetString("Text.WorkingCopy.CommitMessageTip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CTRL + Enter. + /// + public static string Text_WorkingCopy_CommitTip { + get { + return ResourceManager.GetString("Text.WorkingCopy.CommitTip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CONFLICTS DETECTED. + /// + public static string Text_WorkingCopy_Conflicts { + get { + return ResourceManager.GetString("Text.WorkingCopy.Conflicts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RECENT INPUT MESSAGES. + /// + public static string Text_WorkingCopy_HasCommitHistories { + get { + return ResourceManager.GetString("Text.WorkingCopy.HasCommitHistories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to INCLUDE UNTRACKED FILES. + /// + public static string Text_WorkingCopy_IncludeUntracked { + get { + return ResourceManager.GetString("Text.WorkingCopy.IncludeUntracked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MESSAGE HISTORIES. + /// + public static string Text_WorkingCopy_MessageHistories { + get { + return ResourceManager.GetString("Text.WorkingCopy.MessageHistories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NO RECENT INPUT MESSAGES. + /// + public static string Text_WorkingCopy_NoCommitHistories { + get { + return ResourceManager.GetString("Text.WorkingCopy.NoCommitHistories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OPEN MERGE. + /// + public static string Text_WorkingCopy_OpenMerger { + get { + return ResourceManager.GetString("Text.WorkingCopy.OpenMerger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to STAGED. + /// + public static string Text_WorkingCopy_Staged { + get { + return ResourceManager.GetString("Text.WorkingCopy.Staged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UNSTAGE. + /// + public static string Text_WorkingCopy_Staged_Unstage { + get { + return ResourceManager.GetString("Text.WorkingCopy.Staged.Unstage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UNSTAGE ALL. + /// + public static string Text_WorkingCopy_Staged_UnstageAll { + get { + return ResourceManager.GetString("Text.WorkingCopy.Staged.UnstageAll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UNSTAGED. + /// + public static string Text_WorkingCopy_Unstaged { + get { + return ResourceManager.GetString("Text.WorkingCopy.Unstaged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to STAGE. + /// + public static string Text_WorkingCopy_Unstaged_Stage { + get { + return ResourceManager.GetString("Text.WorkingCopy.Unstaged.Stage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to STAGE ALL. + /// + public static string Text_WorkingCopy_Unstaged_StageAll { + get { + return ResourceManager.GetString("Text.WorkingCopy.Unstaged.StageAll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VIEW ASSUME UNCHANGED. + /// + public static string Text_WorkingCopy_Unstaged_ViewAssumeUnchaged { + get { + return ResourceManager.GetString("Text.WorkingCopy.Unstaged.ViewAssumeUnchaged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to USE MINE. + /// + public static string Text_WorkingCopy_UseMine { + get { + return ResourceManager.GetString("Text.WorkingCopy.UseMine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to USE THEIRS. + /// + public static string Text_WorkingCopy_UseTheirs { + get { + return ResourceManager.GetString("Text.WorkingCopy.UseTheirs", resourceCulture); + } + } + } +} diff --git a/src/Resources/Locales.en.resx b/src/SourceGit/Resources/Locales.en.resx similarity index 97% rename from src/Resources/Locales.en.resx rename to src/SourceGit/Resources/Locales.en.resx index b5366220..0aa081eb 100644 --- a/src/Resources/Locales.en.resx +++ b/src/SourceGit/Resources/Locales.en.resx @@ -1,1290 +1,1290 @@ - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - START - - - OK - - - SAVE - - - CLOSE - - - CANCEL - - - Reveal in File Explorer - - - Save As ... - - - Copy Path - - - Bytes - - - FILTER - - - Optional. - - - SELECT FOLDER - - - NOTICE - - - Open With ... - - - Running. Please wait ... - - - Warning - - - Copy - - - Paste - - - Refresh - - - Name : - - - URL : - - - Git Repository URL - - - SSH Private Key : - - - Private SSH key store path - - - About - - - Copyright © 2024 sourcegit-scm. - - - • Build with - - - • TextEditor from - - - • Monospace fonts come from - - - Patch - - - Apply Patch - - - Patch File : - - - Select .patch file to apply - - - Whitespace : - - - Ignore whitespace changes - - - No Warn - - - Turns off the trailing whitespace warning - - - Warn - - - Outputs warnings for a few such errors, but applies - - - Error - - - Raise errors and refuses to apply the patch - - - Error All - - - Similar to 'error', but shows more - - - Archive ... - - - Archive - - - Revision : - - - Save Archive To : - - - Select archive file path - - - Blame - - - SUBMODULES - - - Add Submodule - - - Relative Path : - - - Relative folder to store this module. - - - Fetch nested submodules - - - Open Submodule Repository - - - Copy Relative Path - - - Delete Submodule - - - Checkout Branch - - - Target : - - - Cherry-Pick This Commit - - - Cherry Pick - - - Commit : - - - Commit all changes - - - Clone Remote Repository - - - Repository URL : - - - Parent Folder : - - - Local Name : - - - Repository name. Optional. - - - Extra Parameters : - - - Additional arguments to clone repository. Optional. - - - INFORMATION - - - AUTHOR - - - COMMITTER - - - SHA - - - PARENTS - - - REFS - - - MESSAGE - - - CHANGED - - - CHANGES - - - Search Files ... - - - FILES - - - LFS File - - - Submodule - - - Tag - - - Tree - - - Configure - - - User Name - - - User name for this repository - - - Email Address - - - Email address - - - HTTP Proxy - - - HTTP proxy used by this repository - - - Create Branch - - - Create Local Branch - - - Based On : - - - New Branch Name : - - - Enter branch name. - - - Local Changes : - - - Stash & Reapply - - - Discard - - - Check out after created - - - Create Tag - - - New Tag At : - - - Tag Name : - - - Recommended format :v1.0.0-alpha - - - Tag Message : - - - Optional. - - - Open In File Browser - - - Open In Visual Studio Code - - - Open In Git Bash - - - Refresh - - - Search Commit (Ctrl+F) - - - Search Author/Committer/Message/SHA - - - Statistics - - - Cleanup(GC & Prune) - - - Run `gc` command and do `lfs prune` if LFS is installed. - - - Configure this repository - - - WORKSPACE - - - LOCAL BRANCHES - - - NEW BRANCH - - - REMOTES - - - ADD REMOTE - - - TAGS - - - NEW TAG - - - SUBMODULES - - - ADD SUBMODULE - - - UPDATE SUBMODULE - - - RESOLVE - - - CONTINUE - - - ABORT - - - GIT FLOW - - - Initialize Git-Flow - - - Production Branch : - - - Development Branch : - - - Feature : - - - Release : - - - Hotfix : - - - Feature Prefix : - - - Release Prefix : - - - Hotfix Prefix : - - - Version Tag Prefix : - - - Start Feature ... - - - Start Release ... - - - Start Hotfix ... - - - FLOW - Start Feature - - - FLOW - Start Release - - - FLOW - Start Hotfix - - - Enter name - - - FLOW - Finish Feature - - - FLOW - Finish Release - - - FLOW - Finish Hotfix - - - Target : - - - Keep branch - - - Bookmark - - - Open - - - Explore in File Manager - - - Push${0}$ - - - Discard all changes - - - Fast-Forward to${0}$ - - - Pull${0}$ - - - Pull${0}$into${1}$ - - - Checkout${0}$ - - - Merge${0}$into${1}$ - - - Rebase${0}$on${1}$ - - - Git Flow - Finish${0}$ - - - Rename${0}$ - - - Delete${0}$ - - - Tracking ... - - - Copy Branch Name - - - Unset Upstream - - - Fetch ... - - - Prune - - - Target : - - - Edit ... - - - Delete ... - - - Copy URL - - - Reset${0}$to Here - - - Rebase${0}$to Here - - - Cherry-Pick This Commit - - - Reword - - - Squash Into Parent - - - Revert Commit - - - Save as Patch ... - - - Copy SHA - - - Push${0}$ - - - Delete${0}$ - - - Copy Tag Name - - - Apply - - - Pop - - - Drop - - - Unstage - - - Stage... - - - Discard... - - - Stash... - - - Unstage {0} files - - - Stage {0} files... - - - Discard {0} files... - - - Stash {0} files... - - - Save As Patch... - - - Assume unchanged - - - Stage Changes in Selected Line(s) - - - Discard Changes in Selected Line(s) - - - Unstage Changes in Selected Line(s) - - - Delete Branch - - - Branch : - - - Delete Remote - - - Remote : - - - Delete Tag - - - Tag : - - - Delete from remote repositories - - - Delete Submodule - - - Submodule Path : - - - Next Difference - - - Previous Difference - - - Side-By-Side Diff - - - Open With Merge Tool - - - SELECT FILE TO VIEW CHANGES - - - NO CHANGES OR ONLY EOL CHANGES - - - BINARY DIFF - - - OLD - - - NEW - - - LFS OBJECT CHANGE - - - Copy - - - Discard Changes - - - Changes : - - - You can't undo this action!!! - - - All local changes in working copy. - - - Total {0} changes will be discard - - - Fetch - - - Fetch Remote Changes - - - Remote : - - - Fetch all remotes - - - Prune remote dead branches - - - Fast-Forward (without checkout) - - - File History - - - CHANGE DISPLAY MODE - - - Show as Grid - - - Show as List - - - Show as Tree - - - Histories - - - SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT - - - CLEAR - - - Switch Curve/Polyline Graph Mode - - - Switch Horizontal/Vertical Layout - - - SELECTED {0} COMMITS - - - Initialize Repository - - - Path : - - - Invalid repository detected. Run `git init` under this path? - - - Source Git - - - Open Main Menu - - - ERROR - - - NOTICE - - - Create New Page (Ctrl+T) - - - Repositories - - - Close Tab - - - Close Other Tabs - - - Close Tabs to the Right - - - Bookmark - - - Copy Repository Path - - - Merge Branch - - - Source Branch : - - - Into : - - - Merge Option : - - - Open Repository - - - Open In Git Bash - - - Clone Repository - - - Edit - - - Create Group - - - Create Sub-Group - - - Delete - - - Search Repositories ... - - - Sort - - - DRAG & DROP FOLDER SUPPORTED - - - Edit Selected Group - - - Edit Selected Repository - - - Target : - - - New Name : - - - Bookmark : - - - Confirm Deleting Group - - - Confirm Deleting Repository - - - Target : - - - Pull - - - Pull (Fetch & Merge) - - - Remote : - - - Branch : - - - Into : - - - Use rebase instead of merge - - - Stash & reapply local changes - - - Push - - - Push Changes To Remote - - - Local Branch : - - - Remote : - - - Remote Branch : - - - Push all tags - - - Force push - - - Push Tag To Remote - - - Tag : - - - Remote : - - - Rebase Current Branch - - - Rebase : - - - On : - - - Stash & reapply local changes - - - Add Remote - - - Edit Remote - - - Name : - - - Remote name - - - Repository URL : - - - Remote git repository URL - - - Rename Branch - - - Branch : - - - New Name : - - - Unique name for this branch - - - Reset Current Branch To Revision - - - Current Branch : - - - Move To : - - - Reset Mode : - - - Revert Commit - - - Commit : - - - Commit revert changes - - - Preference - - - GENERAL - - - Language - - - Avatar Server - - - Theme - - - History Commits - - - Restore windows - - - Use fixed tab width in titlebar - - - GIT - - - Install Path - - - Git version - - - Default Clone Dir - - - User Name - - - Global git user name - - - User Email - - - Global git user email - - - Enable Auto CRLF - - - Fetch remotes automatically - - - GPG SIGNING - - - Commit GPG signing - - - Install Path - - - Input path for installed gpg program - - - User Signing Key - - - User's gpg signing key - - - MERGE - - - Merger - - - Install Path - - - Input path for merge tool - - - Merge Command - - - Diff Command - - - Stash - - - Stash Local Changes - - - Message : - - - Optional. Name of this stash - - - Include untracked files - - - Stashes - - - STASHES - - - CHANGES - - - Drop Stash - - - Drop : - - - COMMIT : {0} -> {1} - - - Changes - - - UNSTAGED - - - VIEW ASSUME UNCHANGED - - - STAGE - - - STAGE ALL - - - STAGED - - - UNSTAGE - - - UNSTAGE ALL - - - CONFLICTS DETECTED - - - USE THEIRS - - - USE MINE - - - OPEN MERGE - - - Enter commit message - - - MESSAGE HISTORIES - - - Amend - - - COMMIT - - - CTRL + Enter - - - COMMIT & PUSH - - - NO RECENT INPUT MESSAGES - - - RECENT INPUT MESSAGES - - - INCLUDE UNTRACKED FILES - - - Conflict detected! Press 'Abort' to restore original HEAD. - - - Clear Stashes - - - You are trying to clear all stashes. Are you sure to continue? - - - Reword Commit Message - - - On : - - - Message : - - - Squash HEAD Into Parent - - - HEAD : - - - To : - - - Reword : - - - FILES ASSUME UNCHANGED - - - REMOVE - - - NO FILES ASSUMED AS UNCHANGED - - - Statistics - - - WEEK - - - MONTH - - - YEAR - - - Total Committers - - - Total Commits - - - COMMITTER - - - COMMITS - - - HotKeys - - - GLOBAL - - - Create new page - - - Close current page - - - Go to next page - - - Cancel current popup - - - REPOSITORY - - - Switch to 'Histories' - - - Switch to 'Changes' - - - Switch to 'Stashes' - - - Toggle commit search - - - Stage/Unstage selected changes - - - TEXT EDITOR - - - Open search panel - - - Find previous match - - - Find next match - - - Close search panel - - - Git has NOT been configured. Please to go [Preference] and configure it first. - - - BINARY FILE NOT SUPPORTED!!! - - - BLAME ON THIS FILE IS NOT SUPPORTED!!! - - - Patch has been saved successfully! - - - Cut - + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + START + + + OK + + + SAVE + + + CLOSE + + + CANCEL + + + Reveal in File Explorer + + + Save As ... + + + Copy Path + + + Bytes + + + FILTER + + + Optional. + + + SELECT FOLDER + + + NOTICE + + + Open With ... + + + Running. Please wait ... + + + Warning + + + Copy + + + Paste + + + Refresh + + + Name : + + + URL : + + + Git Repository URL + + + SSH Private Key : + + + Private SSH key store path + + + About + + + Copyright © 2024 sourcegit-scm. + + + • Build with + + + • TextEditor from + + + • Monospace fonts come from + + + Patch + + + Apply Patch + + + Patch File : + + + Select .patch file to apply + + + Whitespace : + + + Ignore whitespace changes + + + No Warn + + + Turns off the trailing whitespace warning + + + Warn + + + Outputs warnings for a few such errors, but applies + + + Error + + + Raise errors and refuses to apply the patch + + + Error All + + + Similar to 'error', but shows more + + + Archive ... + + + Archive + + + Revision : + + + Save Archive To : + + + Select archive file path + + + Blame + + + SUBMODULES + + + Add Submodule + + + Relative Path : + + + Relative folder to store this module. + + + Fetch nested submodules + + + Open Submodule Repository + + + Copy Relative Path + + + Delete Submodule + + + Checkout Branch + + + Target : + + + Cherry-Pick This Commit + + + Cherry Pick + + + Commit : + + + Commit all changes + + + Clone Remote Repository + + + Repository URL : + + + Parent Folder : + + + Local Name : + + + Repository name. Optional. + + + Extra Parameters : + + + Additional arguments to clone repository. Optional. + + + INFORMATION + + + AUTHOR + + + COMMITTER + + + SHA + + + PARENTS + + + REFS + + + MESSAGE + + + CHANGED + + + CHANGES + + + Search Files ... + + + FILES + + + LFS File + + + Submodule + + + Tag + + + Tree + + + Configure + + + User Name + + + User name for this repository + + + Email Address + + + Email address + + + HTTP Proxy + + + HTTP proxy used by this repository + + + Create Branch + + + Create Local Branch + + + Based On : + + + New Branch Name : + + + Enter branch name. + + + Local Changes : + + + Stash & Reapply + + + Discard + + + Check out after created + + + Create Tag + + + New Tag At : + + + Tag Name : + + + Recommended format :v1.0.0-alpha + + + Tag Message : + + + Optional. + + + Open In File Browser + + + Open In Visual Studio Code + + + Open In Git Bash + + + Refresh + + + Search Commit (Ctrl+F) + + + Search Author/Committer/Message/SHA + + + Statistics + + + Cleanup(GC & Prune) + + + Run `gc` command and do `lfs prune` if LFS is installed. + + + Configure this repository + + + WORKSPACE + + + LOCAL BRANCHES + + + NEW BRANCH + + + REMOTES + + + ADD REMOTE + + + TAGS + + + NEW TAG + + + SUBMODULES + + + ADD SUBMODULE + + + UPDATE SUBMODULE + + + RESOLVE + + + CONTINUE + + + ABORT + + + GIT FLOW + + + Initialize Git-Flow + + + Production Branch : + + + Development Branch : + + + Feature : + + + Release : + + + Hotfix : + + + Feature Prefix : + + + Release Prefix : + + + Hotfix Prefix : + + + Version Tag Prefix : + + + Start Feature ... + + + Start Release ... + + + Start Hotfix ... + + + FLOW - Start Feature + + + FLOW - Start Release + + + FLOW - Start Hotfix + + + Enter name + + + FLOW - Finish Feature + + + FLOW - Finish Release + + + FLOW - Finish Hotfix + + + Target : + + + Keep branch + + + Bookmark + + + Open + + + Explore in File Manager + + + Push${0}$ + + + Discard all changes + + + Fast-Forward to${0}$ + + + Pull${0}$ + + + Pull${0}$into${1}$ + + + Checkout${0}$ + + + Merge${0}$into${1}$ + + + Rebase${0}$on${1}$ + + + Git Flow - Finish${0}$ + + + Rename${0}$ + + + Delete${0}$ + + + Tracking ... + + + Copy Branch Name + + + Unset Upstream + + + Fetch ... + + + Prune + + + Target : + + + Edit ... + + + Delete ... + + + Copy URL + + + Reset${0}$to Here + + + Rebase${0}$to Here + + + Cherry-Pick This Commit + + + Reword + + + Squash Into Parent + + + Revert Commit + + + Save as Patch ... + + + Copy SHA + + + Push${0}$ + + + Delete${0}$ + + + Copy Tag Name + + + Apply + + + Pop + + + Drop + + + Unstage + + + Stage... + + + Discard... + + + Stash... + + + Unstage {0} files + + + Stage {0} files... + + + Discard {0} files... + + + Stash {0} files... + + + Save As Patch... + + + Assume unchanged + + + Stage Changes in Selected Line(s) + + + Discard Changes in Selected Line(s) + + + Unstage Changes in Selected Line(s) + + + Delete Branch + + + Branch : + + + Delete Remote + + + Remote : + + + Delete Tag + + + Tag : + + + Delete from remote repositories + + + Delete Submodule + + + Submodule Path : + + + Next Difference + + + Previous Difference + + + Side-By-Side Diff + + + Open With Merge Tool + + + SELECT FILE TO VIEW CHANGES + + + NO CHANGES OR ONLY EOL CHANGES + + + BINARY DIFF + + + OLD + + + NEW + + + LFS OBJECT CHANGE + + + Copy + + + Discard Changes + + + Changes : + + + You can't undo this action!!! + + + All local changes in working copy. + + + Total {0} changes will be discard + + + Fetch + + + Fetch Remote Changes + + + Remote : + + + Fetch all remotes + + + Prune remote dead branches + + + Fast-Forward (without checkout) + + + File History + + + CHANGE DISPLAY MODE + + + Show as Grid + + + Show as List + + + Show as Tree + + + Histories + + + SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT + + + CLEAR + + + Switch Curve/Polyline Graph Mode + + + Switch Horizontal/Vertical Layout + + + SELECTED {0} COMMITS + + + Initialize Repository + + + Path : + + + Invalid repository detected. Run `git init` under this path? + + + Source Git + + + Open Main Menu + + + ERROR + + + NOTICE + + + Create New Page (Ctrl+T) + + + Repositories + + + Close Tab + + + Close Other Tabs + + + Close Tabs to the Right + + + Bookmark + + + Copy Repository Path + + + Merge Branch + + + Source Branch : + + + Into : + + + Merge Option : + + + Open Repository + + + Open In Git Bash + + + Clone Repository + + + Edit + + + Create Group + + + Create Sub-Group + + + Delete + + + Search Repositories ... + + + Sort + + + DRAG & DROP FOLDER SUPPORTED + + + Edit Selected Group + + + Edit Selected Repository + + + Target : + + + New Name : + + + Bookmark : + + + Confirm Deleting Group + + + Confirm Deleting Repository + + + Target : + + + Pull + + + Pull (Fetch & Merge) + + + Remote : + + + Branch : + + + Into : + + + Use rebase instead of merge + + + Stash & reapply local changes + + + Push + + + Push Changes To Remote + + + Local Branch : + + + Remote : + + + Remote Branch : + + + Push all tags + + + Force push + + + Push Tag To Remote + + + Tag : + + + Remote : + + + Rebase Current Branch + + + Rebase : + + + On : + + + Stash & reapply local changes + + + Add Remote + + + Edit Remote + + + Name : + + + Remote name + + + Repository URL : + + + Remote git repository URL + + + Rename Branch + + + Branch : + + + New Name : + + + Unique name for this branch + + + Reset Current Branch To Revision + + + Current Branch : + + + Move To : + + + Reset Mode : + + + Revert Commit + + + Commit : + + + Commit revert changes + + + Preference + + + GENERAL + + + Language + + + Avatar Server + + + Theme + + + History Commits + + + Restore windows + + + Use fixed tab width in titlebar + + + GIT + + + Install Path + + + Git version + + + Default Clone Dir + + + User Name + + + Global git user name + + + User Email + + + Global git user email + + + Enable Auto CRLF + + + Fetch remotes automatically + + + GPG SIGNING + + + Commit GPG signing + + + Install Path + + + Input path for installed gpg program + + + User Signing Key + + + User's gpg signing key + + + MERGE + + + Merger + + + Install Path + + + Input path for merge tool + + + Merge Command + + + Diff Command + + + Stash + + + Stash Local Changes + + + Message : + + + Optional. Name of this stash + + + Include untracked files + + + Stashes + + + STASHES + + + CHANGES + + + Drop Stash + + + Drop : + + + COMMIT : {0} -> {1} + + + Changes + + + UNSTAGED + + + VIEW ASSUME UNCHANGED + + + STAGE + + + STAGE ALL + + + STAGED + + + UNSTAGE + + + UNSTAGE ALL + + + CONFLICTS DETECTED + + + USE THEIRS + + + USE MINE + + + OPEN MERGE + + + Enter commit message + + + MESSAGE HISTORIES + + + Amend + + + COMMIT + + + CTRL + Enter + + + COMMIT & PUSH + + + NO RECENT INPUT MESSAGES + + + RECENT INPUT MESSAGES + + + INCLUDE UNTRACKED FILES + + + Conflict detected! Press 'Abort' to restore original HEAD. + + + Clear Stashes + + + You are trying to clear all stashes. Are you sure to continue? + + + Reword Commit Message + + + On : + + + Message : + + + Squash HEAD Into Parent + + + HEAD : + + + To : + + + Reword : + + + FILES ASSUME UNCHANGED + + + REMOVE + + + NO FILES ASSUMED AS UNCHANGED + + + Statistics + + + WEEK + + + MONTH + + + YEAR + + + Total Committers + + + Total Commits + + + COMMITTER + + + COMMITS + + + HotKeys + + + GLOBAL + + + Create new page + + + Close current page + + + Go to next page + + + Cancel current popup + + + REPOSITORY + + + Switch to 'Histories' + + + Switch to 'Changes' + + + Switch to 'Stashes' + + + Toggle commit search + + + Stage/Unstage selected changes + + + TEXT EDITOR + + + Open search panel + + + Find previous match + + + Find next match + + + Close search panel + + + Git has NOT been configured. Please to go [Preference] and configure it first. + + + BINARY FILE NOT SUPPORTED!!! + + + BLAME ON THIS FILE IS NOT SUPPORTED!!! + + + Patch has been saved successfully! + + + Cut + \ No newline at end of file diff --git a/src/Resources/Locales.resx b/src/SourceGit/Resources/Locales.resx similarity index 97% rename from src/Resources/Locales.resx rename to src/SourceGit/Resources/Locales.resx index af1016b8..25e4a2d8 100644 --- a/src/Resources/Locales.resx +++ b/src/SourceGit/Resources/Locales.resx @@ -1,1290 +1,1290 @@ - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - START - - - OK - - - SAVE - - - CLOSE - - - CANCEL - - - Reveal in File Explorer - - - Save As ... - - - Copy Path - - - Bytes - - - FILTER - - - Optional. - - - SELECT FOLDER - - - NOTICE - - - Open With ... - - - Running. Please wait ... - - - Warning - - - Copy - - - Paste - - - Refresh - - - Name : - - - URL : - - - Git Repository URL - - - SSH Private Key : - - - Private SSH key store path - - - About - - - Copyright © 2024 sourcegit-scm. - - - • Build with - - - • TextEditor from - - - • Monospace fonts come from - - - Patch - - - Apply Patch - - - Patch File : - - - Select .patch file to apply - - - Whitespace : - - - Ignore whitespace changes - - - No Warn - - - Turns off the trailing whitespace warning - - - Warn - - - Outputs warnings for a few such errors, but applies - - - Error - - - Raise errors and refuses to apply the patch - - - Error All - - - Similar to 'error', but shows more - - - Archive ... - - - Archive - - - Revision : - - - Save Archive To : - - - Select archive file path - - - Blame - - - SUBMODULES - - - Add Submodule - - - Relative Path : - - - Relative folder to store this module. - - - Fetch nested submodules - - - Open Submodule Repository - - - Copy Relative Path - - - Delete Submodule - - - Checkout Branch - - - Target : - - - Cherry-Pick This Commit - - - Cherry Pick - - - Commit : - - - Commit all changes - - - Clone Remote Repository - - - Repository URL : - - - Parent Folder : - - - Local Name : - - - Repository name. Optional. - - - Extra Parameters : - - - Additional arguments to clone repository. Optional. - - - INFORMATION - - - AUTHOR - - - COMMITTER - - - SHA - - - PARENTS - - - REFS - - - MESSAGE - - - CHANGED - - - CHANGES - - - Search Files ... - - - FILES - - - LFS File - - - Submodule - - - Tag - - - Tree - - - Configure - - - User Name - - - User name for this repository - - - Email Address - - - Email address - - - HTTP Proxy - - - HTTP proxy used by this repository - - - Create Branch - - - Create Local Branch - - - Based On : - - - New Branch Name : - - - Enter branch name. - - - Local Changes : - - - Stash & Reapply - - - Discard - - - Check out after created - - - Create Tag - - - New Tag At : - - - Tag Name : - - - Recommended format :v1.0.0-alpha - - - Tag Message : - - - Optional. - - - Open In File Browser - - - Open In Visual Studio Code - - - Open In Git Bash - - - Refresh - - - Search Commit (Ctrl+F) - - - Search Author/Committer/Message/SHA - - - Statistics - - - Cleanup(GC & Prune) - - - Run `gc` command and do `lfs prune` if LFS is installed. - - - Configure this repository - - - WORKSPACE - - - LOCAL BRANCHES - - - NEW BRANCH - - - REMOTES - - - ADD REMOTE - - - TAGS - - - NEW TAG - - - SUBMODULES - - - ADD SUBMODULE - - - UPDATE SUBMODULE - - - RESOLVE - - - CONTINUE - - - ABORT - - - GIT FLOW - - - Initialize Git-Flow - - - Production Branch : - - - Development Branch : - - - Feature : - - - Release : - - - Hotfix : - - - Feature Prefix : - - - Release Prefix : - - - Hotfix Prefix : - - - Version Tag Prefix : - - - Start Feature ... - - - Start Release ... - - - Start Hotfix ... - - - FLOW - Start Feature - - - FLOW - Start Release - - - FLOW - Start Hotfix - - - Enter name - - - FLOW - Finish Feature - - - FLOW - Finish Release - - - FLOW - Finish Hotfix - - - Target : - - - Keep branch - - - Bookmark - - - Open - - - Explore in File Manager - - - Push${0}$ - - - Discard all changes - - - Fast-Forward to${0}$ - - - Pull${0}$ - - - Pull${0}$into${1}$ - - - Checkout${0}$ - - - Merge${0}$into${1}$ - - - Rebase${0}$on${1}$ - - - Git Flow - Finish${0}$ - - - Rename${0}$ - - - Delete${0}$ - - - Tracking ... - - - Copy Branch Name - - - Unset Upstream - - - Fetch ... - - - Prune - - - Target : - - - Edit ... - - - Delete ... - - - Copy URL - - - Reset${0}$to Here - - - Rebase${0}$to Here - - - Cherry-Pick This Commit - - - Reword - - - Squash Into Parent - - - Revert Commit - - - Save as Patch ... - - - Copy SHA - - - Push${0}$ - - - Delete${0}$ - - - Copy Tag Name - - - Apply - - - Pop - - - Drop - - - Unstage - - - Stage... - - - Discard... - - - Stash... - - - Unstage {0} files - - - Stage {0} files... - - - Discard {0} files... - - - Stash {0} files... - - - Save As Patch... - - - Assume unchanged - - - Stage Changes in Selected Line(s) - - - Discard Changes in Selected Line(s) - - - Unstage Changes in Selected Line(s) - - - Delete Branch - - - Branch : - - - Delete Remote - - - Remote : - - - Delete Tag - - - Tag : - - - Delete from remote repositories - - - Delete Submodule - - - Submodule Path : - - - Next Difference - - - Previous Difference - - - Toggle Side-By-Side Diff - - - Open With Merge Tool - - - SELECT FILE TO VIEW CHANGES - - - NO CHANGES OR ONLY EOL CHANGES - - - BINARY DIFF - - - OLD - - - NEW - - - LFS OBJECT CHANGE - - - Copy - - - Discard Changes - - - Changes : - - - You can't undo this action!!! - - - All local changes in working copy. - - - Total {0} changes will be discard - - - Fetch - - - Fetch Remote Changes - - - Remote : - - - Fetch all remotes - - - Prune remote dead branches - - - Fast-Forward (without checkout) - - - File History - - - CHANGE DISPLAY MODE - - - Show as Grid - - - Show as List - - - Show as Tree - - - Histories - - - SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT - - - CLEAR - - - Switch Curve/Polyline Graph Mode - - - Switch Horizontal/Vertical Layout - - - SELECTED {0} COMMITS - - - Initialize Repository - - - Path : - - - Invalid repository detected. Run `git init` under this path? - - - Source Git - - - Open Main Menu - - - ERROR - - - NOTICE - - - Create New Page (Ctrl+T) - - - Repositories - - - Close Tab - - - Close Other Tabs - - - Close Tabs to the Right - - - Bookmark - - - Copy Repository Path - - - Merge Branch - - - Source Branch : - - - Into : - - - Merge Option : - - - Open Repository - - - Open In Git Bash - - - Clone Repository - - - Edit - - - Create Group - - - Create Sub-Group - - - Delete - - - Search Repositories ... - - - Sort - - - DRAG & DROP FOLDER SUPPORTED - - - Edit Selected Group - - - Edit Selected Repository - - - Target : - - - New Name : - - - Bookmark : - - - Confirm Deleting Group - - - Confirm Deleting Repository - - - Target : - - - Pull - - - Pull (Fetch & Merge) - - - Remote : - - - Branch : - - - Into : - - - Use rebase instead of merge - - - Stash & reapply local changes - - - Push - - - Push Changes To Remote - - - Local Branch : - - - Remote : - - - Remote Branch : - - - Push all tags - - - Force push - - - Push Tag To Remote - - - Tag : - - - Remote : - - - Rebase Current Branch - - - Rebase : - - - On : - - - Stash & reapply local changes - - - Add Remote - - - Edit Remote - - - Name : - - - Remote name - - - Repository URL : - - - Remote git repository URL - - - Rename Branch - - - Branch : - - - New Name : - - - Unique name for this branch - - - Reset Current Branch To Revision - - - Current Branch : - - - Move To : - - - Reset Mode : - - - Revert Commit - - - Commit : - - - Commit revert changes - - - Preference - - - GENERAL - - - Language - - - Avatar Server - - - Theme - - - History Commits - - - Restore windows - - - Use fixed tab width in titlebar - - - GIT - - - Install Path - - - Git version - - - Default Clone Dir - - - User Name - - - Global git user name - - - User Email - - - Global git user email - - - Enable Auto CRLF - - - Fetch remotes automatically - - - GPG SIGNING - - - Commit GPG signing - - - Install Path - - - Input path for installed gpg program - - - User Signing Key - - - User's gpg signing key - - - MERGE - - - Merger - - - Install Path - - - Input path for merge tool - - - Merge Command - - - Diff Command - - - Stash - - - Stash Local Changes - - - Message : - - - Optional. Name of this stash - - - Include untracked files - - - Stashes - - - STASHES - - - CHANGES - - - Drop Stash - - - Drop : - - - COMMIT : {0} -> {1} - - - Changes - - - UNSTAGED - - - VIEW ASSUME UNCHANGED - - - STAGE - - - STAGE ALL - - - STAGED - - - UNSTAGE - - - UNSTAGE ALL - - - CONFLICTS DETECTED - - - USE THEIRS - - - USE MINE - - - OPEN MERGE - - - Enter commit message - - - MESSAGE HISTORIES - - - Amend - - - COMMIT - - - CTRL + Enter - - - COMMIT & PUSH - - - NO RECENT INPUT MESSAGES - - - RECENT INPUT MESSAGES - - - INCLUDE UNTRACKED FILES - - - Conflict detected! Press 'Abort' to restore original HEAD. - - - Clear Stashes - - - You are trying to clear all stashes. Are you sure to continue? - - - Reword Commit Message - - - On : - - - Message : - - - Squash HEAD Into Parent - - - HEAD : - - - To : - - - Reword : - - - FILES ASSUME UNCHANGED - - - REMOVE - - - NO FILES ASSUMED AS UNCHANGED - - - Statistics - - - WEEK - - - MONTH - - - YEAR - - - Total Committers - - - Total Commits - - - COMMITTER - - - COMMITS - - - HotKeys - - - GLOBAL - - - Create new page - - - Close current page - - - Go to next page - - - Cancel current popup - - - REPOSITORY - - - Switch to 'Histories' - - - Switch to 'Changes' - - - Switch to 'Stashes' - - - Toggle commit search - - - Stage/Unstage selected changes - - - TEXT EDITOR - - - Open search panel - - - Find previous match - - - Find next match - - - Close search panel - - - Git has NOT been configured. Please to go [Preference] and configure it first. - - - BINARY FILE NOT SUPPORTED!!! - - - BLAME ON THIS FILE IS NOT SUPPORTED!!! - - - Patch has been saved successfully! - - - Cut - + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + START + + + OK + + + SAVE + + + CLOSE + + + CANCEL + + + Reveal in File Explorer + + + Save As ... + + + Copy Path + + + Bytes + + + FILTER + + + Optional. + + + SELECT FOLDER + + + NOTICE + + + Open With ... + + + Running. Please wait ... + + + Warning + + + Copy + + + Paste + + + Refresh + + + Name : + + + URL : + + + Git Repository URL + + + SSH Private Key : + + + Private SSH key store path + + + About + + + Copyright © 2024 sourcegit-scm. + + + • Build with + + + • TextEditor from + + + • Monospace fonts come from + + + Patch + + + Apply Patch + + + Patch File : + + + Select .patch file to apply + + + Whitespace : + + + Ignore whitespace changes + + + No Warn + + + Turns off the trailing whitespace warning + + + Warn + + + Outputs warnings for a few such errors, but applies + + + Error + + + Raise errors and refuses to apply the patch + + + Error All + + + Similar to 'error', but shows more + + + Archive ... + + + Archive + + + Revision : + + + Save Archive To : + + + Select archive file path + + + Blame + + + SUBMODULES + + + Add Submodule + + + Relative Path : + + + Relative folder to store this module. + + + Fetch nested submodules + + + Open Submodule Repository + + + Copy Relative Path + + + Delete Submodule + + + Checkout Branch + + + Target : + + + Cherry-Pick This Commit + + + Cherry Pick + + + Commit : + + + Commit all changes + + + Clone Remote Repository + + + Repository URL : + + + Parent Folder : + + + Local Name : + + + Repository name. Optional. + + + Extra Parameters : + + + Additional arguments to clone repository. Optional. + + + INFORMATION + + + AUTHOR + + + COMMITTER + + + SHA + + + PARENTS + + + REFS + + + MESSAGE + + + CHANGED + + + CHANGES + + + Search Files ... + + + FILES + + + LFS File + + + Submodule + + + Tag + + + Tree + + + Configure + + + User Name + + + User name for this repository + + + Email Address + + + Email address + + + HTTP Proxy + + + HTTP proxy used by this repository + + + Create Branch + + + Create Local Branch + + + Based On : + + + New Branch Name : + + + Enter branch name. + + + Local Changes : + + + Stash & Reapply + + + Discard + + + Check out after created + + + Create Tag + + + New Tag At : + + + Tag Name : + + + Recommended format :v1.0.0-alpha + + + Tag Message : + + + Optional. + + + Open In File Browser + + + Open In Visual Studio Code + + + Open In Git Bash + + + Refresh + + + Search Commit (Ctrl+F) + + + Search Author/Committer/Message/SHA + + + Statistics + + + Cleanup(GC & Prune) + + + Run `gc` command and do `lfs prune` if LFS is installed. + + + Configure this repository + + + WORKSPACE + + + LOCAL BRANCHES + + + NEW BRANCH + + + REMOTES + + + ADD REMOTE + + + TAGS + + + NEW TAG + + + SUBMODULES + + + ADD SUBMODULE + + + UPDATE SUBMODULE + + + RESOLVE + + + CONTINUE + + + ABORT + + + GIT FLOW + + + Initialize Git-Flow + + + Production Branch : + + + Development Branch : + + + Feature : + + + Release : + + + Hotfix : + + + Feature Prefix : + + + Release Prefix : + + + Hotfix Prefix : + + + Version Tag Prefix : + + + Start Feature ... + + + Start Release ... + + + Start Hotfix ... + + + FLOW - Start Feature + + + FLOW - Start Release + + + FLOW - Start Hotfix + + + Enter name + + + FLOW - Finish Feature + + + FLOW - Finish Release + + + FLOW - Finish Hotfix + + + Target : + + + Keep branch + + + Bookmark + + + Open + + + Explore in File Manager + + + Push${0}$ + + + Discard all changes + + + Fast-Forward to${0}$ + + + Pull${0}$ + + + Pull${0}$into${1}$ + + + Checkout${0}$ + + + Merge${0}$into${1}$ + + + Rebase${0}$on${1}$ + + + Git Flow - Finish${0}$ + + + Rename${0}$ + + + Delete${0}$ + + + Tracking ... + + + Copy Branch Name + + + Unset Upstream + + + Fetch ... + + + Prune + + + Target : + + + Edit ... + + + Delete ... + + + Copy URL + + + Reset${0}$to Here + + + Rebase${0}$to Here + + + Cherry-Pick This Commit + + + Reword + + + Squash Into Parent + + + Revert Commit + + + Save as Patch ... + + + Copy SHA + + + Push${0}$ + + + Delete${0}$ + + + Copy Tag Name + + + Apply + + + Pop + + + Drop + + + Unstage + + + Stage... + + + Discard... + + + Stash... + + + Unstage {0} files + + + Stage {0} files... + + + Discard {0} files... + + + Stash {0} files... + + + Save As Patch... + + + Assume unchanged + + + Stage Changes in Selected Line(s) + + + Discard Changes in Selected Line(s) + + + Unstage Changes in Selected Line(s) + + + Delete Branch + + + Branch : + + + Delete Remote + + + Remote : + + + Delete Tag + + + Tag : + + + Delete from remote repositories + + + Delete Submodule + + + Submodule Path : + + + Next Difference + + + Previous Difference + + + Toggle Side-By-Side Diff + + + Open With Merge Tool + + + SELECT FILE TO VIEW CHANGES + + + NO CHANGES OR ONLY EOL CHANGES + + + BINARY DIFF + + + OLD + + + NEW + + + LFS OBJECT CHANGE + + + Copy + + + Discard Changes + + + Changes : + + + You can't undo this action!!! + + + All local changes in working copy. + + + Total {0} changes will be discard + + + Fetch + + + Fetch Remote Changes + + + Remote : + + + Fetch all remotes + + + Prune remote dead branches + + + Fast-Forward (without checkout) + + + File History + + + CHANGE DISPLAY MODE + + + Show as Grid + + + Show as List + + + Show as Tree + + + Histories + + + SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT + + + CLEAR + + + Switch Curve/Polyline Graph Mode + + + Switch Horizontal/Vertical Layout + + + SELECTED {0} COMMITS + + + Initialize Repository + + + Path : + + + Invalid repository detected. Run `git init` under this path? + + + Source Git + + + Open Main Menu + + + ERROR + + + NOTICE + + + Create New Page (Ctrl+T) + + + Repositories + + + Close Tab + + + Close Other Tabs + + + Close Tabs to the Right + + + Bookmark + + + Copy Repository Path + + + Merge Branch + + + Source Branch : + + + Into : + + + Merge Option : + + + Open Repository + + + Open In Git Bash + + + Clone Repository + + + Edit + + + Create Group + + + Create Sub-Group + + + Delete + + + Search Repositories ... + + + Sort + + + DRAG & DROP FOLDER SUPPORTED + + + Edit Selected Group + + + Edit Selected Repository + + + Target : + + + New Name : + + + Bookmark : + + + Confirm Deleting Group + + + Confirm Deleting Repository + + + Target : + + + Pull + + + Pull (Fetch & Merge) + + + Remote : + + + Branch : + + + Into : + + + Use rebase instead of merge + + + Stash & reapply local changes + + + Push + + + Push Changes To Remote + + + Local Branch : + + + Remote : + + + Remote Branch : + + + Push all tags + + + Force push + + + Push Tag To Remote + + + Tag : + + + Remote : + + + Rebase Current Branch + + + Rebase : + + + On : + + + Stash & reapply local changes + + + Add Remote + + + Edit Remote + + + Name : + + + Remote name + + + Repository URL : + + + Remote git repository URL + + + Rename Branch + + + Branch : + + + New Name : + + + Unique name for this branch + + + Reset Current Branch To Revision + + + Current Branch : + + + Move To : + + + Reset Mode : + + + Revert Commit + + + Commit : + + + Commit revert changes + + + Preference + + + GENERAL + + + Language + + + Avatar Server + + + Theme + + + History Commits + + + Restore windows + + + Use fixed tab width in titlebar + + + GIT + + + Install Path + + + Git version + + + Default Clone Dir + + + User Name + + + Global git user name + + + User Email + + + Global git user email + + + Enable Auto CRLF + + + Fetch remotes automatically + + + GPG SIGNING + + + Commit GPG signing + + + Install Path + + + Input path for installed gpg program + + + User Signing Key + + + User's gpg signing key + + + MERGE + + + Merger + + + Install Path + + + Input path for merge tool + + + Merge Command + + + Diff Command + + + Stash + + + Stash Local Changes + + + Message : + + + Optional. Name of this stash + + + Include untracked files + + + Stashes + + + STASHES + + + CHANGES + + + Drop Stash + + + Drop : + + + COMMIT : {0} -> {1} + + + Changes + + + UNSTAGED + + + VIEW ASSUME UNCHANGED + + + STAGE + + + STAGE ALL + + + STAGED + + + UNSTAGE + + + UNSTAGE ALL + + + CONFLICTS DETECTED + + + USE THEIRS + + + USE MINE + + + OPEN MERGE + + + Enter commit message + + + MESSAGE HISTORIES + + + Amend + + + COMMIT + + + CTRL + Enter + + + COMMIT & PUSH + + + NO RECENT INPUT MESSAGES + + + RECENT INPUT MESSAGES + + + INCLUDE UNTRACKED FILES + + + Conflict detected! Press 'Abort' to restore original HEAD. + + + Clear Stashes + + + You are trying to clear all stashes. Are you sure to continue? + + + Reword Commit Message + + + On : + + + Message : + + + Squash HEAD Into Parent + + + HEAD : + + + To : + + + Reword : + + + FILES ASSUME UNCHANGED + + + REMOVE + + + NO FILES ASSUMED AS UNCHANGED + + + Statistics + + + WEEK + + + MONTH + + + YEAR + + + Total Committers + + + Total Commits + + + COMMITTER + + + COMMITS + + + HotKeys + + + GLOBAL + + + Create new page + + + Close current page + + + Go to next page + + + Cancel current popup + + + REPOSITORY + + + Switch to 'Histories' + + + Switch to 'Changes' + + + Switch to 'Stashes' + + + Toggle commit search + + + Stage/Unstage selected changes + + + TEXT EDITOR + + + Open search panel + + + Find previous match + + + Find next match + + + Close search panel + + + Git has NOT been configured. Please to go [Preference] and configure it first. + + + BINARY FILE NOT SUPPORTED!!! + + + BLAME ON THIS FILE IS NOT SUPPORTED!!! + + + Patch has been saved successfully! + + + Cut + \ No newline at end of file diff --git a/src/Resources/Locales.zh.resx b/src/SourceGit/Resources/Locales.zh.resx similarity index 97% rename from src/Resources/Locales.zh.resx rename to src/SourceGit/Resources/Locales.zh.resx index 204ba9ff..96568f31 100644 --- a/src/Resources/Locales.zh.resx +++ b/src/SourceGit/Resources/Locales.zh.resx @@ -1,1290 +1,1290 @@ - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 开 始 - - - 确 定 - - - 保 存 - - - 关闭 - - - 取 消 - - - 在文件浏览器中查看 - - - 另存为... - - - 复制路径 - - - 字节 - - - 过滤 - - - 选填。 - - - 选择文件夹 - - - 系统提示 - - - 打开文件... - - - 执行操作中,请耐心等待... - - - 警告 - - - 复制 - - - 粘贴 - - - 重新加载 - - - 名称 : - - - 仓库地址 : - - - 远程仓库地址 - - - SSH密钥 : - - - SSH密钥文件 - - - 关于软件 - - - Copyright © 2024 sourcegit-scm. - - - • 使用的框架为 - - - • 文本编辑器使用 - - - • 等宽字体来自于 - - - 补丁 - - - 应用补丁 - - - 补丁文件 : - - - 选择补丁文件 - - - 空白符号处理 : - - - 忽略空白符号 - - - 忽略 - - - 关闭所有警告 - - - 警告 - - - 应用补丁,输出关于空白符的警告 - - - 错误 - - - 输出错误,并终止应用补丁 - - - 更多错误 - - - 与【错误】级别相似,但输出内容更多 - - - 存档 ... - - - 存档 - - - 指定的提交: - - - 存档文件路径: - - - 选择存档文件的存放路径 - - - 逐行追溯 - - - 子模块 - - - 添加子模块 - - - 相对仓库路径 : - - - 本地存放的相对路径。 - - - 拉取子孙模块 - - - 打开仓库 - - - 复制路径 - - - 删除子模块 - - - 检出分支 - - - 目标分支 : - - - 挑选此提交 - - - 挑选提交 - - - 提交ID : - - - 提交变化 - - - 克隆远程仓库 - - - 远程仓库 : - - - 父级目录 : - - - 本地仓库名 : - - - 本地仓库目录的名字,选填。 - - - 额外参数 : - - - 其他克隆参数,选填。 - - - 基本信息 - - - 修改者 - - - 提交者 - - - 提交指纹 - - - 父提交 - - - 相关引用 - - - 提交信息 - - - 变更列表 - - - 变更对比 - - - 查找文件... - - - 文件列表 - - - LFS文件 - - - 子模块 - - - 标签文件 - - - 子树 - - - 仓库配置 - - - 用户名 - - - 应用于本仓库的用户名 - - - 电子邮箱 - - - 邮箱地址 - - - HTTP代理 - - - HTTP网络代理 - - - 新建分支 - - - 创建本地分支 - - - 新分支基于 : - - - 新分支名 : - - - 填写分支名称。 - - - 未提交更改 : - - - 贮藏并自动恢复 - - - 忽略 - - - 完成后切换到新分支 - - - 新建标签 - - - 标签位于 : - - - 标签名 : - - - 推荐格式 :v1.0.0-alpha - - - 标签描述 : - - - 选填。 - - - 在文件浏览器中打开 - - - 在Visual Studio Code中打开 - - - 在GIT终端中打开 - - - 重新加载 - - - 查找提交(Ctrl+F) - - - 支持搜索作者/提交者/主题/指纹 - - - 提交统计 - - - 清理本仓库(GC) - - - 本操作将执行`gc`,对于启用LFS的仓库也会执行`lfs prune`。 - - - 配置本仓库 - - - 工作区 - - - 本地分支 - - - 新建分支 - - - 远程列表 - - - 添加远程 - - - 标签列表 - - - 新建标签 - - - 子模块列表 - - - 添加子模块 - - - 更新子模块 - - - 解决冲突 - - - 下一步 - - - 终止合并 - - - GIT工作流 - - - 初始化GIT工作流 - - - 发布分支 : - - - 开发分支 : - - - 特性分支 : - - - 版本分支 : - - - 修复分支 : - - - 特性分支名前缀 : - - - 版本分支名前缀 : - - - 修复分支名前缀 : - - - 版本标签前缀 : - - - 开始特性分支... - - - 开始版本分支... - - - 开始修复分支... - - - 开始特性分支 - - - 开始版本分支 - - - 开始修复分支 - - - 输入分支名 - - - 结束特性分支 - - - 结束版本分支 - - - 结束修复分支 - - - 目标分支 : - - - 保留分支 - - - 书签 - - - 打开 - - - 在浏览器中查看 - - - 推送${0}$ - - - 放弃所有更改 - - - 快进到${0}$ - - - 拉回${0}$ - - - 拉回${0}$内容至${1}$ - - - 检出${0}$ - - - 合并${0}$到${1}$ - - - 变基${0}$分支至${1}$ - - - GIT工作流 - 完成${0}$ - - - 重命名${0}$ - - - 删除${0}$ - - - 切换上游分支... - - - 复制分支名 - - - 取消追踪 - - - 拉取更新 ... - - - 清理远程已删除分支 - - - 目标 : - - - 编辑 ... - - - 删除 ... - - - 复制远程地址 - - - 重置${0}$到此处 - - - 变基${0}$到此处 - - - 挑选此提交 - - - 编辑提交信息 - - - 合并此提交到上一个提交 - - - 回滚此提交 - - - 另存为补丁 ... - - - 复制提交指纹 - - - 推送${0}$ - - - 删除${0}$ - - - 复制标签名 - - - 应用 - - - 应用并删除 - - - 删除 - - - 从暂存中移除 - - - 暂存... - - - 放弃更改... - - - 贮藏... - - - 从暂存中移除 {0} 个文件 - - - 暂存 {0} 个文件... - - - 放弃 {0} 个文件的更改... - - - 贮藏选中的 {0} 个文件... - - - 另存为补丁... - - - 不跟踪此文件的更改 - - - 暂存选中的更改 - - - 放弃选中的更改 - - - 从暂存中移除选中的更改 - - - 删除分支确认 - - - 分支名 : - - - 删除远程确认 - - - 远程名 : - - - 删除标签确认 - - - 标签名 : - - - 同时删除远程仓库中的此标签 - - - 删除子模块确认 - - - 子模块路径 : - - - 下一个差异 - - - 上一个差异 - - - 分列对比 - - - 使用外部合并工具查看 - - - 请选择需要对比的文件 - - - 没有变更或仅有换行符差异 - - - 二进制文件 - - - 原始大小 - - - 当前大小 - - - LFS对象变更 - - - 复制 - - - 放弃更改确认 - - - 需要放弃的变更 : - - - 本操作不支持回退,请确认后继续!!! - - - 所有本地址未提交的修改。 - - - 总计{0}项选中更改 - - - 拉取 - - - 拉取远程仓库内容 - - - 远程仓库 : - - - 拉取所有的远程仓库 - - - 自动清理远程已删除分支 - - - 快进(无需Checkout) - - - 文件历史 - - - 切换变更显示模式 - - - 网格模式 - - - 列表模式 - - - 树形模式 - - - 历史记录 - - - 查询提交指纹、信息、作者。回车键开始,ESC键取消 - - - 清空 - - - 切换曲线/折线显示 - - - 切换横向/纵向显示 - - - 已选中 {0} 项提交 - - - 初始化新仓库 - - - 路径 : - - - 选择目录不是有效的Git仓库。是否需要在此目录执行`git init`操作? - - - Source Git - - - 主菜单 - - - 出错了 - - - 系统提示 - - - 新建空白页 (Ctrl+T) - - - 新标签页 - - - 关闭标签页 (Ctrl+W) - - - 关闭其他标签页 - - - 关闭右侧标签页 - - - 设置书签 - - - 复制仓库路径 - - - 合并分支 - - - 合并分支 : - - - 目标分支 : - - - 合并方式 : - - - 打开本地仓库 - - - 打开GIT终端 - - - 克隆远程仓库 - - - 编辑 - - - 新建分组 - - - 新建子分组 - - - 删除 - - - 快速查找仓库... - - - 排序 - - - 支持拖放目录添加 - - - 编辑分组 - - - 编辑仓库 - - - 目标 : - - - 名称 : - - - 书签 : - - - 删除分组确认 - - - 删除仓库确认 - - - 目标 : - - - 拉回 - - - 拉回(拉取并合并) - - - 远程 : - - - 拉取分支 : - - - 本地分支 : - - - 使用变基方式合并分支 - - - 自动贮藏并恢复本地变更 - - - 推送 - - - 推送到远程仓库 - - - 本地分支 : - - - 远程仓库 : - - - 远程分支 : - - - 同时推送标签 - - - 启用强制推送 - - - 推送标签到远程仓库 - - - 标签 : - - - 远程仓库 : - - - 变基操作 - - - 分支 : - - - 目标提交 : - - - 自动贮藏并恢复本地变更 - - - 添加远程仓库 - - - 编辑远程仓库 - - - 远程名 : - - - 唯一远程名 - - - 仓库地址 : - - - 远程仓库的地址 - - - 分支重命名 - - - 分支 : - - - 新的名称 : - - - 新的分支名不能与现有分支名相同 - - - 重置当前分支到指定版本 - - - 当前分支 : - - - 提交 : - - - 重置模式 : - - - 回滚操作确认 - - - 目标提交 : - - - 回滚后提交更改 - - - 偏好设置 - - - 通用配置 - - - 显示语言 - - - 头像服务 - - - 主题 - - - 最大历史提交数 - - - 启动时恢复上次打开的仓库 - - - 使用固定宽度的标题栏标签 - - - GIT配置 - - - 安装路径 - - - Git 版本 - - - 默认克隆路径 - - - 用户名 - - - 默认GIT用户名 - - - 邮箱 - - - 默认GIT用户邮箱 - - - 自动换行转换 - - - 启用定时自动拉取远程更新 - - - GPG签名 - - - 启用提交签名 - - - 可执行文件位置 - - - gpg.exe所在路径 - - - 用户签名KEY - - - 输入签名提交所使用的KEY - - - 外部合并工具 - - - 工具 - - - 安装路径 - - - 填写工具可执行文件所在位置 - - - 合并模式启动参数 - - - 对比模式启动参数 - - - 贮藏 - - - 贮藏本地变更 - - - 信息 : - - - 选填,用于命名此贮藏 - - - 包含未跟踪的文件 - - - 贮藏列表 - - - 贮藏列表 - - - 查看变更 - - - 丢弃贮藏确认 - - - 丢弃贮藏 : - - - 对比提交 : {0} -> {1} - - - 本地更改 - - - 未暂存 - - - 查看忽略变更文件 - - - 暂存选中 - - - 暂存所有 - - - 已暂存 - - - 从暂存区移除选中 - - - 从暂存区移除所有 - - - 检测到冲突 - - - 使用THEIRS - - - 使用MINE - - - 打开合并工具 - - - 填写提交信息 - - - 历史提交信息 - - - 修补 - - - 提交 - - - CTRL + Enter - - - 提交并推送 - - - 没有提交信息记录 - - - 最近输入的提交信息 - - - 显示未跟踪文件 - - - 检测到本地冲突! 点击【终止合并】回滚到合并操作前的状态。 - - - 丢弃贮藏确认 - - - 您正在丢弃所有的贮藏,一经操作,无法回退,是否继续? - - - 编辑提交信息 - - - 提交: - - - 提交信息: - - - 合并HEAD到上一个提交 - - - 当前提交 : - - - 合并到 : - - - 修改提交信息: - - - 不跟踪更改的文件 - - - 移除 - - - 没有不跟踪更改的文件 - - - 提交统计 - - - 本周 - - - 本月 - - - 本年 - - - 提交者人数 - - - 总计提交次数 - - - 提交者 - - - 提交次数 - - - 快捷键 - - - 全局快捷键 - - - 新建页面 - - - 关闭当前页面 - - - 切换到下一个页面 - - - 取消弹出面板 - - - 仓库页面快捷键 - - - 显示历史记录 - - - 显示本地更改 - - - 显示贮藏列表 - - - 打开/关闭历史搜索 - - - 将选中的变更暂存或从暂存列表中移除 - - - 文本编辑器 - - - 打开搜索 - - - 定位到上一个匹配搜索的位置 - - - 定位到下一个匹配搜索的位置 - - - 关闭搜索 - - - GIT尚未配置。请打开【偏好设置】配置GIT路径。 - - - 二进制文件不支持该操作!!! - - - 选中文件不支持该操作!!! - - - 补丁已成功保存! - - - 剪切 - + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 开 始 + + + 确 定 + + + 保 存 + + + 关闭 + + + 取 消 + + + 在文件浏览器中查看 + + + 另存为... + + + 复制路径 + + + 字节 + + + 过滤 + + + 选填。 + + + 选择文件夹 + + + 系统提示 + + + 打开文件... + + + 执行操作中,请耐心等待... + + + 警告 + + + 复制 + + + 粘贴 + + + 重新加载 + + + 名称 : + + + 仓库地址 : + + + 远程仓库地址 + + + SSH密钥 : + + + SSH密钥文件 + + + 关于软件 + + + Copyright © 2024 sourcegit-scm. + + + • 使用的框架为 + + + • 文本编辑器使用 + + + • 等宽字体来自于 + + + 补丁 + + + 应用补丁 + + + 补丁文件 : + + + 选择补丁文件 + + + 空白符号处理 : + + + 忽略空白符号 + + + 忽略 + + + 关闭所有警告 + + + 警告 + + + 应用补丁,输出关于空白符的警告 + + + 错误 + + + 输出错误,并终止应用补丁 + + + 更多错误 + + + 与【错误】级别相似,但输出内容更多 + + + 存档 ... + + + 存档 + + + 指定的提交: + + + 存档文件路径: + + + 选择存档文件的存放路径 + + + 逐行追溯 + + + 子模块 + + + 添加子模块 + + + 相对仓库路径 : + + + 本地存放的相对路径。 + + + 拉取子孙模块 + + + 打开仓库 + + + 复制路径 + + + 删除子模块 + + + 检出分支 + + + 目标分支 : + + + 挑选此提交 + + + 挑选提交 + + + 提交ID : + + + 提交变化 + + + 克隆远程仓库 + + + 远程仓库 : + + + 父级目录 : + + + 本地仓库名 : + + + 本地仓库目录的名字,选填。 + + + 额外参数 : + + + 其他克隆参数,选填。 + + + 基本信息 + + + 修改者 + + + 提交者 + + + 提交指纹 + + + 父提交 + + + 相关引用 + + + 提交信息 + + + 变更列表 + + + 变更对比 + + + 查找文件... + + + 文件列表 + + + LFS文件 + + + 子模块 + + + 标签文件 + + + 子树 + + + 仓库配置 + + + 用户名 + + + 应用于本仓库的用户名 + + + 电子邮箱 + + + 邮箱地址 + + + HTTP代理 + + + HTTP网络代理 + + + 新建分支 + + + 创建本地分支 + + + 新分支基于 : + + + 新分支名 : + + + 填写分支名称。 + + + 未提交更改 : + + + 贮藏并自动恢复 + + + 忽略 + + + 完成后切换到新分支 + + + 新建标签 + + + 标签位于 : + + + 标签名 : + + + 推荐格式 :v1.0.0-alpha + + + 标签描述 : + + + 选填。 + + + 在文件浏览器中打开 + + + 在Visual Studio Code中打开 + + + 在GIT终端中打开 + + + 重新加载 + + + 查找提交(Ctrl+F) + + + 支持搜索作者/提交者/主题/指纹 + + + 提交统计 + + + 清理本仓库(GC) + + + 本操作将执行`gc`,对于启用LFS的仓库也会执行`lfs prune`。 + + + 配置本仓库 + + + 工作区 + + + 本地分支 + + + 新建分支 + + + 远程列表 + + + 添加远程 + + + 标签列表 + + + 新建标签 + + + 子模块列表 + + + 添加子模块 + + + 更新子模块 + + + 解决冲突 + + + 下一步 + + + 终止合并 + + + GIT工作流 + + + 初始化GIT工作流 + + + 发布分支 : + + + 开发分支 : + + + 特性分支 : + + + 版本分支 : + + + 修复分支 : + + + 特性分支名前缀 : + + + 版本分支名前缀 : + + + 修复分支名前缀 : + + + 版本标签前缀 : + + + 开始特性分支... + + + 开始版本分支... + + + 开始修复分支... + + + 开始特性分支 + + + 开始版本分支 + + + 开始修复分支 + + + 输入分支名 + + + 结束特性分支 + + + 结束版本分支 + + + 结束修复分支 + + + 目标分支 : + + + 保留分支 + + + 书签 + + + 打开 + + + 在浏览器中查看 + + + 推送${0}$ + + + 放弃所有更改 + + + 快进到${0}$ + + + 拉回${0}$ + + + 拉回${0}$内容至${1}$ + + + 检出${0}$ + + + 合并${0}$到${1}$ + + + 变基${0}$分支至${1}$ + + + GIT工作流 - 完成${0}$ + + + 重命名${0}$ + + + 删除${0}$ + + + 切换上游分支... + + + 复制分支名 + + + 取消追踪 + + + 拉取更新 ... + + + 清理远程已删除分支 + + + 目标 : + + + 编辑 ... + + + 删除 ... + + + 复制远程地址 + + + 重置${0}$到此处 + + + 变基${0}$到此处 + + + 挑选此提交 + + + 编辑提交信息 + + + 合并此提交到上一个提交 + + + 回滚此提交 + + + 另存为补丁 ... + + + 复制提交指纹 + + + 推送${0}$ + + + 删除${0}$ + + + 复制标签名 + + + 应用 + + + 应用并删除 + + + 删除 + + + 从暂存中移除 + + + 暂存... + + + 放弃更改... + + + 贮藏... + + + 从暂存中移除 {0} 个文件 + + + 暂存 {0} 个文件... + + + 放弃 {0} 个文件的更改... + + + 贮藏选中的 {0} 个文件... + + + 另存为补丁... + + + 不跟踪此文件的更改 + + + 暂存选中的更改 + + + 放弃选中的更改 + + + 从暂存中移除选中的更改 + + + 删除分支确认 + + + 分支名 : + + + 删除远程确认 + + + 远程名 : + + + 删除标签确认 + + + 标签名 : + + + 同时删除远程仓库中的此标签 + + + 删除子模块确认 + + + 子模块路径 : + + + 下一个差异 + + + 上一个差异 + + + 分列对比 + + + 使用外部合并工具查看 + + + 请选择需要对比的文件 + + + 没有变更或仅有换行符差异 + + + 二进制文件 + + + 原始大小 + + + 当前大小 + + + LFS对象变更 + + + 复制 + + + 放弃更改确认 + + + 需要放弃的变更 : + + + 本操作不支持回退,请确认后继续!!! + + + 所有本地址未提交的修改。 + + + 总计{0}项选中更改 + + + 拉取 + + + 拉取远程仓库内容 + + + 远程仓库 : + + + 拉取所有的远程仓库 + + + 自动清理远程已删除分支 + + + 快进(无需Checkout) + + + 文件历史 + + + 切换变更显示模式 + + + 网格模式 + + + 列表模式 + + + 树形模式 + + + 历史记录 + + + 查询提交指纹、信息、作者。回车键开始,ESC键取消 + + + 清空 + + + 切换曲线/折线显示 + + + 切换横向/纵向显示 + + + 已选中 {0} 项提交 + + + 初始化新仓库 + + + 路径 : + + + 选择目录不是有效的Git仓库。是否需要在此目录执行`git init`操作? + + + Source Git + + + 主菜单 + + + 出错了 + + + 系统提示 + + + 新建空白页 (Ctrl+T) + + + 新标签页 + + + 关闭标签页 (Ctrl+W) + + + 关闭其他标签页 + + + 关闭右侧标签页 + + + 设置书签 + + + 复制仓库路径 + + + 合并分支 + + + 合并分支 : + + + 目标分支 : + + + 合并方式 : + + + 打开本地仓库 + + + 打开GIT终端 + + + 克隆远程仓库 + + + 编辑 + + + 新建分组 + + + 新建子分组 + + + 删除 + + + 快速查找仓库... + + + 排序 + + + 支持拖放目录添加 + + + 编辑分组 + + + 编辑仓库 + + + 目标 : + + + 名称 : + + + 书签 : + + + 删除分组确认 + + + 删除仓库确认 + + + 目标 : + + + 拉回 + + + 拉回(拉取并合并) + + + 远程 : + + + 拉取分支 : + + + 本地分支 : + + + 使用变基方式合并分支 + + + 自动贮藏并恢复本地变更 + + + 推送 + + + 推送到远程仓库 + + + 本地分支 : + + + 远程仓库 : + + + 远程分支 : + + + 同时推送标签 + + + 启用强制推送 + + + 推送标签到远程仓库 + + + 标签 : + + + 远程仓库 : + + + 变基操作 + + + 分支 : + + + 目标提交 : + + + 自动贮藏并恢复本地变更 + + + 添加远程仓库 + + + 编辑远程仓库 + + + 远程名 : + + + 唯一远程名 + + + 仓库地址 : + + + 远程仓库的地址 + + + 分支重命名 + + + 分支 : + + + 新的名称 : + + + 新的分支名不能与现有分支名相同 + + + 重置当前分支到指定版本 + + + 当前分支 : + + + 提交 : + + + 重置模式 : + + + 回滚操作确认 + + + 目标提交 : + + + 回滚后提交更改 + + + 偏好设置 + + + 通用配置 + + + 显示语言 + + + 头像服务 + + + 主题 + + + 最大历史提交数 + + + 启动时恢复上次打开的仓库 + + + 使用固定宽度的标题栏标签 + + + GIT配置 + + + 安装路径 + + + Git 版本 + + + 默认克隆路径 + + + 用户名 + + + 默认GIT用户名 + + + 邮箱 + + + 默认GIT用户邮箱 + + + 自动换行转换 + + + 启用定时自动拉取远程更新 + + + GPG签名 + + + 启用提交签名 + + + 可执行文件位置 + + + gpg.exe所在路径 + + + 用户签名KEY + + + 输入签名提交所使用的KEY + + + 外部合并工具 + + + 工具 + + + 安装路径 + + + 填写工具可执行文件所在位置 + + + 合并模式启动参数 + + + 对比模式启动参数 + + + 贮藏 + + + 贮藏本地变更 + + + 信息 : + + + 选填,用于命名此贮藏 + + + 包含未跟踪的文件 + + + 贮藏列表 + + + 贮藏列表 + + + 查看变更 + + + 丢弃贮藏确认 + + + 丢弃贮藏 : + + + 对比提交 : {0} -> {1} + + + 本地更改 + + + 未暂存 + + + 查看忽略变更文件 + + + 暂存选中 + + + 暂存所有 + + + 已暂存 + + + 从暂存区移除选中 + + + 从暂存区移除所有 + + + 检测到冲突 + + + 使用THEIRS + + + 使用MINE + + + 打开合并工具 + + + 填写提交信息 + + + 历史提交信息 + + + 修补 + + + 提交 + + + CTRL + Enter + + + 提交并推送 + + + 没有提交信息记录 + + + 最近输入的提交信息 + + + 显示未跟踪文件 + + + 检测到本地冲突! 点击【终止合并】回滚到合并操作前的状态。 + + + 丢弃贮藏确认 + + + 您正在丢弃所有的贮藏,一经操作,无法回退,是否继续? + + + 编辑提交信息 + + + 提交: + + + 提交信息: + + + 合并HEAD到上一个提交 + + + 当前提交 : + + + 合并到 : + + + 修改提交信息: + + + 不跟踪更改的文件 + + + 移除 + + + 没有不跟踪更改的文件 + + + 提交统计 + + + 本周 + + + 本月 + + + 本年 + + + 提交者人数 + + + 总计提交次数 + + + 提交者 + + + 提交次数 + + + 快捷键 + + + 全局快捷键 + + + 新建页面 + + + 关闭当前页面 + + + 切换到下一个页面 + + + 取消弹出面板 + + + 仓库页面快捷键 + + + 显示历史记录 + + + 显示本地更改 + + + 显示贮藏列表 + + + 打开/关闭历史搜索 + + + 将选中的变更暂存或从暂存列表中移除 + + + 文本编辑器 + + + 打开搜索 + + + 定位到上一个匹配搜索的位置 + + + 定位到下一个匹配搜索的位置 + + + 关闭搜索 + + + GIT尚未配置。请打开【偏好设置】配置GIT路径。 + + + 二进制文件不支持该操作!!! + + + 选中文件不支持该操作!!! + + + 补丁已成功保存! + + + 剪切 + \ No newline at end of file diff --git a/src/Resources/Styles.axaml b/src/SourceGit/Resources/Styles.axaml similarity index 97% rename from src/Resources/Styles.axaml rename to src/SourceGit/Resources/Styles.axaml index 0076f02c..61dfc200 100644 --- a/src/Resources/Styles.axaml +++ b/src/SourceGit/Resources/Styles.axaml @@ -1,1096 +1,1096 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Resources/Themes.axaml b/src/SourceGit/Resources/Themes.axaml similarity index 100% rename from src/Resources/Themes.axaml rename to src/SourceGit/Resources/Themes.axaml diff --git a/src/SourceGit.csproj b/src/SourceGit/SourceGit.csproj similarity index 97% rename from src/SourceGit.csproj rename to src/SourceGit/SourceGit.csproj index 29a4a8e2..f8a9aace 100644 --- a/src/SourceGit.csproj +++ b/src/SourceGit/SourceGit.csproj @@ -1,65 +1,65 @@ - - - WinExe - net8.0 - true - App.manifest - App.ico - 8.4 - false - true - true - - SourceGit - OpenSource GIT client - sourcegit-scm - Copyright © 2024 sourcegit-scm. - MIT - https://github.com/sourcegit-scm/sourcegit.git - https://github.com/sourcegit-scm/sourcegit.git - Public - - - - $(DefineConstants);USE_FONT_INTER - - - - - - - - - - True - True - Locales.resx - - - PublicResXFileCodeGenerator - Locales.Designer.cs - - - PublicResXFileCodeGenerator - Locales.resx - - - - - - - - - - - - - - - - - - - - - + + + WinExe + net8.0 + true + App.manifest + App.ico + 8.4 + false + true + true + + SourceGit + OpenSource GIT client + sourcegit-scm + Copyright © 2024 sourcegit-scm. + MIT + https://github.com/sourcegit-scm/sourcegit.git + https://github.com/sourcegit-scm/sourcegit.git + Public + + + + $(DefineConstants);USE_FONT_INTER + + + + + + + + + + True + True + Locales.resx + + + PublicResXFileCodeGenerator + Locales.Designer.cs + + + PublicResXFileCodeGenerator + Locales.resx + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ViewModels/AddRemote.cs b/src/SourceGit/ViewModels/AddRemote.cs similarity index 100% rename from src/ViewModels/AddRemote.cs rename to src/SourceGit/ViewModels/AddRemote.cs diff --git a/src/ViewModels/AddSubmodule.cs b/src/SourceGit/ViewModels/AddSubmodule.cs similarity index 100% rename from src/ViewModels/AddSubmodule.cs rename to src/SourceGit/ViewModels/AddSubmodule.cs diff --git a/src/ViewModels/Apply.cs b/src/SourceGit/ViewModels/Apply.cs similarity index 100% rename from src/ViewModels/Apply.cs rename to src/SourceGit/ViewModels/Apply.cs diff --git a/src/ViewModels/Archive.cs b/src/SourceGit/ViewModels/Archive.cs similarity index 100% rename from src/ViewModels/Archive.cs rename to src/SourceGit/ViewModels/Archive.cs diff --git a/src/ViewModels/AssumeUnchangedManager.cs b/src/SourceGit/ViewModels/AssumeUnchangedManager.cs similarity index 100% rename from src/ViewModels/AssumeUnchangedManager.cs rename to src/SourceGit/ViewModels/AssumeUnchangedManager.cs diff --git a/src/ViewModels/Blame.cs b/src/SourceGit/ViewModels/Blame.cs similarity index 100% rename from src/ViewModels/Blame.cs rename to src/SourceGit/ViewModels/Blame.cs diff --git a/src/ViewModels/Checkout.cs b/src/SourceGit/ViewModels/Checkout.cs similarity index 100% rename from src/ViewModels/Checkout.cs rename to src/SourceGit/ViewModels/Checkout.cs diff --git a/src/ViewModels/CherryPick.cs b/src/SourceGit/ViewModels/CherryPick.cs similarity index 100% rename from src/ViewModels/CherryPick.cs rename to src/SourceGit/ViewModels/CherryPick.cs diff --git a/src/ViewModels/Cleanup.cs b/src/SourceGit/ViewModels/Cleanup.cs similarity index 100% rename from src/ViewModels/Cleanup.cs rename to src/SourceGit/ViewModels/Cleanup.cs diff --git a/src/ViewModels/ClearStashes.cs b/src/SourceGit/ViewModels/ClearStashes.cs similarity index 100% rename from src/ViewModels/ClearStashes.cs rename to src/SourceGit/ViewModels/ClearStashes.cs diff --git a/src/ViewModels/Clone.cs b/src/SourceGit/ViewModels/Clone.cs similarity index 100% rename from src/ViewModels/Clone.cs rename to src/SourceGit/ViewModels/Clone.cs diff --git a/src/ViewModels/CommitDetail.cs b/src/SourceGit/ViewModels/CommitDetail.cs similarity index 100% rename from src/ViewModels/CommitDetail.cs rename to src/SourceGit/ViewModels/CommitDetail.cs diff --git a/src/ViewModels/CreateBranch.cs b/src/SourceGit/ViewModels/CreateBranch.cs similarity index 100% rename from src/ViewModels/CreateBranch.cs rename to src/SourceGit/ViewModels/CreateBranch.cs diff --git a/src/ViewModels/CreateGroup.cs b/src/SourceGit/ViewModels/CreateGroup.cs similarity index 100% rename from src/ViewModels/CreateGroup.cs rename to src/SourceGit/ViewModels/CreateGroup.cs diff --git a/src/ViewModels/CreateTag.cs b/src/SourceGit/ViewModels/CreateTag.cs similarity index 100% rename from src/ViewModels/CreateTag.cs rename to src/SourceGit/ViewModels/CreateTag.cs diff --git a/src/ViewModels/DeleteBranch.cs b/src/SourceGit/ViewModels/DeleteBranch.cs similarity index 100% rename from src/ViewModels/DeleteBranch.cs rename to src/SourceGit/ViewModels/DeleteBranch.cs diff --git a/src/ViewModels/DeleteRemote.cs b/src/SourceGit/ViewModels/DeleteRemote.cs similarity index 100% rename from src/ViewModels/DeleteRemote.cs rename to src/SourceGit/ViewModels/DeleteRemote.cs diff --git a/src/ViewModels/DeleteRepositoryNode.cs b/src/SourceGit/ViewModels/DeleteRepositoryNode.cs similarity index 100% rename from src/ViewModels/DeleteRepositoryNode.cs rename to src/SourceGit/ViewModels/DeleteRepositoryNode.cs diff --git a/src/ViewModels/DeleteSubmodule.cs b/src/SourceGit/ViewModels/DeleteSubmodule.cs similarity index 100% rename from src/ViewModels/DeleteSubmodule.cs rename to src/SourceGit/ViewModels/DeleteSubmodule.cs diff --git a/src/ViewModels/DeleteTag.cs b/src/SourceGit/ViewModels/DeleteTag.cs similarity index 100% rename from src/ViewModels/DeleteTag.cs rename to src/SourceGit/ViewModels/DeleteTag.cs diff --git a/src/ViewModels/DiffContext.cs b/src/SourceGit/ViewModels/DiffContext.cs similarity index 100% rename from src/ViewModels/DiffContext.cs rename to src/SourceGit/ViewModels/DiffContext.cs diff --git a/src/ViewModels/Discard.cs b/src/SourceGit/ViewModels/Discard.cs similarity index 100% rename from src/ViewModels/Discard.cs rename to src/SourceGit/ViewModels/Discard.cs diff --git a/src/ViewModels/DropStash.cs b/src/SourceGit/ViewModels/DropStash.cs similarity index 100% rename from src/ViewModels/DropStash.cs rename to src/SourceGit/ViewModels/DropStash.cs diff --git a/src/ViewModels/EditRemote.cs b/src/SourceGit/ViewModels/EditRemote.cs similarity index 100% rename from src/ViewModels/EditRemote.cs rename to src/SourceGit/ViewModels/EditRemote.cs diff --git a/src/ViewModels/EditRepositoryNode.cs b/src/SourceGit/ViewModels/EditRepositoryNode.cs similarity index 100% rename from src/ViewModels/EditRepositoryNode.cs rename to src/SourceGit/ViewModels/EditRepositoryNode.cs diff --git a/src/ViewModels/FastForwardWithoutCheckout.cs b/src/SourceGit/ViewModels/FastForwardWithoutCheckout.cs similarity index 100% rename from src/ViewModels/FastForwardWithoutCheckout.cs rename to src/SourceGit/ViewModels/FastForwardWithoutCheckout.cs diff --git a/src/ViewModels/Fetch.cs b/src/SourceGit/ViewModels/Fetch.cs similarity index 100% rename from src/ViewModels/Fetch.cs rename to src/SourceGit/ViewModels/Fetch.cs diff --git a/src/ViewModels/FileHistories.cs b/src/SourceGit/ViewModels/FileHistories.cs similarity index 100% rename from src/ViewModels/FileHistories.cs rename to src/SourceGit/ViewModels/FileHistories.cs diff --git a/src/ViewModels/FileTreeNode.cs b/src/SourceGit/ViewModels/FileTreeNode.cs similarity index 100% rename from src/ViewModels/FileTreeNode.cs rename to src/SourceGit/ViewModels/FileTreeNode.cs diff --git a/src/ViewModels/GitFlowFinish.cs b/src/SourceGit/ViewModels/GitFlowFinish.cs similarity index 100% rename from src/ViewModels/GitFlowFinish.cs rename to src/SourceGit/ViewModels/GitFlowFinish.cs diff --git a/src/ViewModels/GitFlowStart.cs b/src/SourceGit/ViewModels/GitFlowStart.cs similarity index 100% rename from src/ViewModels/GitFlowStart.cs rename to src/SourceGit/ViewModels/GitFlowStart.cs diff --git a/src/ViewModels/Histories.cs b/src/SourceGit/ViewModels/Histories.cs similarity index 100% rename from src/ViewModels/Histories.cs rename to src/SourceGit/ViewModels/Histories.cs diff --git a/src/ViewModels/Init.cs b/src/SourceGit/ViewModels/Init.cs similarity index 100% rename from src/ViewModels/Init.cs rename to src/SourceGit/ViewModels/Init.cs diff --git a/src/ViewModels/InitGitFlow.cs b/src/SourceGit/ViewModels/InitGitFlow.cs similarity index 100% rename from src/ViewModels/InitGitFlow.cs rename to src/SourceGit/ViewModels/InitGitFlow.cs diff --git a/src/ViewModels/Launcher.cs b/src/SourceGit/ViewModels/Launcher.cs similarity index 100% rename from src/ViewModels/Launcher.cs rename to src/SourceGit/ViewModels/Launcher.cs diff --git a/src/ViewModels/LauncherPage.cs b/src/SourceGit/ViewModels/LauncherPage.cs similarity index 100% rename from src/ViewModels/LauncherPage.cs rename to src/SourceGit/ViewModels/LauncherPage.cs diff --git a/src/ViewModels/Merge.cs b/src/SourceGit/ViewModels/Merge.cs similarity index 100% rename from src/ViewModels/Merge.cs rename to src/SourceGit/ViewModels/Merge.cs diff --git a/src/ViewModels/Popup.cs b/src/SourceGit/ViewModels/Popup.cs similarity index 100% rename from src/ViewModels/Popup.cs rename to src/SourceGit/ViewModels/Popup.cs diff --git a/src/ViewModels/PopupHost.cs b/src/SourceGit/ViewModels/PopupHost.cs similarity index 100% rename from src/ViewModels/PopupHost.cs rename to src/SourceGit/ViewModels/PopupHost.cs diff --git a/src/ViewModels/Preference.cs b/src/SourceGit/ViewModels/Preference.cs similarity index 96% rename from src/ViewModels/Preference.cs rename to src/SourceGit/ViewModels/Preference.cs index 0ecd7e79..fdb31713 100644 --- a/src/ViewModels/Preference.cs +++ b/src/SourceGit/ViewModels/Preference.cs @@ -1,372 +1,372 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text.Json; -using System.Text.Json.Serialization; - -using Avalonia.Collections; - -using CommunityToolkit.Mvvm.ComponentModel; - -namespace SourceGit.ViewModels -{ - public class Preference : ObservableObject - { - [JsonIgnore] - public static Preference Instance - { - get - { - if (_instance == null) - { - if (!File.Exists(_savePath)) - { - _instance = new Preference(); - } - else - { - try - { - _instance = JsonSerializer.Deserialize(File.ReadAllText(_savePath), JsonSerializationCodeGen.Default.Preference); - } - catch - { - _instance = new Preference(); - } - } - } - - _instance.Repositories.RemoveAll(x => !Directory.Exists(x.FullPath)); - - if (!_instance.IsGitConfigured) - { - _instance.GitInstallPath = Native.OS.FindGitExecutable(); - } - - return _instance; - } - } - - public string Locale - { - get => _locale; - set - { - if (SetProperty(ref _locale, value)) - { - App.SetLocale(value); - } - } - } - - public string Theme - { - get => _theme; - set - { - if (SetProperty(ref _theme, value)) - { - App.SetTheme(value); - } - } - } - - public string AvatarServer - { - get => Models.AvatarManager.SelectedServer; - set - { - if (Models.AvatarManager.SelectedServer != value) - { - Models.AvatarManager.SelectedServer = value; - OnPropertyChanged(nameof(AvatarServer)); - } - } - } - - public int MaxHistoryCommits - { - get => _maxHistoryCommits; - set => SetProperty(ref _maxHistoryCommits, value); - } - - public bool RestoreTabs - { - get => _restoreTabs; - set => SetProperty(ref _restoreTabs, value); - } - - public bool UseFixedTabWidth - { - get => _useFixedTabWidth; - set => SetProperty(ref _useFixedTabWidth, value); - } - - public bool UseTwoColumnsLayoutInHistories - { - get => _useTwoColumnsLayoutInHistories; - set => SetProperty(ref _useTwoColumnsLayoutInHistories, value); - } - - public bool UseSideBySideDiff - { - get => _useSideBySideDiff; - set => SetProperty(ref _useSideBySideDiff, value); - } - - public Models.ChangeViewMode UnstagedChangeViewMode - { - get => _unstagedChangeViewMode; - set => SetProperty(ref _unstagedChangeViewMode, value); - } - - public Models.ChangeViewMode StagedChangeViewMode - { - get => _stagedChangeViewMode; - set => SetProperty(ref _stagedChangeViewMode, value); - } - - public Models.ChangeViewMode CommitChangeViewMode - { - get => _commitChangeViewMode; - set => SetProperty(ref _commitChangeViewMode, value); - } - - [JsonIgnore] - public bool IsGitConfigured - { - get => !string.IsNullOrEmpty(GitInstallPath) && File.Exists(GitInstallPath); - } - - public string GitInstallPath - { - get => Native.OS.GitInstallPath; - set - { - if (Native.OS.GitInstallPath != value) - { - Native.OS.GitInstallPath = value; - OnPropertyChanged(nameof(GitInstallPath)); - } - } - } - - public string GitDefaultCloneDir - { - get => _gitDefaultCloneDir; - set => SetProperty(ref _gitDefaultCloneDir, value); - } - - public bool GitAutoFetch - { - get => Commands.AutoFetch.IsEnabled; - set - { - if (Commands.AutoFetch.IsEnabled != value) - { - Commands.AutoFetch.IsEnabled = value; - OnPropertyChanged(nameof(GitAutoFetch)); - } - } - } - - public int ExternalMergeToolType - { - get => _externalMergeToolType; - set - { - var changed = SetProperty(ref _externalMergeToolType, value); - if (changed && !OperatingSystem.IsWindows() && value > 0 && value < Models.ExternalMergeTools.Supported.Count) - { - var tool = Models.ExternalMergeTools.Supported[value]; - if (File.Exists(tool.Exec)) ExternalMergeToolPath = tool.Exec; - else ExternalMergeToolPath = string.Empty; - } - } - } - - public string ExternalMergeToolPath - { - get => _externalMergeToolPath; - set => SetProperty(ref _externalMergeToolPath, value); - } - - public string ExternalMergeToolCmd - { - get => _externalMergeToolCmd; - set => SetProperty(ref _externalMergeToolCmd, value); - } - - public string ExternalMergeToolDiffCmd - { - get => _externalMergeToolDiffCmd; - set => SetProperty(ref _externalMergeToolDiffCmd, value); - } - - public List Repositories - { - get; - set; - } = new List(); - - public AvaloniaList RepositoryNodes - { - get => _repositoryNodes; - set => SetProperty(ref _repositoryNodes, value); - } - - public List OpenedTabs - { - get; - set; - } = new List(); - - public int LastActiveTabIdx - { - get; - set; - } = 0; - - public static void AddNode(RepositoryNode node, RepositoryNode to = null) - { - var collection = to == null ? _instance._repositoryNodes : to.SubNodes; - var list = new List(); - list.AddRange(collection); - list.Add(node); - list.Sort((l, r) => - { - if (l.IsRepository != r.IsRepository) - { - return l.IsRepository ? 1 : -1; - } - else - { - return l.Name.CompareTo(r.Name); - } - }); - - collection.Clear(); - foreach (var one in list) - { - collection.Add(one); - } - } - - public static RepositoryNode FindNode(string id) - { - return FindNodeRecursive(id, _instance.RepositoryNodes); - } - - public static void MoveNode(RepositoryNode node, RepositoryNode to = null) - { - if (to == null && _instance._repositoryNodes.Contains(node)) return; - if (to != null && to.SubNodes.Contains(node)) return; - - RemoveNode(node); - AddNode(node, to); - } - - public static void RemoveNode(RepositoryNode node) - { - RemoveNodeRecursive(node, _instance._repositoryNodes); - } - - public static Repository FindRepository(string path) - { - foreach (var repo in _instance.Repositories) - { - if (repo.FullPath == path) return repo; - } - return null; - } - - public static Repository AddRepository(string rootDir, string gitDir) - { - var normalized = rootDir.Replace('\\', '/'); - var repo = FindRepository(normalized); - if (repo != null) - { - repo.GitDir = gitDir; - return repo; - } - - repo = new Repository() - { - FullPath = normalized, - GitDir = gitDir - }; - - _instance.Repositories.Add(repo); - return repo; - } - - public static void Save() - { - var dir = Path.GetDirectoryName(_savePath); - if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); - - var data = JsonSerializer.Serialize(_instance, JsonSerializationCodeGen.Default.Preference); - File.WriteAllText(_savePath, data); - } - - private static RepositoryNode FindNodeRecursive(string id, AvaloniaList collection) - { - foreach (var node in collection) - { - if (node.Id == id) return node; - - var sub = FindNodeRecursive(id, node.SubNodes); - if (sub != null) return sub; - } - - return null; - } - - private static bool RemoveNodeRecursive(RepositoryNode node, AvaloniaList collection) - { - if (collection.Contains(node)) - { - collection.Remove(node); - return true; - } - - foreach (RepositoryNode one in collection) - { - if (RemoveNodeRecursive(node, one.SubNodes)) return true; - } - - return false; - } - - private static Preference _instance = null; - private static readonly string _savePath = Path.Combine( - Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), - "SourceGit", - "preference.json"); - - private string _locale = "en_US"; - private string _theme = "Default"; - private int _maxHistoryCommits = 20000; - private bool _restoreTabs = false; - private bool _useFixedTabWidth = true; - private bool _useTwoColumnsLayoutInHistories = false; - private bool _useSideBySideDiff = false; - - private Models.ChangeViewMode _unstagedChangeViewMode = Models.ChangeViewMode.List; - private Models.ChangeViewMode _stagedChangeViewMode = Models.ChangeViewMode.List; - private Models.ChangeViewMode _commitChangeViewMode = Models.ChangeViewMode.List; - - private string _gitDefaultCloneDir = string.Empty; - - private int _externalMergeToolType = 0; - private string _externalMergeToolPath = string.Empty; - private string _externalMergeToolCmd = string.Empty; - private string _externalMergeToolDiffCmd = string.Empty; - - private AvaloniaList _repositoryNodes = new AvaloniaList(); - } - - [JsonSourceGenerationOptions(WriteIndented = true, IgnoreReadOnlyFields = true, IgnoreReadOnlyProperties = true)] - [JsonSerializable(typeof(Preference))] - internal partial class JsonSerializationCodeGen : JsonSerializerContext { } +using System; +using System.Collections.Generic; +using System.IO; +using System.Text.Json; +using System.Text.Json.Serialization; + +using Avalonia.Collections; + +using CommunityToolkit.Mvvm.ComponentModel; + +namespace SourceGit.ViewModels +{ + public class Preference : ObservableObject + { + [JsonIgnore] + public static Preference Instance + { + get + { + if (_instance == null) + { + if (!File.Exists(_savePath)) + { + _instance = new Preference(); + } + else + { + try + { + _instance = JsonSerializer.Deserialize(File.ReadAllText(_savePath), JsonSerializationCodeGen.Default.Preference); + } + catch + { + _instance = new Preference(); + } + } + } + + _instance.Repositories.RemoveAll(x => !Directory.Exists(x.FullPath)); + + if (!_instance.IsGitConfigured) + { + _instance.GitInstallPath = Native.OS.FindGitExecutable(); + } + + return _instance; + } + } + + public string Locale + { + get => _locale; + set + { + if (SetProperty(ref _locale, value)) + { + App.SetLocale(value); + } + } + } + + public string Theme + { + get => _theme; + set + { + if (SetProperty(ref _theme, value)) + { + App.SetTheme(value); + } + } + } + + public string AvatarServer + { + get => Models.AvatarManager.SelectedServer; + set + { + if (Models.AvatarManager.SelectedServer != value) + { + Models.AvatarManager.SelectedServer = value; + OnPropertyChanged(nameof(AvatarServer)); + } + } + } + + public int MaxHistoryCommits + { + get => _maxHistoryCommits; + set => SetProperty(ref _maxHistoryCommits, value); + } + + public bool RestoreTabs + { + get => _restoreTabs; + set => SetProperty(ref _restoreTabs, value); + } + + public bool UseFixedTabWidth + { + get => _useFixedTabWidth; + set => SetProperty(ref _useFixedTabWidth, value); + } + + public bool UseTwoColumnsLayoutInHistories + { + get => _useTwoColumnsLayoutInHistories; + set => SetProperty(ref _useTwoColumnsLayoutInHistories, value); + } + + public bool UseSideBySideDiff + { + get => _useSideBySideDiff; + set => SetProperty(ref _useSideBySideDiff, value); + } + + public Models.ChangeViewMode UnstagedChangeViewMode + { + get => _unstagedChangeViewMode; + set => SetProperty(ref _unstagedChangeViewMode, value); + } + + public Models.ChangeViewMode StagedChangeViewMode + { + get => _stagedChangeViewMode; + set => SetProperty(ref _stagedChangeViewMode, value); + } + + public Models.ChangeViewMode CommitChangeViewMode + { + get => _commitChangeViewMode; + set => SetProperty(ref _commitChangeViewMode, value); + } + + [JsonIgnore] + public bool IsGitConfigured + { + get => !string.IsNullOrEmpty(GitInstallPath) && File.Exists(GitInstallPath); + } + + public string GitInstallPath + { + get => Native.OS.GitInstallPath; + set + { + if (Native.OS.GitInstallPath != value) + { + Native.OS.GitInstallPath = value; + OnPropertyChanged(nameof(GitInstallPath)); + } + } + } + + public string GitDefaultCloneDir + { + get => _gitDefaultCloneDir; + set => SetProperty(ref _gitDefaultCloneDir, value); + } + + public bool GitAutoFetch + { + get => Commands.AutoFetch.IsEnabled; + set + { + if (Commands.AutoFetch.IsEnabled != value) + { + Commands.AutoFetch.IsEnabled = value; + OnPropertyChanged(nameof(GitAutoFetch)); + } + } + } + + public int ExternalMergeToolType + { + get => _externalMergeToolType; + set + { + var changed = SetProperty(ref _externalMergeToolType, value); + if (changed && !OperatingSystem.IsWindows() && value > 0 && value < Models.ExternalMergeTools.Supported.Count) + { + var tool = Models.ExternalMergeTools.Supported[value]; + if (File.Exists(tool.Exec)) ExternalMergeToolPath = tool.Exec; + else ExternalMergeToolPath = string.Empty; + } + } + } + + public string ExternalMergeToolPath + { + get => _externalMergeToolPath; + set => SetProperty(ref _externalMergeToolPath, value); + } + + public string ExternalMergeToolCmd + { + get => _externalMergeToolCmd; + set => SetProperty(ref _externalMergeToolCmd, value); + } + + public string ExternalMergeToolDiffCmd + { + get => _externalMergeToolDiffCmd; + set => SetProperty(ref _externalMergeToolDiffCmd, value); + } + + public List Repositories + { + get; + set; + } = new List(); + + public AvaloniaList RepositoryNodes + { + get => _repositoryNodes; + set => SetProperty(ref _repositoryNodes, value); + } + + public List OpenedTabs + { + get; + set; + } = new List(); + + public int LastActiveTabIdx + { + get; + set; + } = 0; + + public static void AddNode(RepositoryNode node, RepositoryNode to = null) + { + var collection = to == null ? _instance._repositoryNodes : to.SubNodes; + var list = new List(); + list.AddRange(collection); + list.Add(node); + list.Sort((l, r) => + { + if (l.IsRepository != r.IsRepository) + { + return l.IsRepository ? 1 : -1; + } + else + { + return l.Name.CompareTo(r.Name); + } + }); + + collection.Clear(); + foreach (var one in list) + { + collection.Add(one); + } + } + + public static RepositoryNode FindNode(string id) + { + return FindNodeRecursive(id, _instance.RepositoryNodes); + } + + public static void MoveNode(RepositoryNode node, RepositoryNode to = null) + { + if (to == null && _instance._repositoryNodes.Contains(node)) return; + if (to != null && to.SubNodes.Contains(node)) return; + + RemoveNode(node); + AddNode(node, to); + } + + public static void RemoveNode(RepositoryNode node) + { + RemoveNodeRecursive(node, _instance._repositoryNodes); + } + + public static Repository FindRepository(string path) + { + foreach (var repo in _instance.Repositories) + { + if (repo.FullPath == path) return repo; + } + return null; + } + + public static Repository AddRepository(string rootDir, string gitDir) + { + var normalized = rootDir.Replace('\\', '/'); + var repo = FindRepository(normalized); + if (repo != null) + { + repo.GitDir = gitDir; + return repo; + } + + repo = new Repository() + { + FullPath = normalized, + GitDir = gitDir + }; + + _instance.Repositories.Add(repo); + return repo; + } + + public static void Save() + { + var dir = Path.GetDirectoryName(_savePath); + if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); + + var data = JsonSerializer.Serialize(_instance, JsonSerializationCodeGen.Default.Preference); + File.WriteAllText(_savePath, data); + } + + private static RepositoryNode FindNodeRecursive(string id, AvaloniaList collection) + { + foreach (var node in collection) + { + if (node.Id == id) return node; + + var sub = FindNodeRecursive(id, node.SubNodes); + if (sub != null) return sub; + } + + return null; + } + + private static bool RemoveNodeRecursive(RepositoryNode node, AvaloniaList collection) + { + if (collection.Contains(node)) + { + collection.Remove(node); + return true; + } + + foreach (RepositoryNode one in collection) + { + if (RemoveNodeRecursive(node, one.SubNodes)) return true; + } + + return false; + } + + private static Preference _instance = null; + private static readonly string _savePath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), + "SourceGit", + "preference.json"); + + private string _locale = "en_US"; + private string _theme = "Default"; + private int _maxHistoryCommits = 20000; + private bool _restoreTabs = false; + private bool _useFixedTabWidth = true; + private bool _useTwoColumnsLayoutInHistories = false; + private bool _useSideBySideDiff = false; + + private Models.ChangeViewMode _unstagedChangeViewMode = Models.ChangeViewMode.List; + private Models.ChangeViewMode _stagedChangeViewMode = Models.ChangeViewMode.List; + private Models.ChangeViewMode _commitChangeViewMode = Models.ChangeViewMode.List; + + private string _gitDefaultCloneDir = string.Empty; + + private int _externalMergeToolType = 0; + private string _externalMergeToolPath = string.Empty; + private string _externalMergeToolCmd = string.Empty; + private string _externalMergeToolDiffCmd = string.Empty; + + private AvaloniaList _repositoryNodes = new AvaloniaList(); + } + + [JsonSourceGenerationOptions(WriteIndented = true, IgnoreReadOnlyFields = true, IgnoreReadOnlyProperties = true)] + [JsonSerializable(typeof(Preference))] + internal partial class JsonSerializationCodeGen : JsonSerializerContext { } } \ No newline at end of file diff --git a/src/ViewModels/PruneRemote.cs b/src/SourceGit/ViewModels/PruneRemote.cs similarity index 100% rename from src/ViewModels/PruneRemote.cs rename to src/SourceGit/ViewModels/PruneRemote.cs diff --git a/src/ViewModels/Pull.cs b/src/SourceGit/ViewModels/Pull.cs similarity index 100% rename from src/ViewModels/Pull.cs rename to src/SourceGit/ViewModels/Pull.cs diff --git a/src/ViewModels/Push.cs b/src/SourceGit/ViewModels/Push.cs similarity index 100% rename from src/ViewModels/Push.cs rename to src/SourceGit/ViewModels/Push.cs diff --git a/src/ViewModels/PushTag.cs b/src/SourceGit/ViewModels/PushTag.cs similarity index 100% rename from src/ViewModels/PushTag.cs rename to src/SourceGit/ViewModels/PushTag.cs diff --git a/src/ViewModels/Rebase.cs b/src/SourceGit/ViewModels/Rebase.cs similarity index 100% rename from src/ViewModels/Rebase.cs rename to src/SourceGit/ViewModels/Rebase.cs diff --git a/src/ViewModels/RenameBranch.cs b/src/SourceGit/ViewModels/RenameBranch.cs similarity index 100% rename from src/ViewModels/RenameBranch.cs rename to src/SourceGit/ViewModels/RenameBranch.cs diff --git a/src/ViewModels/Repository.cs b/src/SourceGit/ViewModels/Repository.cs similarity index 100% rename from src/ViewModels/Repository.cs rename to src/SourceGit/ViewModels/Repository.cs diff --git a/src/ViewModels/RepositoryConfigure.cs b/src/SourceGit/ViewModels/RepositoryConfigure.cs similarity index 100% rename from src/ViewModels/RepositoryConfigure.cs rename to src/SourceGit/ViewModels/RepositoryConfigure.cs diff --git a/src/ViewModels/RepositoryNode.cs b/src/SourceGit/ViewModels/RepositoryNode.cs similarity index 100% rename from src/ViewModels/RepositoryNode.cs rename to src/SourceGit/ViewModels/RepositoryNode.cs diff --git a/src/ViewModels/Reset.cs b/src/SourceGit/ViewModels/Reset.cs similarity index 100% rename from src/ViewModels/Reset.cs rename to src/SourceGit/ViewModels/Reset.cs diff --git a/src/ViewModels/Revert.cs b/src/SourceGit/ViewModels/Revert.cs similarity index 100% rename from src/ViewModels/Revert.cs rename to src/SourceGit/ViewModels/Revert.cs diff --git a/src/ViewModels/RevisionCompare.cs b/src/SourceGit/ViewModels/RevisionCompare.cs similarity index 100% rename from src/ViewModels/RevisionCompare.cs rename to src/SourceGit/ViewModels/RevisionCompare.cs diff --git a/src/ViewModels/Reword.cs b/src/SourceGit/ViewModels/Reword.cs similarity index 100% rename from src/ViewModels/Reword.cs rename to src/SourceGit/ViewModels/Reword.cs diff --git a/src/ViewModels/Squash.cs b/src/SourceGit/ViewModels/Squash.cs similarity index 100% rename from src/ViewModels/Squash.cs rename to src/SourceGit/ViewModels/Squash.cs diff --git a/src/ViewModels/StashChanges.cs b/src/SourceGit/ViewModels/StashChanges.cs similarity index 100% rename from src/ViewModels/StashChanges.cs rename to src/SourceGit/ViewModels/StashChanges.cs diff --git a/src/ViewModels/StashesPage.cs b/src/SourceGit/ViewModels/StashesPage.cs similarity index 100% rename from src/ViewModels/StashesPage.cs rename to src/SourceGit/ViewModels/StashesPage.cs diff --git a/src/ViewModels/Statistics.cs b/src/SourceGit/ViewModels/Statistics.cs similarity index 100% rename from src/ViewModels/Statistics.cs rename to src/SourceGit/ViewModels/Statistics.cs diff --git a/src/ViewModels/TwoSideTextDiff.cs b/src/SourceGit/ViewModels/TwoSideTextDiff.cs similarity index 100% rename from src/ViewModels/TwoSideTextDiff.cs rename to src/SourceGit/ViewModels/TwoSideTextDiff.cs diff --git a/src/ViewModels/Welcome.cs b/src/SourceGit/ViewModels/Welcome.cs similarity index 100% rename from src/ViewModels/Welcome.cs rename to src/SourceGit/ViewModels/Welcome.cs diff --git a/src/ViewModels/WorkingCopy.cs b/src/SourceGit/ViewModels/WorkingCopy.cs similarity index 100% rename from src/ViewModels/WorkingCopy.cs rename to src/SourceGit/ViewModels/WorkingCopy.cs diff --git a/src/Views/About.axaml b/src/SourceGit/Views/About.axaml similarity index 100% rename from src/Views/About.axaml rename to src/SourceGit/Views/About.axaml diff --git a/src/Views/About.axaml.cs b/src/SourceGit/Views/About.axaml.cs similarity index 100% rename from src/Views/About.axaml.cs rename to src/SourceGit/Views/About.axaml.cs diff --git a/src/Views/AddRemote.axaml b/src/SourceGit/Views/AddRemote.axaml similarity index 100% rename from src/Views/AddRemote.axaml rename to src/SourceGit/Views/AddRemote.axaml diff --git a/src/Views/AddRemote.axaml.cs b/src/SourceGit/Views/AddRemote.axaml.cs similarity index 100% rename from src/Views/AddRemote.axaml.cs rename to src/SourceGit/Views/AddRemote.axaml.cs diff --git a/src/Views/AddSubmodule.axaml b/src/SourceGit/Views/AddSubmodule.axaml similarity index 100% rename from src/Views/AddSubmodule.axaml rename to src/SourceGit/Views/AddSubmodule.axaml diff --git a/src/Views/AddSubmodule.axaml.cs b/src/SourceGit/Views/AddSubmodule.axaml.cs similarity index 100% rename from src/Views/AddSubmodule.axaml.cs rename to src/SourceGit/Views/AddSubmodule.axaml.cs diff --git a/src/Views/Apply.axaml b/src/SourceGit/Views/Apply.axaml similarity index 100% rename from src/Views/Apply.axaml rename to src/SourceGit/Views/Apply.axaml diff --git a/src/Views/Apply.axaml.cs b/src/SourceGit/Views/Apply.axaml.cs similarity index 100% rename from src/Views/Apply.axaml.cs rename to src/SourceGit/Views/Apply.axaml.cs diff --git a/src/Views/Archive.axaml b/src/SourceGit/Views/Archive.axaml similarity index 100% rename from src/Views/Archive.axaml rename to src/SourceGit/Views/Archive.axaml diff --git a/src/Views/Archive.axaml.cs b/src/SourceGit/Views/Archive.axaml.cs similarity index 100% rename from src/Views/Archive.axaml.cs rename to src/SourceGit/Views/Archive.axaml.cs diff --git a/src/Views/AssumeUnchangedManager.axaml b/src/SourceGit/Views/AssumeUnchangedManager.axaml similarity index 100% rename from src/Views/AssumeUnchangedManager.axaml rename to src/SourceGit/Views/AssumeUnchangedManager.axaml diff --git a/src/Views/AssumeUnchangedManager.axaml.cs b/src/SourceGit/Views/AssumeUnchangedManager.axaml.cs similarity index 100% rename from src/Views/AssumeUnchangedManager.axaml.cs rename to src/SourceGit/Views/AssumeUnchangedManager.axaml.cs diff --git a/src/Views/Avatar.cs b/src/SourceGit/Views/Avatar.cs similarity index 100% rename from src/Views/Avatar.cs rename to src/SourceGit/Views/Avatar.cs diff --git a/src/Views/Blame.axaml b/src/SourceGit/Views/Blame.axaml similarity index 100% rename from src/Views/Blame.axaml rename to src/SourceGit/Views/Blame.axaml diff --git a/src/Views/Blame.axaml.cs b/src/SourceGit/Views/Blame.axaml.cs similarity index 100% rename from src/Views/Blame.axaml.cs rename to src/SourceGit/Views/Blame.axaml.cs diff --git a/src/Views/CaptionButtons.axaml b/src/SourceGit/Views/CaptionButtons.axaml similarity index 100% rename from src/Views/CaptionButtons.axaml rename to src/SourceGit/Views/CaptionButtons.axaml diff --git a/src/Views/CaptionButtons.axaml.cs b/src/SourceGit/Views/CaptionButtons.axaml.cs similarity index 100% rename from src/Views/CaptionButtons.axaml.cs rename to src/SourceGit/Views/CaptionButtons.axaml.cs diff --git a/src/Views/CaptionButtonsMacOS.axaml b/src/SourceGit/Views/CaptionButtonsMacOS.axaml similarity index 100% rename from src/Views/CaptionButtonsMacOS.axaml rename to src/SourceGit/Views/CaptionButtonsMacOS.axaml diff --git a/src/Views/CaptionButtonsMacOS.axaml.cs b/src/SourceGit/Views/CaptionButtonsMacOS.axaml.cs similarity index 100% rename from src/Views/CaptionButtonsMacOS.axaml.cs rename to src/SourceGit/Views/CaptionButtonsMacOS.axaml.cs diff --git a/src/Views/ChangeStatusIcon.cs b/src/SourceGit/Views/ChangeStatusIcon.cs similarity index 100% rename from src/Views/ChangeStatusIcon.cs rename to src/SourceGit/Views/ChangeStatusIcon.cs diff --git a/src/Views/ChangeViewModeSwitcher.axaml b/src/SourceGit/Views/ChangeViewModeSwitcher.axaml similarity index 100% rename from src/Views/ChangeViewModeSwitcher.axaml rename to src/SourceGit/Views/ChangeViewModeSwitcher.axaml diff --git a/src/Views/ChangeViewModeSwitcher.axaml.cs b/src/SourceGit/Views/ChangeViewModeSwitcher.axaml.cs similarity index 100% rename from src/Views/ChangeViewModeSwitcher.axaml.cs rename to src/SourceGit/Views/ChangeViewModeSwitcher.axaml.cs diff --git a/src/Views/Checkout.axaml b/src/SourceGit/Views/Checkout.axaml similarity index 100% rename from src/Views/Checkout.axaml rename to src/SourceGit/Views/Checkout.axaml diff --git a/src/Views/Checkout.axaml.cs b/src/SourceGit/Views/Checkout.axaml.cs similarity index 100% rename from src/Views/Checkout.axaml.cs rename to src/SourceGit/Views/Checkout.axaml.cs diff --git a/src/Views/CherryPick.axaml b/src/SourceGit/Views/CherryPick.axaml similarity index 100% rename from src/Views/CherryPick.axaml rename to src/SourceGit/Views/CherryPick.axaml diff --git a/src/Views/CherryPick.axaml.cs b/src/SourceGit/Views/CherryPick.axaml.cs similarity index 100% rename from src/Views/CherryPick.axaml.cs rename to src/SourceGit/Views/CherryPick.axaml.cs diff --git a/src/Views/Cleanup.axaml b/src/SourceGit/Views/Cleanup.axaml similarity index 100% rename from src/Views/Cleanup.axaml rename to src/SourceGit/Views/Cleanup.axaml diff --git a/src/Views/Cleanup.axaml.cs b/src/SourceGit/Views/Cleanup.axaml.cs similarity index 100% rename from src/Views/Cleanup.axaml.cs rename to src/SourceGit/Views/Cleanup.axaml.cs diff --git a/src/Views/ClearStashes.axaml b/src/SourceGit/Views/ClearStashes.axaml similarity index 100% rename from src/Views/ClearStashes.axaml rename to src/SourceGit/Views/ClearStashes.axaml diff --git a/src/Views/ClearStashes.axaml.cs b/src/SourceGit/Views/ClearStashes.axaml.cs similarity index 100% rename from src/Views/ClearStashes.axaml.cs rename to src/SourceGit/Views/ClearStashes.axaml.cs diff --git a/src/Views/Clone.axaml b/src/SourceGit/Views/Clone.axaml similarity index 100% rename from src/Views/Clone.axaml rename to src/SourceGit/Views/Clone.axaml diff --git a/src/Views/Clone.axaml.cs b/src/SourceGit/Views/Clone.axaml.cs similarity index 100% rename from src/Views/Clone.axaml.cs rename to src/SourceGit/Views/Clone.axaml.cs diff --git a/src/Views/CommitBaseInfo.axaml b/src/SourceGit/Views/CommitBaseInfo.axaml similarity index 100% rename from src/Views/CommitBaseInfo.axaml rename to src/SourceGit/Views/CommitBaseInfo.axaml diff --git a/src/Views/CommitBaseInfo.axaml.cs b/src/SourceGit/Views/CommitBaseInfo.axaml.cs similarity index 100% rename from src/Views/CommitBaseInfo.axaml.cs rename to src/SourceGit/Views/CommitBaseInfo.axaml.cs diff --git a/src/Views/CommitChanges.axaml b/src/SourceGit/Views/CommitChanges.axaml similarity index 100% rename from src/Views/CommitChanges.axaml rename to src/SourceGit/Views/CommitChanges.axaml diff --git a/src/Views/CommitChanges.axaml.cs b/src/SourceGit/Views/CommitChanges.axaml.cs similarity index 100% rename from src/Views/CommitChanges.axaml.cs rename to src/SourceGit/Views/CommitChanges.axaml.cs diff --git a/src/Views/CommitDetail.axaml b/src/SourceGit/Views/CommitDetail.axaml similarity index 100% rename from src/Views/CommitDetail.axaml rename to src/SourceGit/Views/CommitDetail.axaml diff --git a/src/Views/CommitDetail.axaml.cs b/src/SourceGit/Views/CommitDetail.axaml.cs similarity index 100% rename from src/Views/CommitDetail.axaml.cs rename to src/SourceGit/Views/CommitDetail.axaml.cs diff --git a/src/Views/CreateBranch.axaml b/src/SourceGit/Views/CreateBranch.axaml similarity index 100% rename from src/Views/CreateBranch.axaml rename to src/SourceGit/Views/CreateBranch.axaml diff --git a/src/Views/CreateBranch.axaml.cs b/src/SourceGit/Views/CreateBranch.axaml.cs similarity index 100% rename from src/Views/CreateBranch.axaml.cs rename to src/SourceGit/Views/CreateBranch.axaml.cs diff --git a/src/Views/CreateGroup.axaml b/src/SourceGit/Views/CreateGroup.axaml similarity index 100% rename from src/Views/CreateGroup.axaml rename to src/SourceGit/Views/CreateGroup.axaml diff --git a/src/Views/CreateGroup.axaml.cs b/src/SourceGit/Views/CreateGroup.axaml.cs similarity index 100% rename from src/Views/CreateGroup.axaml.cs rename to src/SourceGit/Views/CreateGroup.axaml.cs diff --git a/src/Views/CreateTag.axaml b/src/SourceGit/Views/CreateTag.axaml similarity index 100% rename from src/Views/CreateTag.axaml rename to src/SourceGit/Views/CreateTag.axaml diff --git a/src/Views/CreateTag.axaml.cs b/src/SourceGit/Views/CreateTag.axaml.cs similarity index 100% rename from src/Views/CreateTag.axaml.cs rename to src/SourceGit/Views/CreateTag.axaml.cs diff --git a/src/Views/DeleteBranch.axaml b/src/SourceGit/Views/DeleteBranch.axaml similarity index 100% rename from src/Views/DeleteBranch.axaml rename to src/SourceGit/Views/DeleteBranch.axaml diff --git a/src/Views/DeleteBranch.axaml.cs b/src/SourceGit/Views/DeleteBranch.axaml.cs similarity index 100% rename from src/Views/DeleteBranch.axaml.cs rename to src/SourceGit/Views/DeleteBranch.axaml.cs diff --git a/src/Views/DeleteRemote.axaml b/src/SourceGit/Views/DeleteRemote.axaml similarity index 100% rename from src/Views/DeleteRemote.axaml rename to src/SourceGit/Views/DeleteRemote.axaml diff --git a/src/Views/DeleteRemote.axaml.cs b/src/SourceGit/Views/DeleteRemote.axaml.cs similarity index 100% rename from src/Views/DeleteRemote.axaml.cs rename to src/SourceGit/Views/DeleteRemote.axaml.cs diff --git a/src/Views/DeleteRepositoryNode.axaml b/src/SourceGit/Views/DeleteRepositoryNode.axaml similarity index 100% rename from src/Views/DeleteRepositoryNode.axaml rename to src/SourceGit/Views/DeleteRepositoryNode.axaml diff --git a/src/Views/DeleteRepositoryNode.axaml.cs b/src/SourceGit/Views/DeleteRepositoryNode.axaml.cs similarity index 100% rename from src/Views/DeleteRepositoryNode.axaml.cs rename to src/SourceGit/Views/DeleteRepositoryNode.axaml.cs diff --git a/src/Views/DeleteSubmodule.axaml b/src/SourceGit/Views/DeleteSubmodule.axaml similarity index 100% rename from src/Views/DeleteSubmodule.axaml rename to src/SourceGit/Views/DeleteSubmodule.axaml diff --git a/src/Views/DeleteSubmodule.axaml.cs b/src/SourceGit/Views/DeleteSubmodule.axaml.cs similarity index 100% rename from src/Views/DeleteSubmodule.axaml.cs rename to src/SourceGit/Views/DeleteSubmodule.axaml.cs diff --git a/src/Views/DeleteTag.axaml b/src/SourceGit/Views/DeleteTag.axaml similarity index 100% rename from src/Views/DeleteTag.axaml rename to src/SourceGit/Views/DeleteTag.axaml diff --git a/src/Views/DeleteTag.axaml.cs b/src/SourceGit/Views/DeleteTag.axaml.cs similarity index 100% rename from src/Views/DeleteTag.axaml.cs rename to src/SourceGit/Views/DeleteTag.axaml.cs diff --git a/src/Views/DiffView.axaml b/src/SourceGit/Views/DiffView.axaml similarity index 98% rename from src/Views/DiffView.axaml rename to src/SourceGit/Views/DiffView.axaml index 59e7b917..d08f80bd 100644 --- a/src/Views/DiffView.axaml +++ b/src/SourceGit/Views/DiffView.axaml @@ -1,123 +1,123 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Views/DiffView.axaml.cs b/src/SourceGit/Views/DiffView.axaml.cs similarity index 100% rename from src/Views/DiffView.axaml.cs rename to src/SourceGit/Views/DiffView.axaml.cs diff --git a/src/Views/Discard.axaml b/src/SourceGit/Views/Discard.axaml similarity index 100% rename from src/Views/Discard.axaml rename to src/SourceGit/Views/Discard.axaml diff --git a/src/Views/Discard.axaml.cs b/src/SourceGit/Views/Discard.axaml.cs similarity index 100% rename from src/Views/Discard.axaml.cs rename to src/SourceGit/Views/Discard.axaml.cs diff --git a/src/Views/DropStash.axaml b/src/SourceGit/Views/DropStash.axaml similarity index 100% rename from src/Views/DropStash.axaml rename to src/SourceGit/Views/DropStash.axaml diff --git a/src/Views/DropStash.axaml.cs b/src/SourceGit/Views/DropStash.axaml.cs similarity index 100% rename from src/Views/DropStash.axaml.cs rename to src/SourceGit/Views/DropStash.axaml.cs diff --git a/src/Views/EditRemote.axaml b/src/SourceGit/Views/EditRemote.axaml similarity index 100% rename from src/Views/EditRemote.axaml rename to src/SourceGit/Views/EditRemote.axaml diff --git a/src/Views/EditRemote.axaml.cs b/src/SourceGit/Views/EditRemote.axaml.cs similarity index 100% rename from src/Views/EditRemote.axaml.cs rename to src/SourceGit/Views/EditRemote.axaml.cs diff --git a/src/Views/EditRepositoryNode.axaml b/src/SourceGit/Views/EditRepositoryNode.axaml similarity index 100% rename from src/Views/EditRepositoryNode.axaml rename to src/SourceGit/Views/EditRepositoryNode.axaml diff --git a/src/Views/EditRepositoryNode.axaml.cs b/src/SourceGit/Views/EditRepositoryNode.axaml.cs similarity index 100% rename from src/Views/EditRepositoryNode.axaml.cs rename to src/SourceGit/Views/EditRepositoryNode.axaml.cs diff --git a/src/Views/FastForwardWithoutCheckout.axaml b/src/SourceGit/Views/FastForwardWithoutCheckout.axaml similarity index 100% rename from src/Views/FastForwardWithoutCheckout.axaml rename to src/SourceGit/Views/FastForwardWithoutCheckout.axaml diff --git a/src/Views/FastForwardWithoutCheckout.axaml.cs b/src/SourceGit/Views/FastForwardWithoutCheckout.axaml.cs similarity index 100% rename from src/Views/FastForwardWithoutCheckout.axaml.cs rename to src/SourceGit/Views/FastForwardWithoutCheckout.axaml.cs diff --git a/src/Views/Fetch.axaml b/src/SourceGit/Views/Fetch.axaml similarity index 100% rename from src/Views/Fetch.axaml rename to src/SourceGit/Views/Fetch.axaml diff --git a/src/Views/Fetch.axaml.cs b/src/SourceGit/Views/Fetch.axaml.cs similarity index 100% rename from src/Views/Fetch.axaml.cs rename to src/SourceGit/Views/Fetch.axaml.cs diff --git a/src/Views/FileHistories.axaml b/src/SourceGit/Views/FileHistories.axaml similarity index 100% rename from src/Views/FileHistories.axaml rename to src/SourceGit/Views/FileHistories.axaml diff --git a/src/Views/FileHistories.axaml.cs b/src/SourceGit/Views/FileHistories.axaml.cs similarity index 100% rename from src/Views/FileHistories.axaml.cs rename to src/SourceGit/Views/FileHistories.axaml.cs diff --git a/src/Views/GitFlowFinish.axaml b/src/SourceGit/Views/GitFlowFinish.axaml similarity index 100% rename from src/Views/GitFlowFinish.axaml rename to src/SourceGit/Views/GitFlowFinish.axaml diff --git a/src/Views/GitFlowFinish.axaml.cs b/src/SourceGit/Views/GitFlowFinish.axaml.cs similarity index 100% rename from src/Views/GitFlowFinish.axaml.cs rename to src/SourceGit/Views/GitFlowFinish.axaml.cs diff --git a/src/Views/GitFlowStart.axaml b/src/SourceGit/Views/GitFlowStart.axaml similarity index 100% rename from src/Views/GitFlowStart.axaml rename to src/SourceGit/Views/GitFlowStart.axaml diff --git a/src/Views/GitFlowStart.axaml.cs b/src/SourceGit/Views/GitFlowStart.axaml.cs similarity index 100% rename from src/Views/GitFlowStart.axaml.cs rename to src/SourceGit/Views/GitFlowStart.axaml.cs diff --git a/src/Views/Histories.axaml b/src/SourceGit/Views/Histories.axaml similarity index 100% rename from src/Views/Histories.axaml rename to src/SourceGit/Views/Histories.axaml diff --git a/src/Views/Histories.axaml.cs b/src/SourceGit/Views/Histories.axaml.cs similarity index 100% rename from src/Views/Histories.axaml.cs rename to src/SourceGit/Views/Histories.axaml.cs diff --git a/src/Views/Hotkeys.axaml b/src/SourceGit/Views/Hotkeys.axaml similarity index 100% rename from src/Views/Hotkeys.axaml rename to src/SourceGit/Views/Hotkeys.axaml diff --git a/src/Views/Hotkeys.axaml.cs b/src/SourceGit/Views/Hotkeys.axaml.cs similarity index 100% rename from src/Views/Hotkeys.axaml.cs rename to src/SourceGit/Views/Hotkeys.axaml.cs diff --git a/src/Views/Init.axaml b/src/SourceGit/Views/Init.axaml similarity index 100% rename from src/Views/Init.axaml rename to src/SourceGit/Views/Init.axaml diff --git a/src/Views/Init.axaml.cs b/src/SourceGit/Views/Init.axaml.cs similarity index 100% rename from src/Views/Init.axaml.cs rename to src/SourceGit/Views/Init.axaml.cs diff --git a/src/Views/InitGitFlow.axaml b/src/SourceGit/Views/InitGitFlow.axaml similarity index 100% rename from src/Views/InitGitFlow.axaml rename to src/SourceGit/Views/InitGitFlow.axaml diff --git a/src/Views/InitGitFlow.axaml.cs b/src/SourceGit/Views/InitGitFlow.axaml.cs similarity index 100% rename from src/Views/InitGitFlow.axaml.cs rename to src/SourceGit/Views/InitGitFlow.axaml.cs diff --git a/src/Views/Launcher.axaml b/src/SourceGit/Views/Launcher.axaml similarity index 100% rename from src/Views/Launcher.axaml rename to src/SourceGit/Views/Launcher.axaml diff --git a/src/Views/Launcher.axaml.cs b/src/SourceGit/Views/Launcher.axaml.cs similarity index 100% rename from src/Views/Launcher.axaml.cs rename to src/SourceGit/Views/Launcher.axaml.cs diff --git a/src/Views/Merge.axaml b/src/SourceGit/Views/Merge.axaml similarity index 100% rename from src/Views/Merge.axaml rename to src/SourceGit/Views/Merge.axaml diff --git a/src/Views/Merge.axaml.cs b/src/SourceGit/Views/Merge.axaml.cs similarity index 100% rename from src/Views/Merge.axaml.cs rename to src/SourceGit/Views/Merge.axaml.cs diff --git a/src/Views/NameHighlightedTextBlock.cs b/src/SourceGit/Views/NameHighlightedTextBlock.cs similarity index 100% rename from src/Views/NameHighlightedTextBlock.cs rename to src/SourceGit/Views/NameHighlightedTextBlock.cs diff --git a/src/Views/Preference.axaml b/src/SourceGit/Views/Preference.axaml similarity index 100% rename from src/Views/Preference.axaml rename to src/SourceGit/Views/Preference.axaml diff --git a/src/Views/Preference.axaml.cs b/src/SourceGit/Views/Preference.axaml.cs similarity index 100% rename from src/Views/Preference.axaml.cs rename to src/SourceGit/Views/Preference.axaml.cs diff --git a/src/Views/PruneRemote.axaml b/src/SourceGit/Views/PruneRemote.axaml similarity index 100% rename from src/Views/PruneRemote.axaml rename to src/SourceGit/Views/PruneRemote.axaml diff --git a/src/Views/PruneRemote.axaml.cs b/src/SourceGit/Views/PruneRemote.axaml.cs similarity index 100% rename from src/Views/PruneRemote.axaml.cs rename to src/SourceGit/Views/PruneRemote.axaml.cs diff --git a/src/Views/Pull.axaml b/src/SourceGit/Views/Pull.axaml similarity index 100% rename from src/Views/Pull.axaml rename to src/SourceGit/Views/Pull.axaml diff --git a/src/Views/Pull.axaml.cs b/src/SourceGit/Views/Pull.axaml.cs similarity index 100% rename from src/Views/Pull.axaml.cs rename to src/SourceGit/Views/Pull.axaml.cs diff --git a/src/Views/Push.axaml b/src/SourceGit/Views/Push.axaml similarity index 100% rename from src/Views/Push.axaml rename to src/SourceGit/Views/Push.axaml diff --git a/src/Views/Push.axaml.cs b/src/SourceGit/Views/Push.axaml.cs similarity index 100% rename from src/Views/Push.axaml.cs rename to src/SourceGit/Views/Push.axaml.cs diff --git a/src/Views/PushTag.axaml b/src/SourceGit/Views/PushTag.axaml similarity index 100% rename from src/Views/PushTag.axaml rename to src/SourceGit/Views/PushTag.axaml diff --git a/src/Views/PushTag.axaml.cs b/src/SourceGit/Views/PushTag.axaml.cs similarity index 100% rename from src/Views/PushTag.axaml.cs rename to src/SourceGit/Views/PushTag.axaml.cs diff --git a/src/Views/Rebase.axaml b/src/SourceGit/Views/Rebase.axaml similarity index 100% rename from src/Views/Rebase.axaml rename to src/SourceGit/Views/Rebase.axaml diff --git a/src/Views/Rebase.axaml.cs b/src/SourceGit/Views/Rebase.axaml.cs similarity index 100% rename from src/Views/Rebase.axaml.cs rename to src/SourceGit/Views/Rebase.axaml.cs diff --git a/src/Views/RenameBranch.axaml b/src/SourceGit/Views/RenameBranch.axaml similarity index 100% rename from src/Views/RenameBranch.axaml rename to src/SourceGit/Views/RenameBranch.axaml diff --git a/src/Views/RenameBranch.axaml.cs b/src/SourceGit/Views/RenameBranch.axaml.cs similarity index 100% rename from src/Views/RenameBranch.axaml.cs rename to src/SourceGit/Views/RenameBranch.axaml.cs diff --git a/src/Views/Repository.axaml b/src/SourceGit/Views/Repository.axaml similarity index 100% rename from src/Views/Repository.axaml rename to src/SourceGit/Views/Repository.axaml diff --git a/src/Views/Repository.axaml.cs b/src/SourceGit/Views/Repository.axaml.cs similarity index 100% rename from src/Views/Repository.axaml.cs rename to src/SourceGit/Views/Repository.axaml.cs diff --git a/src/Views/RepositoryConfigure.axaml b/src/SourceGit/Views/RepositoryConfigure.axaml similarity index 100% rename from src/Views/RepositoryConfigure.axaml rename to src/SourceGit/Views/RepositoryConfigure.axaml diff --git a/src/Views/RepositoryConfigure.axaml.cs b/src/SourceGit/Views/RepositoryConfigure.axaml.cs similarity index 100% rename from src/Views/RepositoryConfigure.axaml.cs rename to src/SourceGit/Views/RepositoryConfigure.axaml.cs diff --git a/src/Views/Reset.axaml b/src/SourceGit/Views/Reset.axaml similarity index 100% rename from src/Views/Reset.axaml rename to src/SourceGit/Views/Reset.axaml diff --git a/src/Views/Reset.axaml.cs b/src/SourceGit/Views/Reset.axaml.cs similarity index 100% rename from src/Views/Reset.axaml.cs rename to src/SourceGit/Views/Reset.axaml.cs diff --git a/src/Views/Revert.axaml b/src/SourceGit/Views/Revert.axaml similarity index 100% rename from src/Views/Revert.axaml rename to src/SourceGit/Views/Revert.axaml diff --git a/src/Views/Revert.axaml.cs b/src/SourceGit/Views/Revert.axaml.cs similarity index 100% rename from src/Views/Revert.axaml.cs rename to src/SourceGit/Views/Revert.axaml.cs diff --git a/src/Views/RevisionCompare.axaml b/src/SourceGit/Views/RevisionCompare.axaml similarity index 100% rename from src/Views/RevisionCompare.axaml rename to src/SourceGit/Views/RevisionCompare.axaml diff --git a/src/Views/RevisionCompare.axaml.cs b/src/SourceGit/Views/RevisionCompare.axaml.cs similarity index 100% rename from src/Views/RevisionCompare.axaml.cs rename to src/SourceGit/Views/RevisionCompare.axaml.cs diff --git a/src/Views/RevisionFiles.axaml b/src/SourceGit/Views/RevisionFiles.axaml similarity index 100% rename from src/Views/RevisionFiles.axaml rename to src/SourceGit/Views/RevisionFiles.axaml diff --git a/src/Views/RevisionFiles.axaml.cs b/src/SourceGit/Views/RevisionFiles.axaml.cs similarity index 100% rename from src/Views/RevisionFiles.axaml.cs rename to src/SourceGit/Views/RevisionFiles.axaml.cs diff --git a/src/Views/Reword.axaml b/src/SourceGit/Views/Reword.axaml similarity index 100% rename from src/Views/Reword.axaml rename to src/SourceGit/Views/Reword.axaml diff --git a/src/Views/Reword.axaml.cs b/src/SourceGit/Views/Reword.axaml.cs similarity index 100% rename from src/Views/Reword.axaml.cs rename to src/SourceGit/Views/Reword.axaml.cs diff --git a/src/Views/Squash.axaml b/src/SourceGit/Views/Squash.axaml similarity index 100% rename from src/Views/Squash.axaml rename to src/SourceGit/Views/Squash.axaml diff --git a/src/Views/Squash.axaml.cs b/src/SourceGit/Views/Squash.axaml.cs similarity index 100% rename from src/Views/Squash.axaml.cs rename to src/SourceGit/Views/Squash.axaml.cs diff --git a/src/Views/StashChanges.axaml b/src/SourceGit/Views/StashChanges.axaml similarity index 100% rename from src/Views/StashChanges.axaml rename to src/SourceGit/Views/StashChanges.axaml diff --git a/src/Views/StashChanges.axaml.cs b/src/SourceGit/Views/StashChanges.axaml.cs similarity index 100% rename from src/Views/StashChanges.axaml.cs rename to src/SourceGit/Views/StashChanges.axaml.cs diff --git a/src/Views/StashesPage.axaml b/src/SourceGit/Views/StashesPage.axaml similarity index 100% rename from src/Views/StashesPage.axaml rename to src/SourceGit/Views/StashesPage.axaml diff --git a/src/Views/StashesPage.axaml.cs b/src/SourceGit/Views/StashesPage.axaml.cs similarity index 100% rename from src/Views/StashesPage.axaml.cs rename to src/SourceGit/Views/StashesPage.axaml.cs diff --git a/src/Views/Statistics.axaml b/src/SourceGit/Views/Statistics.axaml similarity index 100% rename from src/Views/Statistics.axaml rename to src/SourceGit/Views/Statistics.axaml diff --git a/src/Views/Statistics.axaml.cs b/src/SourceGit/Views/Statistics.axaml.cs similarity index 100% rename from src/Views/Statistics.axaml.cs rename to src/SourceGit/Views/Statistics.axaml.cs diff --git a/src/Views/TextDiffView.axaml b/src/SourceGit/Views/TextDiffView.axaml similarity index 100% rename from src/Views/TextDiffView.axaml rename to src/SourceGit/Views/TextDiffView.axaml diff --git a/src/Views/TextDiffView.axaml.cs b/src/SourceGit/Views/TextDiffView.axaml.cs similarity index 100% rename from src/Views/TextDiffView.axaml.cs rename to src/SourceGit/Views/TextDiffView.axaml.cs diff --git a/src/Views/Welcome.axaml b/src/SourceGit/Views/Welcome.axaml similarity index 100% rename from src/Views/Welcome.axaml rename to src/SourceGit/Views/Welcome.axaml diff --git a/src/Views/Welcome.axaml.cs b/src/SourceGit/Views/Welcome.axaml.cs similarity index 100% rename from src/Views/Welcome.axaml.cs rename to src/SourceGit/Views/Welcome.axaml.cs diff --git a/src/Views/WorkingCopy.axaml b/src/SourceGit/Views/WorkingCopy.axaml similarity index 100% rename from src/Views/WorkingCopy.axaml rename to src/SourceGit/Views/WorkingCopy.axaml diff --git a/src/Views/WorkingCopy.axaml.cs b/src/SourceGit/Views/WorkingCopy.axaml.cs similarity index 100% rename from src/Views/WorkingCopy.axaml.cs rename to src/SourceGit/Views/WorkingCopy.axaml.cs From 340fe9e3babf5c5a40bf72b37ccbe2a29b27e79e Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 20 Mar 2024 18:27:48 +0800 Subject: [PATCH 0082/2652] enhance: leave the current state until we got the new diff result to reduce flickering --- src/SourceGit/Models/TextMateHelper.cs | 59 +++++++ src/SourceGit/ViewModels/CommitDetail.cs | 2 +- src/SourceGit/ViewModels/DiffContext.cs | 5 +- src/SourceGit/ViewModels/FileHistories.cs | 2 +- src/SourceGit/ViewModels/RevisionCompare.cs | 2 +- src/SourceGit/ViewModels/StashesPage.cs | 2 +- src/SourceGit/ViewModels/WorkingCopy.cs | 9 +- src/SourceGit/Views/Blame.axaml.cs | 76 +++------ src/SourceGit/Views/RevisionFiles.axaml.cs | 62 ++------ src/SourceGit/Views/TextDiffView.axaml.cs | 166 ++++++-------------- 10 files changed, 158 insertions(+), 227 deletions(-) create mode 100644 src/SourceGit/Models/TextMateHelper.cs diff --git a/src/SourceGit/Models/TextMateHelper.cs b/src/SourceGit/Models/TextMateHelper.cs new file mode 100644 index 00000000..d4f2c7aa --- /dev/null +++ b/src/SourceGit/Models/TextMateHelper.cs @@ -0,0 +1,59 @@ +using System.IO; + +using Avalonia.Styling; + +using AvaloniaEdit; +using AvaloniaEdit.TextMate; + +using TextMateSharp.Grammars; + +namespace SourceGit.Models +{ + public static class TextMateHelper + { + public static TextMate.Installation CreateForEditor(TextEditor editor) + { + if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) + { + return editor.InstallTextMate(new RegistryOptions(ThemeName.DarkPlus)); + } + else + { + return editor.InstallTextMate(new RegistryOptions(ThemeName.LightPlus)); + } + } + + public static void SetThemeByApp(TextMate.Installation installation) + { + if (installation == null) return; + + var reg = installation.RegistryOptions as RegistryOptions; + if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) + { + installation.SetTheme(reg.LoadTheme(ThemeName.DarkPlus)); + } + else + { + installation.SetTheme(reg.LoadTheme(ThemeName.LightPlus)); + } + } + + public static void SetGrammarByFileName(TextMate.Installation installation, string filePath) + { + if (installation == null) return; + + var ext = Path.GetExtension(filePath); + if (ext == ".h") + { + ext = ".cpp"; + } + else if (ext == ".resx") + { + ext = ".xml"; + } + + var reg = installation.RegistryOptions as RegistryOptions; + installation.SetGrammar(reg.GetScopeByExtension(ext)); + } + } +} diff --git a/src/SourceGit/ViewModels/CommitDetail.cs b/src/SourceGit/ViewModels/CommitDetail.cs index 38c63574..55e0d43b 100644 --- a/src/SourceGit/ViewModels/CommitDetail.cs +++ b/src/SourceGit/ViewModels/CommitDetail.cs @@ -67,7 +67,7 @@ namespace SourceGit.ViewModels else { SelectedChangeNode = FileTreeNode.SelectByPath(_changeTree, value.Path); - DiffContext = new DiffContext(_repo, new Models.DiffOption(_commit, value)); + DiffContext = new DiffContext(_repo, new Models.DiffOption(_commit, value), _diffContext); } } } diff --git a/src/SourceGit/ViewModels/DiffContext.cs b/src/SourceGit/ViewModels/DiffContext.cs index d3cf3a6b..5e474ff8 100644 --- a/src/SourceGit/ViewModels/DiffContext.cs +++ b/src/SourceGit/ViewModels/DiffContext.cs @@ -70,10 +70,11 @@ namespace SourceGit.ViewModels set => SetProperty(ref _syncScrollOffset, value); } - public DiffContext(string repo, Models.DiffOption option) + public DiffContext(string repo, Models.DiffOption option, DiffContext previous = null) { _repo = repo; _option = option; + _content = previous != null ? previous._content : null; OnPropertyChanged(nameof(FilePath)); OnPropertyChanged(nameof(IsOrgFilePathVisible)); @@ -101,7 +102,7 @@ namespace SourceGit.ViewModels } } - Dispatcher.UIThread.InvokeAsync(() => + Dispatcher.UIThread.Post(() => { if (latest.IsBinary) { diff --git a/src/SourceGit/ViewModels/FileHistories.cs b/src/SourceGit/ViewModels/FileHistories.cs index f2e84c7e..0b5653f5 100644 --- a/src/SourceGit/ViewModels/FileHistories.cs +++ b/src/SourceGit/ViewModels/FileHistories.cs @@ -39,7 +39,7 @@ namespace SourceGit.ViewModels } else { - DiffContext = new DiffContext(_repo, new Models.DiffOption(value, _file)); + DiffContext = new DiffContext(_repo, new Models.DiffOption(value, _file), _diffContext); } } } diff --git a/src/SourceGit/ViewModels/RevisionCompare.cs b/src/SourceGit/ViewModels/RevisionCompare.cs index 4fab38eb..585e9f48 100644 --- a/src/SourceGit/ViewModels/RevisionCompare.cs +++ b/src/SourceGit/ViewModels/RevisionCompare.cs @@ -51,7 +51,7 @@ namespace SourceGit.ViewModels else { SelectedNode = FileTreeNode.SelectByPath(_changeTree, value.Path); - DiffContext = new DiffContext(_repo, new Models.DiffOption(StartPoint.SHA, EndPoint.SHA, value)); + DiffContext = new DiffContext(_repo, new Models.DiffOption(StartPoint.SHA, EndPoint.SHA, value), _diffContext); } } } diff --git a/src/SourceGit/ViewModels/StashesPage.cs b/src/SourceGit/ViewModels/StashesPage.cs index a5fc75be..22a7262e 100644 --- a/src/SourceGit/ViewModels/StashesPage.cs +++ b/src/SourceGit/ViewModels/StashesPage.cs @@ -77,7 +77,7 @@ namespace SourceGit.ViewModels } else { - DiffContext = new DiffContext(_repo.FullPath, new Models.DiffOption($"{_selectedStash.SHA}^", _selectedStash.SHA, value)); + DiffContext = new DiffContext(_repo.FullPath, new Models.DiffOption($"{_selectedStash.SHA}^", _selectedStash.SHA, value), _diffContext); } } } diff --git a/src/SourceGit/ViewModels/WorkingCopy.cs b/src/SourceGit/ViewModels/WorkingCopy.cs index cacaab5a..737876ec 100644 --- a/src/SourceGit/ViewModels/WorkingCopy.cs +++ b/src/SourceGit/ViewModels/WorkingCopy.cs @@ -287,7 +287,14 @@ namespace SourceGit.ViewModels } else { - DetailContext = new DiffContext(_repo.FullPath, new Models.DiffOption(change, isUnstaged)); + if (_detailContext is DiffContext previous) + { + DetailContext = new DiffContext(_repo.FullPath, new Models.DiffOption(change, isUnstaged), previous); + } + else + { + DetailContext = new DiffContext(_repo.FullPath, new Models.DiffOption(change, isUnstaged)); + } } } diff --git a/src/SourceGit/Views/Blame.axaml.cs b/src/SourceGit/Views/Blame.axaml.cs index c98f6d9a..54592ed5 100644 --- a/src/SourceGit/Views/Blame.axaml.cs +++ b/src/SourceGit/Views/Blame.axaml.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Globalization; -using System.IO; using Avalonia; using Avalonia.Controls; @@ -9,7 +8,6 @@ using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Input; using Avalonia.Interactivity; using Avalonia.Media; -using Avalonia.Styling; using AvaloniaEdit; using AvaloniaEdit.Document; @@ -18,8 +16,6 @@ using AvaloniaEdit.Rendering; using AvaloniaEdit.TextMate; using AvaloniaEdit.Utils; -using TextMateSharp.Grammars; - namespace SourceGit.Views { public class BlameTextEditor : TextEditor @@ -214,6 +210,16 @@ namespace SourceGit.Views IsReadOnly = true; ShowLineNumbers = false; WordWrap = false; + + _textMate = Models.TextMateHelper.CreateForEditor(this); + + TextArea.LeftMargins.Add(new LineNumberMargin() { Margin = new Thickness(8, 0) }); + TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); + TextArea.LeftMargins.Add(new CommitInfoMargin(this) { Margin = new Thickness(8, 0) }); + TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); + TextArea.TextView.ContextRequested += OnTextViewContextRequested; + TextArea.TextView.VisualLinesChanged += OnTextViewVisualLinesChanged; + TextArea.TextView.Margin = new Thickness(4, 0); } public void OnCommitSHAClicked(string sha) @@ -224,31 +230,6 @@ namespace SourceGit.Views } } - protected override void OnLoaded(RoutedEventArgs e) - { - base.OnLoaded(e); - - TextArea.LeftMargins.Add(new LineNumberMargin() { Margin = new Thickness(8, 0) }); - TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); - TextArea.LeftMargins.Add(new CommitInfoMargin(this) { Margin = new Thickness(8, 0) }); - TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); - TextArea.TextView.ContextRequested += OnTextViewContextRequested; - TextArea.TextView.VisualLinesChanged += OnTextViewVisualLinesChanged; - TextArea.TextView.Margin = new Thickness(4, 0); - - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _registryOptions = new RegistryOptions(ThemeName.DarkPlus); - } - else - { - _registryOptions = new RegistryOptions(ThemeName.LightPlus); - } - - _textMate = this.InstallTextMate(_registryOptions); - UpdateGrammar(); - } - protected override void OnUnloaded(RoutedEventArgs e) { base.OnUnloaded(e); @@ -257,9 +238,11 @@ namespace SourceGit.Views TextArea.TextView.ContextRequested -= OnTextViewContextRequested; TextArea.TextView.VisualLinesChanged -= OnTextViewVisualLinesChanged; - _registryOptions = null; - _textMate.Dispose(); - _textMate = null; + if (_textMate != null) + { + _textMate.Dispose(); + _textMate = null; + } } protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) @@ -270,24 +253,17 @@ namespace SourceGit.Views { if (BlameData != null) { + Models.TextMateHelper.SetGrammarByFileName(_textMate, BlameData.File); Text = BlameData.Content; - UpdateGrammar(); } else { Text = string.Empty; } } - else if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null && _textMate != null) + else if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null) { - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.DarkPlus)); - } - else - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.LightPlus)); - } + Models.TextMateHelper.SetThemeByApp(_textMate); } } @@ -329,22 +305,6 @@ namespace SourceGit.Views } } - private void UpdateGrammar() - { - if (_textMate == null || BlameData == null) return; - - var ext = Path.GetExtension(BlameData.File); - if (ext == ".h") - { - _textMate.SetGrammar(_registryOptions.GetScopeByLanguageId("cpp")); - } - else - { - _textMate.SetGrammar(_registryOptions.GetScopeByExtension(ext)); - } - } - - private RegistryOptions _registryOptions = null; private TextMate.Installation _textMate = null; } diff --git a/src/SourceGit/Views/RevisionFiles.axaml.cs b/src/SourceGit/Views/RevisionFiles.axaml.cs index 1c458729..82748c5f 100644 --- a/src/SourceGit/Views/RevisionFiles.axaml.cs +++ b/src/SourceGit/Views/RevisionFiles.axaml.cs @@ -1,23 +1,18 @@ using System; -using System.IO; using Avalonia; using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; using Avalonia.Media; -using Avalonia.Styling; using AvaloniaEdit; using AvaloniaEdit.Document; using AvaloniaEdit.Editing; using AvaloniaEdit.TextMate; -using TextMateSharp.Grammars; - namespace SourceGit.Views { - public class RevisionTextFileView : TextEditor { protected override Type StyleKeyOverride => typeof(TextEditor); @@ -39,17 +34,12 @@ namespace SourceGit.Views base.OnLoaded(e); TextArea.TextView.ContextRequested += OnTextViewContextRequested; - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _registryOptions = new RegistryOptions(ThemeName.DarkPlus); - } - else - { - _registryOptions = new RegistryOptions(ThemeName.LightPlus); - } - _textMate = this.InstallTextMate(_registryOptions); - UpdateGrammar(); + _textMate = Models.TextMateHelper.CreateForEditor(this); + if (DataContext is Models.RevisionTextFile source) + { + Models.TextMateHelper.SetGrammarByFileName(_textMate, source.FileName); + } } protected override void OnUnloaded(RoutedEventArgs e) @@ -57,9 +47,13 @@ namespace SourceGit.Views base.OnUnloaded(e); TextArea.TextView.ContextRequested -= OnTextViewContextRequested; - _registryOptions = null; - _textMate.Dispose(); - _textMate = null; + + if (_textMate != null) + { + _textMate.Dispose(); + _textMate = null; + } + GC.Collect(); } @@ -70,7 +64,7 @@ namespace SourceGit.Views var source = DataContext as Models.RevisionTextFile; if (source != null) { - UpdateGrammar(); + Models.TextMateHelper.SetGrammarByFileName(_textMate, source.FileName); Text = source.Content; } } @@ -79,16 +73,9 @@ namespace SourceGit.Views { base.OnPropertyChanged(change); - if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null && _textMate != null) + if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null) { - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.DarkPlus)); - } - else - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.LightPlus)); - } + Models.TextMateHelper.SetThemeByApp(_textMate); } } @@ -118,25 +105,6 @@ namespace SourceGit.Views e.Handled = true; } - private void UpdateGrammar() - { - if (_textMate == null) return; - - var src = DataContext as Models.RevisionTextFile; - if (src == null) return; - - var ext = Path.GetExtension(src.FileName); - if (ext == ".h") - { - _textMate.SetGrammar(_registryOptions.GetScopeByLanguageId("cpp")); - } - else - { - _textMate.SetGrammar(_registryOptions.GetScopeByExtension(ext)); - } - } - - private RegistryOptions _registryOptions = null; private TextMate.Installation _textMate = null; } diff --git a/src/SourceGit/Views/TextDiffView.axaml.cs b/src/SourceGit/Views/TextDiffView.axaml.cs index 34002d84..420f6a59 100644 --- a/src/SourceGit/Views/TextDiffView.axaml.cs +++ b/src/SourceGit/Views/TextDiffView.axaml.cs @@ -9,7 +9,6 @@ using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; using Avalonia.Media; -using Avalonia.Styling; using Avalonia.VisualTree; using AvaloniaEdit; @@ -19,8 +18,6 @@ using AvaloniaEdit.Rendering; using AvaloniaEdit.TextMate; using AvaloniaEdit.Utils; -using TextMateSharp.Grammars; - namespace SourceGit.Views { public class CombinedTextDiffPresenter : TextEditor @@ -160,10 +157,9 @@ namespace SourceGit.Views private static readonly Brush HL_ADDED = new SolidColorBrush(Color.FromArgb(90, 0, 255, 0)); private static readonly Brush HL_DELETED = new SolidColorBrush(Color.FromArgb(80, 255, 0, 0)); - public LineStyleTransformer(CombinedTextDiffPresenter editor, IBrush indicatorFG) + public LineStyleTransformer(CombinedTextDiffPresenter editor) { _editor = editor; - _indicatorFG = indicatorFG; _indicatorTypeface = new Typeface("fonts:SourceGit#JetBrains Mono", FontStyle.Italic); } @@ -177,7 +173,7 @@ namespace SourceGit.Views { ChangeLinePart(line.Offset, line.EndOffset, v => { - v.TextRunProperties.SetForegroundBrush(_indicatorFG); + v.TextRunProperties.SetForegroundBrush(_editor.SecondaryFG); v.TextRunProperties.SetTypeface(_indicatorTypeface); }); @@ -198,7 +194,6 @@ namespace SourceGit.Views } private readonly CombinedTextDiffPresenter _editor; - private readonly IBrush _indicatorFG = Brushes.DarkGray; private readonly Typeface _indicatorTypeface = Typeface.Default; } @@ -233,14 +228,11 @@ namespace SourceGit.Views public CombinedTextDiffPresenter() : base(new TextArea(), new TextDocument()) { + _lineStyleTransformer = new LineStyleTransformer(this); + IsReadOnly = true; ShowLineNumbers = false; WordWrap = false; - } - - protected override void OnLoaded(RoutedEventArgs e) - { - base.OnLoaded(e); TextArea.LeftMargins.Add(new LineNumberMargin(this, true) { Margin = new Thickness(8, 0) }); TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); @@ -249,37 +241,34 @@ namespace SourceGit.Views TextArea.TextView.Margin = new Thickness(4, 0); TextArea.TextView.BackgroundRenderers.Add(new LineBackgroundRenderer(this)); + } + + protected override void OnLoaded(RoutedEventArgs e) + { + base.OnLoaded(e); + + _textMate = Models.TextMateHelper.CreateForEditor(this); + if (DiffData != null) Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); + + TextArea.TextView.LineTransformers.Add(_lineStyleTransformer); TextArea.TextView.ContextRequested += OnTextViewContextRequested; TextArea.TextView.ScrollOffsetChanged += OnTextViewScrollOffsetChanged; - - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _registryOptions = new RegistryOptions(ThemeName.DarkPlus); - } - else - { - _registryOptions = new RegistryOptions(ThemeName.LightPlus); - } - - _textMate = this.InstallTextMate(_registryOptions); - UpdateGrammar(); - - // This line must after InstallTextMate. - TextArea.TextView.LineTransformers.Add(new LineStyleTransformer(this, SecondaryFG)); } protected override void OnUnloaded(RoutedEventArgs e) { base.OnUnloaded(e); - TextArea.LeftMargins.Clear(); - TextArea.TextView.BackgroundRenderers.Clear(); - TextArea.TextView.LineTransformers.Clear(); + TextArea.TextView.LineTransformers.Remove(_lineStyleTransformer); TextArea.TextView.ContextRequested -= OnTextViewContextRequested; TextArea.TextView.ScrollOffsetChanged -= OnTextViewScrollOffsetChanged; - _registryOptions = null; - _textMate.Dispose(); - _textMate = null; + + if (_textMate != null) + { + _textMate.Dispose(); + _textMate = null; + } + GC.Collect(); } @@ -328,7 +317,7 @@ namespace SourceGit.Views builder.AppendLine(line.Content); } - UpdateGrammar(); + Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); Text = builder.ToString(); } else @@ -344,36 +333,14 @@ namespace SourceGit.Views scrollable.Offset = SyncScrollOffset; } } - else if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null && _textMate != null) + else if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null) { - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.DarkPlus)); - } - else - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.LightPlus)); - } + Models.TextMateHelper.SetThemeByApp(_textMate); } } - private void UpdateGrammar() - { - if (_textMate == null || DiffData == null) return; - - var ext = Path.GetExtension(DiffData.File); - if (ext == ".h") - { - _textMate.SetGrammar(_registryOptions.GetScopeByLanguageId("cpp")); - } - else - { - _textMate.SetGrammar(_registryOptions.GetScopeByExtension(ext)); - } - } - - private RegistryOptions _registryOptions; private TextMate.Installation _textMate; + private LineStyleTransformer _lineStyleTransformer = null; } public class SingleSideTextDiffPresenter : TextEditor @@ -513,10 +480,9 @@ namespace SourceGit.Views private static readonly Brush HL_ADDED = new SolidColorBrush(Color.FromArgb(90, 0, 255, 0)); private static readonly Brush HL_DELETED = new SolidColorBrush(Color.FromArgb(80, 255, 0, 0)); - public LineStyleTransformer(SingleSideTextDiffPresenter editor, IBrush indicatorFG) + public LineStyleTransformer(SingleSideTextDiffPresenter editor) { _editor = editor; - _indicatorFG = indicatorFG; _indicatorTypeface = new Typeface("fonts:SourceGit#JetBrains Mono", FontStyle.Italic); } @@ -531,7 +497,7 @@ namespace SourceGit.Views { ChangeLinePart(line.Offset, line.EndOffset, v => { - v.TextRunProperties.SetForegroundBrush(_indicatorFG); + v.TextRunProperties.SetForegroundBrush(_editor.SecondaryFG); v.TextRunProperties.SetTypeface(_indicatorTypeface); }); @@ -552,7 +518,6 @@ namespace SourceGit.Views } private readonly SingleSideTextDiffPresenter _editor; - private readonly IBrush _indicatorFG = Brushes.DarkGray; private readonly Typeface _indicatorTypeface = Typeface.Default; } @@ -596,9 +561,16 @@ namespace SourceGit.Views public SingleSideTextDiffPresenter() : base(new TextArea(), new TextDocument()) { + _lineStyleTransformer = new LineStyleTransformer(this); + IsReadOnly = true; ShowLineNumbers = false; WordWrap = false; + + TextArea.LeftMargins.Add(new LineNumberMargin(this) { Margin = new Thickness(8, 0) }); + TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); + TextArea.TextView.Margin = new Thickness(4, 0); + TextArea.TextView.BackgroundRenderers.Add(new LineBackgroundRenderer(this)); } protected override void OnLoaded(RoutedEventArgs e) @@ -612,26 +584,11 @@ namespace SourceGit.Views _scrollViewer.ScrollChanged += OnTextViewScrollChanged; } - TextArea.LeftMargins.Add(new LineNumberMargin(this) { Margin = new Thickness(8, 0) }); - TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this)); - TextArea.TextView.Margin = new Thickness(4, 0); - TextArea.TextView.BackgroundRenderers.Add(new LineBackgroundRenderer(this)); + _textMate = Models.TextMateHelper.CreateForEditor(this); + if (DiffData != null) Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); + + TextArea.TextView.LineTransformers.Add(_lineStyleTransformer); TextArea.TextView.ContextRequested += OnTextViewContextRequested; - - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _registryOptions = new RegistryOptions(ThemeName.DarkPlus); - } - else - { - _registryOptions = new RegistryOptions(ThemeName.LightPlus); - } - - _textMate = this.InstallTextMate(_registryOptions); - UpdateGrammar(); - - // This line must after InstallTextMate - TextArea.TextView.LineTransformers.Add(new LineStyleTransformer(this, SecondaryFG)); } protected override void OnUnloaded(RoutedEventArgs e) @@ -644,13 +601,15 @@ namespace SourceGit.Views _scrollViewer = null; } - TextArea.LeftMargins.Clear(); - TextArea.TextView.BackgroundRenderers.Clear(); - TextArea.TextView.LineTransformers.Clear(); + if (_textMate != null) + { + _textMate.Dispose(); + _textMate = null; + } + + TextArea.TextView.LineTransformers.Remove(_lineStyleTransformer); TextArea.TextView.ContextRequested -= OnTextViewContextRequested; - _registryOptions = null; - _textMate.Dispose(); - _textMate = null; + GC.Collect(); } @@ -716,7 +675,7 @@ namespace SourceGit.Views } } - UpdateGrammar(); + Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); Text = builder.ToString(); } else @@ -744,37 +703,14 @@ namespace SourceGit.Views } } } - else if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null && _textMate != null) + else if (change.Property.Name == "ActualThemeVariant" && change.NewValue != null) { - if (App.Current?.ActualThemeVariant == ThemeVariant.Dark) - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.DarkPlus)); - } - else - { - _textMate.SetTheme(_registryOptions.LoadTheme(ThemeName.LightPlus)); - } + Models.TextMateHelper.SetThemeByApp(_textMate); } } - private void UpdateGrammar() - { - if (_textMate == null || DiffData == null) return; - - var ext = Path.GetExtension(DiffData.File); - if (ext == ".h") - { - _textMate.SetGrammar(_registryOptions.GetScopeByLanguageId("cpp")); - } - else - { - _textMate.SetGrammar(_registryOptions.GetScopeByExtension(ext)); - } - } - - private RegistryOptions _registryOptions; private TextMate.Installation _textMate; - + private LineStyleTransformer _lineStyleTransformer = null; private ScrollViewer _scrollViewer = null; private bool _syncScrollingByOthers = false; } From 8fc25e312d697c61da7bc823e6fa68d53a018d87 Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 20 Mar 2024 19:49:01 +0800 Subject: [PATCH 0083/2652] optimize: collect garbage after SetGrammar to avoid memory leak --- src/SourceGit/Models/TextMateHelper.cs | 4 +++- src/SourceGit/Views/RevisionFiles.axaml.cs | 2 +- src/SourceGit/Views/TextDiffView.axaml.cs | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/SourceGit/Models/TextMateHelper.cs b/src/SourceGit/Models/TextMateHelper.cs index d4f2c7aa..270cb507 100644 --- a/src/SourceGit/Models/TextMateHelper.cs +++ b/src/SourceGit/Models/TextMateHelper.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using Avalonia.Styling; @@ -54,6 +55,7 @@ namespace SourceGit.Models var reg = installation.RegistryOptions as RegistryOptions; installation.SetGrammar(reg.GetScopeByExtension(ext)); + GC.Collect(); } } } diff --git a/src/SourceGit/Views/RevisionFiles.axaml.cs b/src/SourceGit/Views/RevisionFiles.axaml.cs index 82748c5f..80fcbc84 100644 --- a/src/SourceGit/Views/RevisionFiles.axaml.cs +++ b/src/SourceGit/Views/RevisionFiles.axaml.cs @@ -64,8 +64,8 @@ namespace SourceGit.Views var source = DataContext as Models.RevisionTextFile; if (source != null) { - Models.TextMateHelper.SetGrammarByFileName(_textMate, source.FileName); Text = source.Content; + Models.TextMateHelper.SetGrammarByFileName(_textMate, source.FileName); } } diff --git a/src/SourceGit/Views/TextDiffView.axaml.cs b/src/SourceGit/Views/TextDiffView.axaml.cs index 420f6a59..7e5e804a 100644 --- a/src/SourceGit/Views/TextDiffView.axaml.cs +++ b/src/SourceGit/Views/TextDiffView.axaml.cs @@ -317,8 +317,8 @@ namespace SourceGit.Views builder.AppendLine(line.Content); } - Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); Text = builder.ToString(); + Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); } else { @@ -675,8 +675,8 @@ namespace SourceGit.Views } } - Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); Text = builder.ToString(); + Models.TextMateHelper.SetGrammarByFileName(_textMate, DiffData.File); } else { From 635db8b3b361aec21e18457bc178d07e0f198e19 Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 20 Mar 2024 20:17:20 +0800 Subject: [PATCH 0084/2652] feature: allow user to control whether or not to enable syntax highlighting in DiffView. --- src/SourceGit/Resources/Icons.axaml | 1 + src/SourceGit/Resources/Locales.Designer.cs | 9 +++ src/SourceGit/Resources/Locales.en.resx | 3 + src/SourceGit/Resources/Locales.resx | 3 + src/SourceGit/Resources/Locales.zh.resx | 3 + src/SourceGit/ViewModels/Preference.cs | 7 ++ src/SourceGit/Views/DiffView.axaml | 13 ++- src/SourceGit/Views/TextDiffView.axaml | 5 +- src/SourceGit/Views/TextDiffView.axaml.cs | 90 +++++++++++++++++++-- 9 files changed, 123 insertions(+), 11 deletions(-) diff --git a/src/SourceGit/Resources/Icons.axaml b/src/SourceGit/Resources/Icons.axaml index 6aaef5f6..71e8ab02 100644 --- a/src/SourceGit/Resources/Icons.axaml +++ b/src/SourceGit/Resources/Icons.axaml @@ -85,4 +85,5 @@ M296 912H120c-4.4 0-8-3.6-8-8V520c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v384c0 4.4-3.6 8-8 8zM600 912H424c-4.4 0-8-3.6-8-8V121c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v783c0 4.4-3.6 8-8 8zM904 912H728c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v624c0 4.4-3.6 8-8 8z M512 0C229.216 0 0 229.216 0 512c0 282.752 229.216 512 512 512s512-229.248 512-512c0-282.784-229.216-512-512-512z m0 957.92C266.112 957.92 66.08 757.888 66.08 512S266.112 66.08 512 66.08 957.92 266.112 957.92 512 757.888 957.92 512 957.92zM192 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM384 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM576 416h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM832 320h-64a32 32 0 0 0-32 32v128h-160a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-192a32 32 0 0 0-32-32zM320 544v-32a32 32 0 0 0-32-32H192a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h96a32 32 0 0 0 32-32zM384 576h96a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32h-96a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32zM800 640H256a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32h544a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32z M875 117H149C109 117 75 151 75 192v640c0 41 34 75 75 75h725c41 0 75-34 75-75V192c0-41-34-75-75-75zM139 832V192c0-6 4-11 11-11h331v661H149c-6 0-11-4-11-11zm747 0c0 6-4 11-11 11H544v-661H875c6 0 11 4 11 11v640z + M875 128h-725A107 107 0 0043 235v555A107 107 0 00149 896h725a107 107 0 00107-107v-555A107 107 0 00875 128zm-115 640h-183v-58l25-3c15 0 19-8 14-24l-22-61H419l-28 82 39 2V768h-166v-58l18-3c18-2 22-11 26-24l125-363-40-4V256h168l160 448 39 3zM506 340l-72 218h145l-71-218h-2z diff --git a/src/SourceGit/Resources/Locales.Designer.cs b/src/SourceGit/Resources/Locales.Designer.cs index af8765f6..2efb66fd 100644 --- a/src/SourceGit/Resources/Locales.Designer.cs +++ b/src/SourceGit/Resources/Locales.Designer.cs @@ -1284,6 +1284,15 @@ namespace SourceGit.Resources { } } + /// + /// Looks up a localized string similar to Syntax Highlighting. + /// + public static string Text_Diff_SyntaxHighlight { + get { + return ResourceManager.GetString("Text.Diff.SyntaxHighlight", resourceCulture); + } + } + /// /// Looks up a localized string similar to Open With Merge Tool. /// diff --git a/src/SourceGit/Resources/Locales.en.resx b/src/SourceGit/Resources/Locales.en.resx index 0aa081eb..10b2942f 100644 --- a/src/SourceGit/Resources/Locales.en.resx +++ b/src/SourceGit/Resources/Locales.en.resx @@ -1287,4 +1287,7 @@ Cut + + Syntax Highlighting + \ No newline at end of file diff --git a/src/SourceGit/Resources/Locales.resx b/src/SourceGit/Resources/Locales.resx index 25e4a2d8..d327e8a4 100644 --- a/src/SourceGit/Resources/Locales.resx +++ b/src/SourceGit/Resources/Locales.resx @@ -1287,4 +1287,7 @@ Cut + + Syntax Highlighting + \ No newline at end of file diff --git a/src/SourceGit/Resources/Locales.zh.resx b/src/SourceGit/Resources/Locales.zh.resx index 96568f31..75cdd061 100644 --- a/src/SourceGit/Resources/Locales.zh.resx +++ b/src/SourceGit/Resources/Locales.zh.resx @@ -1287,4 +1287,7 @@ 剪切 + + 语法高亮 + \ No newline at end of file diff --git a/src/SourceGit/ViewModels/Preference.cs b/src/SourceGit/ViewModels/Preference.cs index fdb31713..3b6fb7db 100644 --- a/src/SourceGit/ViewModels/Preference.cs +++ b/src/SourceGit/ViewModels/Preference.cs @@ -114,6 +114,12 @@ namespace SourceGit.ViewModels set => SetProperty(ref _useSideBySideDiff, value); } + public bool UseSyntaxHighlighting + { + get => _useSyntaxHighlighting; + set => SetProperty(ref _useSyntaxHighlighting, value); + } + public Models.ChangeViewMode UnstagedChangeViewMode { get => _unstagedChangeViewMode; @@ -351,6 +357,7 @@ namespace SourceGit.ViewModels private bool _useFixedTabWidth = true; private bool _useTwoColumnsLayoutInHistories = false; private bool _useSideBySideDiff = false; + private bool _useSyntaxHighlighting = false; private Models.ChangeViewMode _unstagedChangeViewMode = Models.ChangeViewMode.List; private Models.ChangeViewMode _stagedChangeViewMode = Models.ChangeViewMode.List; diff --git a/src/SourceGit/Views/DiffView.axaml b/src/SourceGit/Views/DiffView.axaml index d08f80bd..c6b8956a 100644 --- a/src/SourceGit/Views/DiffView.axaml +++ b/src/SourceGit/Views/DiffView.axaml @@ -26,14 +26,23 @@ - + + + + + - + - - - - + + + + + From 0079cdd88e071150216ce34803fccb91ab1553ee Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 26 Mar 2024 11:30:22 +0800 Subject: [PATCH 0103/2652] style: change FontSize for MenuItem /template/ PART_InputGestureText --- src/SourceGit/Resources/Styles.axaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SourceGit/Resources/Styles.axaml b/src/SourceGit/Resources/Styles.axaml index 89e141b3..a1549a13 100644 --- a/src/SourceGit/Resources/Styles.axaml +++ b/src/SourceGit/Resources/Styles.axaml @@ -623,7 +623,8 @@ Text="{TemplateBinding InputGesture, Converter={StaticResource KeyGestureConverter}}" HorizontalAlignment="Right" VerticalAlignment="Center" - Foreground="{DynamicResource MenuFlyoutItemKeyboardAcceleratorTextForeground}"/> + Foreground="{DynamicResource MenuFlyoutItemKeyboardAcceleratorTextForeground}" + FontSize="11"/> Date: Tue, 26 Mar 2024 14:42:41 +0800 Subject: [PATCH 0104/2652] style: traits .plist file as normal xml --- src/SourceGit/Models/TextMateHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SourceGit/Models/TextMateHelper.cs b/src/SourceGit/Models/TextMateHelper.cs index 0fe97e52..2e93c383 100644 --- a/src/SourceGit/Models/TextMateHelper.cs +++ b/src/SourceGit/Models/TextMateHelper.cs @@ -48,7 +48,7 @@ namespace SourceGit.Models { ext = ".cpp"; } - else if (ext == ".resx") + else if (ext == ".resx" || ext == ".plist") { ext = ".xml"; } From e443e1657b40e2ebe7d6a5f5c92cde6840d06915 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 26 Mar 2024 15:18:34 +0800 Subject: [PATCH 0105/2652] style: increase all GridSplitter's size --- src/SourceGit/Views/CommitChanges.axaml | 8 ++++---- src/SourceGit/Views/FileHistories.axaml | 12 +++++++----- src/SourceGit/Views/Histories.axaml | 5 +++-- src/SourceGit/Views/Histories.axaml.cs | 4 ++++ src/SourceGit/Views/Repository.axaml | 13 ++++++++----- src/SourceGit/Views/RevisionCompare.axaml | 8 ++++---- src/SourceGit/Views/RevisionFiles.axaml | 8 ++++---- src/SourceGit/Views/StashesPage.axaml | 12 +++++++----- src/SourceGit/Views/WorkingCopy.axaml | 12 +++++++----- 9 files changed, 48 insertions(+), 34 deletions(-) diff --git a/src/SourceGit/Views/CommitChanges.axaml b/src/SourceGit/Views/CommitChanges.axaml index 48a0030c..3720590b 100644 --- a/src/SourceGit/Views/CommitChanges.axaml +++ b/src/SourceGit/Views/CommitChanges.axaml @@ -11,7 +11,7 @@ - + @@ -152,11 +152,11 @@ - + diff --git a/src/SourceGit/Views/FileHistories.axaml b/src/SourceGit/Views/FileHistories.axaml index 3613f665..37a4d69f 100644 --- a/src/SourceGit/Views/FileHistories.axaml +++ b/src/SourceGit/Views/FileHistories.axaml @@ -62,7 +62,7 @@ - + @@ -103,12 +103,14 @@ + MinWidth="1" + HorizontalAlignment="Stretch" VerticalAlignment="Stretch" + Background="Transparent" + BorderThickness="1,0,0,0" + BorderBrush="{DynamicResource Brush.Border2}"/> - + diff --git a/src/SourceGit/Views/Histories.axaml b/src/SourceGit/Views/Histories.axaml index 45e1b434..13fa7275 100644 --- a/src/SourceGit/Views/Histories.axaml +++ b/src/SourceGit/Views/Histories.axaml @@ -9,7 +9,7 @@ mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="SourceGit.Views.Histories" x:DataType="vm:Histories"> - + Background="{DynamicResource Brush.Window}" + BorderBrush="{DynamicResource Brush.Border0}"/> diff --git a/src/SourceGit/Views/Histories.axaml.cs b/src/SourceGit/Views/Histories.axaml.cs index 7e457006..5822f17a 100644 --- a/src/SourceGit/Views/Histories.axaml.cs +++ b/src/SourceGit/Views/Histories.axaml.cs @@ -44,6 +44,8 @@ namespace SourceGit.Views child.SetValue(RowSpanProperty, rowSpan); child.SetValue(ColumnProperty, i); child.SetValue(ColumnSpanProperty, 1); + + if (child is GridSplitter splitter) splitter.BorderThickness = new Thickness(1, 0, 0, 0); } } else @@ -56,6 +58,8 @@ namespace SourceGit.Views child.SetValue(RowSpanProperty, 1); child.SetValue(ColumnProperty, 0); child.SetValue(ColumnSpanProperty, colSpan); + + if (child is GridSplitter splitter) splitter.BorderThickness = new Thickness(0, 1, 0, 0); } } } diff --git a/src/SourceGit/Views/Repository.axaml b/src/SourceGit/Views/Repository.axaml index aa7b8612..9759ba00 100644 --- a/src/SourceGit/Views/Repository.axaml +++ b/src/SourceGit/Views/Repository.axaml @@ -95,7 +95,7 @@ - + @@ -440,11 +440,14 @@ Fill="{DynamicResource Brush.FG2}" IsVisible="{Binding SearchedCommits.Count, Converter={x:Static c:IntConverters.IsZero}}"/> - + + + MinWidth="1" + HorizontalAlignment="Stretch" VerticalAlignment="Stretch" + Background="Transparent" + BorderThickness="0,0,1,0" + BorderBrush="{DynamicResource Brush.Border0}"/> diff --git a/src/SourceGit/Views/RevisionCompare.axaml b/src/SourceGit/Views/RevisionCompare.axaml index 83e0f776..ae81316a 100644 --- a/src/SourceGit/Views/RevisionCompare.axaml +++ b/src/SourceGit/Views/RevisionCompare.axaml @@ -50,7 +50,7 @@ - + @@ -191,11 +191,11 @@ - + diff --git a/src/SourceGit/Views/RevisionFiles.axaml b/src/SourceGit/Views/RevisionFiles.axaml index dd1a9826..a58bacc1 100644 --- a/src/SourceGit/Views/RevisionFiles.axaml +++ b/src/SourceGit/Views/RevisionFiles.axaml @@ -13,7 +13,7 @@ - + @@ -67,12 +67,12 @@ - + diff --git a/src/SourceGit/Views/StashesPage.axaml b/src/SourceGit/Views/StashesPage.axaml index 12d0f985..29b34b13 100644 --- a/src/SourceGit/Views/StashesPage.axaml +++ b/src/SourceGit/Views/StashesPage.axaml @@ -12,7 +12,7 @@ - + @@ -122,12 +122,14 @@ + MinWidth=".5" + HorizontalAlignment="Stretch" VerticalAlignment="Stretch" + Background="Transparent" + BorderThickness="1,0,0,0" + BorderBrush="{DynamicResource Brush.Border0}"/> - + diff --git a/src/SourceGit/Views/WorkingCopy.axaml b/src/SourceGit/Views/WorkingCopy.axaml index fdb76903..7d7c2ed2 100644 --- a/src/SourceGit/Views/WorkingCopy.axaml +++ b/src/SourceGit/Views/WorkingCopy.axaml @@ -12,7 +12,7 @@ - + @@ -292,12 +292,14 @@ + MinWidth="1" + HorizontalAlignment="Stretch" VerticalAlignment="Stretch" + Background="Transparent" + BorderThickness="1,0,0,0" + BorderBrush="{DynamicResource Brush.Border0}"/> - + From 6d2e10cec20f344cefb2dedd9318c898b1301dcb Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 26 Mar 2024 15:56:38 +0800 Subject: [PATCH 0106/2652] feature: embed commit detail page in file histories --- src/SourceGit/ViewModels/FileHistories.cs | 16 ++++++++----- src/SourceGit/Views/FileHistories.axaml | 28 +++++++++++++++++++--- src/SourceGit/Views/FileHistories.axaml.cs | 11 --------- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/SourceGit/ViewModels/FileHistories.cs b/src/SourceGit/ViewModels/FileHistories.cs index 0b5653f5..c9cfe3fb 100644 --- a/src/SourceGit/ViewModels/FileHistories.cs +++ b/src/SourceGit/ViewModels/FileHistories.cs @@ -36,10 +36,12 @@ namespace SourceGit.ViewModels if (value == null) { DiffContext = null; + DetailContext.Commit = null; } else { DiffContext = new DiffContext(_repo, new Models.DiffOption(value, _file), _diffContext); + DetailContext.Commit = value; } } } @@ -51,10 +53,17 @@ namespace SourceGit.ViewModels set => SetProperty(ref _diffContext, value); } + public CommitDetail DetailContext + { + get => _detailContext; + set => SetProperty(ref _detailContext, value); + } + public FileHistories(string repo, string file) { _repo = repo; _file = file; + _detailContext = new CommitDetail(repo); Task.Run(() => { @@ -68,17 +77,12 @@ namespace SourceGit.ViewModels }); } - public void NavigateToCommit(string commitSHA) - { - var repo = Preference.FindRepository(_repo); - if (repo != null) repo.NavigateToCommit(commitSHA); - } - private readonly string _repo = string.Empty; private readonly string _file = string.Empty; private bool _isLoading = true; private List _commits = null; private Models.Commit _selectedCommit = null; private DiffContext _diffContext = null; + private CommitDetail _detailContext = null; } } \ No newline at end of file diff --git a/src/SourceGit/Views/FileHistories.axaml b/src/SourceGit/Views/FileHistories.axaml index 37a4d69f..72d581e3 100644 --- a/src/SourceGit/Views/FileHistories.axaml +++ b/src/SourceGit/Views/FileHistories.axaml @@ -89,7 +89,7 @@ - + @@ -109,14 +109,36 @@ BorderThickness="1,0,0,0" BorderBrush="{DynamicResource Brush.Border2}"/> - - + + + + + + + + + + + + + + + + + + diff --git a/src/SourceGit/Views/FileHistories.axaml.cs b/src/SourceGit/Views/FileHistories.axaml.cs index 7e7278f7..ab9d13cb 100644 --- a/src/SourceGit/Views/FileHistories.axaml.cs +++ b/src/SourceGit/Views/FileHistories.axaml.cs @@ -38,16 +38,5 @@ namespace SourceGit.Views { BeginMoveDrag(e); } - - private void OnPressedSHA(object sender, PointerPressedEventArgs e) - { - if (sender is TextBlock block) - { - var histories = DataContext as ViewModels.FileHistories; - histories.NavigateToCommit(block.Text); - } - - e.Handled = true; - } } } \ No newline at end of file From 391b01720092c712dd18db5f5dba06ed92a9e901 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 26 Mar 2024 16:03:41 +0800 Subject: [PATCH 0107/2652] style: remove file name in FileHistories's title bar --- src/SourceGit/ViewModels/FileHistories.cs | 5 ----- src/SourceGit/Views/FileHistories.axaml | 7 ++----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/SourceGit/ViewModels/FileHistories.cs b/src/SourceGit/ViewModels/FileHistories.cs index c9cfe3fb..0b36e9ee 100644 --- a/src/SourceGit/ViewModels/FileHistories.cs +++ b/src/SourceGit/ViewModels/FileHistories.cs @@ -9,11 +9,6 @@ namespace SourceGit.ViewModels { public class FileHistories : ObservableObject { - public string File - { - get => _file; - } - public bool IsLoading { get => _isLoading; diff --git a/src/SourceGit/Views/FileHistories.axaml b/src/SourceGit/Views/FileHistories.axaml index 72d581e3..a787a71b 100644 --- a/src/SourceGit/Views/FileHistories.axaml +++ b/src/SourceGit/Views/FileHistories.axaml @@ -30,7 +30,7 @@ IsVisible="{OnPlatform False, Linux=True}"/> - + - - - - + From 86a1148148b6a06cada12b38722bacdbb6fe4a0a Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 26 Mar 2024 16:58:12 +0800 Subject: [PATCH 0108/2652] style: text alignment in Hotkeys --- src/SourceGit/Views/Hotkeys.axaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SourceGit/Views/Hotkeys.axaml b/src/SourceGit/Views/Hotkeys.axaml index 861cedc4..0a597601 100644 --- a/src/SourceGit/Views/Hotkeys.axaml +++ b/src/SourceGit/Views/Hotkeys.axaml @@ -67,7 +67,7 @@ FontSize="{Binding Source={x:Static vm:Preference.Instance}, Path=DefaultFontSize, Converter={x:Static c:FontSizeModifyConverters.Increase}}" Margin="0,0,0,8"/> - + @@ -87,7 +87,7 @@ FontSize="{Binding Source={x:Static vm:Preference.Instance}, Path=DefaultFontSize, Converter={x:Static c:FontSizeModifyConverters.Increase}}" Margin="0,8"/> - + @@ -110,7 +110,7 @@ FontSize="{Binding Source={x:Static vm:Preference.Instance}, Path=DefaultFontSize, Converter={x:Static c:FontSizeModifyConverters.Increase}}" Margin="0,8"/> - + From 92e065feba42f865c4915c7016400c4c145d623d Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 26 Mar 2024 22:11:06 +0800 Subject: [PATCH 0109/2652] feature: simple self-update implementation (#29) --- src/SourceGit/App.JsonCodeGen.cs | 9 ++ src/SourceGit/App.axaml.cs | 62 ++++++++ src/SourceGit/Models/Version.cs | 37 +++++ src/SourceGit/Resources/Icons.axaml | 1 + src/SourceGit/Resources/Locales.Designer.cs | 72 +++++++++ src/SourceGit/Resources/Locales.en.resx | 24 +++ src/SourceGit/Resources/Locales.resx | 24 +++ src/SourceGit/Resources/Locales.zh.resx | 24 +++ src/SourceGit/ViewModels/Preference.cs | 21 ++- src/SourceGit/ViewModels/SelfUpdate.cs | 15 ++ src/SourceGit/Views/Launcher.axaml | 7 + src/SourceGit/Views/Launcher.axaml.cs | 6 + src/SourceGit/Views/Preference.axaml | 7 +- src/SourceGit/Views/SelfUpdate.axaml | 153 ++++++++++++++++++++ src/SourceGit/Views/SelfUpdate.axaml.cs | 39 +++++ 15 files changed, 494 insertions(+), 7 deletions(-) create mode 100644 src/SourceGit/App.JsonCodeGen.cs create mode 100644 src/SourceGit/Models/Version.cs create mode 100644 src/SourceGit/ViewModels/SelfUpdate.cs create mode 100644 src/SourceGit/Views/SelfUpdate.axaml create mode 100644 src/SourceGit/Views/SelfUpdate.axaml.cs diff --git a/src/SourceGit/App.JsonCodeGen.cs b/src/SourceGit/App.JsonCodeGen.cs new file mode 100644 index 00000000..af73a68e --- /dev/null +++ b/src/SourceGit/App.JsonCodeGen.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace SourceGit +{ + [JsonSourceGenerationOptions(WriteIndented = true, IgnoreReadOnlyFields = true, IgnoreReadOnlyProperties = true)] + [JsonSerializable(typeof(Models.Version))] + [JsonSerializable(typeof(ViewModels.Preference))] + internal partial class JsonCodeGen : JsonSerializerContext { } +} diff --git a/src/SourceGit/App.axaml.cs b/src/SourceGit/App.axaml.cs index f0e2dac7..6780fd2e 100644 --- a/src/SourceGit/App.axaml.cs +++ b/src/SourceGit/App.axaml.cs @@ -2,8 +2,11 @@ using System; using System.Collections; using System.Globalization; using System.IO; +using System.Net.Http; using System.Reflection; using System.Text; +using System.Text.Json; +using System.Threading.Tasks; using Avalonia; using Avalonia.Controls; @@ -13,6 +16,7 @@ using Avalonia.Markup.Xaml; using Avalonia.Media; using Avalonia.Media.Fonts; using Avalonia.Styling; +using Avalonia.Threading; namespace SourceGit { @@ -162,6 +166,43 @@ namespace SourceGit return null; } + public static void Check4Update(bool manually = false) + { + Task.Run(async () => + { + try + { + // Fetch lastest release information. + var client = new HttpClient() { Timeout = TimeSpan.FromSeconds(2) }; + var data = await client.GetStringAsync("https://api.github.com/repos/sourcegit-scm/sourcegit/releases/latest"); + + // Parse json into Models.Version. + var ver = JsonSerializer.Deserialize(data, JsonCodeGen.Default.Version); + if (ver == null) return; + + // Check if already up-to-date. + if (!ver.IsNewVersion) + { + if (manually) ShowSelfUpdateResult(new Models.AlreadyUpToDate()); + return; + } + + // Should not check ignored tag if this is called manually. + if (!manually) + { + var pref = ViewModels.Preference.Instance; + if (ver.TagName == pref.IgnoreUpdateTag) return; + } + + ShowSelfUpdateResult(ver); + } + catch (Exception e) + { + if (manually) ShowSelfUpdateResult(e); + } + }); + } + public static void Quit() { if (Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) @@ -190,11 +231,32 @@ namespace SourceGit var launcher = new Views.Launcher(); _notificationReceiver = launcher; desktop.MainWindow = launcher; + + if (ViewModels.Preference.Instance.Check4UpdatesOnStartup) Check4Update(); } base.OnFrameworkInitializationCompleted(); } + private static void ShowSelfUpdateResult(object data) + { + Dispatcher.UIThread.Post(() => + { + if (Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + var dialog = new Views.SelfUpdate() + { + DataContext = new ViewModels.SelfUpdate + { + Data = data + } + }; + + dialog.Show(desktop.MainWindow); + } + }); + } + private ResourceDictionary _activeLocale = null; private Models.INotificationReceiver _notificationReceiver = null; } diff --git a/src/SourceGit/Models/Version.cs b/src/SourceGit/Models/Version.cs new file mode 100644 index 00000000..301de02a --- /dev/null +++ b/src/SourceGit/Models/Version.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Text.Json.Serialization; +using System.Text.RegularExpressions; + +namespace SourceGit.Models +{ + public partial class Version + { + [JsonPropertyName("name")] + public string Name { get; set; } + + [JsonPropertyName("tag_name")] + public string TagName { get; set; } + + [JsonPropertyName("body")] + public string Body { get; set; } + + [GeneratedRegex(@"^v(\d+)\.(\d+)$")] + private static partial Regex REG_VERSION_TAG(); + + public bool IsNewVersion + { + get + { + var match = REG_VERSION_TAG().Match(TagName); + if (!match.Success) return false; + + var major = int.Parse(match.Groups[1].Value); + var minor = int.Parse(match.Groups[2].Value); + var ver = Assembly.GetExecutingAssembly().GetName().Version; + return ver.Major < major || (ver.Major == major && ver.Minor < minor); + } + } + } + + public class AlreadyUpToDate { } +} diff --git a/src/SourceGit/Resources/Icons.axaml b/src/SourceGit/Resources/Icons.axaml index b84385d5..6b2c3217 100644 --- a/src/SourceGit/Resources/Icons.axaml +++ b/src/SourceGit/Resources/Icons.axaml @@ -86,4 +86,5 @@ M875 117H149C109 117 75 151 75 192v640c0 41 34 75 75 75h725c41 0 75-34 75-75V192c0-41-34-75-75-75zM139 832V192c0-6 4-11 11-11h331v661H149c-6 0-11-4-11-11zm747 0c0 6-4 11-11 11H544v-661H875c6 0 11 4 11 11v640z M875 117H149C109 117 75 151 75 192v640c0 41 34 75 75 75h725c41 0 75-34 75-75V192c0-41-34-75-75-75zm-725 64h725c6 0 11 4 11 11v288h-747V192c0-6 4-11 11-11zm725 661H149c-6 0-11-4-11-11V544h747V832c0 6-4 11-11 11z M875 128h-725A107 107 0 0043 235v555A107 107 0 00149 896h725a107 107 0 00107-107v-555A107 107 0 00875 128zm-115 640h-183v-58l25-3c15 0 19-8 14-24l-22-61H419l-28 82 39 2V768h-166v-58l18-3c18-2 22-11 26-24l125-363-40-4V256h168l160 448 39 3zM506 340l-72 218h145l-71-218h-2z + M900 287c40 69 60 144 60 225s-20 156-60 225c-40 69-94 123-163 163-69 40-144 60-225 60s-156-20-225-60c-69-40-123-94-163-163C84 668 64 593 64 512s20-156 60-225 94-123 163-163c69-40 144-60 225-60s156 20 225 60 123 94 163 163zM762 512c0-9-3-16-9-22L578 315l-44-44c-6-6-13-9-22-9s-16 3-22 9l-44 44-176 176c-6 6-9 13-9 22s3 16 9 22l44 44c6 6 13 9 22 9s16-3 22-9l92-92v269c0 9 3 16 9 22 6 6 13 9 22 9h62c8 0 16-3 22-9 6-6 9-13 9-22V486l92 92c6 6 13 9 22 9 8 0 16-3 22-9l44-44c6-6 9-13 9-22z diff --git a/src/SourceGit/Resources/Locales.Designer.cs b/src/SourceGit/Resources/Locales.Designer.cs index 09bcd24a..ba492504 100644 --- a/src/SourceGit/Resources/Locales.Designer.cs +++ b/src/SourceGit/Resources/Locales.Designer.cs @@ -2301,6 +2301,15 @@ namespace SourceGit.Resources { } } + /// + /// Looks up a localized string similar to Check for updates on startup. + /// + public static string Text_Preference_General_Check4UpdatesOnStartup { + get { + return ResourceManager.GetString("Text.Preference.General.Check4UpdatesOnStartup", resourceCulture); + } + } + /// /// Looks up a localized string similar to Language. /// @@ -3255,6 +3264,69 @@ namespace SourceGit.Resources { } } + /// + /// Looks up a localized string similar to Check for Updates .... + /// + public static string Text_SelfUpdate { + get { + return ResourceManager.GetString("Text.SelfUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New version of this software is available: . + /// + public static string Text_SelfUpdate_Available { + get { + return ResourceManager.GetString("Text.SelfUpdate.Available", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Check for updates failed!. + /// + public static string Text_SelfUpdate_Error { + get { + return ResourceManager.GetString("Text.SelfUpdate.Error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download. + /// + public static string Text_SelfUpdate_GotoDownload { + get { + return ResourceManager.GetString("Text.SelfUpdate.GotoDownload", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skip This Version. + /// + public static string Text_SelfUpdate_IgnoreThisVersion { + get { + return ResourceManager.GetString("Text.SelfUpdate.IgnoreThisVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Software Update. + /// + public static string Text_SelfUpdate_Title { + get { + return ResourceManager.GetString("Text.SelfUpdate.Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There are currently no updates available.. + /// + public static string Text_SelfUpdate_UpToDate { + get { + return ResourceManager.GetString("Text.SelfUpdate.UpToDate", resourceCulture); + } + } + /// /// Looks up a localized string similar to Squash HEAD Into Parent. /// diff --git a/src/SourceGit/Resources/Locales.en.resx b/src/SourceGit/Resources/Locales.en.resx index a41f7d8e..2f9e7bdd 100644 --- a/src/SourceGit/Resources/Locales.en.resx +++ b/src/SourceGit/Resources/Locales.en.resx @@ -1302,4 +1302,28 @@ APPEARANCE + + Software Update + + + Check for updates failed! + + + New version of this software is available: + + + Download + + + Skip This Version + + + Check for Updates ... + + + There are currently no updates available. + + + Check for updates on startup + \ No newline at end of file diff --git a/src/SourceGit/Resources/Locales.resx b/src/SourceGit/Resources/Locales.resx index 0d73ab60..8e06cd4d 100644 --- a/src/SourceGit/Resources/Locales.resx +++ b/src/SourceGit/Resources/Locales.resx @@ -1302,4 +1302,28 @@ Appearance + + Software Update + + + Check for updates failed! + + + New version of this software is available: + + + Download + + + Skip This Version + + + Check for Updates ... + + + There are currently no updates available. + + + Check for updates on startup + \ No newline at end of file diff --git a/src/SourceGit/Resources/Locales.zh.resx b/src/SourceGit/Resources/Locales.zh.resx index 58441466..5371c768 100644 --- a/src/SourceGit/Resources/Locales.zh.resx +++ b/src/SourceGit/Resources/Locales.zh.resx @@ -1302,4 +1302,28 @@ 外观配置 + + 软件更新 + + + 获取最新版本信息失败! + + + 检测到软件有版本更新: + + + 下 载 + + + 忽略此版本 + + + 检测更新... + + + 当前已是最新版本。 + + + 启动时检测软件更新 + \ No newline at end of file diff --git a/src/SourceGit/ViewModels/Preference.cs b/src/SourceGit/ViewModels/Preference.cs index 9e769dd8..c1ed4ef5 100644 --- a/src/SourceGit/ViewModels/Preference.cs +++ b/src/SourceGit/ViewModels/Preference.cs @@ -28,7 +28,7 @@ namespace SourceGit.ViewModels { try { - _instance = JsonSerializer.Deserialize(File.ReadAllText(_savePath), JsonSerializationCodeGen.Default.Preference); + _instance = JsonSerializer.Deserialize(File.ReadAllText(_savePath), JsonCodeGen.Default.Preference); } catch { @@ -133,6 +133,18 @@ namespace SourceGit.ViewModels set => SetProperty(ref _useFixedTabWidth, value); } + public bool Check4UpdatesOnStartup + { + get => _check4UpdatesOnStartup; + set => SetProperty(ref _check4UpdatesOnStartup, value); + } + + public string IgnoreUpdateTag + { + get; + set; + } = string.Empty; + public bool UseTwoColumnsLayoutInHistories { get => _useTwoColumnsLayoutInHistories; @@ -342,7 +354,7 @@ namespace SourceGit.ViewModels var dir = Path.GetDirectoryName(_savePath); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); - var data = JsonSerializer.Serialize(_instance, JsonSerializationCodeGen.Default.Preference); + var data = JsonSerializer.Serialize(_instance, JsonCodeGen.Default.Preference); File.WriteAllText(_savePath, data); } @@ -390,6 +402,7 @@ namespace SourceGit.ViewModels private int _maxHistoryCommits = 20000; private bool _restoreTabs = false; private bool _useFixedTabWidth = true; + private bool _check4UpdatesOnStartup = true; private bool _useTwoColumnsLayoutInHistories = false; private bool _useSideBySideDiff = false; private bool _useSyntaxHighlighting = false; @@ -421,8 +434,4 @@ namespace SourceGit.ViewModels writer.WriteStringValue(value.ToString()); } } - - [JsonSourceGenerationOptions(WriteIndented = true, IgnoreReadOnlyFields = true, IgnoreReadOnlyProperties = true)] - [JsonSerializable(typeof(Preference))] - internal partial class JsonSerializationCodeGen : JsonSerializerContext { } } \ No newline at end of file diff --git a/src/SourceGit/ViewModels/SelfUpdate.cs b/src/SourceGit/ViewModels/SelfUpdate.cs new file mode 100644 index 00000000..3b471576 --- /dev/null +++ b/src/SourceGit/ViewModels/SelfUpdate.cs @@ -0,0 +1,15 @@ +using CommunityToolkit.Mvvm.ComponentModel; + +namespace SourceGit.ViewModels +{ + public class SelfUpdate : ObservableObject + { + public object Data + { + get => _data; + set => SetProperty(ref _data, value); + } + + private object _data = null; + } +} diff --git a/src/SourceGit/Views/Launcher.axaml b/src/SourceGit/Views/Launcher.axaml index 1e83a651..6a583c7d 100644 --- a/src/SourceGit/Views/Launcher.axaml +++ b/src/SourceGit/Views/Launcher.axaml @@ -65,6 +65,13 @@ + + + + + + + diff --git a/src/SourceGit/Views/Launcher.axaml.cs b/src/SourceGit/Views/Launcher.axaml.cs index 959f0061..57c5e282 100644 --- a/src/SourceGit/Views/Launcher.axaml.cs +++ b/src/SourceGit/Views/Launcher.axaml.cs @@ -317,6 +317,12 @@ namespace SourceGit.Views e.Handled = true; } + private void Check4Update(object sender, RoutedEventArgs e) + { + App.Check4Update(true); + e.Handled = true; + } + private async void OpenAboutDialog(object sender, RoutedEventArgs e) { var dialog = new About(); diff --git a/src/SourceGit/Views/Preference.axaml b/src/SourceGit/Views/Preference.axaml index 9625d027..24d10e8d 100644 --- a/src/SourceGit/Views/Preference.axaml +++ b/src/SourceGit/Views/Preference.axaml @@ -67,7 +67,7 @@ - + + + diff --git a/src/SourceGit/Views/SelfUpdate.axaml b/src/SourceGit/Views/SelfUpdate.axaml new file mode 100644 index 00000000..f29da5b5 --- /dev/null +++ b/src/SourceGit/Views/SelfUpdate.axaml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + diff --git a/src/SourceGit/Views/Repository.axaml.cs b/src/SourceGit/Views/Repository.axaml.cs index a5b33da7..ba0f271a 100644 --- a/src/SourceGit/Views/Repository.axaml.cs +++ b/src/SourceGit/Views/Repository.axaml.cs @@ -291,5 +291,14 @@ namespace SourceGit.Views e.Handled = true; } } + + private void OpenInVSCode(object sender, RoutedEventArgs e) + { + (DataContext as ViewModels.Repository).OpenInVSCode(); + } + private void OpenInFleet(object sender, RoutedEventArgs e) + { + (DataContext as ViewModels.Repository).OpenInFleet(); + } } } \ No newline at end of file From 370b9bd31e0ece80ac9dfb99564984fb81d48158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enner=20Pe=CC=81rez?= Date: Thu, 28 Mar 2024 01:58:55 -0500 Subject: [PATCH 0119/2652] MacOS Update --- src/SourceGit/Native/MacOS.cs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/SourceGit/Native/MacOS.cs b/src/SourceGit/Native/MacOS.cs index d0586a12..006f7e8e 100644 --- a/src/SourceGit/Native/MacOS.cs +++ b/src/SourceGit/Native/MacOS.cs @@ -1,4 +1,5 @@ -using System.Diagnostics; +using System; +using System.Diagnostics; using System.IO; using System.Runtime.Versioning; using System.Text; @@ -27,21 +28,17 @@ namespace SourceGit.Native public string FindVSCode() { - if (File.Exists("/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code")) - { - return "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"; - } - + var toolPath = "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"; + if (File.Exists(toolPath)) + return toolPath; return string.Empty; } public string FindFleet() { - if (File.Exists("/Applications/Fleet.app/Contents/MacOS/Fleet")) - { - return "/Applications/Fleet.app/Contents/MacOS/Fleet"; - } - + var toolPath = $"{Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)}/Applications/Fleet.app/Contents/MacOS/Fleet"; + if (File.Exists(toolPath)) + return toolPath; return string.Empty; } From effabb08fe66ac648ac5962b6e8014f3c4d0b652 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 28 Mar 2024 15:47:40 +0800 Subject: [PATCH 0120/2652] style: add a background for image diff view --- src/SourceGit/Views/DiffView.axaml | 18 +++++----- src/SourceGit/Views/DiffView.axaml.cs | 51 +++++++++++++++++++++------ 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/src/SourceGit/Views/DiffView.axaml b/src/SourceGit/Views/DiffView.axaml index a1d449bf..3c197405 100644 --- a/src/SourceGit/Views/DiffView.axaml +++ b/src/SourceGit/Views/DiffView.axaml @@ -111,8 +111,8 @@ - - + + @@ -126,19 +126,21 @@ - - + + + + diff --git a/src/SourceGit/Views/DiffView.axaml.cs b/src/SourceGit/Views/DiffView.axaml.cs index c2f36952..e0ed703f 100644 --- a/src/SourceGit/Views/DiffView.axaml.cs +++ b/src/SourceGit/Views/DiffView.axaml.cs @@ -4,6 +4,7 @@ using Avalonia; using Avalonia.Controls; using Avalonia.Media; using Avalonia.Media.Imaging; +using Avalonia.Styling; namespace SourceGit.Views { @@ -45,13 +46,33 @@ namespace SourceGit.Views public override void Render(DrawingContext context) { var alpha = Alpha; - var x = Bounds.Width * Alpha; + var bgMaskBrush = new SolidColorBrush(ActualThemeVariant == ThemeVariant.Dark ? 0xFF404040 : 0xFFBBBBBB); + + var bg = new DrawingGroup() + { + Children = + { + new GeometryDrawing() { Brush = bgMaskBrush, Geometry = new RectangleGeometry(new Rect(0, 0, 12, 12)) }, + new GeometryDrawing() { Brush = bgMaskBrush, Geometry = new RectangleGeometry(new Rect(12, 12, 12, 12)) }, + } + }; + + var brushBG = new DrawingBrush(bg) + { + AlignmentX = AlignmentX.Left, + AlignmentY = AlignmentY.Top, + DestinationRect = new RelativeRect(new Size(24, 24), RelativeUnit.Absolute), + Stretch = Stretch.None, + TileMode = TileMode.Tile, + }; + + context.FillRectangle(brushBG, new Rect(Bounds.Size)); var left = OldImage; if (left != null && alpha > 0) { var src = new Rect(0, 0, left.Size.Width * Alpha, left.Size.Height); - var dst = new Rect(0, 0, x, Bounds.Height); + var dst = new Rect(8, 8, (Bounds.Width - 16) * Alpha, Bounds.Height - 16); context.DrawImage(left, src, dst); } @@ -59,13 +80,20 @@ namespace SourceGit.Views if (right != null) { var src = new Rect(right.Size.Width * Alpha, 0, right.Size.Width - right.Size.Width * Alpha, right.Size.Height); - var dst = new Rect(x, 0, Bounds.Width - x, Bounds.Height); + var dst = new Rect((Bounds.Width - 16) * Alpha + 8, 8, (Bounds.Width - 16) * (1 - Alpha), Bounds.Height - 16); context.DrawImage(right, src, dst); } - + + var x = (Bounds.Width - 16) * Alpha + 8; context.DrawLine(new Pen(Brushes.DarkGreen, 2), new Point(x, 0), new Point(x, Bounds.Height)); } + protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) + { + base.OnPropertyChanged(change); + if (change.Property.Name == "ActualThemeVariant") InvalidateVisual(); + } + protected override Size MeasureOverride(Size availableSize) { var left = OldImage; @@ -87,21 +115,24 @@ namespace SourceGit.Views private Size GetDesiredSize(Size img, Size available) { - if (img.Width <= available.Width) + var w = available.Width - 16; + var h = available.Height - 16; + + if (img.Width <= w) { - if (img.Height <= available.Height) + if (img.Height <= h) { - return img; + return new Size(img.Width + 16, img.Height + 16); } else { - return new Size(available.Height * img.Width / img.Height, available.Height); + return new Size(h * img.Width / img.Height + 16, available.Height); } } else { - var s = Math.Max(img.Width / available.Width, img.Height / available.Height); - return new Size(img.Width / s, img.Height / s); + var s = Math.Max(img.Width / w, img.Height / h); + return new Size(img.Width / s + 16, img.Height / s + 16); } } } From f6683954feed53e26dded9fd4316b1ab126f2ac5 Mon Sep 17 00:00:00 2001 From: walterlv Date: Thu, 28 Mar 2024 16:02:39 +0800 Subject: [PATCH 0121/2652] Enhance file and folder selection by utilizing the default file manager instead of enforcing the use of explorer.exe --- src/SourceGit/Native/Windows.cs | 37 +++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/SourceGit/Native/Windows.cs b/src/SourceGit/Native/Windows.cs index 14f04aec..d3dfc7c0 100644 --- a/src/SourceGit/Native/Windows.cs +++ b/src/SourceGit/Native/Windows.cs @@ -44,6 +44,15 @@ namespace SourceGit.Native [DllImport("dwmapi.dll")] private static extern int DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins); + [DllImport("shell32.dll", CharSet = CharSet.Unicode, SetLastError = false)] + private static extern IntPtr ILCreateFromPathW(string pszPath); + + [DllImport("shell32.dll", SetLastError = false)] + private static extern void ILFree(IntPtr pidl); + + [DllImport("shell32.dll", CharSet = CharSet.Unicode, SetLastError = false)] + private static extern int SHOpenFolderAndSelectItems(IntPtr pidlFolder, int cild, IntPtr apidl, int dwFlags); + public void SetupApp(AppBuilder builder) { builder.With(new FontManagerOptions() @@ -163,6 +172,10 @@ namespace SourceGit.Native if (File.Exists(path)) { fullpath = new FileInfo(path).FullName; + + // For security reason, we never execute a file. + // Instead, we open the folder and select it. + select = true; } else { @@ -171,11 +184,31 @@ namespace SourceGit.Native if (select) { - Process.Start("explorer", $"/select,\"{fullpath}\""); + // The fullpath here may be a file or a folder. + OpenFolderAndSelectFile(fullpath); } else { - Process.Start("explorer", fullpath); + // The fullpath here is always a folder. + Process.Start(new ProcessStartInfo(fullpath) + { + UseShellExecute = true, + CreateNoWindow = true, + }); + } + } + + private static void OpenFolderAndSelectFile(string folderPath) + { + var pidl = ILCreateFromPathW(folderPath); + + try + { + SHOpenFolderAndSelectItems(pidl, 0, 0, 0); + } + finally + { + ILFree(pidl); } } From e54f17d13be4c3dfe1214769700e56b406778de1 Mon Sep 17 00:00:00 2001 From: walterlv Date: Thu, 28 Mar 2024 16:29:15 +0800 Subject: [PATCH 0122/2652] Fix spelling errors in configuration keys --- src/SourceGit/ViewModels/RepositoryConfigure.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SourceGit/ViewModels/RepositoryConfigure.cs b/src/SourceGit/ViewModels/RepositoryConfigure.cs index d97f7a36..67b8e68a 100644 --- a/src/SourceGit/ViewModels/RepositoryConfigure.cs +++ b/src/SourceGit/ViewModels/RepositoryConfigure.cs @@ -44,7 +44,7 @@ namespace SourceGit.ViewModels if (_cached.ContainsKey("user.email")) UserEmail = _cached["user.email"]; if (_cached.ContainsKey("commit.gpgsign")) GPGSigningEnabled = _cached["commit.gpgsign"] == "true"; if (_cached.ContainsKey("user.signingkey")) GPGUserSigningKey = _cached["user.signingkey"]; - if (_cached.ContainsKey("http.proxy")) HttpProxy = _cached["user.signingkey"]; + if (_cached.ContainsKey("http.proxy")) HttpProxy = _cached["http.proxy"]; View = new Views.RepositoryConfigure() { DataContext = this }; } From 760d64c39c188470938b9d3f52fb1876f9872976 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 28 Mar 2024 17:20:19 +0800 Subject: [PATCH 0123/2652] style: use custom RevisionImageFileView to preview images. --- src/SourceGit/Views/RevisionFiles.axaml | 6 +- src/SourceGit/Views/RevisionFiles.axaml.cs | 87 ++++++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/src/SourceGit/Views/RevisionFiles.axaml b/src/SourceGit/Views/RevisionFiles.axaml index 3aff7689..38ff8c26 100644 --- a/src/SourceGit/Views/RevisionFiles.axaml +++ b/src/SourceGit/Views/RevisionFiles.axaml @@ -92,7 +92,11 @@ - + + + + + diff --git a/src/SourceGit/Views/RevisionFiles.axaml.cs b/src/SourceGit/Views/RevisionFiles.axaml.cs index 80fcbc84..5869c158 100644 --- a/src/SourceGit/Views/RevisionFiles.axaml.cs +++ b/src/SourceGit/Views/RevisionFiles.axaml.cs @@ -5,6 +5,8 @@ using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; using Avalonia.Media; +using Avalonia.Media.Imaging; +using Avalonia.Styling; using AvaloniaEdit; using AvaloniaEdit.Document; @@ -13,6 +15,91 @@ using AvaloniaEdit.TextMate; namespace SourceGit.Views { + public class RevisionImageFileView : Control + { + public static readonly StyledProperty SourceProperty = + AvaloniaProperty.Register(nameof(Source), null); + + public Bitmap Source + { + get => GetValue(SourceProperty); + set => SetValue(SourceProperty, value); + } + + static RevisionImageFileView() + { + AffectsMeasure(SourceProperty); + } + + public override void Render(DrawingContext context) + { + base.Render(context); + + var bgMaskBrush = new SolidColorBrush(ActualThemeVariant == ThemeVariant.Dark ? 0xFF404040 : 0xFFBBBBBB); + + var bg = new DrawingGroup() + { + Children = + { + new GeometryDrawing() { Brush = bgMaskBrush, Geometry = new RectangleGeometry(new Rect(0, 0, 12, 12)) }, + new GeometryDrawing() { Brush = bgMaskBrush, Geometry = new RectangleGeometry(new Rect(12, 12, 12, 12)) }, + } + }; + + var brushBG = new DrawingBrush(bg) + { + AlignmentX = AlignmentX.Left, + AlignmentY = AlignmentY.Top, + DestinationRect = new RelativeRect(new Size(24, 24), RelativeUnit.Absolute), + Stretch = Stretch.None, + TileMode = TileMode.Tile, + }; + + context.FillRectangle(brushBG, new Rect(Bounds.Size)); + + var source = Source; + if (source != null) + { + context.DrawImage(source, new Rect(source.Size), new Rect(8, 8, Bounds.Width - 16, Bounds.Height - 16)); + } + } + + protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) + { + base.OnPropertyChanged(change); + if (change.Property.Name == "ActualThemeVariant") InvalidateVisual(); + } + + protected override Size MeasureOverride(Size availableSize) + { + var source = Source; + if (source == null) + { + return availableSize; + } + + var w = availableSize.Width - 16; + var h = availableSize.Height - 16; + var size = source.Size; + if (size.Width <= w) + { + if (size.Height <= h) + { + return new Size(size.Width + 16, size.Height + 16); + } + else + { + return new Size(h * size.Width / size.Height + 16, availableSize.Height); + } + } + else + { + var scale = Math.Max(size.Width / w, size.Height / h); + return new Size(size.Width / scale + 16, size.Height / scale + 16); + } + } + } + public class RevisionTextFileView : TextEditor { protected override Type StyleKeyOverride => typeof(TextEditor); From 4659fbd9013c7a3380e0573490423badc1c9c740 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 28 Mar 2024 17:42:13 +0800 Subject: [PATCH 0124/2652] code_review: code review for PR #33 * use PNG instead of SVG for external tool icons and remove dependency `Avalonia.SVG` * remove unused property `IsVSCodeFound` and `IsFleetFound` * find VS from registry first * remove compile warning CA1416 * remove unused enum `OS.Platforms` --- src/SourceGit/Native/OS.cs | 45 ++++---- src/SourceGit/Native/Windows.cs | 12 ++- .../Resources/ExternalToolIcons/fleet.png | Bin 0 -> 5222 bytes .../ExternalToolIcons/fleet_icon.svg | 50 --------- .../Resources/ExternalToolIcons/vscode.png | Bin 0 -> 2564 bytes .../ExternalToolIcons/vscode_icon.svg | 13 --- src/SourceGit/SourceGit.csproj | 6 +- src/SourceGit/ViewModels/Repository.cs | 14 +-- src/SourceGit/Views/Repository.axaml | 98 +++++++++--------- src/SourceGit/Views/Repository.axaml.cs | 9 -- 10 files changed, 85 insertions(+), 162 deletions(-) create mode 100644 src/SourceGit/Resources/ExternalToolIcons/fleet.png delete mode 100644 src/SourceGit/Resources/ExternalToolIcons/fleet_icon.svg create mode 100644 src/SourceGit/Resources/ExternalToolIcons/vscode.png delete mode 100644 src/SourceGit/Resources/ExternalToolIcons/vscode_icon.svg diff --git a/src/SourceGit/Native/OS.cs b/src/SourceGit/Native/OS.cs index 7169d51f..2229ed18 100644 --- a/src/SourceGit/Native/OS.cs +++ b/src/SourceGit/Native/OS.cs @@ -3,8 +3,6 @@ using System.Diagnostics; using Avalonia; -// ReSharper disable InconsistentNaming - namespace SourceGit.Native { public static class OS @@ -29,27 +27,24 @@ namespace SourceGit.Native public static string FleetExecutableFile { get; set; } - public enum Platforms - { - Unknown = 0, - Windows = 1, - MacOS = 2, - Linux - } - - public static Platforms Platform => OperatingSystem.IsWindows() ? Platforms.Windows : OperatingSystem.IsMacOS() ? Platforms.MacOS : OperatingSystem.IsLinux() ? Platforms.Linux : Platforms.Unknown; - static OS() { - _backend = Platform switch + if (OperatingSystem.IsWindows()) { -#pragma warning disable CA1416 - Platforms.Windows => new Windows(), - Platforms.MacOS => new MacOS(), - Platforms.Linux => new Linux(), -#pragma warning restore CA1416 - _ => throw new Exception("Platform unsupported!!!") - }; + _backend = new Windows(); + } + else if (OperatingSystem.IsMacOS()) + { + _backend = new MacOS(); + } + else if (OperatingSystem.IsLinux()) + { + _backend = new Linux(); + } + else + { + throw new Exception("Platform unsupported!!!"); + } VSCodeExecutableFile = _backend.FindVSCode(); FleetExecutableFile = _backend.FindFleet(); @@ -95,7 +90,10 @@ namespace SourceGit.Native Process.Start(new ProcessStartInfo() { - WorkingDirectory = repo, FileName = VSCodeExecutableFile, Arguments = $"\"{repo}\"", UseShellExecute = false, + WorkingDirectory = repo, + FileName = VSCodeExecutableFile, + Arguments = $"\"{repo}\"", + UseShellExecute = false, }); } @@ -111,7 +109,10 @@ namespace SourceGit.Native Process.Start(new ProcessStartInfo() { - WorkingDirectory = repo, FileName = FleetExecutableFile, Arguments = $"\"{repo}\"", UseShellExecute = false, + WorkingDirectory = repo, + FileName = FleetExecutableFile, + Arguments = $"\"{repo}\"", + UseShellExecute = false, }); } } diff --git a/src/SourceGit/Native/Windows.cs b/src/SourceGit/Native/Windows.cs index ead733f1..3e6443d9 100644 --- a/src/SourceGit/Native/Windows.cs +++ b/src/SourceGit/Native/Windows.cs @@ -103,11 +103,21 @@ namespace SourceGit.Native public string FindVSCode() { + var root = Microsoft.Win32.RegistryKey.OpenBaseKey( + Microsoft.Win32.RegistryHive.LocalMachine, + Environment.Is64BitOperatingSystem ? Microsoft.Win32.RegistryView.Registry64 : Microsoft.Win32.RegistryView.Registry32); + + var vscode = root.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{EA457B21-F73E-494C-ACAB-524FDE069978}_is1"); + if (vscode != null) + { + return vscode.GetValue("DisplayIcon") as string; + } + var toolPath = Environment.ExpandEnvironmentVariables($"{Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)}\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"); if (File.Exists(toolPath)) return toolPath; return string.Empty; } - + public string FindFleet() { var toolPath = Environment.ExpandEnvironmentVariables($"{Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)}\\AppData\\Local\\Programs\\Fleet\\Fleet.exe"); diff --git a/src/SourceGit/Resources/ExternalToolIcons/fleet.png b/src/SourceGit/Resources/ExternalToolIcons/fleet.png new file mode 100644 index 0000000000000000000000000000000000000000..85e2fab0ce7c56e85aa424fb8d114c0f766f85b9 GIT binary patch literal 5222 zcmV-s6q)OZP)J3Pn(S58iwCy?5_D zKWFw{{bTQ$Gv~Yu?}C6}-XxQmGw0khXTI}Y-?i3v@40YjIkX&F4lR$~B9GTFu$ump^(R2ctoXMB~MB2AtX$zqQD?r9z zqX?3W85ASl@Ts@YfAI+g%sE$Cw;cCA8l1ib5fPn$F$+#;0#Y$15r_Z;BP4)Gz}OIE z#Gn}4YySSUh5vd&0CUb&c5E3&|6*z&zb+kiy9<0%B%Zh^(>1qTs<7 zz)+BZ!N7)EWUsmO)XslCu7Nr0>%)^m&cCYKVg-h31VSWzvm6*s6SgD}Y@#_9B0#|> zusoDw2qQs;hU>8^m*qa#jgriezS$OD066VlW`Bz>X5 znvejpGQMAq!H)!8HL{`HkLs^p@_U{Cdt3o?)|LG?lF6sVi4zB^P=P}QkVpc?4isQ( zB2%#@W~2yA0>#Iz_lY?L*g$ZrkPYqh}1&z9o)Dap0Ul)&Rs!La1Vo>a@1h8bc#=s!&RTTZ^zyuf5@Y z3@Zu7m7>c8nxAM(1x_dpDS=VIMnV_}ZYALNIc~b8&0H>Q?HF5I#+H_`MLk=@ z+gu*Ll1p*gtIpkg_ah3-S>G7^y0+zOlA+ECk|m~ODSWaBh-&<{N?RTb9Gd~C(v)U4 z3MqViNez$`2IBzZ2n;>Ltq99I;D+0}EH1)fUD(zRY|D&oF0h4?O_a+%59j{Q`I|nu zUSRaW-aOgNxm+$0MQfqeX;3tQQmxY1)&S`=Sk-5d6oPpSPnT6Jj9W=z8~2S`@H5cN zpe>LaTecX#v~9%R-Ei*;?C2@?jg^rH!ssU|);i~VP0wtXzg{%swv#51BSPsV?<=NQs?B4}D zR$xb8xIcljaq*&38)xXf;=5SsyLQZ=XV&!lEY#hUuOVpHeU3?viC z1k0e+HeP!Ch}9+7zZ>pb5q9>4T_a^_tnBrU{g%_&>remUUo5}*;e}GBr&DF2)CWmL zXE)1;X;7LC{F~2zaM$4vc=>A`yx@w_Ge;7hPh~PSLP(HF^DL>rV;U6J*r(Y@ z%B1F-vL_78fu`QUJCGo#8CLgV788Jgs1X#%1j)fU1BDZg9CPpeaMx0f0qr2PgVN58 zcBZt=k@bp=gO$0>>D|jOUGa=u;O2O(d+xavTk5Z{3|S7 zm{s*jQ&Spjsexk}uqrdvpQ~OUqL%TNJ2QU&gdv@=v9cF- ztqObk!oH!fe=IC}$3myb^JTecUBJBi^5t!y&!~SKGWnFqf&NMZ5S3}bW(&TxD$9B+ z6VRlpZyFh`$tZ1}ODfHZIuk)N1X#!dZ++&7C!1&YGA#9A-#}O%IaUitF%+_~KW<&X zWL{p5;$X&P(&;OawM?j)3b*;=X8|~PNiGx9t8rs=*6V37)Y8dJ(hAHw&nZWZ_~q7^ zrBz{XU)VnsR>nfFRN4bsyzn>dsDp}c2=2t$3zrAD%?AZ%4W_KMjQYmT9|_A#!e~VZ z-fA#IDdcTqe!-aU8jGE#s9S7Kr%pZz_3DKac;!OLo}uTuQO>dnt6o{ngd+;o#j<}M z@XiMXMgzxrn|AXL0AP)nkOu&5O&|uw?YAg9?=*&c3>kx9$*Qp0ziEo}UJ+Css*tr| zalzQK7+6rBuHVomk*sMK3IZG<@QXI4*Ed%Bj)if~LSb|rFFYt?#LLsfECDXHJs?bM zg9p0swX~;N3J*746Zpw(5LQ767%(i1u?Jror3q!2grE`iqvfELL++rR!@Lt#dobuZ z@?6=_fx|+PPHBiWeu6d4p!kW+UU*VzKwtj;2< z%W(bGfxUNumPQd^Pzb$IU|b5;OxdY#vLvXkA-IJ?X~wvOUeCyLSZKjw2FoQ3x;a}d zuxZ7|A01-JBWYi4GD;y$01f87Y&tk&g3PNA1aA$KwgSm!P)P61m~^QY;@T^Xr8}a( zQk1Z-551zwAcC|~t00r+ux=6+l-L5e#&IVTXK-LJ8o*pIHqQ(DHY-KfariBXJt>^j zDv+!Wt9Zv1!Dw4(9h@;f%!vsS8b)c!52mz-EPPLAdWk$B|chBs8?rVpwVNnVUehjr^d%sQ2Q% zLpb+h7H6dR#cE2R&$S;i}IH5YZC1I9ESlOB~v4;3+UpyPcM=Q~C!LSB{3^SPu8w*AV z!gW^|<%%&1u&bYNZCl0KD5f%DOp_tA7g>dnCJ?JIa?14UsWwCyn=uTKZwvIE=h$?W zM@%Nt8>&PSZz#biMg2N7#(Gl91}O#cmE9rl&ZPf!=%qZWx8f*~gmByZN{AQ$ zQ?1z=ni4^YMwKRQk_MQnFhZE?8iNys_BY~0CAHYCW0sgBh#BL+U>%{v54E&sSrI4l zghB{;#gu4DYsDTf{P+%ou`vij-wfB9)F7sHeFfMQW2#cWnggI~gpr#9Br2J!88Znn zodMJdSO{cJDUWmL6=jsgB)C;LNif8Op2)6)Gp4jVL zwj<*;iSH_Q_c}t!ZqQP&La;0#W5qJ?nPDP?6bb=j?~lN>V09&sX3$5wt|a~vN!g73yP z%z^JHbfX_T*e{f0&(4&VtqDkDjTIqv7c7bTf=qlS5yTpzN@c{waBvB%j7IfanRS{z zliCWGKyfN;Y#aGqM)xBlvN5y@$O|Dap;boER>_uL_5JqNb$Pz#xm-saAI)z|4w(QR zkK((a7LRAyr0EN(%(SMM%yyKP#F8a#z^Y1 zqO;bpHDzL`EAiqa0ak^FB4jdQP6Wkpq>;}CNEOqvhDgt67RC1(kNRdP*`#+u*ol1T zA&p&s;KRL}tZmP>u3;Sr9ii+9p(FUVq4SRZ7{~L*ZIVTt z#2%*76@#-1`Ui7| zt(!3bW9;u*1OD2QY6>xSt8~{|R6-_rKXJ<}rN65CFpIadnvd8p*-~*ebMY2msM&Oe z!eWJ63A4uUbE&>*)-Nj1O>8N?FeWdp4kH%~7X%mL>$~#SXCKnI5`gQ?e-yWRo+3wt zy2nWEwHLB&LRX;FiH?{VB8u4zAuE5T?#vUPQV68Kj-E{NZ=Fo6W_3+LKCt0zg3`{S zndQG;qIV`xN<)L7KBjJG&^HEqgL~IQ9*Nw(UCN3GXQD}6S;j{BL!<9P~$$+76#<#9|cGNf7)7-@tSC(-Ha z=7#+!P=2OJOc68)Sz?Jxwal$8_s`pJk?})j3_u_8Wdr$=qUx z#oQSBNfl>Rd{jkD^1AAwm>FTKL|B^pl`z)@;DP(IYpzB&2lg7Hi^gO_!Ig$9!TGeN z`em=OZz;6Sc-YfGwr`hmnAzKPD5ibl+_yoT|K{%vFbr(y2%XB8RcaQr(jClovaQxk z4}3kl)}NEcahdsCVoS#v3oWocM*qVjWKXnATne4Ynh1&uVmD=a{)4e)-BZo}O%)jtp*PN{fm>qL-Z+gnU{`0baI3~2DeuSnNd-mNl zWb1R=xUMi5gAbD`*Vb`I8pA&a0HZSiY2&?42DyugVDObOgMahnBghMIC8!siw>pGe zfW1!l-ri}y{1Khbdfs`x=Wp)Gm1KU-a>3F}rqF`@I1977r8K*rdC!!GM# zOcNjnWG)t!BF6YGW91(ULlfr)9at>Nk(SIDfM8q+e^1FDl+(?1jQV0BvOb;Z#+)PK_+hj~U+==>1Q@ z=*ko-<3LtI?jta{S6m%F0Wk^Jw7X}&|0en9qc&y!y=SbPxn(F9S%!uzdBRzozhW)e z^qibc&(6?p%wlC)LmH==8BLuY$WJ&F;cD}{ zes&<$$7_Mps22$%qyNJ|@76&7#sIqlc?qtR2#inR<74P#Rp@xgy`V_Aw&nineK+Ul zJ!X&Py!WmB*KJv~%S7l#Kp>>&3W7FVySC7Ms-yE{A>SahHVWCIBCVKg@>E+|joO053*rqe9S>Zh7A?{~pw7l4zZLYp;)OqFK-XY6BlPBB`2(8x- zU%7c`7q`cDbhJPNL1lWBfQi^xNLEBW@E%R;2vA~-pRmZKe#dzs3q~t|vzT=<56d}A zx8<#Of8eIdpkB$bs5J;fwdK3o`9FO3cz4d{J}3TX_JrGd0UBLjp1-+2K4pF+M~5gZHDe@c zOf^Mg!kRR!Q3F%ik#WsK)DmZ~*U651+kARQtNs2@TqniP^a;0zv%Keb`!DLQy0bTo z!b|4HJOxm!`B3^~oCgy$SiO}X6O+k;?a$oKrQELB*K!~J%Nz1X^&$1g^q*dw_gnT0 zGA!QEE$ju|A{^T;?5I5Gd|uLV-dbXYhr+843zObZ!@YggJNs(aujcJfU;G`}$)V-Y ga%efU{2VO*4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SourceGit/Resources/ExternalToolIcons/vscode.png b/src/SourceGit/Resources/ExternalToolIcons/vscode.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee79ae1b7378f7c0e097540a4c497fe3c6f0e93 GIT binary patch literal 2564 zcmV+f3j6hmP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D37JVmK~#8N?VEdS zQ`a5Gf9KxoXI|zxpq(gnlF|uS2Z3}zVW=yQq0ntqbo~RmRRvmx8XhBtNtG2;nm8n| zz@Sjn3MxSbsFcz`AnlsMc!ZE3ZDU1+gh59)+6G8sNbK16{`R}}NrdY>?0cQqk@k_C zd(QVd_PO74e&_z~@xAbW02tr)D@ML~`lpNuMFW#803dvW0Gm+~x1W9aad+_Dk}6FG0(%mSz zUin<=lTRo%2Xd)TiMt7A$MHo1u){PvS-I5b#MK0|qhdA9OuK=Q|?D9zd+?%T>xAJ=QtUPNm8=CjiXXkK5H@fo#gykV4Vf35l z2PIkMPdYI`WwFU8owb+Lrt^AKq^&I*U^2KXVrc*!!qov*^Xt5#nGO>k*;qT$C%|bM z9Fw^e21V}^;FD|93#*>vQbbtRRE+Q{66F9el}oyz3!+0F5GM{yvHp!qnhBVYQF!ig zQTCsuIcju3?FKrKRA9nEyQ{kNN6t$|E_aD>?a@qRc!vIQESGeGK8oR0Uf1mB!1YWM z7j+RZ0YThA28;+O5kd`l&1-ErrH&vjg<)B9G>f75S9J%=g7g^!Hk3>HK>XAoSjKybXK89{cLYqRcVw3U zDh~RhsNJRT7>Kg+vAwXWa5|m-RLz`MzJLjMl!_^8T^9%nwQ9ZRU(K`c6-@h%t1%_y z6q!+U{MUDaoMzKoU9V zrn%{Pk85@=QSq-L^ zmZxb%RB$P3)PS&AtuQD#DKtC~J&0_Hw`kUjkUvk;WE=~6G(qKy{2BL5tv7PWi1)dq z35(GPLsL`1Ad0F1*962V-lCbi`0lt7kqIha&_s3n)^~eb@3+WY(u5=mWJC%Kx23(? zvT@EuF2|LKO|Y#vvXHv(!~4x{kzTs;c6BjH6va2vUDf*^b6wV-Rq7-n6Vh^ztfK5? z4;2k+okjz@*Vv@X2+jf-+%=g+wc~g_F7#jmGTVx>Lh8AaK=(a>r`5xn@7$$nLbn&0 ziXvChsCbFj`<$*#po<|}ZrM9zgo7(#w0YZtMkoqbG{V3_f8QY^b`RfK)8|X?otp6Q z%KetKru!dI<9^4bF7dVbSmW(GsK|0G!sErHyYl(W4K+P3?!=NX6VhHS8{kH31q1AC zov~A7zpNTTTfcrI7#kyt@`Vi7g%`Ne>x7sv==X<5fKfR~!5{Tnpdu@*vEh!7LgNaT zG(*!*GG(dz?5^tV>7`e?PBmjhhY2aGj%LaR;S4oE(^?=6fv^02dAcO{vuLjT3zv04 zo$)Go8qZ`DR6ok4ULjzDZROFiq9Us+&6?H%sn?DvKHqrv)@Q4}bWC+KOM|-H7OM-P z3COV4?yC7Eug9E#35fC%GGItRi3S9jUVm&#tIct5`}J+ELS61Jymc)TDW*}q-A+G@ z*%-)&=s8 zmnPm=&Gt0iFd$CaBn6`)C{rLOJaS{V@iifpUjMcT4A$b0uo* zuBsV;!eJWNsa(>H*&zMLmSl|Thoc8kP3Sm9w$r%f*}sEdp*#Vva*2)~&N0z2UXKAP z^^PYi8N$!#18;FjH*{vwY(P60Zbprq;q zg@&C=nlTwf7?7kr!a5CyzG7t2`C$^mF$U}>T+&1=Ob82yzT!q+_AO>cH8d)@6gT2# zf=XTPlg(hU&7rvdfJ<>9t|q9|@u6Ja=f{cYd)Y0oO zB{A-3ZKpnOq7xPM;ST!SM=+UPPbd>q>eo%$Ml<#c^im(v=v62LPYoY@xjf-aP^n*= zeL!S5myC$&skVqgXhFoyl8?8XE7PC*>6obDU-4E^s;dg-)_{eObBoQ#fbqR~p9w06Z0e4GzKjfKQu(5 - - - - - \ No newline at end of file diff --git a/src/SourceGit/SourceGit.csproj b/src/SourceGit/SourceGit.csproj index 9dbaa5c5..8a1b5a45 100644 --- a/src/SourceGit/SourceGit.csproj +++ b/src/SourceGit/SourceGit.csproj @@ -23,6 +23,7 @@ + @@ -44,7 +45,6 @@ - @@ -58,8 +58,4 @@ - - - - diff --git a/src/SourceGit/ViewModels/Repository.cs b/src/SourceGit/ViewModels/Repository.cs index 76444e6e..f8c25987 100644 --- a/src/SourceGit/ViewModels/Repository.cs +++ b/src/SourceGit/ViewModels/Repository.cs @@ -49,18 +49,6 @@ namespace SourceGit.ViewModels set; } = new AvaloniaList(); - [JsonIgnore] - public bool IsVSCodeFound - { - get => !string.IsNullOrEmpty(Native.OS.VSCodeExecutableFile); - } - - [JsonIgnore] - public bool IsFleetFound - { - get => !string.IsNullOrEmpty(Native.OS.FleetExecutableFile); - } - [JsonIgnore] public Models.GitFlow GitFlow { @@ -291,7 +279,7 @@ namespace SourceGit.ViewModels { Native.OS.OpenInVSCode(_fullpath); } - + public void OpenInFleet() { Native.OS.OpenInFleet(_fullpath); diff --git a/src/SourceGit/Views/Repository.axaml b/src/SourceGit/Views/Repository.axaml index 5518279c..6632d5c7 100644 --- a/src/SourceGit/Views/Repository.axaml +++ b/src/SourceGit/Views/Repository.axaml @@ -18,33 +18,33 @@ - - - - + + + + + + @@ -83,7 +83,7 @@ - - @@ -230,22 +230,22 @@ - + - + - - @@ -301,10 +301,10 @@ - @@ -318,10 +318,10 @@ -