mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
Added Disable Checkbox for the Settings Page (#1664)
* Added Disable Checkbox * generated SettingsPage.g.cs
This commit is contained in:
parent
aa9bcecbe5
commit
ef4bc50cac
@ -155,6 +155,7 @@
|
||||
"parent": "Parent",
|
||||
"path": "Path",
|
||||
"path_id": "Path ID",
|
||||
"premium_feature_notice": "Premium feature",
|
||||
"privacy": "Privacy",
|
||||
"remove": "Remove",
|
||||
"replace": "Replace",
|
||||
|
||||
@ -87,10 +87,10 @@ internal static class SettingsPageGenerator
|
||||
if (property.IsBoolean)
|
||||
{
|
||||
writer.WriteLineNoTabs();
|
||||
writer.WriteLine($"private static void WriteCheckBoxFor{property.Name}(TextWriter writer, string label)");
|
||||
writer.WriteLine($"private static void WriteCheckBoxFor{property.Name}(TextWriter writer, string label, bool disabled = false)");
|
||||
using (new CurlyBrackets(writer))
|
||||
{
|
||||
writer.WriteLine($"WriteCheckBox(writer, label, Configuration.{property.DeclaringType?.Name}.{property.Name}, {property.NameOfString});");
|
||||
writer.WriteLine($"WriteCheckBox(writer, label, Configuration.{property.DeclaringType?.Name}.{property.Name}, {property.NameOfString}, disabled);");
|
||||
}
|
||||
}
|
||||
else if (property.IsEnum)
|
||||
|
||||
@ -14,6 +14,11 @@ internal static class HtmlExtensions
|
||||
return @checked ? element.WithChecked() : element;
|
||||
}
|
||||
|
||||
public static Input MaybeWithDisabled(this Input element, bool disabled)
|
||||
{
|
||||
return disabled ? element.WithDisabled() : element;
|
||||
}
|
||||
|
||||
public static Option MaybeSelected(this Option element, bool selected)
|
||||
{
|
||||
return selected ? element.WithSelected() : element;
|
||||
|
||||
@ -52,7 +52,10 @@ public sealed partial class SettingsPage : DefaultPage
|
||||
}
|
||||
else
|
||||
{
|
||||
//Todo: add disabled checkbox
|
||||
using (new Div(writer).WithClass("col").End())
|
||||
{
|
||||
WriteCheckBoxForEnableStaticMeshSeparation(writer, Localization.EnableStaticMeshSeparation, !GameFileLoader.Premium);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,7 +104,10 @@ public sealed partial class SettingsPage : DefaultPage
|
||||
}
|
||||
else
|
||||
{
|
||||
//Todo: add disabled checkbox
|
||||
using (new Div(writer).WithClass("col").End())
|
||||
{
|
||||
WriteCheckBoxForEnableAssetDeduplication(writer, Localization.EnableAssetDeduplication, !GameFileLoader.Premium);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -219,12 +225,23 @@ public sealed partial class SettingsPage : DefaultPage
|
||||
.Close();
|
||||
}
|
||||
|
||||
private static void WriteCheckBox(TextWriter writer, string label, bool @checked, string id)
|
||||
private static void WriteCheckBox(TextWriter writer, string label, bool @checked, string id, bool disabled = false)
|
||||
{
|
||||
using (new Div(writer).WithClass("form-check").End())
|
||||
{
|
||||
new Input(writer).WithClass("form-check-input").WithType("checkbox").WithValue().WithId(id).WithName(id).MaybeWithChecked(@checked).Close();
|
||||
new Label(writer).WithClass("form-check-label").WithFor(id).Close(label);
|
||||
new Input(writer)
|
||||
.WithClass("form-check-input")
|
||||
.WithType("checkbox")
|
||||
.WithValue()
|
||||
.WithId(id)
|
||||
.WithName(id)
|
||||
.MaybeWithChecked(disabled ? false : @checked)
|
||||
.MaybeWithDisabled(disabled)
|
||||
.Close();
|
||||
new Label(writer)
|
||||
.WithClass("form-check-label" + (disabled ? " text-muted" : ""))
|
||||
.WithFor(id)
|
||||
.Close(label + (disabled ? $" ({Localization.PremiumFeatureNotice})" : ""));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -55,6 +55,9 @@ partial class SettingsPage
|
||||
case nameof(ExportSettings.TextExportMode):
|
||||
Configuration.ExportSettings.TextExportMode = TryParseEnum<TextExportMode>(value);
|
||||
break;
|
||||
case nameof(ExportSettings.LanguageCode):
|
||||
Configuration.ExportSettings.LanguageCode = value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,9 +75,9 @@ partial class SettingsPage
|
||||
WriteDropDown(writer, ScriptContentLevelDropDownSetting.Instance, Configuration.ImportSettings.ScriptContentLevel, nameof(ImportSettings.ScriptContentLevel));
|
||||
}
|
||||
|
||||
private static void WriteCheckBoxForIgnoreStreamingAssets(TextWriter writer, string label)
|
||||
private static void WriteCheckBoxForIgnoreStreamingAssets(TextWriter writer, string label, bool disabled = false)
|
||||
{
|
||||
WriteCheckBox(writer, label, Configuration.ImportSettings.IgnoreStreamingAssets, nameof(ImportSettings.IgnoreStreamingAssets));
|
||||
WriteCheckBox(writer, label, Configuration.ImportSettings.IgnoreStreamingAssets, nameof(ImportSettings.IgnoreStreamingAssets), disabled);
|
||||
}
|
||||
|
||||
private static void WriteDropDownForStreamingAssetsMode(TextWriter writer)
|
||||
@ -82,19 +85,19 @@ partial class SettingsPage
|
||||
WriteDropDown(writer, StreamingAssetsModeDropDownSetting.Instance, Configuration.ImportSettings.StreamingAssetsMode, nameof(ImportSettings.StreamingAssetsMode));
|
||||
}
|
||||
|
||||
private static void WriteCheckBoxForEnablePrefabOutlining(TextWriter writer, string label)
|
||||
private static void WriteCheckBoxForEnablePrefabOutlining(TextWriter writer, string label, bool disabled = false)
|
||||
{
|
||||
WriteCheckBox(writer, label, Configuration.ProcessingSettings.EnablePrefabOutlining, nameof(ProcessingSettings.EnablePrefabOutlining));
|
||||
WriteCheckBox(writer, label, Configuration.ProcessingSettings.EnablePrefabOutlining, nameof(ProcessingSettings.EnablePrefabOutlining), disabled);
|
||||
}
|
||||
|
||||
private static void WriteCheckBoxForEnableStaticMeshSeparation(TextWriter writer, string label)
|
||||
private static void WriteCheckBoxForEnableStaticMeshSeparation(TextWriter writer, string label, bool disabled = false)
|
||||
{
|
||||
WriteCheckBox(writer, label, Configuration.ProcessingSettings.EnableStaticMeshSeparation, nameof(ProcessingSettings.EnableStaticMeshSeparation));
|
||||
WriteCheckBox(writer, label, Configuration.ProcessingSettings.EnableStaticMeshSeparation, nameof(ProcessingSettings.EnableStaticMeshSeparation), disabled);
|
||||
}
|
||||
|
||||
private static void WriteCheckBoxForEnableAssetDeduplication(TextWriter writer, string label)
|
||||
private static void WriteCheckBoxForEnableAssetDeduplication(TextWriter writer, string label, bool disabled = false)
|
||||
{
|
||||
WriteCheckBox(writer, label, Configuration.ProcessingSettings.EnableAssetDeduplication, nameof(ProcessingSettings.EnableAssetDeduplication));
|
||||
WriteCheckBox(writer, label, Configuration.ProcessingSettings.EnableAssetDeduplication, nameof(ProcessingSettings.EnableAssetDeduplication), disabled);
|
||||
}
|
||||
|
||||
private static void WriteDropDownForBundledAssetsExportMode(TextWriter writer)
|
||||
@ -142,8 +145,8 @@ partial class SettingsPage
|
||||
WriteDropDown(writer, TextExportModeDropDownSetting.Instance, Configuration.ExportSettings.TextExportMode, nameof(ExportSettings.TextExportMode));
|
||||
}
|
||||
|
||||
private static void WriteCheckBoxForSaveSettingsToDisk(TextWriter writer, string label)
|
||||
private static void WriteCheckBoxForSaveSettingsToDisk(TextWriter writer, string label, bool disabled = false)
|
||||
{
|
||||
WriteCheckBox(writer, label, Configuration.ExportSettings.SaveSettingsToDisk, nameof(ExportSettings.SaveSettingsToDisk));
|
||||
WriteCheckBox(writer, label, Configuration.ExportSettings.SaveSettingsToDisk, nameof(ExportSettings.SaveSettingsToDisk), disabled);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user