Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #53
closes #2