Browse Source

Merge pull request #726 from PixiEditor/localization-debug-fixes

Fixed localization window crashes
Krzysztof Krysiński 7 months ago
parent
commit
69408b19ea

+ 8 - 1
src/PixiEditor/Views/Dialogs/Debugging/Localization/LocalizationDataContext.cs

@@ -41,6 +41,7 @@ internal class LocalizationDataContext : PixiObservableObject
             if (SetProperty(ref apiKey, value))
             {
                 PixiEditorSettings.Debug.PoEditorApiKey.Value = value;
+                LoadApiKeyCommand.NotifyCanExecuteChanged();
             }
         }
     }
@@ -60,7 +61,13 @@ internal class LocalizationDataContext : PixiObservableObject
     public PoeLanguage SelectedLanguage
     {
         get => selectedLanguage;
-        set => SetProperty(ref selectedLanguage, value);
+        set
+        {
+            if (SetProperty(ref selectedLanguage, value))
+            {
+                ApplyLanguageCommand.NotifyCanExecuteChanged();
+            }
+        }
     }
 
     public ObservableCollection<PoeLanguage> LanguageCodes { get; } = new();

+ 8 - 10
src/PixiEditor/Views/Dialogs/Debugging/Localization/LocalizationDebugWindow.axaml

@@ -67,8 +67,8 @@
                                                          Fill="{Binding StatusBrush}"
                                                          Margin="0,0,5,0" />
                                                 <TextBlock VerticalAlignment="Center">
-                                                    <Run Text="{Binding Name}" />
-                                                    <Run Text="{Binding Code, StringFormat='(\{0\})'}" />
+                                                    <Run Text="{Binding Name, Mode=OneWay}" />
+                                                    <Run Text="{Binding Code, Mode=OneWay, StringFormat='(\{0\})'}" />
                                                 </TextBlock>
                                             </StackPanel>
                                         </DataTemplate>
@@ -103,7 +103,7 @@
             <Border Padding="5"
                     BorderThickness="1" CornerRadius="5"
                     Margin="0,5,0,5"
-                    IsVisible="{Binding SelectedLanguage, Converter={converters:NotNullToVisibilityConverter}}">
+                    IsVisible="{Binding SelectedLanguage, Mode=OneWay, Converter={converters:NotNullToVisibilityConverter}}">
                 <StackPanel>
                     <Grid Margin="0,0,0,5">
                         <Grid.ColumnDefinitions>
@@ -111,8 +111,8 @@
                             <ColumnDefinition Width="Auto" />
                         </Grid.ColumnDefinitions>
                         <TextBlock>
-                            <Run Text="{Binding SelectedLanguage.Name}" />
-                            <Run Text="{Binding SelectedLanguage.Code, StringFormat='(\{0\})'}" />
+                            <Run Text="{Binding SelectedLanguage.Name, Mode=OneWay}" />
+                            <Run Text="{Binding SelectedLanguage.Code, Mode=OneWay, StringFormat='(\{0\})'}" />
                         </TextBlock>
                         <TextBlock Grid.Column="1">
                             <Run Text="{Binding SelectedLanguage.Percentage, Mode=OneWay, StringFormat='\{0\}%'}" />
@@ -125,20 +125,18 @@
                             <ColumnDefinition />
                             <ColumnDefinition Width="Auto" />
                         </Grid.ColumnDefinitions>
-                        <Border Background="{Binding SelectedLanguage.StatusBrush}" CornerRadius="2" />
+                        <Border Background="{Binding SelectedLanguage.StatusBrush, Mode=OneWay}" CornerRadius="2" />
                         <TextBlock Grid.Column="1"
-                                   ui:Translator.LocalizedString="{Binding SelectedLanguage.StatusText}" Margin="5,0" />
+                                   ui:Translator.LocalizedString="{Binding SelectedLanguage.StatusText, Mode=OneWay}" Margin="5,0" />
                         <TextBlock ui:Hyperlink.Command="{Binding CopySelectedUpdatedCommand}" Grid.Column="2" ui:Translator.TooltipKey="COPY_TO_CLIPBOARD">
                             <Run
                                 Text="{Binding SelectedLanguage.UpdatedLocal, Mode=OneWay, StringFormat='g'}" />
-                            <Run Text=" &#xe855;" FontFamily="{DynamicResource Feather}" />
                         </TextBlock>
                     </Grid>
                     <Grid>
                         <Grid.ColumnDefinitions>
                             <ColumnDefinition />
-                            <ColumnDefinition
-                                Width="{Binding Source={x:Static main:DebugViewModel.IsDebugBuild}, Converter={converters:BoolToValueConverter FalseValue=Auto, TrueValue=*}}" />
+                            <ColumnDefinition />
                         </Grid.ColumnDefinitions>
                         <Button ui:Translator.Key="APPLY" Command="{Binding ApplyLanguageCommand}" />
                         <Button Grid.Column="1" Margin="5,0,0,0" ui:Translator.Key="UPDATE_SOURCE"