Browse Source

Fixed Russian and Ukrainian being to wide for palette browser #551

CPKreuz 2 years ago
parent
commit
0656d95b73

+ 2 - 3
src/PixiEditor/Views/Dialogs/PalettesBrowser.xaml

@@ -19,9 +19,8 @@
     xmlns:xaml="clr-namespace:PixiEditor.Models.Commands.XAML"
     xmlns:xaml="clr-namespace:PixiEditor.Models.Commands.XAML"
     x:Class="PixiEditor.Views.Dialogs.PalettesBrowser"
     x:Class="PixiEditor.Views.Dialogs.PalettesBrowser"
     mc:Ignorable="d"
     mc:Ignorable="d"
-    WindowStartupLocation="CenterScreen" 
-    MinWidth="200" 
-    Height="600" Width="850" 
+    WindowStartupLocation="CenterScreen"
+    Height="600" Width="850"
     WindowStyle="None"
     WindowStyle="None"
     x:Name="palettesBrowser"
     x:Name="palettesBrowser"
     FlowDirection="{helpers:Localization FlowDirection}"
     FlowDirection="{helpers:Localization FlowDirection}"

+ 20 - 0
src/PixiEditor/Views/Dialogs/PalettesBrowser.xaml.cs

@@ -172,10 +172,16 @@ internal partial class PalettesBrowser : Window, IPopupWindow
 
 
     private LocalPalettesFetcher localPalettesFetcher;
     private LocalPalettesFetcher localPalettesFetcher;
 
 
+    private ILocalizationProvider localizationProvider;
+
     private double _lastScrolledOffset = -1;
     private double _lastScrolledOffset = -1;
 
 
     public PalettesBrowser(PaletteProvider provider)
     public PalettesBrowser(PaletteProvider provider)
     {
     {
+        localizationProvider = ViewModelMain.Current.LocalizationProvider;
+        localizationProvider.OnLanguageChanged += LocalizationProviderOnOnLanguageChanged;
+        MinWidth = DetermineWidth();
+        
         PaletteProvider = provider;
         PaletteProvider = provider;
         InitializeComponent();
         InitializeComponent();
         Title = new LocalizedString("PALETTE_BROWSER");
         Title = new LocalizedString("PALETTE_BROWSER");
@@ -198,6 +204,20 @@ internal partial class PalettesBrowser : Window, IPopupWindow
         IPreferences.Current.AddCallback(PreferencesConstants.FavouritePalettes, OnFavouritePalettesChanged);
         IPreferences.Current.AddCallback(PreferencesConstants.FavouritePalettes, OnFavouritePalettesChanged);
     }
     }
 
 
+    private void LocalizationProviderOnOnLanguageChanged(Language obj)
+    {
+        MinWidth = DetermineWidth();
+    }
+
+    private double DetermineWidth()
+    {
+        return localizationProvider.CurrentLanguage.LanguageData.Code switch
+        {
+            "ru" or "uk" => 900,
+            _ => 850
+        };
+    } 
+
     private bool CanAddFromPalette(object param)
     private bool CanAddFromPalette(object param)
     {
     {
         return CurrentEditingPalette != null;
         return CurrentEditingPalette != null;