Skip to content

Commit 9e5da22

Browse files
authored
Dev (#49)
* update to net9 and enable AOT * Disable AOT, update packages * Fix weird issue with About controls going right * WIP Update packages and reenable AOT for now Preview packages for Community Toolkit seemed to do the trick * update to net9 and enable AOT * Disable AOT, update packages * WIP Update packages and reenable AOT for now Preview packages for Community Toolkit seemed to do the trick * Fix partial properties issue with preview lang * Update packages and disable AOT * Code style and fixing white BG * bump version
1 parent 8c48c9a commit 9e5da22

File tree

6 files changed

+55
-51
lines changed

6 files changed

+55
-51
lines changed

Simple Icon File Maker/Simple Icon File Maker (Package)/Package.appxmanifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<Identity
1010
Name="40087JoeFinApps.SimpleIconFileMaker"
1111
Publisher="CN=153F3B0F-BA3D-4964-8098-71AC78A1DF6A"
12-
Version="1.12.1.0" />
12+
Version="1.12.2.0" />
1313

1414
<Properties>
1515
<DisplayName>Simple Icon File Maker</DisplayName>

Simple Icon File Maker/Simple Icon File Maker (Package)/Simple Icon File Maker (Package).wapproj

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<TargetPlatformVersion>10.0.22621.0</TargetPlatformVersion>
4040
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
4141
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
42-
<AssetTargetFallback>net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>
42+
<AssetTargetFallback>net9.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>
4343
<DefaultLanguage>en-US</DefaultLanguage>
4444
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
4545
<EntryPointProjectUniqueName>..\Simple Icon File Maker\Simple Icon File Maker.csproj</EntryPointProjectUniqueName>
@@ -51,6 +51,7 @@
5151
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
5252
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
5353
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
54+
<PublishAot>true</PublishAot>
5455
</PropertyGroup>
5556
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
5657
<AppxBundle>Always</AppxBundle>
@@ -119,13 +120,13 @@
119120
</ProjectReference>
120121
</ItemGroup>
121122
<ItemGroup>
122-
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.240923002">
123+
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.250205002">
123124
<IncludeAssets>build</IncludeAssets>
124125
</PackageReference>
125-
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.3233">
126+
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742">
126127
<IncludeAssets>build</IncludeAssets>
127128
</PackageReference>
128-
<PackageReference Include="WinUIEx" Version="2.4.2" />
129+
<PackageReference Include="WinUIEx" Version="2.5.1" />
129130
</ItemGroup>
130131
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
131132
</Project>

Simple Icon File Maker/Simple Icon File Maker/Controls/PreviewImage.xaml.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using ImageMagick;
2+
using Microsoft.UI;
23
using Microsoft.UI.Composition;
34
using Microsoft.UI.Xaml;
45
using Microsoft.UI.Xaml.Controls;
@@ -10,6 +11,7 @@
1011
using Windows.Storage;
1112
using Windows.Storage.Pickers;
1213
using WinRT.Interop;
14+
using WinUIEx;
1315

1416
namespace Simple_Icon_File_Maker.Controls;
1517

@@ -77,7 +79,7 @@ private async void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
7779
savePicker.SuggestedFileName = $"{OriginalName}-{_sideLength}x{_sideLength}";
7880
savePicker.DefaultFileExtension = extension;
7981

80-
InitializeWithWindow.Initialize(savePicker, App.MainWindow.WindowHandle);
82+
InitializeWithWindow.Initialize(savePicker, App.MainWindow.GetWindowHandle());
8183

8284
StorageFile file = await savePicker.PickSaveFileAsync();
8385

@@ -123,6 +125,7 @@ private void LoadImageOnToCanvas()
123125
// create a visual
124126
SpriteVisual imageVisual = compositor.CreateSpriteVisual();
125127
imageVisual.Brush = brush;
128+
imageVisual.BackfaceVisibility = CompositionBackfaceVisibility.Hidden;
126129

127130
// load the image
128131
LoadedImageSurface image = LoadedImageSurface.StartLoadFromUri(new Uri(_imageFile.Path));
@@ -146,6 +149,7 @@ private void LoadImageOnToCanvas()
146149

147150
// add the visual as a child to canvas
148151
Grid tempGrid = new();
152+
tempGrid.Background = new SolidColorBrush(Colors.Transparent);
149153
ElementCompositionPreview.SetElementChildVisual(tempGrid, imageVisual);
150154
mainImageCanvas.Children.Add(tempGrid);
151155
}

