Răsfoiți Sursa

Fixed some browser bugs

Krzysztof Krysiński 2 ani în urmă
părinte
comite
cb9585b2ae

+ 4 - 0
src/PixiEditor.Platform.Standalone/StandaloneAdditionalContentProvider.cs

@@ -4,6 +4,10 @@ public sealed class StandaloneAdditionalContentProvider : IAdditionalContentProv
 {
     public bool IsContentAvailable(AdditionalContentProduct product)
     {
+#if DEBUG
+        return true;
+#else
         return false;
+#endif
     }
 }

+ 1 - 6
src/PixiEditor/ViewModels/SubViewModels/AdditionalContent/AdditionalContentViewModel.cs

@@ -11,10 +11,5 @@ internal class AdditionalContentViewModel : ViewModelBase
         AdditionalContentProvider = additionalContentProvider;
     }
 
-    public bool IsSupporterPackAvailable =>
-#if DEBUG
-        true;
-#else
-        AdditionalContentProvider != null && AdditionalContentProvider.IsContentAvailable(AdditionalContentProduct.SupporterPack);
-#endif
+    public bool IsSupporterPackAvailable => AdditionalContentProvider != null && AdditionalContentProvider.IsContentAvailable(AdditionalContentProduct.SupporterPack);
 }

+ 8 - 1
src/PixiEditor/Views/Dialogs/PalettesBrowser.xaml

@@ -14,6 +14,7 @@
     xmlns:dialogs="clr-namespace:PixiEditor.Views.Dialogs"
     xmlns:helpers="clr-namespace:PixiEditor.Helpers"
     xmlns:ui="clr-namespace:PixiEditor.Extensions.UI;assembly=PixiEditor.Extensions"
+    xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
     x:Class="PixiEditor.Views.Dialogs.PalettesBrowser"
     mc:Ignorable="d"
     WindowStartupLocation="CenterScreen" 
@@ -81,7 +82,13 @@
                 <usercontrols:InputBox
                                        Text="{Binding NameFilter, Delay=100, ElementName=palettesBrowser, UpdateSourceTrigger=PropertyChanged}"
                                        VerticalAlignment="Center"
-                                       Style="{StaticResource DarkTextBoxStyle}" Width="150" />
+                                       Style="{StaticResource DarkTextBoxStyle}" Width="150">
+                    <b:Interaction.Behaviors>
+                        <behaviours:TextBoxFocusBehavior SelectOnMouseClick="True" ConfirmOnEnter="True"
+                                                         FocusNext="{Binding ElementName=numberInput, Path=FocusNext}"/>
+                        <behaviours:GlobalShortcutFocusBehavior/>
+                    </b:Interaction.Behaviors>
+                </usercontrols:InputBox>
 
                 <Label Margin="10 0 0 0" ui:Translator.Key="COLORS" Style="{StaticResource BaseLabel}" VerticalAlignment="Center"/>
                 <ComboBox x:Name="colorsComboBox" VerticalAlignment="Center" SelectionChanged="ColorsComboBox_SelectionChanged">

+ 9 - 1
src/PixiEditor/Views/Dialogs/PalettesBrowser.xaml.cs

@@ -438,7 +438,7 @@ internal partial class PalettesBrowser : Window, IPopupWindow
                 return;
             }
 
-            PaletteList.Palettes.AddRange(newPalettes.Palettes);
+            PaletteList.Palettes.AddRange(newPalettes.Palettes.Where(x => !PaletteEquals(x, PaletteList.Palettes)));
             Sort();
             IsFetching = false;
 
@@ -446,6 +446,12 @@ internal partial class PalettesBrowser : Window, IPopupWindow
         }
     }
 
+    private bool PaletteEquals(Palette palette, WpfObservableRangeCollection<Palette> paletteListPalettes)
+    {
+        return paletteListPalettes.Any(x => x.Name == palette.Name && x.Source == palette.Source && x.Colors.Count == palette.Colors.Count
+        && x.Colors.SequenceEqual(palette.Colors));
+    }
+
     private void SortingComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
     {
         if (e.AddedItems is { Count: > 0 } && e.AddedItems[0] is ComboBoxItem)
@@ -489,6 +495,8 @@ internal partial class PalettesBrowser : Window, IPopupWindow
     {
         if (PaletteList?.Palettes == null) return;
 
+        SortedResults?.Clear();
+
         IOrderedEnumerable<Palette> sorted = null;
         if (!descending)
         {