Skip to content

Commit eda0e82

Browse files
committed
fix: path data generation
1 parent c47c609 commit eda0e82

File tree

6 files changed

+79
-66
lines changed

6 files changed

+79
-66
lines changed

src/IconPacks.Browser/App.xaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,9 @@
9797
</Style>
9898

9999
<Style BasedOn="{StaticResource MahApps.Styles.MetroHeader}" TargetType="mah:MetroHeader">
100-
<Setter Property="Padding" Value="2 0 2 5" />
101-
<Setter Property="mah:HeaderedControlHelper.HeaderFontSize" Value="{DynamicResource MahApps.Sizes.Font.Content}" />
100+
<Setter Property="Padding" Value="2 0 2 4" />
101+
<Setter Property="mah:HeaderedControlHelper.HeaderMargin" Value="2 2 2 4" />
102+
<Setter Property="mah:HeaderedControlHelper.HeaderFontSize" Value="{DynamicResource MahApps.Font.Size.Content}" />
102103
</Style>
103104

104105
<Style BasedOn="{StaticResource MahApps.Styles.ColorPicker}" TargetType="mah:ColorPicker">

src/IconPacks.Browser/Controls/SideBar.xaml

Lines changed: 30 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<ScrollViewer VerticalScrollBarVisibility="Auto">
2020
<Grid>
2121
<Grid.RowDefinitions>
22-
<RowDefinition Height="150" MinHeight="50" />
22+
<RowDefinition Height="250" MinHeight="50" />
2323
<RowDefinition Height="Auto" />
2424
<RowDefinition Height="Auto" />
2525
</Grid.RowDefinitions>
@@ -81,10 +81,9 @@
8181

8282
<StackPanel Grid.Row="2">
8383

84-
<Expander Margin="0 2 0 0" Header="Icon Information" IsExpanded="False">
84+
<Expander Margin="0 2 0 0" Header="Icon Information">
8585
<StackPanel>
86-
<mah:MetroHeader Padding="2 0"
87-
DataContext="{Binding SelectedIcon}"
86+
<mah:MetroHeader DataContext="{Binding SelectedIcon}"
8887
Header="IconPackName and IconKind">
8988
<ctrls:CopyToClipboardTextBox>
9089
<ctrls:CopyToClipboardTextBox.TextToCopy>
@@ -108,8 +107,7 @@
108107
</Expander>
109108

