Add native menu for mac and refactor MainWindow
This commit is contained in:
parent
10a1b56b3c
commit
4a65d6bbd3
37 changed files with 1056 additions and 1084 deletions
38
Source/LibationAvalonia/ViewModels/MainVM.Settings.cs
Normal file
38
Source/LibationAvalonia/ViewModels/MainVM.Settings.cs
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
using LibationFileManager;
|
||||
using ReactiveUI;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace LibationAvalonia.ViewModels
|
||||
{
|
||||
partial class MainVM
|
||||
{
|
||||
private bool _menuBarVisible = !Configuration.IsMacOs;
|
||||
public bool MenuBarVisible { get => _menuBarVisible; set => this.RaiseAndSetIfChanged(ref _menuBarVisible, value); }
|
||||
private void Configure_Settings() { }
|
||||
|
||||
public Task ShowAboutAsync() => MessageBox.Show(MainWindow, $"Libation {AppScaffolding.LibationScaffolding.Variety}{Environment.NewLine}Version {AppScaffolding.LibationScaffolding.BuildVersion}", $"Libation v{AppScaffolding.LibationScaffolding.BuildVersion}");
|
||||
public Task ShowAccountsAsync() => new LibationAvalonia.Dialogs.AccountsDialog().ShowDialog(MainWindow);
|
||||
public Task ShowSettingsAsync() => new LibationAvalonia.Dialogs.SettingsDialog().ShowDialog(MainWindow);
|
||||
public Task ShowTrashBinAsync() => new LibationAvalonia.Dialogs.TrashBinDialog().ShowDialog(MainWindow);
|
||||
|
||||
public void LaunchHangover()
|
||||
{
|
||||
try
|
||||
{
|
||||
System.Diagnostics.Process.Start("Hangover" + (Configuration.IsWindows ? ".exe" : ""));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Serilog.Log.Logger.Error(ex, "Failed to launch Hangover");
|
||||
}
|
||||
}
|
||||
|
||||
public async Task StartWalkthroughAsync()
|
||||
{
|
||||
MenuBarVisible = true;
|
||||
await new Walkthrough(MainWindow).RunAsync();
|
||||
MenuBarVisible = !Configuration.IsMacOs;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue