Make editor setting Fortnite-only

This commit is contained in:
Masusder 2026-06-28 13:04:29 +02:00
parent 788dc45242
commit 9181ce8bec
3 changed files with 31 additions and 14 deletions

View File

@ -275,7 +275,7 @@ namespace FModel.Settings
set => SetProperty(ref _convertAudioOnBulkExport, value);
}
private bool _mergeEditorOnlyDataExports = true;
private bool _mergeEditorOnlyDataExports = false;
public bool MergeEditorOnlyDataExports
{
get => _mergeEditorOnlyDataExports;

View File

@ -0,0 +1,16 @@
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace FModel.Views.Resources.Converters;
public sealed class ProjectNameToVisibilityConverter : IValueConverter
{
public static readonly ProjectNameToVisibilityConverter Instance = new();
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) =>
string.Equals(value as string, parameter as string, StringComparison.OrdinalIgnoreCase) ? Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => Binding.DoNothing;
}

View File

@ -263,13 +263,21 @@
Text="Merge Editor-Only Data (.o.uasset)"
VerticalAlignment="Center"
ToolTip="Reads .o.uasset packages and merges their editor-only data into the parent asset. Useful for JSON-based asset export workflows"
Margin="0 0 0 5" />
Margin="0 0 0 5"
Visibility="{Binding DataContext.CUE4Parse.Provider.ProjectName,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}},
Converter={x:Static converters:ProjectNameToVisibilityConverter.Instance},
ConverterParameter='FortniteGame'}" />
<CheckBox Grid.Row="21"
Grid.Column="2"
Content="{Binding IsChecked, RelativeSource={RelativeSource Self}, Converter={x:Static converters:BoolToToggleConverter.Instance}}"
IsChecked="{Binding MergeEditorOnlyDataExports, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}"
Margin="0 5 0 10"
Style="{DynamicResource {x:Static adonisUi:Styles.ToggleSwitch}}" />
Style="{DynamicResource {x:Static adonisUi:Styles.ToggleSwitch}}"
Visibility="{Binding DataContext.CUE4Parse.Provider.ProjectName,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}},
Converter={x:Static converters:ProjectNameToVisibilityConverter.Instance},
ConverterParameter='FortniteGame'}" />
<TextBlock Grid.Row="22"
Grid.Column="0"
@ -655,7 +663,10 @@
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
<TreeViewItem Tag="CreatorTemplate">
<TreeViewItem Tag="CreatorTemplate"
Visibility="{Binding CUE4Parse.Provider.ProjectName,
Converter={x:Static converters:ProjectNameToVisibilityConverter.Instance},
ConverterParameter='FortniteGame'}">
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Viewbox Width="16" Height="16" HorizontalAlignment="Center" Margin="-20 4 7.5 4">
@ -666,16 +677,6 @@
<TextBlock Text="Creator" HorizontalAlignment="Left" VerticalAlignment="Center" />
</StackPanel>
</TreeViewItem.Header>
<TreeViewItem.Style>
<Style TargetType="TreeViewItem" BasedOn="{StaticResource TreeViewItemStyle}">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding CUE4Parse.Provider.ProjectName, Converter={x:Static converters:CaseInsensitiveStringEqualsConverter.Instance}, ConverterParameter='FortniteGame'}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TreeViewItem.Style>
</TreeViewItem>
<TreeViewItem Tag="ExportTemplate">
<TreeViewItem.Header>