Simple Icon File Maker/Simple Icon File Maker/Controls/PreviewStack.xaml.cs

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public PreviewStack(string path, List<IconSize> sizes, bool showTitle = false)
3030
StorageFolder sf = ApplicationData.Current.LocalCacheFolder;
3131
iconRootString = sf.Path;
3232

33-
ChosenSizes = new(sizes);
33+
ChosenSizes = [.. sizes];
3434
imagePath = path;
3535
mainImage = new(path);
3636

@@ -52,11 +52,9 @@ public async Task<bool> InitializeAsync(IProgress<int> progress)
5252

5353
public bool ChooseTheseSizes(IEnumerable<IconSize> sizes)
5454
{
55-
List<IconSize> selectedSizes = sizes
56-
.Where(x => x.IsSelected && x.IsEnabled && x.SideLength <= SmallerSourceSide)
57-
.ToList();
55+
List<IconSize> selectedSizes = [.. sizes.Where(x => x.IsSelected && x.IsEnabled && x.SideLength <= SmallerSourceSide)];
5856
ChosenSizes.Clear();
59-
ChosenSizes = new(selectedSizes);
57+
ChosenSizes = [.. selectedSizes];
6058

6159
return CheckIfRefreshIsNeeded();
6260
}
@@ -85,16 +83,16 @@ public async Task SaveIconAsync(string outputPath = "")
8583
$"{Path.GetFileNameWithoutExtension(imagePath)}.ico");
8684
}
8785

88-
await Task.Run(async () =>
89-
{
90-
await collection.WriteAsync(outputPath);
86+
await Task.Run(async () =>
87+
{
88+
await collection.WriteAsync(outputPath);
9189

92-
IcoOptimizer icoOpti = new()
93-
{
94-
OptimalCompression = true
95-
};
96-
icoOpti.Compress(outputPath);
97-
});
90+
IcoOptimizer icoOpti = new()
91+
{
92+
OptimalCompression = true
93+
};
94+
icoOpti.Compress(outputPath);
95+
});
9896
}
9997

