Add settings icon button to home page for easy game path reconfiguration (#129)

* Initial plan

* Add settings icon button to home UI for reopening path guidance

Co-authored-by: xkeyC <39891083+xkeyC@users.noreply.github.com>

* Add path rescan after returning from guide page

Co-authored-by: xkeyC <39891083+xkeyC@users.noreply.github.com>

* build(deps): bump windows from 0.62.1 to 0.62.2 in /rust (#130)

Bumps [windows](https://github.com/microsoft/windows-rs) from 0.62.1 to 0.62.2.
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/commits)

---
updated-dependencies:
- dependency-name: windows
  dependency-version: 0.62.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump tokio from 1.47.1 to 1.48.0 in /rust (#132)

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.47.1 to 1.48.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump reqwest from 0.12.23 to 0.12.24 in /rust (#131)

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.23 to 0.12.24.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Initial plan

* Add settings icon button to home UI for reopening path guidance

Co-authored-by: xkeyC <39891083+xkeyC@users.noreply.github.com>

* Add path rescan after returning from guide page

Co-authored-by: xkeyC <39891083+xkeyC@users.noreply.github.com>

* feat: game path settings icon And bump deps

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: xkeyC <39891083+xkeyC@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: xkeyC <3334969096@qq.com>
This commit is contained in:
Copilot
2025-10-25 18:11:12 +08:00
committed by GitHub
parent 4822d0c76d
commit df437b222d
22 changed files with 473 additions and 504 deletions

View File

@@ -6,6 +6,9 @@ part of 'home_game_login_dialog_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(HomeGameLoginUIModel)
const homeGameLoginUIModelProvider = HomeGameLoginUIModelProvider._();
@@ -59,6 +62,3 @@ abstract class _$HomeGameLoginUIModel extends $Notifier<HomeGameLoginState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'home_downloader_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(HomeDownloaderUIModel)
const homeDownloaderUIModelProvider = HomeDownloaderUIModelProvider._();
@@ -60,6 +63,3 @@ abstract class _$HomeDownloaderUIModel
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'game_doctor_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(HomeGameDoctorUIModel)
const homeGameDoctorUIModelProvider = HomeGameDoctorUIModelProvider._();
@@ -59,6 +62,3 @@ abstract class _$HomeGameDoctorUIModel extends $Notifier<HomeGameDoctorState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -131,6 +131,17 @@ class HomeUI extends HookConsumerWidget {
mainAxisSize: MainAxisSize.min,
children: [
Text(S.current.home_install_location),
const SizedBox(width: 12),
Button(
onPressed: () async {
await context.push("/guide");
await model.reScanPath();
},
child: const Padding(
padding: EdgeInsets.all(6),
child: Icon(FluentIcons.settings),
),
),
const SizedBox(width: 6),
Expanded(
child: ComboBox<String>(

View File

@@ -6,6 +6,9 @@ part of 'home_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(HomeUIModel)
const homeUIModelProvider = HomeUIModelProvider._();
@@ -58,6 +61,3 @@ abstract class _$HomeUIModel extends $Notifier<HomeUIModelState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'input_method_dialog_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(InputMethodDialogUIModel)
const inputMethodDialogUIModelProvider = InputMethodDialogUIModelProvider._();
@@ -62,6 +65,3 @@ abstract class _$InputMethodDialogUIModel
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'server.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(InputMethodServer)
const inputMethodServerProvider = InputMethodServerProvider._();
@@ -59,6 +62,3 @@ abstract class _$InputMethodServer extends $Notifier<InputMethodServerState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'server_qr_dialog_ui.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(ServerQrState)
const serverQrStateProvider = ServerQrStateProvider._();
@@ -58,6 +61,3 @@ abstract class _$ServerQrState extends $Notifier<bool> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'advanced_localization_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(AdvancedLocalizationUIModel)
const advancedLocalizationUIModelProvider =
AdvancedLocalizationUIModelProvider._();
@@ -70,6 +73,3 @@ abstract class _$AdvancedLocalizationUIModel
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'localization_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(LocalizationUIModel)
const localizationUIModelProvider = LocalizationUIModelProvider._();
@@ -59,6 +62,3 @@ abstract class _$LocalizationUIModel extends $Notifier<LocalizationUIState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'performance_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(HomePerformanceUIModel)
const homePerformanceUIModelProvider = HomePerformanceUIModelProvider._();
@@ -61,6 +64,3 @@ abstract class _$HomePerformanceUIModel
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'nav_state.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(Nav)
const navProvider = NavProvider._();
@@ -57,6 +60,3 @@ abstract class _$Nav extends $Notifier<NavState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'settings_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(SettingsUIModel)
const settingsUIModelProvider = SettingsUIModelProvider._();
@@ -58,6 +61,3 @@ abstract class _$SettingsUIModel extends $Notifier<SettingsUIState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'log_analyze_provider.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(ToolsLogAnalyze)
const toolsLogAnalyzeProvider = ToolsLogAnalyzeFamily._();
@@ -111,6 +114,3 @@ abstract class _$ToolsLogAnalyze
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View File

@@ -6,6 +6,9 @@ part of 'tools_ui_model.dart';
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(ToolsUIModel)
const toolsUIModelProvider = ToolsUIModelProvider._();
@@ -58,6 +61,3 @@ abstract class _$ToolsUIModel extends $Notifier<ToolsUIState> {
element.handleValue(ref, created);
}
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package