Skip to content

Replace outdated PNG button icons with Fluent glyphs#138

Merged
Jack251970 merged 1 commit into
Jack251970:masterfrom
KamilDev:fluent-glyph-buttons
Apr 23, 2026
Merged

Replace outdated PNG button icons with Fluent glyphs#138
Jack251970 merged 1 commit into
Jack251970:masterfrom
KamilDev:fluent-glyph-buttons

Conversation

@KamilDev
Copy link
Copy Markdown

@KamilDev KamilDev commented Apr 23, 2026

Summary

The existing PNG chrome icons (new-item +, delete trash, settings gear, fold chevrons, etc.) look out of place in the Windows 11 Fluent UI — they're orange, glossy, and faux-3D in a style that predates the rest of the app's aesthetic. This PR swaps them for FluentIcons.Wpf vector glyphs so the per-row icons and action buttons match everything else, and they now inherit the theme's foreground color automatically.

Changes

  • Adds GlyphButton (swap-in replacement for PictureButton) hosting a FluentIcon bound to an Icon dependency property.
  • Adds AppGlyphs — a catalog mapping each former PNG name (Add, Up, Down, Delete, Setting, …) to a Fluent Icon constant.
  • MyListItem now exposes a Glyph property alongside Image. Setting one clears the other, and the glyph's Foreground is bound to the title TextBlock, so row icons pick up the list's foreground color.
  • Migrates every PictureButton(AppImage.*) call site and every Image = AppImage.* list-row assignment across FoldSubItem, NewItem, RestoreItem, SendToList, ShellItem, ShellList, ShellSubMenuDialog, SwitchDicList, WinXList, and the IBtn* / ITsiGuidItem helper buttons.
  • Deletes the 20 now-unused PNGs, the AppImage/AppResources entries that referenced them, and PictureButton.cs.
  • Adds a FluentIcons.Wpf 2.1.324 package reference.

Screenshots

Before

ContextMenuManager_(1)_S4UpzT0obm

After

ContextMenuManager_9IDWzQ0Byx

The existing PNG chrome icons look out of place in the Windows 11 Fluent UI — they're orange, glossy, and faux-3D in a style that predates the rest of the app's aesthetic. Swapping them for `FluentIcons.Wpf` vector glyphs brings the per-row icons and action buttons in line with everything else.

- Added `GlyphButton` (drop-in replacement for `PictureButton`) hosting a `FluentIcon` bound to an `Icon` dependency property.
- Added `AppGlyphs` — a catalog mapping each former PNG (`Add`, `Up`, `Down`, `Delete`, `Setting`, …) to a Fluent `Icon` constant.
- `MyListItem` now has a `Glyph` property alongside `Image`; setting one clears the other. The glyph's `Foreground` is bound to the title `TextBlock`, so row icons inherit the list's foreground color and follow the current theme.
- Migrated every `PictureButton(AppImage.*)` call site and every `Image = AppImage.*` list-row assignment across `FoldSubItem`, `NewItem`, `RestoreItem`, `SendToList`, `ShellItem`, `ShellList`, `ShellSubMenuDialog`, `SwitchDicList`, `WinXList`, and the `IBtn*` / `ITsiGuidItem` interface helpers.
- Deleted the 20 now-unused PNGs, the `AppImage`/`AppResources` entries that referenced them, and `PictureButton.cs`.
- Added a `FluentIcons.Wpf` 2.1.324 package reference.
Copy link
Copy Markdown
Owner

@Jack251970 Jack251970 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution!

@Jack251970 Jack251970 merged commit fb5b474 into Jack251970:master Apr 23, 2026
2 checks passed
@Jack251970 Jack251970 added the enhancement New feature or request label Apr 23, 2026
@KamilDev KamilDev deleted the fluent-glyph-buttons branch April 23, 2026 04:30
Jack251970 pushed a commit that referenced this pull request Apr 24, 2026
The app icon and README banner were holdovers from an earlier era -- a
glossy, faux-3D orange mouse that reads as Windows 7. Since the rest of
the UI has moved to Fluent (and #138 just swapped the per-row PNG chrome
for Fluent glyphs), the icon was the last piece that still looked dated.
This change redesigns both the app icon and the README banner in a
flatter, Fluent-aligned style, and commits the SVG sources alongside the
rasters so future tweaks don't need a round trip to a designer.

- Redesigns the app icon (AppIcon.ico + Properties/Resources/Images/Logo.png)
  and the README header banner (Logo/Logo.png).
- Commits the SVG masters: Properties/AppIcon.svg, Logo/Logo.svg (Chinese),
  Logo/Logo-en.svg (English).
- AppIcon.ico now embeds sizes 16/20/24/32/40/48/64/96/128/256 so the icon
  stays sharp across Explorer, taskbar, title bar, and Alt+Tab at any DPI.
- Adds an English banner (Logo/Logo-en.png); README-en.md used to point at
  the Chinese banner and now references the English one. Both banners are
  rasterized at the same per-unit density and padded to a shared canvas so
  <img width="700"> renders them at identical scale in either README.
- Fixes src="/Logo/Logo.png" in both READMEs to ./Logo/... . The leading
  slash renders on GitHub but breaks in VS Code's markdown preview, which
  resolves it against the workspace root.
- Adds generate-icons.ps1 (PowerShell 7 + resvg + magick) to reproduce
  every raster from the SVGs.
- Drops the icon-attribution lines from both READMEs since that icon is
  being replaced.
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.

2 participants