Refactor class/folder structure of UI elements

pain
This commit is contained in:
pizzaboxer 2023-05-15 15:06:39 +01:00
parent baf70aa2e5
commit dd60e78a5d
No known key found for this signature in database
GPG Key ID: 59D4A1DBAD0F2BA8
50 changed files with 128 additions and 154 deletions

View File

@ -13,11 +13,11 @@ using System.Windows.Threading;
using Microsoft.Win32; using Microsoft.Win32;
using Bloxstrap.Dialogs;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
using Bloxstrap.Models; using Bloxstrap.Models;
using Bloxstrap.Singletons; using Bloxstrap.Singletons;
using Bloxstrap.Views; using Bloxstrap.UI.BootstrapperDialogs;
using Bloxstrap.UI.Menu.Views;
namespace Bloxstrap namespace Bloxstrap
{ {

View File

@ -12,11 +12,11 @@ using System.Windows;
using Microsoft.Win32; using Microsoft.Win32;
using Bloxstrap.Dialogs;
using Bloxstrap.Enums; using Bloxstrap.Enums;
using Bloxstrap.Integrations; using Bloxstrap.Integrations;
using Bloxstrap.Models; using Bloxstrap.Models;
using Bloxstrap.Tools; using Bloxstrap.Tools;
using Bloxstrap.UI.BootstrapperDialogs;
namespace Bloxstrap namespace Bloxstrap
{ {

View File

@ -1,5 +1,7 @@
using Bloxstrap.Dialogs; using Bloxstrap.Enums;
using Bloxstrap.Enums; using Bloxstrap.UI.BootstrapperDialogs;
using Bloxstrap.UI.BootstrapperDialogs.WinForms;
using Bloxstrap.UI.BootstrapperDialogs.WPF.Views;
namespace Bloxstrap.Extensions namespace Bloxstrap.Extensions
{ {

View File

@ -1,6 +1,6 @@
using System.Windows.Forms; using System.Windows.Forms;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs
{ {
public interface IBootstrapperDialog public interface IBootstrapperDialog
{ {

View File

@ -6,9 +6,7 @@ using System.Windows;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Bloxstrap.Dialogs; namespace Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels
namespace Bloxstrap.ViewModels
{ {
public class ByfronDialogViewModel : FluentDialogViewModel, INotifyPropertyChanged public class ByfronDialogViewModel : FluentDialogViewModel, INotifyPropertyChanged
{ {
@ -21,9 +19,9 @@ namespace Bloxstrap.ViewModels
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 => CancelButtonVisibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
public string VersionText public string VersionText
{ {
get get
{ {
string playerLocation = Path.Combine(Directories.Versions, App.State.Prop.VersionGuid, "RobloxPlayerBeta.exe"); string playerLocation = Path.Combine(Directories.Versions, App.State.Prop.VersionGuid, "RobloxPlayerBeta.exe");
@ -36,7 +34,7 @@ namespace Bloxstrap.ViewModels
return ""; return "";
return versionInfo.ProductVersion.Replace(", ", "."); return versionInfo.ProductVersion.Replace(", ", ".");
} }
} }
public ByfronDialogViewModel(IBootstrapperDialog dialog) : base(dialog) public ByfronDialogViewModel(IBootstrapperDialog dialog) : base(dialog)

View File

@ -5,10 +5,9 @@ using System.Windows.Media;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using Bloxstrap.Dialogs;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels
{ {
public class FluentDialogViewModel : INotifyPropertyChanged public class FluentDialogViewModel : INotifyPropertyChanged
{ {

View File

@ -1,9 +1,8 @@
<Window x:Class="Bloxstrap.Dialogs.ByfronDialog" <Window x:Class="Bloxstrap.UI.BootstrapperDialogs.WPF.Views.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"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Bloxstrap.Dialogs"
mc:Ignorable="d" mc:Ignorable="d"
Width="600" Width="600"
Height="400" Height="400"

View File

@ -6,9 +6,9 @@ using System.Windows.Media.Imaging;
using Bloxstrap.Enums; using Bloxstrap.Enums;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
using Bloxstrap.ViewModels; using Bloxstrap.UI.BootstrapperDialogs.WPF.ViewModels;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
{ {
/// <summary> /// <summary>
/// Interaction logic for ByfronDialog.xaml /// Interaction logic for ByfronDialog.xaml

View File

@ -1,9 +1,8 @@
<ui:UiWindow x:Class="Bloxstrap.Dialogs.FluentDialog" <ui:UiWindow x:Class="Bloxstrap.UI.BootstrapperDialogs.WPF.Views.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"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Bloxstrap.Dialogs"
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml" xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
mc:Ignorable="d" mc:Ignorable="d"
Width="420" Width="420"

View File

@ -2,15 +2,14 @@
using System.Windows; using System.Windows;
using System.Windows.Forms; using System.Windows.Forms;
using Bloxstrap.Enums;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
using Bloxstrap.ViewModels; 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.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WPF.Views
{ {
/// <summary> /// <summary>
/// Interaction logic for FluentDialog.xaml /// Interaction logic for FluentDialog.xaml

View File

@ -1,12 +1,11 @@
using System; using System;
using System.Windows; using System.Windows;
using System.Windows.Forms; using System.Windows.Forms;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
public class BootstrapperDialogForm : Form, IBootstrapperDialog public class DialogBase : Form, IBootstrapperDialog
{ {
public Bootstrapper? Bootstrapper { get; set; } public Bootstrapper? Bootstrapper { get; set; }
@ -16,16 +15,16 @@ namespace Bloxstrap.Dialogs
protected virtual int _progressValue { get; set; } protected virtual int _progressValue { get; set; }
protected virtual bool _cancelEnabled { get; set; } protected virtual bool _cancelEnabled { get; set; }
public string Message public string Message
{ {
get => _message; get => _message;
set set
{ {
if (this.InvokeRequired) if (InvokeRequired)
this.Invoke(() => _message = value); Invoke(() => _message = value);
else else
_message = value; _message = value;
} }
} }
public ProgressBarStyle ProgressStyle public ProgressBarStyle ProgressStyle
@ -33,8 +32,8 @@ namespace Bloxstrap.Dialogs
get => _progressStyle; get => _progressStyle;
set set
{ {
if (this.InvokeRequired) if (InvokeRequired)
this.Invoke(() => _progressStyle = value); Invoke(() => _progressStyle = value);
else else
_progressStyle = value; _progressStyle = value;
} }
@ -45,8 +44,8 @@ namespace Bloxstrap.Dialogs
get => _progressValue; get => _progressValue;
set set
{ {
if (this.InvokeRequired) if (InvokeRequired)
this.Invoke(() => _progressValue = value); Invoke(() => _progressValue = value);
else else
_progressValue = value; _progressValue = value;
} }
@ -57,8 +56,8 @@ namespace Bloxstrap.Dialogs
get => _cancelEnabled; get => _cancelEnabled;
set set
{ {
if (this.InvokeRequired) if (InvokeRequired)
this.Invoke(() => _cancelEnabled = value); Invoke(() => _cancelEnabled = value);
else else
_cancelEnabled = value; _cancelEnabled = value;
} }
@ -67,9 +66,9 @@ namespace Bloxstrap.Dialogs
public void ScaleWindow() public void ScaleWindow()
{ {
this.Size = this.MinimumSize = this.MaximumSize = WindowScaling.GetScaledSize(this.Size); Size = MinimumSize = MaximumSize = WindowScaling.GetScaledSize(Size);
foreach (Control control in this.Controls) foreach (Control control in Controls)
{ {
control.Size = WindowScaling.GetScaledSize(control.Size); control.Size = WindowScaling.GetScaledSize(control.Size);
control.Location = WindowScaling.GetScaledPoint(control.Location); control.Location = WindowScaling.GetScaledPoint(control.Location);
@ -79,25 +78,25 @@ namespace Bloxstrap.Dialogs
public void SetupDialog() public void SetupDialog()
{ {
this.Text = App.Settings.Prop.BootstrapperTitle; Text = App.Settings.Prop.BootstrapperTitle;
this.Icon = App.Settings.Prop.BootstrapperIcon.GetIcon(); Icon = App.Settings.Prop.BootstrapperIcon.GetIcon();
} }
public void ButtonCancel_Click(object? sender, EventArgs e) public void ButtonCancel_Click(object? sender, EventArgs e)
{ {
Bootstrapper?.CancelInstall(); Bootstrapper?.CancelInstall();
this.Close(); Close();
} }
#region IBootstrapperDialog Methods #region IBootstrapperDialog Methods
public void ShowBootstrapper() => this.ShowDialog(); public void ShowBootstrapper() => ShowDialog();
public virtual void CloseBootstrapper() public virtual void CloseBootstrapper()
{ {
if (this.InvokeRequired) if (InvokeRequired)
this.Invoke(CloseBootstrapper); Invoke(CloseBootstrapper);
else else
this.Close(); Close();
} }
public virtual void ShowSuccess(string message) public virtual void ShowSuccess(string message)
@ -124,5 +123,5 @@ namespace Bloxstrap.Dialogs
Environment.Exit(Bootstrapper.ERROR_INSTALL_USEREXIT); Environment.Exit(Bootstrapper.ERROR_INSTALL_USEREXIT);
} }
#endregion #endregion
} }
} }

View File

@ -1,6 +1,6 @@
using System.Windows.Forms; using System.Windows.Forms;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
partial class LegacyDialog2009 partial class LegacyDialog2009
{ {

View File

@ -1,12 +1,12 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
// 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 : BootstrapperDialogForm public partial class LegacyDialog2009 : DialogBase
{ {
protected override string _message protected override string _message
{ {

View File

@ -1,6 +1,6 @@
using System.Windows.Forms; using System.Windows.Forms;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
partial class LegacyDialog2011 partial class LegacyDialog2011
{ {

View File

@ -3,11 +3,11 @@ using System.Windows.Forms;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
// https://youtu.be/3K9oCEMHj2s?t=35 // https://youtu.be/3K9oCEMHj2s?t=35
public partial class LegacyDialog2011 : BootstrapperDialogForm public partial class LegacyDialog2011 : DialogBase
{ {
protected override string _message protected override string _message
{ {

View File

@ -1,6 +1,6 @@
using System.Windows.Forms; using System.Windows.Forms;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
partial class ProgressDialog partial class ProgressDialog
{ {

View File

@ -5,11 +5,11 @@ using System.Windows.Forms;
using Bloxstrap.Enums; using Bloxstrap.Enums;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
// basically just the modern dialog // basically just the modern dialog
public partial class ProgressDialog : BootstrapperDialogForm public partial class ProgressDialog : DialogBase
{ {
protected override string _message protected override string _message
{ {

View File

@ -1,4 +1,4 @@
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
partial class VistaDialog partial class VistaDialog
{ {

View File

@ -3,7 +3,7 @@ using System.Windows.Forms;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
namespace Bloxstrap.Dialogs namespace Bloxstrap.UI.BootstrapperDialogs.WinForms
{ {
// https://youtu.be/h0_AL95Sc3o?t=48 // https://youtu.be/h0_AL95Sc3o?t=48
@ -11,7 +11,7 @@ namespace Bloxstrap.Dialogs
// 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 : BootstrapperDialogForm public partial class VistaDialog : DialogBase
{ {
private TaskDialogPage _dialogPage; private TaskDialogPage _dialogPage;

View File

@ -1,4 +1,4 @@
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class AboutViewModel public class AboutViewModel
{ {

View File

@ -9,12 +9,12 @@ using System.Windows.Media;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using Bloxstrap.Dialogs;
using Bloxstrap.Enums; using Bloxstrap.Enums;
using Bloxstrap.Extensions; using Bloxstrap.Extensions;
using Bloxstrap.Views; using Bloxstrap.UI.BootstrapperDialogs;
using Bloxstrap.UI.Menu.Views;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class AppearanceViewModel : INotifyPropertyChanged public class AppearanceViewModel : INotifyPropertyChanged
{ {
@ -127,7 +127,7 @@ namespace Bloxstrap.ViewModels
{ {
App.Settings.Prop.BootstrapperIcon = BootstrapperIcon.IconCustom; App.Settings.Prop.BootstrapperIcon = BootstrapperIcon.IconCustom;
App.Settings.Prop.BootstrapperIconCustomLocation = value; App.Settings.Prop.BootstrapperIconCustomLocation = value;
OnPropertyChanged(nameof(Icon)); OnPropertyChanged(nameof(Icon));
OnPropertyChanged(nameof(IconPreviewSource)); OnPropertyChanged(nameof(IconPreviewSource));
} }

View File

@ -1,4 +1,4 @@
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class BehaviourViewModel public class BehaviourViewModel
{ {

View File

@ -8,7 +8,7 @@ using CommunityToolkit.Mvvm.Input;
using Bloxstrap.Singletons; using Bloxstrap.Singletons;
using System.ComponentModel; using System.ComponentModel;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class FastFlagsViewModel : INotifyPropertyChanged public class FastFlagsViewModel : INotifyPropertyChanged
{ {
@ -21,7 +21,7 @@ namespace Bloxstrap.ViewModels
public int FramerateLimit public int FramerateLimit
{ {
get => Int32.TryParse(App.FastFlags.GetValue("DFIntTaskSchedulerTargetFps"), out int x) ? x : 60; get => int.TryParse(App.FastFlags.GetValue("DFIntTaskSchedulerTargetFps"), out int x) ? x : 60;
set => App.FastFlags.SetValue("DFIntTaskSchedulerTargetFps", value); set => App.FastFlags.SetValue("DFIntTaskSchedulerTargetFps", value);
} }

View File

@ -1,7 +1,7 @@
using System.Windows.Input; using System.Windows.Input;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public static class GlobalViewModel public static class GlobalViewModel
{ {

View File

@ -13,7 +13,7 @@ using CommunityToolkit.Mvvm.Input;
using Bloxstrap.Enums; using Bloxstrap.Enums;
using Bloxstrap.Models; using Bloxstrap.Models;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class InstallationViewModel : INotifyPropertyChanged public class InstallationViewModel : INotifyPropertyChanged
{ {
@ -79,7 +79,7 @@ namespace Bloxstrap.ViewModels
public string InstallLocation public string InstallLocation
{ {
get => App.BaseDirectory; get => App.BaseDirectory;
set => App.BaseDirectory = value; set => App.BaseDirectory = value;
} }
@ -106,7 +106,7 @@ namespace Bloxstrap.ViewModels
{ {
// roblox typically sets channels in all lowercase, so here we find if a case insensitive match exists // roblox typically sets channels in all lowercase, so here we find if a case insensitive match exists
string? matchingChannel = Channels.Where(x => x.ToLower() == Channel.ToLower()).FirstOrDefault(); string? matchingChannel = Channels.Where(x => x.ToLower() == Channel.ToLower()).FirstOrDefault();
Channel = String.IsNullOrEmpty(matchingChannel) ? RobloxDeployment.DefaultChannel : matchingChannel; Channel = string.IsNullOrEmpty(matchingChannel) ? RobloxDeployment.DefaultChannel : matchingChannel;
} }
OnPropertyChanged(nameof(Channel)); OnPropertyChanged(nameof(Channel));

View File

@ -6,13 +6,13 @@ using CommunityToolkit.Mvvm.Input;
using Bloxstrap.Models; using Bloxstrap.Models;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class IntegrationsViewModel : INotifyPropertyChanged public class IntegrationsViewModel : 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));
public ICommand AddIntegrationCommand => new RelayCommand(AddIntegration); public ICommand AddIntegrationCommand => new RelayCommand(AddIntegration);
public ICommand DeleteIntegrationCommand => new RelayCommand(DeleteIntegration); public ICommand DeleteIntegrationCommand => new RelayCommand(DeleteIntegration);
@ -24,7 +24,7 @@ namespace Bloxstrap.ViewModels
}); });
SelectedCustomIntegrationIndex = CustomIntegrations.Count - 1; SelectedCustomIntegrationIndex = CustomIntegrations.Count - 1;
OnPropertyChanged(nameof(SelectedCustomIntegrationIndex)); OnPropertyChanged(nameof(SelectedCustomIntegrationIndex));
OnPropertyChanged(nameof(IsCustomIntegrationSelected)); OnPropertyChanged(nameof(IsCustomIntegrationSelected));
} }
@ -74,7 +74,7 @@ namespace Bloxstrap.ViewModels
public ObservableCollection<CustomIntegration> CustomIntegrations public ObservableCollection<CustomIntegration> CustomIntegrations
{ {
get => App.Settings.Prop.CustomIntegrations; get => App.Settings.Prop.CustomIntegrations;
set => App.Settings.Prop.CustomIntegrations = value; set => App.Settings.Prop.CustomIntegrations = value;
} }

View File

@ -10,7 +10,7 @@ using CommunityToolkit.Mvvm.Input;
using Wpf.Ui.Controls.Interfaces; using Wpf.Ui.Controls.Interfaces;
using Wpf.Ui.Mvvm.Contracts; using Wpf.Ui.Mvvm.Contracts;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class MainWindowViewModel public class MainWindowViewModel
{ {
@ -33,7 +33,7 @@ namespace Bloxstrap.ViewModels
private void ConfirmSettings() private void ConfirmSettings()
{ {
if (String.IsNullOrEmpty(App.BaseDirectory)) if (string.IsNullOrEmpty(App.BaseDirectory))
{ {
App.ShowMessageBox("You must set an install location", MessageBoxImage.Error); App.ShowMessageBox("You must set an install location", MessageBoxImage.Error);
return; return;
@ -89,7 +89,7 @@ namespace Bloxstrap.ViewModels
}; };
dialogControl.ShowAndWaitAsync( dialogControl.ShowAndWaitAsync(
"What to know before you install", "What to know before you install",
"After installation, you can open this menu again by searching for it in the Start menu.\n" + "After installation, you can open this menu again by searching for it in the Start menu.\n" +
"If you want to revert back to the original Roblox launcher, just uninstall Bloxstrap and it will automatically revert." "If you want to revert back to the original Roblox launcher, just uninstall Bloxstrap and it will automatically revert."
); );

View File

@ -4,7 +4,7 @@ using System.Windows.Input;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
namespace Bloxstrap.ViewModels namespace Bloxstrap.UI.Menu.ViewModels
{ {
public class ModsViewModel public class ModsViewModel
{ {

View File

@ -1,11 +1,10 @@
<ui:UiWindow x:Class="Bloxstrap.Views.MainWindow" <ui:UiWindow x:Class="Bloxstrap.UI.Menu.Views.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.Views.Pages" xmlns:pages="clr-namespace:Bloxstrap.UI.Menu.Views.Pages"
xmlns:models="clr-namespace:Bloxstrap.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"
Title="Bloxstrap Menu" Title="Bloxstrap Menu"

View File

@ -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.ViewModels; using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.Views namespace Bloxstrap.UI.Menu.Views
{ {
/// <summary> /// <summary>
/// Interaction logic for MainWindow.xaml /// Interaction logic for MainWindow.xaml

View File

@ -1,9 +1,9 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.AboutPage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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.ViewModels" xmlns:models="clr-namespace:Bloxstrap.UI.Menu.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"

View File

@ -1,6 +1,6 @@
using Bloxstrap.ViewModels; using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.Views.Pages namespace Bloxstrap.UI.Menu.Views.Pages
{ {
/// <summary> /// <summary>
/// Interaction logic for AboutPage.xaml /// Interaction logic for AboutPage.xaml

View File

@ -1,9 +1,9 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.AppearancePage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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.Views.Pages" 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"

View File

@ -0,0 +1,16 @@
using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.UI.Menu.Views.Pages
{
/// <summary>
/// Interaction logic for AppearancePage.xaml
/// </summary>
public partial class AppearancePage
{
public AppearancePage()
{
DataContext = new AppearanceViewModel(this);
InitializeComponent();
}
}
}

View File

@ -1,9 +1,8 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.BehaviourPage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:models="clr-namespace:Bloxstrap.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="600" d:DesignWidth="800" d:DesignHeight="600" d:DesignWidth="800"

View File

@ -1,6 +1,6 @@
using Bloxstrap.ViewModels; using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.Views.Pages namespace Bloxstrap.UI.Menu.Views.Pages
{ {
/// <summary> /// <summary>
/// Interaction logic for BehaviourPage.xaml /// Interaction logic for BehaviourPage.xaml

View File

@ -1,10 +1,9 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.FastFlagsPage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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:local="clr-namespace:Bloxstrap.Views.Pages" xmlns:models="clr-namespace:Bloxstrap.UI.Menu.ViewModels"
xmlns:models="clr-namespace:Bloxstrap.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"

View File

@ -1,8 +1,9 @@
using Bloxstrap.ViewModels; using System;
using System.Windows.Input; using System.Windows.Input;
using System;
namespace Bloxstrap.Views.Pages using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.UI.Menu.Views.Pages
{ {
/// <summary> /// <summary>
/// Interaction logic for FastFlagsPage.xaml /// Interaction logic for FastFlagsPage.xaml

View File

@ -1,9 +1,9 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.InstallationPage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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.ViewModels" xmlns:models="clr-namespace:Bloxstrap.UI.Menu.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"

View File

@ -1,6 +1,6 @@
using Bloxstrap.ViewModels; using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.Views.Pages namespace Bloxstrap.UI.Menu.Views.Pages
{ {
/// <summary> /// <summary>
/// Interaction logic for InstallationPage.xaml /// Interaction logic for InstallationPage.xaml

View File

@ -1,10 +1,9 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.IntegrationsPage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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"
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.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="1080" d:DesignWidth="800" d:DesignHeight="1080" d:DesignWidth="800"

View File

@ -1,10 +1,9 @@
using System; using System.Windows.Controls;
using System.Windows;
using System.Windows.Controls;
using Bloxstrap.Models;
using Bloxstrap.ViewModels;
namespace Bloxstrap.Views.Pages using Bloxstrap.Models;
using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.UI.Menu.Views.Pages
{ {
/// <summary> /// <summary>
/// Interaction logic for IntegrationsPage.xaml /// Interaction logic for IntegrationsPage.xaml

View File

@ -1,9 +1,9 @@
<ui:UiPage x:Class="Bloxstrap.Views.Pages.ModsPage" <ui:UiPage x:Class="Bloxstrap.UI.Menu.Views.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.ViewModels" xmlns:models="clr-namespace:Bloxstrap.UI.Menu.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"

View File

@ -1,10 +1,9 @@
using System; using System;
using System.Windows; using System.Windows;
using System.Windows.Input;
using Bloxstrap.ViewModels; using Bloxstrap.UI.Menu.ViewModels;
namespace Bloxstrap.Views.Pages namespace Bloxstrap.UI.Menu.Views.Pages
{ {
/// <summary> /// <summary>
/// Interaction logic for ModsPage.xaml /// Interaction logic for ModsPage.xaml

View File

@ -2,12 +2,10 @@
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Windows; using System.Windows;
using System.Windows.Forms;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Bloxstrap.Properties; using Bloxstrap.UI.Menu.Views;
using Bloxstrap.Views;
namespace Bloxstrap namespace Bloxstrap
{ {

View File

@ -1,30 +0,0 @@
using Bloxstrap.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Bloxstrap.Views.Pages
{
/// <summary>
/// Interaction logic for AppearancePage.xaml
/// </summary>
public partial class AppearancePage
{
public AppearancePage()
{
DataContext = new AppearanceViewModel(this);
InitializeComponent();
}
}
}