Skip to content

UI scale and menu and image2shr (IIgs support) - #24

Merged
digarok merged 12 commits into
mainfrom
ui-scale-and-menu
Jul 26, 2026
Merged

UI scale and menu and image2shr (IIgs support)#24
digarok merged 12 commits into
mainfrom
ui-scale-and-menu

Conversation

@digarok

@digarok digarok commented Jul 26, 2026

Copy link
Copy Markdown
Owner

No description provided.

digarok and others added 12 commits July 25, 2026 12:51
Collapse the four parallel if/else chains (resolution rules, b2d argv,
save filenames, ProDOS type/aux) into a single ModeDescriptor table in
modedescriptor.h/.cpp, in preparation for a second converter engine.
b2d behavior is unchanged.

Also fix the ProDOS overwrite retry passing the wrong args list, and
truncate _FileInformation.txt on rewrite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The parameter panel is now a two-tab widget: "8-bit (b2d)" hosts the
existing controls (plus the b2d-specific preview palette), and
"IIgs SHR (image2shr)" adds target, dither algorithm/strength,
serpentine, fit, aspect, SCB mode, and file format controls. The active
tab selects the engine; source, preview, saves, and the command log are
shared. The window grows to 722x680 so SHR previews display 1:1 at
320x200.

image2shr runs with --preview-png and --json; exit codes, stderr, and
a missing-binary case are surfaced in the command log (new for this
app), and the JSON-reported ProDOS filetype/auxtype ($C1) feeds the
local and cadius save paths, tracking --format overrides. Saves now
refuse a preview generated by a different mode/engine.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The mac/linux packaging scripts and the Windows CI step download the
image2shr release binary next to b2d and cadius. About text credits
image2shr.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Only shr320-color256 actually offers an SCB choice: grey16 and color16
reject anything beyond auto/single ("always uses a single palette"),
and color3200 rejects everything but auto (a 3200-color image has no
SCBs). Track this with a shrHasScbModes flag in the descriptor table,
disable the SCB Mode control for those targets, and omit --scb-mode
from the command line entirely so conversions no longer fail.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the spinbox with a slider + value label matching the crosshatch
threshold row ("Off" at 0). The 0-100 value maps to image2shr's 0.0-1.0
--dither-strength; default stays 100 (the CLI default of 1.0).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both panes are now identical 580x424 group boxes with 560x384 image
labels, side by side in a 1190x830 window; the parameter tabs, shared
controls, and (now multi-line) command log sit in a row beneath them.

Previews display at the largest pixel-perfect integer scale that fits
the pane (LR/DLR 7x, HGR 2x, DHGR 1x - previously a blurry 0.5x, SHR
1x), and the source image is redrawn at exactly the preview's displayed
size so the two compare 1:1. The original source pixmap now lives in a
member instead of the QLabel, since the label only shows scaled copies.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Window becomes 1350x845. The integer-scale rule now lands SHR at 2x
(640x400), LR/DLR at 8x (640x384); HGR stays 2x and DHGR 1x.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Matches the b2d pipeline's stretch-to-output behavior, and the source
pane's stretched mirror display.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The group boxes keep their outlines but lose their title text; images
move up 20px and the window shrinks to 1350x825. The preview scale
readout moves from the pane title to the command log.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Open Source Image row moves from a full-width top bar into the
right column above the CLI log, the pane outlines tighten to 2px
around the images, and bottom slack is trimmed. Saves 61px of height;
the images now sit nearly flush with the top of the window.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Open Source row + CLI log move to the lower middle, wrapped in a
new frame_log QFrame styled like frame_2, and the shared preview/save
controls move to the lower right. All three lower sections are now
equal-height framed boxes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… shows output resolution at two decimals, window shrunk, and a File > Open Source Image menu item
@digarok
digarok merged commit 4db4c0e into main Jul 26, 2026
3 checks passed
@digarok digarok changed the title UI scale and menu UI scale and menu and image2shr (IIgs support) Jul 26, 2026
@digarok
digarok deleted the ui-scale-and-menu branch July 26, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant