mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-25 21:07:20 -08:00
Compare commits
6 commits
e4870759f7
...
6a0cf30db2
Author | SHA1 | Date | |
---|---|---|---|
|
6a0cf30db2 | ||
|
a690f77468 | ||
|
0ed1f369e9 | ||
|
5574dd2c38 | ||
|
687b58576d | ||
|
33f9ae0cd6 |
6 changed files with 27 additions and 35 deletions
|
@ -97,7 +97,7 @@ For `OpenAI`:
|
||||||
|
|
||||||
For other AI service:
|
For other AI service:
|
||||||
|
|
||||||
* The `Server` should fill in a URL equivalent to OpenAI's `https://api.openai.com/v1/chat/completions`
|
* The `Server` should fill in a URL equivalent to OpenAI's `https://api.openai.com/v1/chat/completions`. For example, when using `Ollama`, it should be `http://localhost:11434/v1/chat/completions` instead of `http://localhost:11434/api/generate`
|
||||||
* The `API Key` is optional that depends on the service
|
* The `API Key` is optional that depends on the service
|
||||||
|
|
||||||
## External Tools
|
## External Tools
|
||||||
|
|
|
@ -41,7 +41,7 @@ namespace SourceGit.Native
|
||||||
finder.Fleet(FindJetBrainsFleet);
|
finder.Fleet(FindJetBrainsFleet);
|
||||||
finder.FindJetBrainsFromToolbox(() => $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}/JetBrains/Toolbox");
|
finder.FindJetBrainsFromToolbox(() => $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}/JetBrains/Toolbox");
|
||||||
finder.SublimeText(() => FindExecutable("subl"));
|
finder.SublimeText(() => FindExecutable("subl"));
|
||||||
finder.Zed(() => FindExecutable("zed"));
|
finder.Zed(() => FindExecutable("zeditor"));
|
||||||
return finder.Founded;
|
return finder.Founded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,23 +26,11 @@ namespace SourceGit.Native
|
||||||
internal string szCSDVersion;
|
internal string szCSDVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
|
||||||
internal struct MARGINS
|
|
||||||
{
|
|
||||||
public int cxLeftWidth;
|
|
||||||
public int cxRightWidth;
|
|
||||||
public int cyTopHeight;
|
|
||||||
public int cyBottomHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
[DllImport("shlwapi.dll", CharSet = CharSet.Unicode, SetLastError = false)]
|
|
||||||
private static extern bool PathFindOnPath([In, Out] StringBuilder pszFile, [In] string[] ppszOtherDirs);
|
|
||||||
|
|
||||||
[DllImport("ntdll")]
|
[DllImport("ntdll")]
|
||||||
private static extern int RtlGetVersion(ref RTL_OSVERSIONINFOEX lpVersionInformation);
|
private static extern int RtlGetVersion(ref RTL_OSVERSIONINFOEX lpVersionInformation);
|
||||||
|
|
||||||
[DllImport("dwmapi.dll")]
|
[DllImport("shlwapi.dll", CharSet = CharSet.Unicode, SetLastError = false)]
|
||||||
private static extern int DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins);
|
private static extern bool PathFindOnPath([In, Out] StringBuilder pszFile, [In] string[] ppszOtherDirs);
|
||||||
|
|
||||||
[DllImport("shell32.dll", CharSet = CharSet.Unicode, SetLastError = false)]
|
[DllImport("shell32.dll", CharSet = CharSet.Unicode, SetLastError = false)]
|
||||||
private static extern IntPtr ILCreateFromPathW(string pszPath);
|
private static extern IntPtr ILCreateFromPathW(string pszPath);
|
||||||
|
@ -60,8 +48,8 @@ namespace SourceGit.Native
|
||||||
v.dwOSVersionInfoSize = (uint)Marshal.SizeOf<RTL_OSVERSIONINFOEX>();
|
v.dwOSVersionInfoSize = (uint)Marshal.SizeOf<RTL_OSVERSIONINFOEX>();
|
||||||
if (RtlGetVersion(ref v) == 0 && (v.dwMajorVersion < 10 || v.dwBuildNumber < 22000))
|
if (RtlGetVersion(ref v) == 0 && (v.dwMajorVersion < 10 || v.dwBuildNumber < 22000))
|
||||||
{
|
{
|
||||||
Window.WindowStateProperty.Changed.AddClassHandler<Window>((w, _) => ExtendWindowFrame(w));
|
Window.WindowStateProperty.Changed.AddClassHandler<Window>((w, _) => FixWindowFrameOnWin10(w));
|
||||||
Control.LoadedEvent.AddClassHandler<Window>((w, _) => ExtendWindowFrame(w));
|
Control.LoadedEvent.AddClassHandler<Window>((w, _) => FixWindowFrameOnWin10(w));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,14 +194,12 @@ namespace SourceGit.Native
|
||||||
Process.Start(start);
|
Process.Start(start);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExtendWindowFrame(Window w)
|
private void FixWindowFrameOnWin10(Window w)
|
||||||
{
|
{
|
||||||
var platformHandle = w.TryGetPlatformHandle();
|
if (w.WindowState != WindowState.Normal)
|
||||||
if (platformHandle == null)
|
w.SystemDecorations = SystemDecorations.Full;
|
||||||
return;
|
else
|
||||||
|
w.SystemDecorations = SystemDecorations.BorderOnly;
|
||||||
var margins = new MARGINS { cxLeftWidth = 1, cxRightWidth = 1, cyTopHeight = 1, cyBottomHeight = 1 };
|
|
||||||
DwmExtendFrameIntoClientArea(platformHandle.Handle, ref margins);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region EXTERNAL_EDITOR_FINDER
|
#region EXTERNAL_EDITOR_FINDER
|
||||||
|
|
|
@ -113,11 +113,19 @@ namespace SourceGit.ViewModels
|
||||||
public void NavigateTo(string commitSHA)
|
public void NavigateTo(string commitSHA)
|
||||||
{
|
{
|
||||||
var commit = _commits.Find(x => x.SHA.StartsWith(commitSHA, StringComparison.Ordinal));
|
var commit = _commits.Find(x => x.SHA.StartsWith(commitSHA, StringComparison.Ordinal));
|
||||||
if (commit != null)
|
if (commit == null)
|
||||||
|
{
|
||||||
|
AutoSelectedCommit = null;
|
||||||
|
commit = new Commands.QuerySingleCommit(_repo.FullPath, commitSHA).Result();
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
AutoSelectedCommit = commit;
|
AutoSelectedCommit = commit;
|
||||||
NavigationId = _navigationId + 1;
|
NavigationId = _navigationId + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (commit != null)
|
||||||
|
{
|
||||||
if (_detailContext is CommitDetail detail)
|
if (_detailContext is CommitDetail detail)
|
||||||
{
|
{
|
||||||
detail.Commit = commit;
|
detail.Commit = commit;
|
||||||
|
@ -129,6 +137,10 @@ namespace SourceGit.ViewModels
|
||||||
DetailContext = commitDetail;
|
DetailContext = commitDetail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DetailContext = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Select(IList commits)
|
public void Select(IList commits)
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text.Json.Serialization;
|
|
||||||
|
|
||||||
using Avalonia.Media;
|
using Avalonia.Media;
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
namespace SourceGit.ViewModels
|
namespace SourceGit.ViewModels
|
||||||
|
@ -21,7 +18,7 @@ namespace SourceGit.ViewModels
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (SetProperty(ref _color, value))
|
if (SetProperty(ref _color, value))
|
||||||
Brush = new SolidColorBrush(value);
|
OnPropertyChanged(nameof(Brush));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,11 +46,9 @@ namespace SourceGit.ViewModels
|
||||||
set => SetProperty(ref _restoreOnStartup, value);
|
set => SetProperty(ref _restoreOnStartup, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
public IBrush Brush
|
public IBrush Brush
|
||||||
{
|
{
|
||||||
get => _brush;
|
get => new SolidColorBrush(_color);
|
||||||
private set => SetProperty(ref _brush, value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddRepository(string repo)
|
public void AddRepository(string repo)
|
||||||
|
@ -66,6 +61,5 @@ namespace SourceGit.ViewModels
|
||||||
private uint _color = 4278221015;
|
private uint _color = 4278221015;
|
||||||
private bool _isActive = false;
|
private bool _isActive = false;
|
||||||
private bool _restoreOnStartup = true;
|
private bool _restoreOnStartup = true;
|
||||||
private IBrush _brush = new SolidColorBrush(4278221015);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,7 +451,7 @@ namespace SourceGit.Views
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Calculate drawing area.
|
// Calculate drawing area.
|
||||||
double width = Bounds.Width - 156 - 96 - histories.AuthorNameColumnWidth.Value;
|
double width = Bounds.Width - 273 - histories.AuthorNameColumnWidth.Value;
|
||||||
double height = Bounds.Height;
|
double height = Bounds.Height;
|
||||||
double startY = list.Scroll?.Offset.Y ?? 0;
|
double startY = list.Scroll?.Offset.Y ?? 0;
|
||||||
double endY = startY + height + 28;
|
double endY = startY + height + 28;
|
||||||
|
|
Loading…
Reference in a new issue