110109
<Expander Margin="0 5 0 0"
111-
Header="Preview options"
112-
IsExpanded="False">
110+
Header="Preview options">
113111
<StackPanel>
114112
<mah:MetroHeader Header="Iconsize ">
115113
<ComboBox x:Name="ComboBoxIconPreviewSize"
@@ -145,13 +143,11 @@
145143
<mah:MetroHeader>
146144
<mah:MetroHeader.Header>
147145
<StackPanel Orientation="Horizontal">
148-
<StackPanel Orientation="Horizontal">
149-
<iconPacks:PackIconEvaIcons Width="20"
150-
Height="10"
151-
VerticalAlignment="Center"
152-
Kind="Code" />
153-
<TextBlock VerticalAlignment="Center" Text="Copy icon as WPF-Control" />
154-
</StackPanel>
146+
<iconPacks:PackIconPhosphorIcons Width="12"
147+
Height="12"
148+
VerticalAlignment="Center"
149+
Kind="BracketsAngle" />
150+
<Label VerticalAlignment="Center" Margin ="4 0" Padding="0" Content="Copy as WPF-Control" />
155151
</StackPanel>
156152
</mah:MetroHeader.Header>
157153
<ctrls:CopyToClipboardTextBox FontFamily="Consolas" TextToCopy="{Binding CopyToClipboardText}" />
@@ -160,13 +156,11 @@
160156
<mah:MetroHeader>
161157
<mah:MetroHeader.Header>
162158
<StackPanel Orientation="Horizontal">
163-
<StackPanel Orientation="Horizontal">
164-
<iconPacks:PackIconEvaIcons Width="20"
165-
Height="10"
166-
VerticalAlignment="Center"
167-
Kind="Code" />
168-
<TextBlock VerticalAlignment="Center" Text="Copy icon as WPF-PathGeometry" />
169-
</StackPanel>
159+
<iconPacks:PackIconPhosphorIcons Width="12"
160+
Height="12"
161+
VerticalAlignment="Center"
162+
Kind="Polygon" />
163+
<Label VerticalAlignment="Center" Margin ="4 0" Padding="0" Content="Copy as WPF-PathGeometry" />
170164
</StackPanel>
171165
</mah:MetroHeader.Header>
172166
<ctrls:CopyToClipboardTextBox FontFamily="Consolas" TextToCopy="{Binding CopyToClipboardWpfGeometry}" />
@@ -176,28 +170,25 @@
176170
<mah:MetroHeader>
177171
<mah:MetroHeader.Header>
178172
<StackPanel Orientation="Horizontal">
179-
<StackPanel Orientation="Horizontal">
180-
<iconPacks:PackIconMaterial Width="20"
181-
Height="10"
182-
VerticalAlignment="Center"
183-
Kind="CodeBraces" />
184-
<TextBlock VerticalAlignment="Center" Text="Copy icon as content" />
185-
</StackPanel>
173+
<iconPacks:PackIconPhosphorIcons Width="12"
174+
Height="12"
175+
VerticalAlignment="Center"
176+
Kind="BracketsCurly" />
177+
<Label VerticalAlignment="Center" Margin ="4 0" Padding="0" Content="Copy as content extension" />
186178
</StackPanel>
187179
</mah:MetroHeader.Header>
188180
<ctrls:CopyToClipboardTextBox FontFamily="Consolas" TextToCopy="{Binding CopyToClipboardAsContentText}" />
189181
</mah:MetroHeader>
182+
190183
<!-- Copy as UWP Control -->
191184
<mah:MetroHeader>
192185
<mah:MetroHeader.Header>
193186
<StackPanel Orientation="Horizontal">
194-
<StackPanel Orientation="Horizontal">
195-
<iconPacks:PackIconFontAwesome Width="20"
196-
Height="10"
197-
VerticalAlignment="Center"
198-
Kind="DrawPolygonSolid" />
199-
<TextBlock VerticalAlignment="Center" Text="Copy icon as UWP-Control" />
200-
</StackPanel>
187+
<iconPacks:PackIconPhosphorIcons Width="12"
188+
Height="12"
189+
VerticalAlignment="Center"
190+
Kind="BracketsAngle" />
191+
<Label VerticalAlignment="Center" Margin ="4 0" Padding="0" Content="Copy as UWP-Control" />
201192
</StackPanel>
202193
</mah:MetroHeader.Header>
203194
<ctrls:CopyToClipboardTextBox FontFamily="Consolas" TextToCopy="{Binding CopyToClipboardAsPathIconText}" />
@@ -206,13 +197,11 @@
206197
<mah:MetroHeader>
207198
<mah:MetroHeader.Header>
208199
<StackPanel Orientation="Horizontal">
209-
<StackPanel Orientation="Horizontal">
210-
<iconPacks:PackIconMaterial Width="20"
211-
Height="10"
212-
VerticalAlignment="Center"
213-
Kind="Draw" />
214-
<TextBlock VerticalAlignment="Center" Text="Copy path data" />
215-
</StackPanel>
200+
<iconPacks:PackIconPhosphorIcons Width="12"
201+
Height="12"
202+
VerticalAlignment="Center"
203+
Kind="Polygon" />
204+
<Label VerticalAlignment="Center" Margin ="4 0" Padding="0" Content="Copy path data" />
216205
</StackPanel>
217206
</mah:MetroHeader.Header>
218207
<ctrls:CopyToClipboardTextBox FontFamily="Consolas" TextToCopy="{Binding CopyToClipboardAsGeometryText}" />

src/IconPacks.Browser/MainWindow.xaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@
7171
Height="22"
7272
HorizontalAlignment="Center"
7373
BorderThickness="0"
74-
Command="{x:Static viewModels:MainViewModel.CopyTextToClipboardCommand}"
75-
CommandParameter="{Binding CopyToClipboardText}"
74+
Command="{x:Static viewModels:MainViewModel.CopyToClipboardTextCommand}"
75+
CommandParameter="{Binding}"
7676
Focusable="False"
7777
IsTabStop="False"
7878
Style="{StaticResource CustomMetroCircleButtonStyle}">
@@ -91,8 +91,8 @@
9191
<Button Width="22"
9292
Height="22"
9393
BorderThickness="0"
94-
Command="{x:Static viewModels:MainViewModel.CopyTextToClipboardCommand}"
95-
CommandParameter="{Binding CopyToClipboardAsContentText}"
94+
Command="{x:Static viewModels:MainViewModel.CopyToClipboardAsContentTextCommand}"
95+
CommandParameter="{Binding}"
9696
Focusable="False"
9797
IsTabStop="False"
9898
Style="{StaticResource CustomMetroCircleButtonStyle}">
@@ -106,8 +106,8 @@
106106
<Button Width="22"
107107
Height="22"
108108
BorderThickness="0"
109-
Command="{x:Static viewModels:MainViewModel.CopyTextToClipboardCommand}"
110-
CommandParameter="{Binding CopyToClipboardAsPathIconText}"
109+
Command="{x:Static viewModels:MainViewModel.CopyToClipboardAsPathIconTextCommand}"
110+
CommandParameter="{Binding}"
111111
Focusable="False"
112112
IsTabStop="False"
113113
Style="{StaticResource CustomMetroCircleButtonStyle}">
@@ -121,8 +121,8 @@
121121
<Button Width="22"
122122
Height="22"
123123
BorderThickness="0"
124-
Command="{x:Static viewModels:MainViewModel.CopyTextToClipboardCommand}"
125-
CommandParameter="{Binding CopyToClipboardAsGeometryText}"
124+
Command="{x:Static viewModels:MainViewModel.CopyToClipboardAsGeometryTextCommand}"
125+
CommandParameter="{Binding}"
126126
Focusable="False"
127127
IsTabStop="False"
128128
Style="{StaticResource CustomMetroCircleButtonStyle}">

