refactor: move non-observable object from ViewModels to Models

* ViewModels.MergeMode -> Models.MergeMode
* ViewModels.Notification -> Models.Notification
* ViewModels.ResetMode -> Models.ResetMode
* use `int` instead of `ViewModels.CountSelectedCommits`
This commit is contained in:
leo 2024-07-24 11:44:13 +08:00
parent 0dee3a1969
commit 9e048751ae
No known key found for this signature in database
13 changed files with 74 additions and 82 deletions

24
src/Models/MergeMode.cs Normal file
View file

@ -0,0 +1,24 @@
namespace SourceGit.Models
{
public class MergeMode
{
public static readonly MergeMode[] Supported =
[
new MergeMode("Default", "Fast-forward if possible", ""),
new MergeMode("No Fast-forward", "Always create a merge commit", "--no-ff"),
new MergeMode("Squash", "Use '--squash'", "--squash"),
new MergeMode("Don't commit", "Merge without commit", "--no-commit"),
];
public string Name { get; set; }
public string Desc { get; set; }
public string Arg { get; set; }
public MergeMode(string n, string d, string a)
{
Name = n;
Desc = d;
Arg = a;
}
}
}

View file

@ -0,0 +1,13 @@
namespace SourceGit.Models
{
public class Notification
{
public bool IsError { get; set; } = false;
public string Message { get; set; } = string.Empty;
public void CopyMessage()
{
App.CopyText(Message);
}
}
}

27
src/Models/ResetMode.cs Normal file
View file

@ -0,0 +1,27 @@
using Avalonia.Media;
namespace SourceGit.Models
{
public class ResetMode
{
public static readonly ResetMode[] Supported =
[
new ResetMode("Soft", "Keep all changes. Stage differences", "--soft", Brushes.Green),
new ResetMode("Mixed", "Keep all changes. Unstage differences", "--mixed", Brushes.Orange),
new ResetMode("Hard", "Discard all changes", "--hard", Brushes.Red),
];
public string Name { get; set; }
public string Desc { get; set; }
public string Arg { get; set; }
public IBrush Color { get; set; }
public ResetMode(string n, string d, string a, IBrush b)
{
Name = n;
Desc = d;
Arg = a;
Color = b;
}
}
}