mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-22 04:34:59 +00:00
refactor<*>: rewrite all with AvaloniaUI
This commit is contained in:
parent
0136904612
commit
2a62596999
521 changed files with 19780 additions and 23244 deletions
51
src/ViewModels/Popup.cs
Normal file
51
src/ViewModels/Popup.cs
Normal file
|
@ -0,0 +1,51 @@
|
|||
using Avalonia.Threading;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SourceGit.ViewModels {
|
||||
public class Popup : ObservableValidator {
|
||||
public string HostPageId {
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public object View {
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public bool InProgress {
|
||||
get => _inProgress;
|
||||
set => SetProperty(ref _inProgress, value);
|
||||
}
|
||||
|
||||
public string ProgressDescription {
|
||||
get => _progressDescription;
|
||||
set => SetProperty(ref _progressDescription, value);
|
||||
}
|
||||
|
||||
[UnconditionalSuppressMessage("AssemblyLoadTrimming", "IL2026:RequiresUnreferencedCode")]
|
||||
public bool Check() {
|
||||
if (HasErrors) return false;
|
||||
ValidateAllProperties();
|
||||
return !HasErrors;
|
||||
}
|
||||
|
||||
public virtual Task<bool> Sure() {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void CallUIThread(Action action) {
|
||||
Dispatcher.UIThread.Invoke(action);
|
||||
}
|
||||
|
||||
protected void SetProgressDescription(string description) {
|
||||
CallUIThread(() => ProgressDescription = description);
|
||||
}
|
||||
|
||||
private bool _inProgress = false;
|
||||
private string _progressDescription = string.Empty;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue