Skip to content

feat(presets): Edit pictures, size, format and turn chosen each time (#584) - #617

Merged
KnifeLemon merged 7 commits into
mainfrom
claude/project-thread-6bzsdd
Oct 27, 2026
Merged

KnifeLemon merged 7 commits into
mainfrom
claude/project-thread-6bzsdd

Conversation

@KnifeLemon

@KnifeLemon KnifeLemon commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Requested by KnifeLemon · project thread

What does this change?

Follow-up to #584: choosing the export size "on the go" instead of making a preset for each size.

A new tool preset, Edit pictures, sits on the front of the images donut after Half size (the front had 10 of 12 slices). Dropping pictures on it opens a small window with:

  • Convert to: same format as the source, PNG, JPG, WEBP, AVIF, HEIC (once FFmpeg is downloaded), GIF, BMP, TIFF, ICO
  • Resize: original / percent / long edge / width, with the first picture's size before and after (512 × 512 → 32 × 32), worked out as the encoder does it (turned first, within what the format stores, square for an icon)
  • Rotate and Flip, Grayscale, and Quality for the lossy formats

The number boxes have no spinner buttons, as the crop window's W × H (typing and the arrow keys change them). Enter converts (also from a closed list or the grayscale box, as in the crop window), Escape closes. An icon resized below its sizes now holds that size and the smaller ones instead of larger ones blown up from it.

Convert starts ordinary conversions (like Cut a clip), so the toast, cancelling, the output rules and the history work as for any other preset. The choices are kept in the tool, so the window opens with the last ones next time. Options the window doesn't show (metadata, ICO sizes, …) are the tool's defaults: the preset editor shows no picture options for a tool. With "same format", a picture Filee can only read (DICOM, camera RAW, …) is written as PNG.

Settings schema 51 (49 is #663 on main, 50 is kept for #665) adds the tool to existing libraries, after Crop, and to the images donut after Half size when that slice is still on the front (a front the user laid out without it is left alone) and there is room. Like schema 45 did for the clip tool, it also repairs the tool if a Filee before 2.1 saved it as a crop (2.1 keeps it and greys the slice out).

An exact width × height (#593) isn't included here. The window names the resizes it offers, so #593's Custom mode doesn't appear in it without its width and height fields; adding them (and remembering CustomSize in the tool) is a follow-up once #593 is merged.

Type of change

  • Bug fix
  • New feature or improvement
  • New format or engine
  • Translation
  • Documentation
  • Build, CI or dependencies

How was it tested?

  • dotnet format --verify-no-changes (changed files)
  • dotnet test: Filee.Core.Tests all pass, including the new ImageEditToolTests (conversion, format fallback, remembered choices, new library placement, schema 50 → 51 migration and the older-Filee repair). The new ImageEditWindowTests (headless window: size preview as the encoder makes it, one conversion per format, quality only where a picture is written lossy, the resizes offered, Enter / Escape, Arabic size line, choices remembered, the size read from EXIF orientation and an icon's largest; screenshots in en, ko, ar, de, ru, ne, hi, th, light and dark) pass, and an engine test for an icon resized below its sizes. Existing tests that count the images donut's slices or the palette's Edit chips were updated for the new slice.
  • Tried it in the app: not tried on a desktop yet

Checklist

  • New UI strings are in all src/Filee.App/Assets/i18n/*.json files (5 keys with the donut's short name, 17 languages)
  • No new third-party code
  • The PR does one thing

…584)

A tool preset on the images donut (after Half size) opens a small window on the
dropped pictures: format, resize, rotate, flip, grayscale and quality, with the
first picture's size before and after. Convert starts ordinary conversions, so the
toast, cancelling, output rules and history work as usual, and the choices are
kept in the tool for the next time. Settings schema 49 adds it to existing
libraries and repairs one an older Filee saved as a crop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0164CyGuw3uFmErecYsXqr26
@KnifeLemon KnifeLemon self-assigned this Oct 26, 2026
@github-actions github-actions Bot added the feature New features label Oct 26, 2026
…it tab; window screenshot

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0164CyGuw3uFmErecYsXqr26
@Tshep-AudioFunk

Copy link
Copy Markdown

create an ai video making website

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
KnifeLemon and others added 4 commits October 28, 2026 00:46
The size after is worked out as the encoder does it: turned first and then
resized (a picture turned 90° and set to a width was off), brought within what
the format stores, and square up to 256 px for an icon. The size read is the one
seen (EXIF orientation) and an icon's largest. In Arabic each size stays
width × height, with the arrow and order following the reading direction.

The window is wider and the lists get 3/5 of a row, so "Ограничить длинную
сторону" and the Arabic and Thai names aren't cut. Enter converts from a closed
list or the grayscale box too, as in the crop window, and the format list has the
focus when the window opens. The heading's tooltip has the path or the names.

The resizes offered are named, so #593's Custom doesn't show up without its
width and height fields. HEIC is offered only once FFmpeg is there, and the
quality slider with "Same format" only when a picture keeps a lossy format.

An icon resized below its sizes holds that size and the smaller ones, not 256
and 48 blown up from 32 px. Short donut names (ru, hi, ne, fr, th were cut), and
"image" in ko, hi, ne and tr as the rest of each catalog says it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…schema 51

Schema 49 is #663's text extensions on main and 50 is kept for #665 (.dav), so the
"Edit pictures" step is now v51.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No spinner buttons on the percent, long edge and width boxes; typing and the
arrow keys still change them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Schema 50 is .dav (#665) on main now; Edit pictures stays v51.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0164CyGuw3uFmErecYsXqr26
@TshepoAudioFunk

Copy link
Copy Markdown

finish the design

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants