Skip to content

Commit fcbaae6

Browse files
committed
Add button to change Game Location to Game Setting
1 parent e4fee37 commit fcbaae6

File tree

4 files changed

+47
-1
lines changed

4 files changed

+47
-1
lines changed

CollapseLauncher/XAMLs/MainApp/Pages/HomePage.GameManagement.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using CollapseLauncher.CustomControls;
22
using CollapseLauncher.Extension;
3+
using CollapseLauncher.FileDialogCOM;
34
using CollapseLauncher.Helper;
45
using CollapseLauncher.Helper.Animation;
56
using CollapseLauncher.Helper.Image;
@@ -671,8 +672,29 @@ private async void MoveGameLocationButton_Click(object sender, RoutedEventArgs e
671672
ErrorSender.SendException(ex);
672673
}
673674
}
675+
676+
private async void ChangeGameLocationButton_Click(object sender, RoutedEventArgs e)
677+
{
678+
try
679+
{
680+
var newPath = await FileDialogHelper.GetRestrictedFolderPathDialog(Lang._Dialogs.FolderDialogTitle1);
681+
if (newPath == null || newPath == CurrentGameProperty.GameVersion.GameDirPath)
682+
{
683+
return;
684+
}
685+
686+
CurrentGameProperty.GameVersion.UpdateGamePath(newPath);
687+
CurrentGameProperty.GameInstall.ApplyGameConfig();
688+
ReturnToHomePage();
689+
}
690+
catch (Exception ex)
691+
{
692+
LogWriteLine($"Error has occurred while changing Game Location!\r\n{ex}", LogType.Error, true);
693+
ErrorSender.SendException(ex);
694+
}
695+
}
674696
#endregion
675-
697+
676698
#region Game State
677699
private async ValueTask GetCurrentGameState()
678700
{

CollapseLauncher/XAMLs/MainApp/Pages/HomePage.xaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2151,6 +2151,28 @@
21512151
</Grid>
21522152
</Button.Content>
21532153
</Button>
2154+
<Button x:Name="ChangeGameLocationButton"
2155+
Margin="0,8"
2156+
HorizontalAlignment="Stretch"
2157+
HorizontalContentAlignment="Left"
2158+
Click="ChangeGameLocationButton_Click"
2159+
CornerRadius="14">
2160+
<Button.Content>
2161+
<Grid Margin="4,0">
2162+
<Grid.ColumnDefinitions>
2163+
<ColumnDefinition Width="18" />
2164+
<ColumnDefinition />
2165+
</Grid.ColumnDefinitions>
2166+
<FontIcon FontFamily="{ThemeResource FontAwesomeSolid}"
2167+
FontSize="16"
2168+
Glyph="" />
2169+
<TextBlock Grid.Column="1"
2170+
Margin="8,0,0,0"
2171+
Text="{x:Bind helper:Locale.Lang._HomePage.GameSettings_Panel2ChangeGameLocation}"
2172+
TextWrapping="Wrap" />
2173+
</Grid>
2174+
</Button.Content>
2175+
</Button>
21542176
<Button x:Name="MoveGameLocationButton"
21552177
Margin="0,8"
21562178
HorizontalAlignment="Stretch"

Hi3Helper.Core/Lang/Locale/LangHomePage.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public sealed partial class LangHomePage
5252
public string GameSettings_Panel2ConvertVersion { get; set; } = LangFallback?._HomePage.GameSettings_Panel2ConvertVersion;
5353
public string GameSettings_Panel2MoveGameLocationGame { get; set; } = LangFallback?._HomePage.GameSettings_Panel2MoveGameLocationGame;
5454
public string GameSettings_Panel2MoveGameLocationGame_SamePath { get; set; } = LangFallback?._HomePage.GameSettings_Panel2MoveGameLocationGame_SamePath;
55+
public string GameSettings_Panel2ChangeGameLocation { get; set; } = LangFallback?._HomePage.GameSettings_Panel2ChangeGameLocation;
5556
public string GameSettings_Panel2StopGame { get; set; } = LangFallback?._HomePage.GameSettings_Panel2StopGame;
5657
public string GameSettings_Panel3RegionalSettings { get; set; } = LangFallback?._HomePage.GameSettings_Panel3RegionalSettings;
5758
public string GameSettings_Panel3 { get; set; } = LangFallback?._HomePage.GameSettings_Panel3;

Hi3Helper.Core/Lang/en_US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@
152152
"GameSettings_Panel2RepairGame": "Repair Game",
153153
"GameSettings_Panel2UninstallGame": "Uninstall Game",
154154
"GameSettings_Panel2ConvertVersion": "Convert Game Version",
155+
"GameSettings_Panel2ChangeGameLocation": "Change Game Location",
155156
"GameSettings_Panel2MoveGameLocationGame": "Move Game Location",
156157
"GameSettings_Panel2MoveGameLocationGame_SamePath": "Cannot move game to the root of your drive!\r\nPlease make a folder and try again.",
157158
"GameSettings_Panel2StopGame": "Force Close Game",

0 commit comments

Comments
 (0)