Give mixed selections something to do

A Drag of different kinds showed an empty wheel, because the catalog only
answers for a single category. Filee's answer is a mixed profile, so add
Zip (one archive, flat names) and Merge (non-PDFs are converted to PDF
first); a multi-file drag of one kind gets Zip too.
This commit is contained in:
2026-10-20 01:30:42 +08:00
parent 2d031e58a4
commit a01d5def89
8 changed files with 295 additions and 41 deletions
+14 -3
View File
@@ -23,6 +23,9 @@ Everything runs locally — no uploads, no accounts, no analytics.
Dropping on the dead zone in the middle, pressing Escape, or dropping the
file anywhere else cancels and lets Finder do its normal thing.
Mixed selections still work: **Zip** packs the selection into one archive and
**Merge** turns it into one PDF (non-PDFs are converted first).
The wheel also works without dragging: the menu bar item and the Finder Quick
Action **Convert with Konverter…** open the same options as a menu.
@@ -55,7 +58,7 @@ finished, sound, use of external tools, and open at login. Stored in
| Subtitle | SRT, VTT, TXT |
| Archive / folder | ZIP, TAR, GZIP |
Plus 38 tools:
Plus 39 tools:
| Group | Tools |
| --- | --- |
@@ -66,9 +69,17 @@ Plus 38 tools:
| Document | To PDF, Statistics |
| Spreadsheet | To CSV |
| Subtitle | Shift Time |
| Archive | Extract, List Contents |
| Archive | Extract, List Contents, Zip |
| Any | Info |
### Mixed selections
Dragging files of different kinds still shows a wheel instead of nothing:
**Zip** packs the whole selection into one archive (flat names, like Finder's
*Compress*), and **Merge** turns everything into one PDF — photos, documents
and existing PDFs are converted to PDF first, then combined. A multi-file drag
of a single kind gets **Zip** in its tools wheel too.
### Engines and fallbacks
| Layer | Used for | Ships with macOS |
@@ -112,7 +123,7 @@ Requires Xcode (Swift 6 toolchain) and macOS 13+.
swift build # debug binary
swift build -c release
./.build/debug/Konverter --self-test # 41 checks over every engine
./.build/debug/Konverter --self-test # 46 checks over every engine
./.build/debug/Konverter --convert photo.heic --to png
./.build/debug/Konverter --convert clip.mov --tool trimVideo \
--param start=0:02 --param end=0:05