10098
public async Task SaveAllImagesAsync(string outputPath = "")
@@ -205,16 +203,16 @@ public async Task<bool> GeneratePreviewImagesAsync(IProgress<int> progress, stri
205203
size.IgnoreAspectRatio = false;
206204
size.FillArea = true;
207205

208-
firstPassImage.Extent(size, Gravity.Center, MagickColor.FromRgba(0, 0, 0, 0));
206+
MagickColor transparent = new("#00000000");
207+
firstPassImage.Extent(size, Gravity.Center, transparent);
209208

210-
await firstPassImage.WriteAsync(croppedImagePath);
209+
await firstPassImage.WriteAsync(croppedImagePath, MagickFormat.Png32);
211210

212211
MagickImageCollection collection = [];
213212

214-
List<int> selectedSizes = ChosenSizes
213+
List<int> selectedSizes = [.. ChosenSizes
215214
.Where(s => s.IsSelected == true)
216-
.Select(s => s.SideLength)
217-
.ToList();
215+
.Select(s => s.SideLength)];
218216

219217
int baseAtThisPoint = 20;
220218
progress.Report(baseAtThisPoint);
@@ -364,15 +362,14 @@ private bool CheckIfRefreshIsNeeded()
364362
if (imagePaths.Count < 1)
365363
return true;
366364

367-
List<int> selectedSideLengths = ChosenSizes
365+
List<int> selectedSideLengths = [.. ChosenSizes
368366
.Where(i => i.IsSelected)
369-
.Select(i => i.SideLength)
370-
.ToList();
367+
.Select(i => i.SideLength)];
371368

372369
List<int> generatedSideLengths = [];
373370

374371
foreach ((string sideLength, string path) pair in imagePaths)
375-
if(int.TryParse(pair.sideLength, out int sideLength))
372+
if (int.TryParse(pair.sideLength, out int sideLength))
376373
generatedSideLengths.Add(sideLength);
377374

378375
if (selectedSideLengths.Count != generatedSideLengths.Count)

Simple Icon File Maker/Simple Icon File Maker/Simple Icon File Maker.csproj

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>WinExe</OutputType>
4-
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
4+
<TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
55
<WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
66
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
77
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
@@ -18,6 +18,8 @@
1818
<ImplicitUsings>enable</ImplicitUsings>
1919
<Nullable>enable</Nullable>
2020
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
21+
<PublishAot>false</PublishAot>
22+
<LangVersion>preview</LangVersion>
2123
</PropertyGroup>
2224
<ItemGroup>
2325
<Content Remove="Image128.png" />
@@ -36,16 +38,16 @@
3638
</ItemGroup>
3739

3840
<ItemGroup>
39-
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
40-
<PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.1.240916" />
41-
<PackageReference Include="CommunityToolkit.WinUI.Converters" Version="8.1.240916" />
42-
<PackageReference Include="CommunityToolkit.WinUI.Helpers" Version="8.1.240916" />
43-
<PackageReference Include="Magick.NET-Q16-AnyCPU" Version="14.1.0" />
44-
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
45-
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.240923002" />
46-
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.3233" />
41+
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
42+
<PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.2.241112-preview1" />
43+
<PackageReference Include="CommunityToolkit.WinUI.Converters" Version="8.2.241112-preview1" />
44+
<PackageReference Include="CommunityToolkit.WinUI.Helpers" Version="8.2.241112-preview1" />
45+
<PackageReference Include="Magick.NET-Q16-AnyCPU" Version="14.5.0" />
46+
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.2" />
47+
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.250205002" />
48+
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" />
4749
<PackageReference Include="PropertyChanged.Fody" Version="4.1.0" />
48-
<PackageReference Include="WinUIEx" Version="2.4.2" />
50+
<PackageReference Include="WinUIEx" Version="2.5.1" />
4951
<Manifest Include="$(ApplicationManifest)" />
5052
</ItemGroup>
5153

Simple Icon File Maker/Simple Icon File Maker/ViewModels/MultiViewModel.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,40 +24,40 @@ public partial class MultiViewModel : ObservableRecipient, INavigationAware
2424
private bool folderLoadCancelled = false;
2525

2626
[ObservableProperty]
27-
private int fileLoadProgress = 0;
27+
public partial int FileLoadProgress { get; set; } = 0;
2828

2929
[ObservableProperty]
30-
private bool loadingImages = false;
30+
public partial bool LoadingImages { get; set; } = false;
3131

3232
[ObservableProperty]
33-
private string folderName = "Folder name";
33+
public partial string FolderName { get; set; } = "Folder name";
3434

3535
[ObservableProperty]
36-
private int numberOfImageFiles = 0;
36+
public partial int NumberOfImageFiles { get; set; } = 0;
3737

3838
[ObservableProperty]
39-
private int currentImageRendering = 0;
39+
public partial int CurrentImageRendering { get; set; } = 0;
4040

4141
[ObservableProperty]
42-
private bool arePreviewsZoomed = false;
42+
public partial bool ArePreviewsZoomed { get; set; } = false;
4343

4444
[ObservableProperty]
45-
private bool sizeDisabledWarningIsOpen = false;
45+
public partial bool SizeDisabledWarningIsOpen { get; set; } = false;
4646

4747
[ObservableProperty]
48-
private bool isRefreshNeeded = false;
48+
public partial bool IsRefreshNeeded { get; set; } = false;
4949

5050
[ObservableProperty]
51-
private bool skipIcoFiles = true;
51+
public partial bool SkipIcoFiles { get; set; } = true;
5252

5353
[ObservableProperty]
54-
private bool overwriteFiles = false;
54+
public partial bool OverwriteFiles { get; set; } = false;
5555

5656
[ObservableProperty]
57-
private bool saveAllImagesAsPngs = false;
57+
public partial bool SaveAllImagesAsPngs { get; set; } = false;
5858

5959
[ObservableProperty]
60-
private int sizesGenerating = 0;
60+
public partial int SizesGenerating { get; set; } = 0;
6161

6262
[RelayCommand]
6363
public void GoBack()

0 commit comments

Comments
 (0)