src/IconPacks.Browser/Model/ExportHelper.cs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Globalization;
33
using System.IO;
44
using System.Windows.Media;
5-
65
using IconPacks.Browser.Properties;
76
using IconPacks.Browser.ViewModels;
87

@@ -29,7 +28,7 @@ internal class ExportHelper
2928
private static string _ClipboardWpf;
3029

3130
internal static string ClipboardWpf => _ClipboardWpf ??= File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ExportTemplates", "Clipboard.WPF.xml"));
32-
31+
3332
// Clipboard - WPF
3433
private static string _ClipboardWpfGeometry;
3534

@@ -107,26 +106,16 @@ internal ExportParameters(IIconViewModel icon)
107106
this.IconPackHomepage = metaData?.ProjectUrl;
108107
this.IconPackLicense = metaData?.LicenseUrl;
109108

110-
//this.PathData = (icon as IconViewModel)?.GetPackIconControlBase().Data;
111-
_pathDataLazy = new Lazy<string>(() => (icon as IconViewModel)?.GetPackIconControlBase().Data);
109+
this.PathData = (icon as IconViewModel)?.GetPackIconControlBase().Data;
112110
}
113111

114-
private Lazy<string> _pathDataLazy;
115-
private string _pathData;
116-
117112
internal string IconKind { get; set; }
118113
internal string IconPackName { get; set; }
119114
internal string IconPackHomepage { get; set; }
120115
internal string IconPackLicense { get; set; }
121116
internal string PageWidth { get; set; }
122117
internal string PageHeight { get; set; }
123-
124-
internal string PathData
125-
{
126-
get => _pathData ?? _pathDataLazy.Value;
127-
set => _pathData = value;
128-
}
129-
118+
internal string PathData { get; set; }
130119
internal string FillColor { get; set; }
131120
internal string Background { get; set; }
132121
internal string StrokeColor { get; set; }

src/IconPacks.Browser/ViewModels/IconPackViewModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ public interface IIconViewModel
473473
object Value { get; set; }
474474
MetaDataAttribute MetaData { get; set; }
475475
string CopyToClipboardText { get; }
476+
string CopyToClipboardWpfGeometry { get; }
476477
string CopyToClipboardAsContentText { get; }
477478
string CopyToClipboardAsPathIconText { get; }
478479
string CopyToClipboardAsGeometryText { get; }

src/IconPacks.Browser/ViewModels/MainViewModel.cs

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,46 @@ private void ApplyFilterText(string filterText)
176176
}
177177
}
178178

179+
private static void DoCopyTextToClipboard(string text)
180+
{
181+
Application.Current.Dispatcher.BeginInvoke(new Action(() => { Clipboard.SetDataObject(text); }));
182+
}
183+
179184
public static ICommand CopyTextToClipboardCommand { get; } =
180185
new SimpleCommand
181186
{
182187
CanExecuteDelegate = x => (x is string),
183-
ExecuteDelegate = x => Application.Current.Dispatcher.BeginInvoke(new Action(() => { Clipboard.SetDataObject(x as string); }))
188+
ExecuteDelegate = x => DoCopyTextToClipboard((string)x)
189+
};
190+
191+
public static ICommand CopyToClipboardTextCommand { get; } =
192+
new SimpleCommand
193+
{
194+
CanExecuteDelegate = x => (x is IIconViewModel),
195+
ExecuteDelegate = x => DoCopyTextToClipboard(((IIconViewModel)x).CopyToClipboardText)
196+
};
197+
198+
public static ICommand CopyToClipboardAsContentTextCommand { get; } =
199+
new SimpleCommand
200+
{
201+
CanExecuteDelegate = x => (x is IIconViewModel),
202+
ExecuteDelegate = x => DoCopyTextToClipboard(((IIconViewModel)x).CopyToClipboardAsContentText)
184203
};
185204

205+
public static ICommand CopyToClipboardAsPathIconTextCommand { get; } =
206+
new SimpleCommand
207+
{
208+
CanExecuteDelegate = x => (x is IIconViewModel),
209+
ExecuteDelegate = x => DoCopyTextToClipboard(((IIconViewModel)x).CopyToClipboardAsPathIconText)
210+
};
211+
212+
public static ICommand CopyToClipboardAsGeometryTextCommand { get; } =
213+
new SimpleCommand
214+
{
215+
CanExecuteDelegate = x => (x is IIconViewModel),
216+
ExecuteDelegate = x => DoCopyTextToClipboard(((IIconViewModel)x).CopyToClipboardAsGeometryText)
217+
};
218+
186219
public SettingsViewModel Settings { get; }
187220
}
188221
}

0 commit comments

Comments
 (0)