add roblox studio option to launch dialog

This commit is contained in:
bluepilledgreat 2024-10-16 21:20:14 +01:00
parent 0ffaec74ea
commit 72e2810a2d
6 changed files with 32 additions and 2 deletions

View File

@ -4,6 +4,7 @@
{
Terminate,
LaunchSettings,
LaunchRoblox
LaunchRoblox,
LaunchRobloxStudio
}
}

View File

@ -21,6 +21,10 @@ namespace Bloxstrap
LaunchRoblox(LaunchMode.Player);
break;
case NextAction.LaunchRobloxStudio:
LaunchRoblox(LaunchMode.Studio);
break;
default:
App.Terminate(isUnfinishedInstall ? ErrorCode.ERROR_INSTALL_USEREXIT : ErrorCode.ERROR_SUCCESS);
break;

View File

@ -1612,6 +1612,15 @@ namespace Bloxstrap.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Launch Roblox Studio.
/// </summary>
public static string LaunchMenu_LaunchRobloxStudio {
get {
return ResourceManager.GetString("LaunchMenu.LaunchRobloxStudio", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to See the Wiki for help.
/// </summary>

View File

@ -1236,4 +1236,7 @@ Would you like to enable test mode?</value>
<value>Icons</value>
<comment>Name of the folder that gets created according to the "create shortcut icons" option. Ensure that it is a valid folder name.</comment>
</data>
<data name="LaunchMenu.LaunchRobloxStudio" xml:space="preserve">
<value>Launch Roblox Studio</value>
</data>
</root>

View File

@ -64,6 +64,12 @@
</StackPanel>
</ui:CardAction>
<ui:CardAction Margin="0,8,0,0" Icon="ArrowRight12" Command="{Binding LaunchRobloxStudioCommand, Mode=OneTime}">
<StackPanel>
<TextBlock FontSize="14" Text="{x:Static resources:Strings.LaunchMenu_LaunchRobloxStudio}" />
</StackPanel>
</ui:CardAction>
<ui:CardAction Margin="0,8,0,0" Icon="Settings28" Command="{Binding LaunchSettingsCommand, Mode=OneTime}">
<StackPanel>
<TextBlock FontSize="14" Text="{x:Static resources:Strings.LaunchMenu_ConfigureSettings}" />

View File

@ -1,4 +1,5 @@
using System.Windows.Input;
using System.Windows;
using System.Windows.Input;
using CommunityToolkit.Mvvm.Input;
using Bloxstrap.UI.Elements.About;
@ -9,10 +10,14 @@ namespace Bloxstrap.UI.ViewModels.Installer
{
public string Version => string.Format(Strings.Menu_About_Version, App.Version);
public Visibility ShowRobloxStudioOption => String.IsNullOrEmpty(App.State.Prop.Studio.VersionGuid) ? Visibility.Collapsed : Visibility.Visible;
public ICommand LaunchSettingsCommand => new RelayCommand(LaunchSettings);
public ICommand LaunchRobloxCommand => new RelayCommand(LaunchRoblox);
public ICommand LaunchRobloxStudioCommand => new RelayCommand(LaunchRobloxStudio);
public ICommand LaunchAboutCommand => new RelayCommand(LaunchAbout);
public event EventHandler<NextAction>? CloseWindowRequest;
@ -21,6 +26,8 @@ namespace Bloxstrap.UI.ViewModels.Installer
private void LaunchRoblox() => CloseWindowRequest?.Invoke(this, NextAction.LaunchRoblox);
private void LaunchRobloxStudio() => CloseWindowRequest?.Invoke(this, NextAction.LaunchRobloxStudio);
private void LaunchAbout() => new MainWindow().ShowDialog();
}
}