mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-21 10:01:27 -07:00
Refactor UI code structuring
109 changed files :D
This commit is contained in:
parent
9ea7900c05
commit
94fe52245e
@ -17,8 +17,6 @@ using Bloxstrap.Extensions;
|
|||||||
using Bloxstrap.Models;
|
using Bloxstrap.Models;
|
||||||
using Bloxstrap.Models.Attributes;
|
using Bloxstrap.Models.Attributes;
|
||||||
using Bloxstrap.UI;
|
using Bloxstrap.UI;
|
||||||
using Bloxstrap.UI.BootstrapperDialogs;
|
|
||||||
using Bloxstrap.UI.MessageBox;
|
|
||||||
using Bloxstrap.Utility;
|
using Bloxstrap.Utility;
|
||||||
|
|
||||||
namespace Bloxstrap
|
namespace Bloxstrap
|
||||||
@ -105,6 +103,7 @@ namespace Bloxstrap
|
|||||||
|
|
||||||
void FinalizeExceptionHandling(Exception exception)
|
void FinalizeExceptionHandling(Exception exception)
|
||||||
{
|
{
|
||||||
|
#pragma warning disable 162
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
throw exception;
|
throw exception;
|
||||||
#endif
|
#endif
|
||||||
@ -113,6 +112,7 @@ namespace Bloxstrap
|
|||||||
Controls.ShowExceptionDialog(exception);
|
Controls.ShowExceptionDialog(exception);
|
||||||
|
|
||||||
Terminate(Bootstrapper.ERROR_INSTALL_FAILURE);
|
Terminate(Bootstrapper.ERROR_INSTALL_FAILURE);
|
||||||
|
#pragma warning restore 162
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnStartup(StartupEventArgs e)
|
protected override void OnStartup(StartupEventArgs e)
|
||||||
@ -248,7 +248,7 @@ namespace Bloxstrap
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (Process.GetProcessesByName(ProjectName).Length > 1 && !IsQuiet)
|
if (Process.GetProcessesByName(ProjectName).Length > 1 && !IsQuiet)
|
||||||
FluentMessageBox.Show(
|
Controls.ShowMessageBox(
|
||||||
$"{ProjectName} is currently running, likely as a background Roblox process. Please note that not all your changes will immediately apply until you close all currently open Roblox instances.",
|
$"{ProjectName} is currently running, likely as a background Roblox process. Please note that not all your changes will immediately apply until you close all currently open Roblox instances.",
|
||||||
MessageBoxImage.Information
|
MessageBoxImage.Information
|
||||||
);
|
);
|
||||||
|
@ -18,7 +18,6 @@ using Bloxstrap.Integrations;
|
|||||||
using Bloxstrap.Models;
|
using Bloxstrap.Models;
|
||||||
using Bloxstrap.Tools;
|
using Bloxstrap.Tools;
|
||||||
using Bloxstrap.UI;
|
using Bloxstrap.UI;
|
||||||
using Bloxstrap.UI.BootstrapperDialogs;
|
|
||||||
|
|
||||||
namespace Bloxstrap
|
namespace Bloxstrap
|
||||||
{
|
{
|
||||||
|
@ -1,24 +1,10 @@
|
|||||||
using Bloxstrap.Enums;
|
using Bloxstrap.Enums;
|
||||||
using Bloxstrap.UI.BootstrapperDialogs;
|
using Bloxstrap.UI;
|
||||||
using Bloxstrap.UI.BootstrapperDialogs.WinForms;
|
|
||||||
using Bloxstrap.UI.BootstrapperDialogs.WPF.Views;
|
|
||||||
|
|
||||||
namespace Bloxstrap.Extensions
|
namespace Bloxstrap.Extensions
|
||||||
{
|
{
|
||||||
static class BootstrapperStyleEx
|
static class BootstrapperStyleEx
|
||||||
{
|
{
|
||||||
public static IBootstrapperDialog GetNew(this BootstrapperStyle bootstrapperStyle)
|
public static IBootstrapperDialog GetNew(this BootstrapperStyle bootstrapperStyle) => Controls.GetBootstrapperDialog(bootstrapperStyle);
|
||||||
{
|
|
||||||
return bootstrapperStyle switch
|
|
||||||
{
|
|
||||||
BootstrapperStyle.VistaDialog => new VistaDialog(),
|
|
||||||
BootstrapperStyle.LegacyDialog2009 => new LegacyDialog2009(),
|
|
||||||
BootstrapperStyle.LegacyDialog2011 => new LegacyDialog2011(),
|
|
||||||
BootstrapperStyle.ProgressDialog => new ProgressDialog(),
|
|
||||||
BootstrapperStyle.FluentDialog => new FluentDialog(),
|
|
||||||
BootstrapperStyle.ByfronDialog => new ByfronDialog(),
|
|
||||||
_ => new FluentDialog()
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
using Bloxstrap.Enums;
|
using Bloxstrap.Enums;
|
||||||
using Bloxstrap.UI.Menu.Views;
|
using Bloxstrap.Extensions;
|
||||||
|
using Bloxstrap.UI.Elements.Bootstrapper;
|
||||||
|
using Bloxstrap.UI.Menu;
|
||||||
using Bloxstrap.UI.MessageBox;
|
using Bloxstrap.UI.MessageBox;
|
||||||
|
|
||||||
namespace Bloxstrap.UI
|
namespace Bloxstrap.UI
|
||||||
@ -14,14 +15,22 @@ namespace Bloxstrap.UI
|
|||||||
|
|
||||||
public static MessageBoxResult ShowMessageBox(string message, MessageBoxImage icon = MessageBoxImage.None, MessageBoxButton buttons = MessageBoxButton.OK, MessageBoxResult defaultResult = MessageBoxResult.None)
|
public static MessageBoxResult ShowMessageBox(string message, MessageBoxImage icon = MessageBoxImage.None, MessageBoxButton buttons = MessageBoxButton.OK, MessageBoxResult defaultResult = MessageBoxResult.None)
|
||||||
{
|
{
|
||||||
|
if (App.IsQuiet)
|
||||||
|
return defaultResult;
|
||||||
|
|
||||||
switch (App.Settings.Prop.BootstrapperStyle)
|
switch (App.Settings.Prop.BootstrapperStyle)
|
||||||
{
|
{
|
||||||
case BootstrapperStyle.FluentDialog:
|
case BootstrapperStyle.FluentDialog:
|
||||||
case BootstrapperStyle.ByfronDialog:
|
case BootstrapperStyle.ByfronDialog:
|
||||||
return FluentMessageBox.Show(message, icon, buttons, defaultResult);
|
return Application.Current.Dispatcher.Invoke(new Func<MessageBoxResult>(() =>
|
||||||
|
{
|
||||||
|
var messagebox = new FluentMessageBox(message, icon, buttons);
|
||||||
|
messagebox.ShowDialog();
|
||||||
|
return messagebox.Result;
|
||||||
|
}));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return NativeMessageBox.Show(message, icon, buttons, defaultResult);
|
return System.Windows.MessageBox.Show(message, App.ProjectName, buttons, icon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,5 +41,19 @@ namespace Bloxstrap.UI
|
|||||||
new ExceptionDialog(exception).ShowDialog();
|
new ExceptionDialog(exception).ShowDialog();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static IBootstrapperDialog GetBootstrapperDialog(BootstrapperStyle style)
|
||||||
|
{
|
||||||
|
return style switch
|
||||||
|
{
|
||||||
|
BootstrapperStyle.VistaDialog => new VistaDialog(),
|
||||||
|
BootstrapperStyle.LegacyDialog2009 => new LegacyDialog2009(),
|
||||||
|
BootstrapperStyle.LegacyDialog2011 => new LegacyDialog2011(),
|
||||||
|
BootstrapperStyle.ProgressDialog => new ProgressDialog(),
|
||||||
|
BootstrapperStyle.FluentDialog => new FluentDialog(),
|
||||||
|
BootstrapperStyle.ByfronDialog => new ByfronDialog(),
|
||||||
|
_ => new FluentDialog()
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs
|
namespace Bloxstrap.UI.Elements.Bootstrapper.Base
|
||||||
{
|
{
|
||||||
static class BaseFunctions
|
static class BaseFunctions
|
||||||
{
|
{
|
@ -2,13 +2,13 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
using Bloxstrap.Utility;
|
using Bloxstrap.UI.Utility;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper.Base
|
||||||
{
|
{
|
||||||
public class DialogBase : Form, IBootstrapperDialog
|
public class WinFormsDialogBase : Form, IBootstrapperDialog
|
||||||
{
|
{
|
||||||
public Bootstrapper? Bootstrapper { get; set; }
|
public Bloxstrap.Bootstrapper? Bootstrapper { get; set; }
|
||||||
|
|
||||||
#region UI Elements
|
#region UI Elements
|
||||||
protected virtual string _message { get; set; } = "Please wait...";
|
protected virtual string _message { get; set; } = "Please wait...";
|
@ -1,4 +1,4 @@
|
|||||||
<Window x:Class="Bloxstrap.UI.BootstrapperDialogs.WPF.Views.ByfronDialog"
|
<Window x:Class="Bloxstrap.UI.Elements.Bootstrapper.ByfronDialog"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
@ -6,9 +6,10 @@ using System.Windows.Media.Imaging;
|
|||||||
|
|
||||||
using Bloxstrap.Enums;
|
using Bloxstrap.Enums;
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
using Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels;
|
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
||||||
|
using Bloxstrap.UI.ViewModels.Bootstrapper;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for ByfronDialog.xaml
|
/// Interaction logic for ByfronDialog.xaml
|
||||||
@ -17,7 +18,7 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
|
|||||||
{
|
{
|
||||||
private readonly ByfronDialogViewModel _viewModel;
|
private readonly ByfronDialogViewModel _viewModel;
|
||||||
|
|
||||||
public Bootstrapper? Bootstrapper { get; set; }
|
public Bloxstrap.Bootstrapper? Bootstrapper { get; set; }
|
||||||
|
|
||||||
#region UI Elements
|
#region UI Elements
|
||||||
public string Message
|
public string Message
|
||||||
@ -52,10 +53,12 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
|
|||||||
|
|
||||||
public bool CancelEnabled
|
public bool CancelEnabled
|
||||||
{
|
{
|
||||||
get => _viewModel.CancelButtonVisibility == Visibility.Visible;
|
get => _viewModel.CancelEnabled;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_viewModel.CancelButtonVisibility = (value ? Visibility.Visible : Visibility.Collapsed);
|
_viewModel.CancelEnabled = value;
|
||||||
|
|
||||||
|
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelEnabled));
|
||||||
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelButtonVisibility));
|
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelButtonVisibility));
|
||||||
|
|
||||||
_viewModel.OnPropertyChanged(nameof(_viewModel.VersionTextVisibility));
|
_viewModel.OnPropertyChanged(nameof(_viewModel.VersionTextVisibility));
|
@ -1,4 +1,4 @@
|
|||||||
<ui:UiWindow x:Class="Bloxstrap.UI.BootstrapperDialogs.WPF.Views.FluentDialog"
|
<ui:UiWindow x:Class="Bloxstrap.UI.Elements.Bootstrapper.FluentDialog"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<Border Grid.Row="2" Padding="15" Background="{ui:ThemeResource SolidBackgroundFillColorSecondaryBrush}">
|
<Border Grid.Row="2" Padding="15" Background="{ui:ThemeResource SolidBackgroundFillColorSecondaryBrush}">
|
||||||
<Button Margin="0" Content="{Binding CancelButtonText, Mode=OneWay}" Width="120" HorizontalAlignment="Right" IsEnabled="{Binding CancelButtonEnabled, Mode=OneWay}" Command="{Binding CancelInstallCommand}" />
|
<Button Margin="0" Content="Cancel" Width="120" HorizontalAlignment="Right" IsEnabled="{Binding CancelButtonEnabled, Mode=OneWay}" Command="{Binding CancelInstallCommand}" />
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
</ui:UiWindow>
|
</ui:UiWindow>
|
@ -2,14 +2,15 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Bloxstrap.Extensions;
|
|
||||||
using Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels;
|
|
||||||
|
|
||||||
using Wpf.Ui.Appearance;
|
using Wpf.Ui.Appearance;
|
||||||
using Wpf.Ui.Mvvm.Contracts;
|
using Wpf.Ui.Mvvm.Contracts;
|
||||||
using Wpf.Ui.Mvvm.Services;
|
using Wpf.Ui.Mvvm.Services;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
|
using Bloxstrap.Extensions;
|
||||||
|
using Bloxstrap.UI.ViewModels.Bootstrapper;
|
||||||
|
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
||||||
|
|
||||||
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for FluentDialog.xaml
|
/// Interaction logic for FluentDialog.xaml
|
||||||
@ -18,9 +19,9 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
|
|||||||
{
|
{
|
||||||
private readonly IThemeService _themeService = new ThemeService();
|
private readonly IThemeService _themeService = new ThemeService();
|
||||||
|
|
||||||
private readonly FluentDialogViewModel _viewModel;
|
private readonly BootstrapperDialogViewModel _viewModel;
|
||||||
|
|
||||||
public Bootstrapper? Bootstrapper { get; set; }
|
public Bloxstrap.Bootstrapper? Bootstrapper { get; set; }
|
||||||
|
|
||||||
#region UI Elements
|
#region UI Elements
|
||||||
public string Message
|
public string Message
|
||||||
@ -55,21 +56,20 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
|
|||||||
|
|
||||||
public bool CancelEnabled
|
public bool CancelEnabled
|
||||||
{
|
{
|
||||||
get => _viewModel.CancelButtonVisibility == Visibility.Visible;
|
get => _viewModel.CancelEnabled;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_viewModel.CancelButtonVisibility = (value ? Visibility.Visible : Visibility.Collapsed);
|
_viewModel.CancelEnabled = value;
|
||||||
_viewModel.CancelButtonEnabled = value;
|
|
||||||
|
|
||||||
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelButtonVisibility));
|
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelButtonVisibility));
|
||||||
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelButtonEnabled));
|
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelEnabled));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public FluentDialog()
|
public FluentDialog()
|
||||||
{
|
{
|
||||||
_viewModel = new FluentDialogViewModel(this);
|
_viewModel = new BootstrapperDialogViewModel(this);
|
||||||
DataContext = _viewModel;
|
DataContext = _viewModel;
|
||||||
Title = App.Settings.Prop.BootstrapperTitle;
|
Title = App.Settings.Prop.BootstrapperTitle;
|
||||||
Icon = App.Settings.Prop.BootstrapperIcon.GetIcon().GetImageSource();
|
Icon = App.Settings.Prop.BootstrapperIcon.GetIcon().GetImageSource();
|
@ -1,6 +1,6 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
partial class LegacyDialog2009
|
partial class LegacyDialog2009
|
||||||
{
|
{
|
@ -1,12 +1,14 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
||||||
|
|
||||||
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
// windows: https://youtu.be/VpduiruysuM?t=18
|
// windows: https://youtu.be/VpduiruysuM?t=18
|
||||||
// mac: https://youtu.be/ncHhbcVDRgQ?t=63
|
// mac: https://youtu.be/ncHhbcVDRgQ?t=63
|
||||||
|
|
||||||
public partial class LegacyDialog2009 : DialogBase
|
public partial class LegacyDialog2009 : WinFormsDialogBase
|
||||||
{
|
{
|
||||||
protected override string _message
|
protected override string _message
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
partial class LegacyDialog2011
|
partial class LegacyDialog2011
|
||||||
{
|
{
|
@ -2,12 +2,13 @@ using System;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
|
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
// https://youtu.be/3K9oCEMHj2s?t=35
|
// https://youtu.be/3K9oCEMHj2s?t=35
|
||||||
|
|
||||||
public partial class LegacyDialog2011 : DialogBase
|
public partial class LegacyDialog2011 : WinFormsDialogBase
|
||||||
{
|
{
|
||||||
protected override string _message
|
protected override string _message
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
partial class ProgressDialog
|
partial class ProgressDialog
|
||||||
{
|
{
|
@ -4,12 +4,13 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
using Bloxstrap.Enums;
|
using Bloxstrap.Enums;
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
|
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
// basically just the modern dialog
|
// basically just the modern dialog
|
||||||
|
|
||||||
public partial class ProgressDialog : DialogBase
|
public partial class ProgressDialog : WinFormsDialogBase
|
||||||
{
|
{
|
||||||
protected override string _message
|
protected override string _message
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
partial class VistaDialog
|
partial class VistaDialog
|
||||||
{
|
{
|
@ -2,8 +2,9 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
|
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
||||||
{
|
{
|
||||||
// https://youtu.be/h0_AL95Sc3o?t=48
|
// https://youtu.be/h0_AL95Sc3o?t=48
|
||||||
|
|
||||||
@ -11,7 +12,7 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
|
|||||||
// since taskdialog is part of winforms, it can't really be properly used without a form
|
// since taskdialog is part of winforms, it can't really be properly used without a form
|
||||||
// for example, cross-threaded calls to ui controls can't really be done outside of a form
|
// for example, cross-threaded calls to ui controls can't really be done outside of a form
|
||||||
|
|
||||||
public partial class VistaDialog : DialogBase
|
public partial class VistaDialog : WinFormsDialogBase
|
||||||
{
|
{
|
||||||
private TaskDialogPage _dialogPage;
|
private TaskDialogPage _dialogPage;
|
||||||
|
|
@ -5,7 +5,7 @@ using System.Windows;
|
|||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Interop;
|
using System.Windows.Interop;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
|
using Bloxstrap.UI.Utility;
|
||||||
using Bloxstrap.Utility;
|
using Bloxstrap.Utility;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.MessageBox
|
namespace Bloxstrap.UI.MessageBox
|
||||||
@ -19,22 +19,6 @@ namespace Bloxstrap.UI.MessageBox
|
|||||||
{
|
{
|
||||||
public MessageBoxResult Result = MessageBoxResult.None;
|
public MessageBoxResult Result = MessageBoxResult.None;
|
||||||
|
|
||||||
public static MessageBoxResult Show(string message, MessageBoxImage icon = MessageBoxImage.None, MessageBoxButton buttons = MessageBoxButton.OK, MessageBoxResult defaultResult = MessageBoxResult.None)
|
|
||||||
{
|
|
||||||
if (App.IsQuiet)
|
|
||||||
return defaultResult;
|
|
||||||
|
|
||||||
// threading weirdness lol
|
|
||||||
MessageBoxResult result = Application.Current.Dispatcher.Invoke(new Func<MessageBoxResult>(() =>
|
|
||||||
{
|
|
||||||
var messagebox = new FluentMessageBox(message, icon, buttons);
|
|
||||||
messagebox.ShowDialog();
|
|
||||||
return messagebox.Result;
|
|
||||||
}));
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FluentMessageBox(string message, MessageBoxImage image, MessageBoxButton buttons)
|
public FluentMessageBox(string message, MessageBoxImage image, MessageBoxButton buttons)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
@ -1,10 +1,10 @@
|
|||||||
<ui:UiWindow x:Class="Bloxstrap.UI.Menu.Views.MainWindow"
|
<ui:UiWindow x:Class="Bloxstrap.UI.Menu.MainWindow"
|
||||||
x:Name="ConfigurationWindow"
|
x:Name="ConfigurationWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:pages="clr-namespace:Bloxstrap.UI.Menu.Views.Pages"
|
xmlns:pages="clr-namespace:Bloxstrap.UI.Menu.Pages"
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Bloxstrap Menu"
|
Title="Bloxstrap Menu"
|
@ -7,9 +7,9 @@ using Wpf.Ui.Mvvm.Contracts;
|
|||||||
using Wpf.Ui.Mvvm.Services;
|
using Wpf.Ui.Mvvm.Services;
|
||||||
|
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views
|
namespace Bloxstrap.UI.Menu
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for MainWindow.xaml
|
/// Interaction logic for MainWindow.xaml
|
@ -1,9 +1,9 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.AboutPage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.AboutPage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:models="clr-namespace:Bloxstrap.UI.Menu.ViewModels"
|
xmlns:models="clr-namespace:Bloxstrap.UI.ViewModels"
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="700" d:DesignWidth="800"
|
d:DesignHeight="700" d:DesignWidth="800"
|
@ -1,6 +1,6 @@
|
|||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for AboutPage.xaml
|
/// Interaction logic for AboutPage.xaml
|
@ -1,9 +1,8 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.AppearancePage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.AppearancePage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:local="clr-namespace:Bloxstrap.UI.Menu.Views.Pages"
|
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="520" d:DesignWidth="800"
|
d:DesignHeight="520" d:DesignWidth="800"
|
@ -1,6 +1,6 @@
|
|||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for AppearancePage.xaml
|
/// Interaction logic for AppearancePage.xaml
|
@ -1,4 +1,4 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.BehaviourPage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.BehaviourPage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
@ -1,6 +1,6 @@
|
|||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for BehaviourPage.xaml
|
/// Interaction logic for BehaviourPage.xaml
|
@ -1,9 +1,9 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.FastFlagsPage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.FastFlagsPage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:models="clr-namespace:Bloxstrap.UI.Menu.ViewModels"
|
xmlns:models="clr-namespace:Bloxstrap.UI.ViewModels"
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="1000" d:DesignWidth="800"
|
d:DesignHeight="1000" d:DesignWidth="800"
|
@ -1,9 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for FastFlagsPage.xaml
|
/// Interaction logic for FastFlagsPage.xaml
|
@ -1,9 +1,9 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.InstallationPage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.InstallationPage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:models="clr-namespace:Bloxstrap.UI.Menu.ViewModels"
|
xmlns:models="clr-namespace:Bloxstrap.UI.ViewModels"
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="450" d:DesignWidth="800"
|
d:DesignHeight="450" d:DesignWidth="800"
|
@ -3,9 +3,9 @@ using System.Windows.Controls;
|
|||||||
using System.Windows.Data;
|
using System.Windows.Data;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for InstallationPage.xaml
|
/// Interaction logic for InstallationPage.xaml
|
@ -1,4 +1,4 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.IntegrationsPage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.IntegrationsPage"
|
||||||
x:Name="IntegrationsPageView"
|
x:Name="IntegrationsPageView"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
@ -1,9 +1,9 @@
|
|||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
|
|
||||||
using Bloxstrap.Models;
|
using Bloxstrap.Models;
|
||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for IntegrationsPage.xaml
|
/// Interaction logic for IntegrationsPage.xaml
|
@ -1,9 +1,9 @@
|
|||||||
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.Pages.ModsPage"
|
<ui:UiPage x:Class="Bloxstrap.UI.Menu.Pages.ModsPage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:models="clr-namespace:Bloxstrap.UI.Menu.ViewModels"
|
xmlns:models="clr-namespace:Bloxstrap.UI.ViewModels"
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="800" d:DesignWidth="800"
|
d:DesignHeight="800" d:DesignWidth="800"
|
@ -1,9 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
using Bloxstrap.UI.Menu.ViewModels;
|
using Bloxstrap.UI.ViewModels.Menu;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.Views.Pages
|
namespace Bloxstrap.UI.Menu.Pages
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interaction logic for ModsPage.xaml
|
/// Interaction logic for ModsPage.xaml
|
@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs
|
namespace Bloxstrap.UI
|
||||||
{
|
{
|
||||||
public interface IBootstrapperDialog
|
public interface IBootstrapperDialog
|
||||||
{
|
{
|
@ -1,15 +0,0 @@
|
|||||||
using System.Windows;
|
|
||||||
|
|
||||||
namespace Bloxstrap.UI.MessageBox
|
|
||||||
{
|
|
||||||
static class NativeMessageBox
|
|
||||||
{
|
|
||||||
public static MessageBoxResult Show(string message, MessageBoxImage icon = MessageBoxImage.None, MessageBoxButton buttons = MessageBoxButton.OK, MessageBoxResult defaultResult = MessageBoxResult.None)
|
|
||||||
{
|
|
||||||
if (App.IsQuiet)
|
|
||||||
return defaultResult;
|
|
||||||
|
|
||||||
return System.Windows.MessageBox.Show(message, App.ProjectName, buttons, icon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,7 +3,7 @@ using System.Windows;
|
|||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
|
||||||
namespace Bloxstrap.Utility
|
namespace Bloxstrap.UI.Utility
|
||||||
{
|
{
|
||||||
static class Rendering
|
static class Rendering
|
||||||
{
|
{
|
@ -2,7 +2,7 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bloxstrap.Utility
|
namespace Bloxstrap.UI.Utility
|
||||||
{
|
{
|
||||||
public static class WindowScaling
|
public static class WindowScaling
|
||||||
{
|
{
|
@ -7,9 +7,9 @@ using CommunityToolkit.Mvvm.Input;
|
|||||||
|
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Bootstrapper
|
||||||
{
|
{
|
||||||
public class FluentDialogViewModel : INotifyPropertyChanged
|
public class BootstrapperDialogViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public event PropertyChangedEventHandler? PropertyChanged;
|
public event PropertyChangedEventHandler? PropertyChanged;
|
||||||
public void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
public void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||||
@ -24,11 +24,10 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels
|
|||||||
public bool ProgressIndeterminate { get; set; } = true;
|
public bool ProgressIndeterminate { get; set; } = true;
|
||||||
public int ProgressValue { get; set; } = 0;
|
public int ProgressValue { get; set; } = 0;
|
||||||
|
|
||||||
public bool CancelButtonEnabled { get; set; } = false;
|
public bool CancelEnabled { get; set; } = false;
|
||||||
public Visibility CancelButtonVisibility { get; set; } = Visibility.Collapsed;
|
public Visibility CancelButtonVisibility => CancelEnabled ? Visibility.Visible : Visibility.Collapsed;
|
||||||
public string CancelButtonText { get; set; } = "Cancel";
|
|
||||||
|
|
||||||
public FluentDialogViewModel(IBootstrapperDialog dialog)
|
public BootstrapperDialogViewModel(IBootstrapperDialog dialog)
|
||||||
{
|
{
|
||||||
_dialog = dialog;
|
_dialog = dialog;
|
||||||
}
|
}
|
@ -6,9 +6,9 @@ using System.Windows;
|
|||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Bootstrapper
|
||||||
{
|
{
|
||||||
public class ByfronDialogViewModel : FluentDialogViewModel, INotifyPropertyChanged
|
public class ByfronDialogViewModel : BootstrapperDialogViewModel, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
// Using dark theme for default values.
|
// Using dark theme for default values.
|
||||||
public ImageSource ByfronLogoLocation { get; set; } = new BitmapImage(new Uri("pack://application:,,,/Resources/BootstrapperStyles/ByfronDialog/ByfronLogoDark.jpg"));
|
public ImageSource ByfronLogoLocation { get; set; } = new BitmapImage(new Uri("pack://application:,,,/Resources/BootstrapperStyles/ByfronDialog/ByfronLogoDark.jpg"));
|
||||||
@ -18,7 +18,8 @@ namespace Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels
|
|||||||
public Brush IconColor { get; set; } = new SolidColorBrush(Color.FromRgb(255, 255, 255));
|
public Brush IconColor { get; set; } = new SolidColorBrush(Color.FromRgb(255, 255, 255));
|
||||||
public Brush ProgressBarBackground { get; set; } = new SolidColorBrush(Color.FromRgb(86, 86, 86));
|
public Brush ProgressBarBackground { get; set; } = new SolidColorBrush(Color.FromRgb(86, 86, 86));
|
||||||
|
|
||||||
public Visibility VersionTextVisibility => CancelButtonVisibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
|
public Visibility VersionTextVisibility => CancelEnabled ? Visibility.Collapsed : Visibility.Visible;
|
||||||
|
|
||||||
public string VersionText
|
public string VersionText
|
||||||
{
|
{
|
||||||
get
|
get
|
@ -1,7 +1,7 @@
|
|||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using CommunityToolkit.Mvvm.Input;
|
using CommunityToolkit.Mvvm.Input;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels
|
||||||
{
|
{
|
||||||
public static class GlobalViewModel
|
public static class GlobalViewModel
|
||||||
{
|
{
|
@ -4,7 +4,7 @@ using System.Windows;
|
|||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
using Bloxstrap.Models.Attributes;
|
using Bloxstrap.Models.Attributes;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class AboutViewModel
|
public class AboutViewModel
|
||||||
{
|
{
|
||||||
@ -16,6 +16,6 @@ namespace Bloxstrap.UI.Menu.ViewModels
|
|||||||
public string BuildCommitHashUrl => $"https://github.com/{App.ProjectRepository}/commit/{BuildMetadata.CommitHash}";
|
public string BuildCommitHashUrl => $"https://github.com/{App.ProjectRepository}/commit/{BuildMetadata.CommitHash}";
|
||||||
|
|
||||||
public Visibility BuildInformationVisibility => BuildMetadata.CommitRef.StartsWith("tag") ? Visibility.Collapsed : Visibility.Visible;
|
public Visibility BuildInformationVisibility => BuildMetadata.CommitRef.StartsWith("tag") ? Visibility.Collapsed : Visibility.Visible;
|
||||||
public Visibility BuildCommitVisibility => String.IsNullOrEmpty(BuildMetadata.CommitHash) ? Visibility.Collapsed : Visibility.Visible;
|
public Visibility BuildCommitVisibility => string.IsNullOrEmpty(BuildMetadata.CommitHash) ? Visibility.Collapsed : Visibility.Visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,10 +11,9 @@ using CommunityToolkit.Mvvm.Input;
|
|||||||
|
|
||||||
using Bloxstrap.Enums;
|
using Bloxstrap.Enums;
|
||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
using Bloxstrap.UI.BootstrapperDialogs;
|
using Bloxstrap.UI.Menu;
|
||||||
using Bloxstrap.UI.Menu.Views;
|
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class AppearanceViewModel : INotifyPropertyChanged
|
public class AppearanceViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class BehaviourViewModel
|
public class BehaviourViewModel
|
||||||
{
|
{
|
@ -5,7 +5,7 @@ using System.Windows.Input;
|
|||||||
|
|
||||||
using CommunityToolkit.Mvvm.Input;
|
using CommunityToolkit.Mvvm.Input;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class FastFlagsViewModel : INotifyPropertyChanged
|
public class FastFlagsViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
@ -14,7 +14,7 @@ using Bloxstrap.Enums;
|
|||||||
using Bloxstrap.Extensions;
|
using Bloxstrap.Extensions;
|
||||||
using Bloxstrap.Models;
|
using Bloxstrap.Models;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class InstallationViewModel : INotifyPropertyChanged
|
public class InstallationViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
@ -6,7 +6,7 @@ using CommunityToolkit.Mvvm.Input;
|
|||||||
|
|
||||||
using Bloxstrap.Models;
|
using Bloxstrap.Models;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class IntegrationsViewModel : INotifyPropertyChanged
|
public class IntegrationsViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
@ -12,7 +12,7 @@ using Wpf.Ui.Mvvm.Contracts;
|
|||||||
|
|
||||||
using Bloxstrap.UI.MessageBox;
|
using Bloxstrap.UI.MessageBox;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class MainWindowViewModel
|
public class MainWindowViewModel
|
||||||
{
|
{
|
||||||
@ -37,7 +37,7 @@ namespace Bloxstrap.UI.Menu.ViewModels
|
|||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(App.BaseDirectory))
|
if (string.IsNullOrEmpty(App.BaseDirectory))
|
||||||
{
|
{
|
||||||
FluentMessageBox.Show("You must set an install location", MessageBoxImage.Error);
|
Controls.ShowMessageBox("You must set an install location", MessageBoxImage.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ namespace Bloxstrap.UI.Menu.ViewModels
|
|||||||
}
|
}
|
||||||
catch (UnauthorizedAccessException)
|
catch (UnauthorizedAccessException)
|
||||||
{
|
{
|
||||||
FluentMessageBox.Show(
|
Controls.ShowMessageBox(
|
||||||
$"{App.ProjectName} does not have write access to the install location you selected. Please choose another install location.",
|
$"{App.ProjectName} does not have write access to the install location you selected. Please choose another install location.",
|
||||||
MessageBoxImage.Error
|
MessageBoxImage.Error
|
||||||
);
|
);
|
||||||
@ -60,7 +60,7 @@ namespace Bloxstrap.UI.Menu.ViewModels
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
FluentMessageBox.Show(ex.Message, MessageBoxImage.Error);
|
Controls.ShowMessageBox(ex.Message, MessageBoxImage.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ namespace Bloxstrap.UI.Menu.ViewModels
|
|||||||
{
|
{
|
||||||
App.Logger.WriteLine($"[MainWindowViewModel::ConfirmSettings] Changing install location from {_originalBaseDirectory} to {App.BaseDirectory}");
|
App.Logger.WriteLine($"[MainWindowViewModel::ConfirmSettings] Changing install location from {_originalBaseDirectory} to {App.BaseDirectory}");
|
||||||
|
|
||||||
FluentMessageBox.Show(
|
Controls.ShowMessageBox(
|
||||||
$"{App.ProjectName} will install to the new location you've set the next time it runs.",
|
$"{App.ProjectName} will install to the new location you've set the next time it runs.",
|
||||||
MessageBoxImage.Information
|
MessageBoxImage.Information
|
||||||
);
|
);
|
@ -8,7 +8,7 @@ using Bloxstrap.Extensions;
|
|||||||
|
|
||||||
using CommunityToolkit.Mvvm.Input;
|
using CommunityToolkit.Mvvm.Input;
|
||||||
|
|
||||||
namespace Bloxstrap.UI.Menu.ViewModels
|
namespace Bloxstrap.UI.ViewModels.Menu
|
||||||
{
|
{
|
||||||
public class ModsViewModel
|
public class ModsViewModel
|
||||||
{
|
{
|
Loading…
Reference in New Issue
Block a user