Skip to content

Dev#69

Merged
TheJoeFin merged 22 commits intomainfrom
dev
Apr 4, 2026
Merged

Dev#69
TheJoeFin merged 22 commits intomainfrom
dev

Conversation

@TheJoeFin
Copy link
Copy Markdown
Owner

@TheJoeFin TheJoeFin commented Apr 4, 2026

  • Open SVG
  • Checker background
  • Extract from EXE / DLL

closes #53
closes #2

TheJoeFin and others added 22 commits March 27, 2026 06:25
Updated Microsoft.WindowsAppSDK, CommunityToolkit.Mvvm, Magick.NET-Q16-AnyCPU, and WindowsSdkPackageVersion to their latest versions in both .csproj and .wapproj files. No functional code changes were made.
Update CreateCheckerBrush to accept baseSideLength and scale tileSize based on image size and base side length. Update all usages to pass _sideLength as the new parameter. This improves checker pattern scaling for different image sizes.
- Allow Bash grep for .cs/.xaml in settings.local.json
- Only load CLI args on first navigation in MainViewModel
- Prevent image reload when returning from About page
- Remove Dispose() call from OnNavigatedFrom
- Remove About page back button
- Enable NavigationCacheMode on MainPage
- Simplify MultiPage layout and padding
- Add TitleBar back button support in ShellPage and ViewModel
Replace the exact-divisor search loop with Math.Round so prime canvas
widths no longer collapse tileSize to 1 (1px noise). Bitmap is now
always created at the actual canvas size so Stretch.Fill renders 1:1
with no scaling or interpolation, giving crisp edges at any zoom level.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update About page with theme selection (light/dark/default) and in-app rating control. Show changelog for v1.16/v1.15. Add feedback dialog for low ratings and Store review for high ratings. Escape key now navigates back. Bump app version to 1.16.0.0. Minor refactoring and new dependencies in AboutViewModel.
Updated settings.local.json to permit the "Bash(gh issue view:*)" command in the permissions list. Also made a minor formatting adjustment.
Changed LoadingText to use the count of enabled icon sizes instead of all sizes, and updated the wording from "previews" to "sizes" for clarity. The logic now sets the text after enabling/disabling icon sizes to ensure accuracy.
Added "WebSearch" and "WebFetch(domain:raw.githubusercontent.com)" to the permissions list in settings.local.json to enable web search and fetching raw content from GitHub.
Introduced CropImageDialog using CommunityToolkit.WinUI.Controls.ImageCropper for in-app image cropping. Added CropImageCommand to MainViewModel to handle cropping, updating the main image, and managing undo/redo. Registered the dialog and package in the project file. Updated MainPage UI to include a "Crop" menu item and improved XAML formatting and UI text/icons.
Move source image setup, icon size checks, and UI updates into a using block for firstPassImage. Ensure proper disposal, reduce redundant image loading, and improve code clarity by grouping related operations.
Added full support for SVG (.svg) images across the app. SVGs are now recognized as supported formats, rendered at any size for lossless quality, and previewed using WinUI 3's SvgImageSource for native vector display. Image processing and filters (grayscale, black/white, invert) now rasterize SVGs as needed and output PNGs. All relevant logic in PreviewStack and ImageHelper updated to handle SVGs appropriately.
Introduced FileGroupItem class in the Models namespace, inheriting from ObservableObject. Includes observable properties for file extension, total count, large file count, and inclusion flag, plus a computed DisplayLabel for UI display.
Introduced PreCheckDialog ContentDialog to show a summary of detected image files, allow users to select file groups for processing, and provide a "don't show again" option. User preferences are saved via ILocalSettingsService.
Introduce a pre-check dialog to review and filter image file types before loading large or numerous files from a folder. Users can exclude extensions (e.g., .ico), see file counts, and optionally skip future pre-checks. Updated ViewModel to manage pre-check state and excluded extensions. UI now shows a cancel button and progress ring during folder assessment. Added PreCheckDialog XAML to the project.
Added CanCropImage method to control CropImage command availability based on ImagePath value and extension. Updated ImagePath property to notify command state changes and set CanExecute for the command accordingly.
Refactored checkerboard brush generation to use idealTileSize, ensuring tile size is always an exact divisor of the canvas. This prevents partial tiles or slivers at the edges and maintains crisp, consistent tiling regardless of canvas size or DPI.
Added CancelLoading command to set folderLoadCancelled flag. Refactored BuildFileGroupsAsync to use array spread syntax for property tasks. Simplified .ico group IsIncluded assignment with null-conditional operator.
Reformat XAML bindings for readability by splitting properties onto new lines. Remove PlaceholderValue from RatingControl in AboutPage.xaml. Change Cancel button command from GoBackCommand to CancelLoadingCommand in MultiPage.xaml. No functional changes except for the updated command.
Upgraded Microsoft.Windows.SDK.BuildTools package from version 10.0.26100.7705 to 10.0.28000.1721 in both the .wapproj and .csproj files to ensure compatibility with the latest Windows SDK and build tools.
@TheJoeFin TheJoeFin added the enhancement New feature or request label Apr 4, 2026
@TheJoeFin TheJoeFin merged commit 1dd20b6 into main Apr 4, 2026
1 check passed
@TheJoeFin TheJoeFin deleted the dev branch April 4, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extract icons that are built into Windows DLLs or EXEs Cropping tool

1 participant