diff --git a/Bloxstrap/App.xaml b/Bloxstrap/App.xaml index de6837b..afdfb30 100644 --- a/Bloxstrap/App.xaml +++ b/Bloxstrap/App.xaml @@ -1,12 +1,13 @@  + xmlns:local="clr-namespace:Bloxstrap" + xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"> - - + + diff --git a/Bloxstrap/App.xaml.cs b/Bloxstrap/App.xaml.cs index 2a50550..0c8aced 100644 --- a/Bloxstrap/App.xaml.cs +++ b/Bloxstrap/App.xaml.cs @@ -6,13 +6,12 @@ using System.Net.Http; using System.Net; using System.Reflection; using System.Windows; - using Microsoft.Win32; using Bloxstrap.Models; -using Bloxstrap.Dialogs.Menu; using Bloxstrap.Enums; using Bloxstrap.Helpers; +using Bloxstrap.Views; namespace Bloxstrap { @@ -21,13 +20,13 @@ namespace Bloxstrap /// public partial class App : Application { - public const StringComparison StringFormat = StringComparison.InvariantCulture; public static readonly CultureInfo CultureFormat = CultureInfo.InvariantCulture; public const string ProjectName = "Bloxstrap"; public const string ProjectRepository = "pizzaboxer/bloxstrap"; public static string BaseDirectory = null!; + public static bool IsSetupComplete { get; set; } = true; public static bool IsFirstRun { get; private set; } = false; public static bool IsQuiet { get; private set; } = false; public static bool IsUninstall { get; private set; } = false; @@ -92,11 +91,13 @@ namespace Bloxstrap { IsFirstRun = true; Settings = SettingsManager.Settings; + BaseDirectory = Path.Combine(Directories.LocalAppData, ProjectName); - if (IsQuiet) - BaseDirectory = Path.Combine(Directories.LocalAppData, ProjectName); - else - new Preferences().ShowDialog(); + if (!IsQuiet) + { + IsSetupComplete = false; + new MainWindow().ShowDialog(); + } } else { @@ -105,8 +106,7 @@ namespace Bloxstrap } // preferences dialog was closed, and so base directory was never set - // (this doesnt account for the registry value not existing but thats basically never gonna happen) - if (String.IsNullOrEmpty(BaseDirectory)) + if (!IsSetupComplete) Environment.Exit(Bootstrapper.ERROR_INSTALL_USEREXIT); Directories.Initialize(BaseDirectory); @@ -140,7 +140,8 @@ namespace Bloxstrap } #endif - new Preferences().ShowDialog(); + //new Preferences().ShowDialog(); + new MainWindow().ShowDialog(); } else if (LaunchArgs[0].StartsWith("roblox-player:")) { diff --git a/Bloxstrap/Bloxstrap.csproj b/Bloxstrap/Bloxstrap.csproj index 7ea46c8..7a5330e 100644 --- a/Bloxstrap/Bloxstrap.csproj +++ b/Bloxstrap/Bloxstrap.csproj @@ -9,8 +9,13 @@ Bloxstrap.ico 2.0.0 2.0.0.0 + app.manifest + + + + @@ -22,9 +27,15 @@ + + + + + + diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs index 244c251..10dbe28 100644 --- a/Bloxstrap/Bootstrapper.cs +++ b/Bloxstrap/Bootstrapper.cs @@ -11,7 +11,7 @@ using System.Windows; using Microsoft.Win32; -using Bloxstrap.Dialogs.BootstrapperDialogs; +using Bloxstrap.Dialogs; using Bloxstrap.Helpers; using Bloxstrap.Helpers.Integrations; using Bloxstrap.Helpers.RSMM; @@ -381,7 +381,20 @@ namespace Bloxstrap .WriteToFile(Path.Combine(Directories.StartMenu, "Play Roblox.lnk")); ShellLink.Shortcut.CreateShortcut(Directories.Application, "-preferences", Directories.Application, 0) - .WriteToFile(Path.Combine(Directories.StartMenu, $"Configure {App.ProjectName}.lnk")); + .WriteToFile(Path.Combine(Directories.StartMenu, $"{App.ProjectName} Menu.lnk")); + } + else + { + // v2.0.0 - rebadge configuration menu as just "Bloxstrap Menu" + string oldMenuShortcut = Path.Combine(Directories.StartMenu, $"Configure {App.ProjectName}.lnk"); + string newMenuShortcut = Path.Combine(Directories.StartMenu, $"{App.ProjectName} Menu.lnk"); + + if (File.Exists(oldMenuShortcut)) + File.Delete(oldMenuShortcut); + + if (!File.Exists(newMenuShortcut)) + ShellLink.Shortcut.CreateShortcut(Directories.Application, "-preferences", Directories.Application, 0) + .WriteToFile(newMenuShortcut); } if (App.Settings.CreateDesktopIcon && !File.Exists(Path.Combine(Directories.Desktop, "Play Roblox.lnk"))) @@ -449,6 +462,12 @@ namespace Bloxstrap private void UpdateProgressbar() { int newProgress = (int)Math.Floor(ProgressIncrement * TotalDownloadedBytes); + + // bugcheck: if we're restoring a file from a package, it'll incorrectly increment the progress beyond 100 + // too lazy to fix properly so lol + if (newProgress > 100) + return; + Dialog.ProgressValue = newProgress; } diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/BootstrapperDialogForm.cs b/Bloxstrap/Dialogs/BootstrapperDialogForm.cs similarity index 96% rename from Bloxstrap/Dialogs/BootstrapperDialogs/BootstrapperDialogForm.cs rename to Bloxstrap/Dialogs/BootstrapperDialogForm.cs index fc60e59..7874267 100644 --- a/Bloxstrap/Dialogs/BootstrapperDialogs/BootstrapperDialogForm.cs +++ b/Bloxstrap/Dialogs/BootstrapperDialogForm.cs @@ -6,7 +6,7 @@ using System.Windows.Forms; using Bloxstrap.Enums; using Bloxstrap.Helpers; -namespace Bloxstrap.Dialogs.BootstrapperDialogs +namespace Bloxstrap.Dialogs { public class BootstrapperDialogForm : Form, IBootstrapperDialog { @@ -84,13 +84,13 @@ namespace Bloxstrap.Dialogs.BootstrapperDialogs if (Bootstrapper is null) { - Message = "Style Preview - Click Cancel to return"; + Message = "Style preview - Click Cancel to close"; CancelEnabled = true; } else { Bootstrapper.Dialog = this; - Task.Run(() => RunBootstrapper()); + Task.Run(RunBootstrapper); } } diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/IBootstrapperDialog.cs b/Bloxstrap/Dialogs/IBootstrapperDialog.cs similarity index 90% rename from Bloxstrap/Dialogs/BootstrapperDialogs/IBootstrapperDialog.cs rename to Bloxstrap/Dialogs/IBootstrapperDialog.cs index 772ecee..6b85d07 100644 --- a/Bloxstrap/Dialogs/BootstrapperDialogs/IBootstrapperDialog.cs +++ b/Bloxstrap/Dialogs/IBootstrapperDialog.cs @@ -1,6 +1,6 @@ using System.Windows.Forms; -namespace Bloxstrap.Dialogs.BootstrapperDialogs +namespace Bloxstrap.Dialogs { public interface IBootstrapperDialog { diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.Designer.cs b/Bloxstrap/Dialogs/LegacyDialog2009.Designer.cs similarity index 98% rename from Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.Designer.cs rename to Bloxstrap/Dialogs/LegacyDialog2009.Designer.cs index af757c5..e6cf932 100644 --- a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.Designer.cs +++ b/Bloxstrap/Dialogs/LegacyDialog2009.Designer.cs @@ -1,6 +1,6 @@ using System.Windows.Forms; -namespace Bloxstrap.Dialogs.BootstrapperDialogs +namespace Bloxstrap.Dialogs { partial class LegacyDialog2009 { diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.cs b/Bloxstrap/Dialogs/LegacyDialog2009.cs similarity index 96% rename from Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.cs rename to Bloxstrap/Dialogs/LegacyDialog2009.cs index 0592603..2d6b4b3 100644 --- a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.cs +++ b/Bloxstrap/Dialogs/LegacyDialog2009.cs @@ -1,7 +1,7 @@ using System; using System.Windows.Forms; -namespace Bloxstrap.Dialogs.BootstrapperDialogs +namespace Bloxstrap.Dialogs { // windows: https://youtu.be/VpduiruysuM?t=18 // mac: https://youtu.be/ncHhbcVDRgQ?t=63 diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.resx b/Bloxstrap/Dialogs/LegacyDialog2009.resx similarity index 100% rename from Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2009.resx rename to Bloxstrap/Dialogs/LegacyDialog2009.resx diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.Designer.cs b/Bloxstrap/Dialogs/LegacyDialog2011.Designer.cs similarity index 98% rename from Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.Designer.cs rename to Bloxstrap/Dialogs/LegacyDialog2011.Designer.cs index 2c490ce..3c00096 100644 --- a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.Designer.cs +++ b/Bloxstrap/Dialogs/LegacyDialog2011.Designer.cs @@ -1,6 +1,6 @@ using System.Windows.Forms; -namespace Bloxstrap.Dialogs.BootstrapperDialogs +namespace Bloxstrap.Dialogs { partial class LegacyDialog2011 { diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.cs b/Bloxstrap/Dialogs/LegacyDialog2011.cs similarity index 96% rename from Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.cs rename to Bloxstrap/Dialogs/LegacyDialog2011.cs index 124127d..e9094dd 100644 --- a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.cs +++ b/Bloxstrap/Dialogs/LegacyDialog2011.cs @@ -3,7 +3,7 @@ using System.Windows.Forms; using Bloxstrap.Enums; -namespace Bloxstrap.Dialogs.BootstrapperDialogs +namespace Bloxstrap.Dialogs { // https://youtu.be/3K9oCEMHj2s?t=35 diff --git a/Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.resx b/Bloxstrap/Dialogs/LegacyDialog2011.resx similarity index 100% rename from Bloxstrap/Dialogs/BootstrapperDialogs/LegacyDialog2011.resx rename to Bloxstrap/Dialogs/LegacyDialog2011.resx diff --git a/Bloxstrap/Dialogs/Menu/ModHelp.xaml b/Bloxstrap/Dialogs/Menu/ModHelp.xaml deleted file mode 100644 index e346bf4..0000000 --- a/Bloxstrap/Dialogs/Menu/ModHelp.xaml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - -