Skip to content

Commit f4acdca

Browse files
committed
调整移动部分设置到启动器设置页面下、添加本地化资源
1 parent 614d00d commit f4acdca

File tree

15 files changed

+144
-86
lines changed

15 files changed

+144
-86
lines changed

Natsurainko.FluentLauncher/Services/Settings/SettingsService.cs

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using FluentLauncher.Infra.Settings;
1+
using CommunityToolkit.Mvvm.ComponentModel;
2+
using FluentLauncher.Infra.Settings;
23
using FluentLauncher.Infra.Settings.Converters;
34
using Natsurainko.FluentLauncher.Services.Storage;
45
using Natsurainko.FluentLauncher.Utils;
@@ -9,7 +10,6 @@
910
using System.Text.Json.Nodes;
1011
using Windows.Storage;
1112
using Windows.Win32.UI.WindowsAndMessaging;
12-
using static System.Runtime.InteropServices.JavaScript.JSType;
1313

1414
namespace Natsurainko.FluentLauncher.Services.Settings;
1515

@@ -66,13 +66,6 @@ public partial class SettingsService : SettingsContainer
6666

6767
#endregion
6868

69-
#region Quick Launch Settings
70-
71-
[SettingItem(Default = 6, Converter = typeof(JsonStringConverter<int>))]
72-
public partial int MaxQuickLaunchLatestItem { get; set; }
73-
74-
#endregion
75-
7669
[SettingItem]
7770
public partial Guid? ActiveAccountUuid { get; set; }
7871

@@ -155,8 +148,21 @@ public partial class SettingsService : SettingsContainer
155148
[SettingItem(Default = 1, Converter = typeof(JsonStringConverter<int>))]
156149
public partial int HomeLaunchButtonSize { get; set; }
157150

158-
[SettingItem(Default = false, Converter = typeof(JsonStringConverter<bool>))]
159-
public partial bool EnableHomeLaunchTaskTrack { get; set; }
151+
#endregion
152+
153+
#region Launcher Settings
154+
155+
[SettingItem(Default = 1, Converter = typeof(JsonStringConverter<int>))]
156+
public partial int HomePageLaunchButtonBehavior { get; set; }
157+
158+
[SettingItem(Default = 0, Converter = typeof(JsonStringConverter<int>))]
159+
public partial int AfterInstanceLaunchedBehavior { get; set; }
160+
161+
[SettingItem(Default = true, Converter = typeof(JsonStringConverter<bool>))]
162+
public partial bool EnableLocalizedResourceSuggestions { get; set; }
163+
164+
[SettingItem(Default = 6, Converter = typeof(JsonStringConverter<int>))]
165+
public partial int MaxQuickLaunchLatestItem { get; set; }
160166

161167
#endregion
162168

Natsurainko.FluentLauncher/ViewModels/Downloads/Modpacks/DefaultViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using FluentLauncher.Infra.UI.Navigation;
2+
using Natsurainko.FluentLauncher.Services.Settings;
23
using Natsurainko.FluentLauncher.Services.UI;
34
using Nrk.FluentCore.Resources;
45
using System.Collections.Generic;
@@ -8,8 +9,10 @@ namespace Natsurainko.FluentLauncher.ViewModels.Downloads.Modpacks;
89
internal partial class DefaultViewModel(
910
CurseForgeClient curseForgeClient,
1011
ModrinthClient modrinthClient,
12+
SettingsService settingsService,
1113
INavigationService navigationService,
12-
SearchProviderService searchProviderService) : ResourceDefaultViewModel(curseForgeClient, modrinthClient, navigationService, searchProviderService)
14+
SearchProviderService searchProviderService) : ResourceDefaultViewModel(
15+
curseForgeClient, modrinthClient, settingsService, navigationService, searchProviderService)
1316
{
1417
protected override CurseForgeResourceType CurseForgeResourceType => CurseForgeResourceType.ModPack;
1518

Natsurainko.FluentLauncher/ViewModels/Downloads/Mods/DefaultViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using FluentLauncher.Infra.UI.Navigation;
2+
using Natsurainko.FluentLauncher.Services.Settings;
23
using Natsurainko.FluentLauncher.Services.UI;
34
using Nrk.FluentCore.Resources;
45
using System.Collections.Generic;
@@ -8,8 +9,10 @@ namespace Natsurainko.FluentLauncher.ViewModels.Downloads.Mods;
89
internal partial class DefaultViewModel(
910
CurseForgeClient curseForgeClient,
1011
ModrinthClient modrinthClient,
12+
SettingsService settingsService,
1113
INavigationService navigationService,
12-
SearchProviderService searchProviderService) : ResourceDefaultViewModel(curseForgeClient, modrinthClient, navigationService, searchProviderService)
14+
SearchProviderService searchProviderService) : ResourceDefaultViewModel(
15+
curseForgeClient, modrinthClient, settingsService, navigationService, searchProviderService)
1316
{
1417
protected override CurseForgeResourceType CurseForgeResourceType => CurseForgeResourceType.McMod;
1518

Natsurainko.FluentLauncher/ViewModels/Downloads/ResourceDefaultViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using CommunityToolkit.Mvvm.Input;
33
using CommunityToolkit.WinUI;
44
using FluentLauncher.Infra.UI.Navigation;
5+
using Natsurainko.FluentLauncher.Services.Settings;
56
using Natsurainko.FluentLauncher.Services.UI;
67
using Natsurainko.FluentLauncher.Utils;
78
using Nrk.FluentCore.Resources;
@@ -17,6 +18,7 @@ namespace Natsurainko.FluentLauncher.ViewModels.Downloads;
1718
internal abstract partial class ResourceDefaultViewModel(
1819
CurseForgeClient curseForgeClient,
1920
ModrinthClient modrinthClient,
21+
SettingsService settingsService,
2022
INavigationService navigationService,
2123
SearchProviderService searchProviderService) : PageVM, INavigationAware
2224
{
@@ -183,6 +185,9 @@ protected override void OnUnloaded()
183185

184186
private IEnumerable<Suggestion> SuggestionProvider(string query)
185187
{
188+
if (!settingsService.EnableLocalizedResourceSuggestions)
189+
return [];
190+
186191
if (CurseForgeResourceType != CurseForgeResourceType.McMod || string.IsNullOrEmpty(query))
187192
return [];
188193

Natsurainko.FluentLauncher/ViewModels/Downloads/Shaders/DefaultViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using FluentLauncher.Infra.UI.Navigation;
2+
using Natsurainko.FluentLauncher.Services.Settings;
23
using Natsurainko.FluentLauncher.Services.UI;
34
using Nrk.FluentCore.Resources;
45
using System.Collections.Generic;
@@ -8,8 +9,10 @@ namespace Natsurainko.FluentLauncher.ViewModels.Downloads.Shaders;
89
internal partial class DefaultViewModel(
910
CurseForgeClient curseForgeClient,
1011
ModrinthClient modrinthClient,
12+
SettingsService settingsService,
1113
INavigationService navigationService,
12-
SearchProviderService searchProviderService) : ResourceDefaultViewModel(curseForgeClient, modrinthClient, navigationService, searchProviderService)
14+
SearchProviderService searchProviderService) : ResourceDefaultViewModel(
15+
curseForgeClient, modrinthClient, settingsService, navigationService, searchProviderService)
1316
{
1417
protected override CurseForgeResourceType CurseForgeResourceType => CurseForgeResourceType.Shader;
1518

Natsurainko.FluentLauncher/ViewModels/Downloads/TexturePacks/DefaultViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using FluentLauncher.Infra.UI.Navigation;
2+
using Natsurainko.FluentLauncher.Services.Settings;
23
using Natsurainko.FluentLauncher.Services.UI;
34
using Nrk.FluentCore.Resources;
45
using System.Collections.Generic;
@@ -8,8 +9,10 @@ namespace Natsurainko.FluentLauncher.ViewModels.Downloads.TexturePacks;
89
internal partial class DefaultViewModel(
910
CurseForgeClient curseForgeClient,
1011
ModrinthClient modrinthClient,
12+
SettingsService settingsService,
1113
INavigationService navigationService,
12-
SearchProviderService searchProviderService) : ResourceDefaultViewModel(curseForgeClient, modrinthClient, navigationService, searchProviderService)
14+
SearchProviderService searchProviderService) : ResourceDefaultViewModel(
15+
curseForgeClient, modrinthClient, settingsService, navigationService, searchProviderService)
1316
{
1417
protected override CurseForgeResourceType CurseForgeResourceType => CurseForgeResourceType.TexturePack;
1518

Natsurainko.FluentLauncher/ViewModels/Home/HomeViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ partial void OnActiveMinecraftInstanceChanged(MinecraftInstance value)
131131
[RelayCommand(CanExecute = nameof(CanExecuteLaunch))]
132132
async Task Launch()
133133
{
134-
if (!_settingsService.EnableHomeLaunchTaskTrack)
134+
if (_settingsService.HomePageLaunchButtonBehavior == 0)
135135
{
136136
_launchService.LaunchFromUI(ActiveMinecraftInstance);
137137
return;

Natsurainko.FluentLauncher/ViewModels/Settings/AppearanceViewModel.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,6 @@ public AppearanceViewModel(
8282
[BindToSetting(Path = nameof(SettingsService.HomeLaunchButtonSize))]
8383
public partial int HomeLaunchButtonSize { get; set; }
8484

85-
[ObservableProperty]
86-
[BindToSetting(Path = nameof(SettingsService.EnableHomeLaunchTaskTrack))]
87-
public partial bool EnableHomeLaunchTaskTrack { get; set; }
88-
8985
public Color CurrentThemeColor => UseSystemAccentColor ? (Color)App.Current.Resources["RawSystemAccentColor"] : CustomThemeColor.GetValueOrDefault();
9086

9187
public bool AcrylicIsSupported => DesktopAcrylicController.IsSupported();

Natsurainko.FluentLauncher/ViewModels/Settings/LaunchViewModel.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,6 @@ internal partial class LaunchViewModel : SettingsPageVM, ISettingsViewModel
7777
[BindToSetting(Path = nameof(SettingsService.EnableIndependencyCore))]
7878
public partial bool EnableIndependencyCore { get; set; }
7979

80-
[ObservableProperty]
81-
[BindToSetting(Path = nameof(SettingsService.MaxQuickLaunchLatestItem))]
82-
public partial int MaxQuickLaunchLatestItem { get; set; }
83-
8480
[ObservableProperty]
8581
[BindToSetting(Path = nameof(SettingsService.GameFilePreferredVerificationMethod))]
8682
public partial int GameFilePreferredVerificationMethod { get; set; }

0 commit comments

Comments
 (0)