mirror of
https://ghfast.top/https://github.com/StarCitizenToolBox/app.git
synced 2025-07-18 08:36:20 +08:00
feat: CommunityInputMethod
This commit is contained in:
@ -247,9 +247,6 @@ class LocalizationUIModel extends _$LocalizationUIModel {
|
||||
if (!globalIni.toString().endsWith("\n")) {
|
||||
globalIni.write("\n");
|
||||
}
|
||||
if (advanced ?? false) {
|
||||
globalIni.write("_starcitizen_doctor_localization_advanced=true\n");
|
||||
}
|
||||
if (communityInputMethodVersion != null) {
|
||||
globalIni.write(
|
||||
"_starcitizen_doctor_localization_community_input_method_version=$communityInputMethodVersion\n");
|
||||
@ -259,6 +256,9 @@ class LocalizationUIModel extends _$LocalizationUIModel {
|
||||
globalIni.write("$line\n");
|
||||
}
|
||||
}
|
||||
if (advanced ?? false) {
|
||||
globalIni.write("_starcitizen_doctor_localization_advanced=true\n");
|
||||
}
|
||||
globalIni
|
||||
.write("_starcitizen_doctor_localization_version=$versionName\n");
|
||||
}
|
||||
@ -277,6 +277,38 @@ class LocalizationUIModel extends _$LocalizationUIModel {
|
||||
await _updateStatus();
|
||||
}
|
||||
|
||||
Future<Map<String, String>?> getCommunityInputMethodSupportData() async {
|
||||
final iniPath =
|
||||
"${_scDataDir.absolute.path}\\Localization\\${state.selectedLanguage}\\global.ini";
|
||||
final iniFile = File(iniPath);
|
||||
if (!await iniFile.exists()) {
|
||||
return {};
|
||||
}
|
||||
final iniStringSplit = (await iniFile.readAsString()).split("\n");
|
||||
final communityInputMethodSupportData = <String, String>{};
|
||||
var b = false;
|
||||
for (var i = 0; i < iniStringSplit.length; i++) {
|
||||
final line = iniStringSplit[i];
|
||||
|
||||
if (line.trim().startsWith(
|
||||
"_starcitizen_doctor_localization_community_input_method_version=")) {
|
||||
b = true;
|
||||
continue;
|
||||
} else if (line
|
||||
.trim()
|
||||
.startsWith("_starcitizen_doctor_localization_version=")) {
|
||||
b = false;
|
||||
return communityInputMethodSupportData;
|
||||
} else if (b) {
|
||||
final kv = line.split("=");
|
||||
if (kv.length == 2) {
|
||||
communityInputMethodSupportData[kv[0]] = kv[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
VoidCallback? doRemoteInstall(BuildContext context, ScLocalizationData value,
|
||||
{bool isEnableCommunityInputMethod = false}) {
|
||||
return () async {
|
||||
@ -530,4 +562,8 @@ class LocalizationUIModel extends _$LocalizationUIModel {
|
||||
}
|
||||
return updates;
|
||||
}
|
||||
|
||||
Future<void> onChangeGameInstallPath(String value) async {
|
||||
await _loadData();
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ part of 'localization_ui_model.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$localizationUIModelHash() =>
|
||||
r'86e433e1901683ad05b81e34d3b37b9b72c4c786';
|
||||
r'b8c893413fa8a314d0fa3b2cfffb63f723226bae';
|
||||
|
||||
/// See also [LocalizationUIModel].
|
||||
@ProviderFor(LocalizationUIModel)
|
||||
|
Reference in New Issue
Block a user