Skip to content

Commit

Permalink
Added the possibility to remove an item from the history in "Palette"…
Browse files Browse the repository at this point in the history
… page (#74)
  • Loading branch information
Leo-Peyronnet committed Nov 20, 2021
1 parent a124bc6 commit c5a503a
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 47 deletions.
4 changes: 2 additions & 2 deletions ColorPicker/Pages/PalettePage.xaml.cs
Expand Up @@ -41,7 +41,7 @@ public partial class PalettePage : Page
{
RGB[] CurrentColorPalette { get; set; }
string CurrentRGBColor { get; set; }
List<string> SavedColorPalettes { get; set; }
internal List<string> SavedColorPalettes { get; set; }
public PalettePage()
{
InitializeComponent();
Expand Down Expand Up @@ -238,7 +238,7 @@ private void AddToHistoryBtn_Click(object sender, RoutedEventArgs e)
if (!SavedColorPalettes.Contains(CurrentRGBColor))
{
SavedColorPalettes.Add(CurrentRGBColor); // Add to saved palettes
HistoryDisplayer.Children.Add(new PaletteHistoryItem(CurrentColorPalette));
HistoryDisplayer.Children.Add(new PaletteHistoryItem(CurrentColorPalette, HistoryDisplayer));
}
}
}
Expand Down
101 changes: 57 additions & 44 deletions ColorPicker/UserControls/PaletteHistoryItem.xaml
Expand Up @@ -4,50 +4,63 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ColorPicker.UserControls"
xmlns:lang="clr-namespace:ColorPicker.Properties"
mc:Ignorable="d"
Width="300">
<Border CornerRadius="10" Margin="10" Background="{Binding Source={StaticResource Background2}}" Padding="10">
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Border x:Name="ColorB1" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B1ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB2" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B2ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB3" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B3ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB4" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B4ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB5" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B5ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB6" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B6ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB7" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B7ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB8" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B8ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
</WrapPanel>
</Border>
<Border CornerRadius="10" Margin="10" Background="{Binding Source={StaticResource Background2}}" Padding="10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>

<Button Content="&#xF34D;" Padding="5" x:Name="DeleteBtn" Click="DeleteBtn_Click" FontFamily="..\Fonts\#FluentSystemIcons-Regular" Grid.Column="1" Style="{DynamicResource TabButtonStyle}" Background="{Binding Source={StaticResource Background2}}" Foreground="{Binding Source={StaticResource Foreground1}}" FontSize="14" HorizontalAlignment="Right" Margin="4 0">
<Button.ToolTip>
<ToolTip Content="{x:Static lang:Resources.Delete}" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Button.ToolTip>
</Button>
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1">
<Border x:Name="ColorB1" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B1ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB2" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B2ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB3" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B3ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB4" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B4ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB5" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B5ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB6" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B6ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB7" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B7ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
<Border x:Name="ColorB8" CornerRadius="10" Width="50" Height="50" Margin="7" d:Background="#FFF" Cursor="Hand" MouseLeftButtonDown="ColorB1_MouseLeftButtonDown">
<Border.ToolTip>
<ToolTip x:Name="B8ToolTip" Foreground="{Binding Source={StaticResource Foreground1}}" Background="{Binding Source={StaticResource Background1}}"/>
</Border.ToolTip>
</Border>
</WrapPanel>
</Grid>
</Border>
</UserControl>
10 changes: 9 additions & 1 deletion ColorPicker/UserControls/PaletteHistoryItem.xaml.cs
Expand Up @@ -36,10 +36,12 @@ namespace ColorPicker.UserControls
public partial class PaletteHistoryItem : UserControl
{
internal RGB[] Colors { get; init; }
public PaletteHistoryItem(RGB[] colors)
private StackPanel ParentStackPanel { get; init; }
public PaletteHistoryItem(RGB[] colors, StackPanel parent)
{
InitializeComponent();
Colors = colors;
ParentStackPanel = parent; // Set

InitUI(); // Load the UI
}
Expand Down Expand Up @@ -73,5 +75,11 @@ private void ColorB1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
var color = ((SolidColorBrush)border.Background).Color; // Get background color
Clipboard.SetText($"{color.R}{Global.Settings.RGBSeparator}{color.G}{Global.Settings.RGBSeparator}{color.B}"); // Copy
}

private void DeleteBtn_Click(object sender, RoutedEventArgs e)
{
Global.PalettePage.SavedColorPalettes.Remove($"{Colors[7].R};{Colors[7].G};{Colors[7].B}"); // Remove from virtual history
ParentStackPanel.Children.Remove(this); // Remove color palette
}
}
}

0 comments on commit c5a503a

Please sign in to comment.