mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-22 04:34:59 +00:00
feat: add gpg format switcher
This commit is contained in:
parent
b2996acb7b
commit
80dfa059ce
7 changed files with 154 additions and 27 deletions
|
@ -17,7 +17,19 @@ namespace SourceGit.ViewModels
|
|||
set;
|
||||
}
|
||||
|
||||
public bool GPGSigningEnabled
|
||||
public Models.GPGFormat GPGFormat
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public bool GPGCommitSigningEnabled
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public bool GPGTagSigningEnabled
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
@ -44,8 +56,14 @@ namespace SourceGit.ViewModels
|
|||
UserName = name;
|
||||
if (_cached.TryGetValue("user.email", out var email))
|
||||
UserEmail = email;
|
||||
if (_cached.TryGetValue("commit.gpgsign", out var gpgsign))
|
||||
GPGSigningEnabled = gpgsign == "true";
|
||||
if (_cached.TryGetValue("commit.gpgsign", out var gpgCommitSign))
|
||||
GPGCommitSigningEnabled = gpgCommitSign == "true";
|
||||
if (_cached.TryGetValue("tag.gpgSign", out var gpgTagSign))
|
||||
GPGTagSigningEnabled = gpgTagSign == "true";
|
||||
if (_cached.TryGetValue("gpg.format", out var gpgFormat))
|
||||
GPGFormat = Models.GPGFormat.Supported.Find(x => x.Value == gpgFormat);
|
||||
else
|
||||
GPGFormat = Models.GPGFormat.OPENPGP;
|
||||
if (_cached.TryGetValue("user.signingkey", out var signingKey))
|
||||
GPGUserSigningKey = signingKey;
|
||||
if (_cached.TryGetValue("http.proxy", out var proxy))
|
||||
|
@ -58,20 +76,22 @@ namespace SourceGit.ViewModels
|
|||
{
|
||||
SetIfChanged("user.name", UserName);
|
||||
SetIfChanged("user.email", UserEmail);
|
||||
SetIfChanged("commit.gpgsign", GPGSigningEnabled ? "true" : "false");
|
||||
SetIfChanged("commit.gpgsign", GPGCommitSigningEnabled ? "true" : "false");
|
||||
SetIfChanged("tag.gpgSign", GPGTagSigningEnabled ? "true" : "false");
|
||||
SetIfChanged("gpg.format", GPGFormat?.Value, Models.GPGFormat.OPENPGP.Value);
|
||||
SetIfChanged("user.signingkey", GPGUserSigningKey);
|
||||
SetIfChanged("http.proxy", HttpProxy);
|
||||
return null;
|
||||
}
|
||||
|
||||
private void SetIfChanged(string key, string value)
|
||||
private void SetIfChanged(string key, string value, string defaultValue = null)
|
||||
{
|
||||
bool changed = false;
|
||||
if (_cached.TryGetValue(key, out var old))
|
||||
{
|
||||
changed = old != value;
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(value))
|
||||
else if (!string.IsNullOrEmpty(value) && value != defaultValue)
|
||||
{
|
||||
changed = true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue