Skip to content

Commit 9d17822

Browse files
authored
Fix: Use x:Load in conflicts dialog again (#11557)
Use x:Load again
1 parent 035cd39 commit 9d17822

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

src/Files.App/Dialogs/FilesystemOperationDialog.xaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
<vc2:ConflictResolveOptionToIndexConverter x:Key="ConflictResolveOptionToIndexConverter" />
3434
<vc3:VisibilityInvertConverter x:Key="VisibilityInvertConverter" />
3535
<tvc:BoolNegationConverter x:Key="BoolNegationConverter" />
36-
<tvc:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
3736

3837
<DataTemplate x:Key="ConflictItemDataTemplate" x:DataType="vm:FileSystemDialogConflictItemViewModel">
3938
<Grid ColumnSpacing="12">
@@ -105,14 +104,14 @@
105104
</Grid>
106105

107106
<!-- Options -->
108-
<!-- Use Visibility because x:Load does not reflect the SelectedIndex value in the combo box -->
109107
<ComboBox
110108
x:Name="ConflictOptions"
111109
Grid.Column="2"
112110
Width="200"
113111
HorizontalAlignment="Right"
114112
VerticalAlignment="Center"
115-
Visibility="{x:Bind IsConflict, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
113+
x:Load="{x:Bind IsConflict, Mode=OneWay}"
114+
Loaded="ConflictOptions_Loaded"
116115
SelectedIndex="{x:Bind ConflictResolveOption, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, Converter={StaticResource ConflictResolveOptionToIndexConverter}}">
117116
<ComboBox.Items>
118117
<ComboBoxItem Content="{helpers:ResourceString Name=GenerateNewName}" />

src/Files.App/Dialogs/FilesystemOperationDialog.xaml.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,26 @@ private void NameEdit_Loaded(object sender, RoutedEventArgs e)
129129
(sender as TextBox)?.Focus(FocusState.Programmatic);
130130
}
131131

132+
private void ConflictOptions_Loaded(object sender, RoutedEventArgs e)
133+
{
134+
if (sender is ComboBox comboBox)
135+
comboBox.SelectedIndex = ViewModel.LoadConflictResolveOption() switch
136+
{
137+
FileNameConflictResolveOptionType.None => -1,
138+
FileNameConflictResolveOptionType.GenerateNewName => 0,
139+
FileNameConflictResolveOptionType.ReplaceExisting => 1,
140+
FileNameConflictResolveOptionType.Skip => 2,
141+
_ => -1
142+
};
143+
}
144+
132145
private void FilesystemOperationDialog_Opened(ContentDialog sender, ContentDialogOpenedEventArgs args)
133146
{
134147
if (ViewModel.FileSystemDialogMode.IsInDeleteMode)
135148
{
136149
DescriptionText.Foreground = App.Current.Resources["TextControlForeground"] as SolidColorBrush;
137150
}
138151

139-
ViewModel.LoadConflictResolveOption();
140152
UpdateDialogLayout();
141153
}
142154
}

src/Files.Backend/ViewModels/Dialogs/FileSystemDialog/FileSystemDialogViewModel.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,7 @@ public void Receive(FileSystemDialogOptionChangedMessage message)
114114
}
115115
}
116116

117-
public void LoadConflictResolveOption()
118-
{
119-
AggregatedResolveOption = UserSettingsService.PreferencesSettingsService.ConflictsResolveOption;
120-
}
117+
public FileNameConflictResolveOptionType LoadConflictResolveOption() => UserSettingsService.PreferencesSettingsService.ConflictsResolveOption;
121118

122119
public void SaveConflictResolveOption()
123120
{

0 commit comments

Comments
 (0)