mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-23 21:24:59 +00:00
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:
parent
0dee3a1969
commit
9e048751ae
13 changed files with 74 additions and 82 deletions
|
@ -9,11 +9,6 @@ using CommunityToolkit.Mvvm.ComponentModel;
|
|||
|
||||
namespace SourceGit.ViewModels
|
||||
{
|
||||
public class CountSelectedCommits
|
||||
{
|
||||
public int Count { get; set; }
|
||||
}
|
||||
|
||||
public class Histories : ObservableObject
|
||||
{
|
||||
public bool IsLoading
|
||||
|
@ -143,7 +138,7 @@ namespace SourceGit.ViewModels
|
|||
else
|
||||
{
|
||||
_repo.SearchResultSelectedCommit = null;
|
||||
DetailContext = new CountSelectedCommits() { Count = commits.Count };
|
||||
DetailContext = commits.Count;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace SourceGit.ViewModels
|
|||
var root = new Commands.QueryRepositoryRootPath(startupRepo).Result();
|
||||
if (string.IsNullOrEmpty(root))
|
||||
{
|
||||
Pages[0].Notifications.Add(new Notification
|
||||
Pages[0].Notifications.Add(new Models.Notification
|
||||
{
|
||||
IsError = true,
|
||||
Message = $"Given path: '{startupRepo}' is NOT a valid repository!"
|
||||
|
@ -272,7 +272,7 @@ namespace SourceGit.ViewModels
|
|||
|
||||
public void DispatchNotification(string pageId, string message, bool isError)
|
||||
{
|
||||
var notification = new Notification()
|
||||
var notification = new Models.Notification()
|
||||
{
|
||||
IsError = isError,
|
||||
Message = message,
|
||||
|
|
|
@ -18,11 +18,11 @@ namespace SourceGit.ViewModels
|
|||
set => SetProperty(ref _data, value);
|
||||
}
|
||||
|
||||
public AvaloniaList<Notification> Notifications
|
||||
public AvaloniaList<Models.Notification> Notifications
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = new AvaloniaList<Notification>();
|
||||
} = new AvaloniaList<Models.Notification>();
|
||||
|
||||
public LauncherPage()
|
||||
{
|
||||
|
|
|
@ -1,22 +1,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SourceGit.ViewModels
|
||||
{
|
||||
public class MergeMode
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public class Merge : Popup
|
||||
{
|
||||
public string Source
|
||||
|
@ -31,13 +16,7 @@ namespace SourceGit.ViewModels
|
|||
private set;
|
||||
}
|
||||
|
||||
public List<MergeMode> Modes
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
|
||||
public MergeMode SelectedMode
|
||||
public Models.MergeMode SelectedMode
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
@ -48,13 +27,7 @@ namespace SourceGit.ViewModels
|
|||
_repo = repo;
|
||||
Source = source;
|
||||
Into = into;
|
||||
Modes = new List<MergeMode>() {
|
||||
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"),
|
||||
};
|
||||
SelectedMode = Modes[0];
|
||||
SelectedMode = Models.MergeMode.Supported[0];
|
||||
View = new Views.Merge() { DataContext = this };
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
namespace SourceGit.ViewModels
|
||||
{
|
||||
public class Notification
|
||||
{
|
||||
public bool IsError { get; set; } = false;
|
||||
public string Message { get; set; } = string.Empty;
|
||||
|
||||
public void CopyMessage()
|
||||
{
|
||||
App.CopyText(Message);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,26 +1,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Avalonia.Media;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SourceGit.ViewModels
|
||||
{
|
||||
public class ResetMode
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public class Reset : Popup
|
||||
{
|
||||
public Models.Branch Current
|
||||
|
@ -35,13 +16,7 @@ namespace SourceGit.ViewModels
|
|||
private set;
|
||||
}
|
||||
|
||||
public List<ResetMode> Modes
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
|
||||
public ResetMode SelectedMode
|
||||
public Models.ResetMode SelectedMode
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
@ -52,12 +27,7 @@ namespace SourceGit.ViewModels
|
|||
_repo = repo;
|
||||
Current = current;
|
||||
To = to;
|
||||
Modes = new List<ResetMode>() {
|
||||
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),
|
||||
};
|
||||
SelectedMode = Modes[0];
|
||||
SelectedMode = Models.ResetMode.Supported[0];
|
||||
View = new Views.Reset() { DataContext = this };
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue