Implement about window.

This commit is contained in:
2020-04-10 01:10:55 +01:00
parent e484671504
commit c8a9d13595
9 changed files with 300 additions and 46 deletions

View File

@@ -1,15 +1,35 @@
using System;
using System.Reactive;
using Aaru.Gui.Views;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using ReactiveUI;
namespace Aaru.Gui.ViewModels
{
public class MainWindowViewModel : ViewModelBase
{
readonly MainWindow _view;
public MainWindowViewModel(MainWindow view)
{
AboutCommand = ReactiveCommand.Create(ExecuteAboutCommand);
_view = view;
}
public string Greeting => "Welcome to Aaru!";
public bool NativeMenuNotSupported => !NativeMenu.GetIsNativeMenuExported((Application.Current.ApplicationLifetime as
IClassicDesktopStyleApplicationLifetime)?.MainWindow);
public bool NativeMenuNotSupported =>
!NativeMenu.GetIsNativeMenuExported((Application.Current.ApplicationLifetime as
IClassicDesktopStyleApplicationLifetime)?.MainWindow);
public ReactiveCommand<Unit, Unit> AboutCommand { get; }
internal void ExecuteAboutCommand()
{
var dialog = new AboutDialog();
dialog.DataContext = new AboutDialogViewModel(dialog);
dialog.ShowDialog(_view);
}
}
}