Conflicts: docs/whats-new.md (both entries kept), docs/parity-checklist.md (header change list and revision rows unioned; LR-BEHAV-DIALOGS row keeps main's dialog_copy text plus this PR's addition)
On macOS the window buttons are drawn by the OS above our content, so a backdrop over the
top bar left them bright on a dimmed bar. As under a sheet, the backdrop now stops below the
bar, the bar keeps its color with its controls inactive, a click on it is not a click outside
the dialog, and its empty space still moves the window.
The line under "No photos" spelled Cmd+Shift+I on every platform and followed no rebinding. It now goes through shortcut_text like every other place the app shows a shortcut.
A refused Rename Folder, New Folder on Disk or other name prompt closed without a word.
It now stays open with the typed text and toasts the engine's message. A New Folder on
Disk that works says where the folder is.
Auto-Stack and Capture Time confirms reused the translation keys of a
noun ("Stack") and a field label ("Change"), so other languages showed
"Stapel" or "変更方法" on the button. They now have their own keys,
"Create Stacks" and "Change Time", in all 13 catalogs. Rename Keyword
says "Merge Keywords" when the new name already exists, as Rename
Person does. The Polish rename help says the file name changes.
The confirm label match is exhaustive now (no unreachable "OK" arm).
User guides, the Apple Photos note and the parity rows no longer tell
people to press OK in Export.
Tests read the text painted inside button:dialogOk, reach the plural
Export label, cover Auto-Stack and Slideshow Export plurals, Rename
Person, smart album Save, and check the German translation of the
verbs.
Co-Authored-By: Claude <noreply@anthropic.com>
The confirm button was "OK" in every dialog that had no special case:
New Album, Rename Photos, Auto-Stack, Capture Time, Export and more.
It now says what it does: Create, Rename, Stack, Change, Cull, Copy,
Paste, Export N Photos, and a verb per one-field prompt command.
"OK" stays only for a prompt opened with a command that has no verb.
The automation id button:dialogOk is unchanged.
Rename Photos' help text pointed at the Tags button without saying
what it does; it now says it lists template placeholders, and that
each file is renamed on disk with its XMP sidecar. Contact Sheet,
Auto-Stack and Slideshow Export said "1 photos" / "1 stacks"; their
nouns now agree with the count. All 13 catalogs updated.
Co-Authored-By: Claude <noreply@anthropic.com>
`rating:>=3`, `iso:<=400`, `f:>=2.8` read the `=` as part of the number, the
parse failed, and the token silently matched no photo. Parse the two-character
operators first and compare inclusively; `>`, `<`, `=` and bare numbers are
unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SqKgSkHi5MfTQFrZvDKBjm
* LR-PREF-SHORTCUTS: the shortcuts panel's Fixed keys ignore keys saved for unknown commands
* KEYC-METADATA: an Add Keywords request the Keywords panel can't take in time expires
* LR-META-INFO: Target Photo saves an Info edit to the photo it shows
Lightroom Classic's keyboard shortcut page lists Command+K (Ctrl+K on
Windows) for Add keywords. LightCraft had no key for it.
Add Keywords (panel.addKeywords, Cmd+K) shows the Keywords panel,
opens its Keywording section when it is folded shut, and puts the
cursor in the Add keyword box, so the next keywords typed go to the
selected photos. Pressed again, it leaves the panel open. With no photo
selected the panel shows its note, and selecting photos later does not
move the cursor into the box.
The command label has a row in every catalog. The KEYC-METADATA row,
docs/ui-parity.md and docs/library-shortcuts.md list the key. The
KEYC-METADATA row also lists the existing Alt+1 to Alt+9 keyword set
keys in place of "no keyword sets".
Lightroom Classic's keyboard shortcut page lists Option+0 / Option+Shift+0
(Alt+0 / Alt+Shift+0 on Windows) for cycling forward and backward through
the keyword sets; LightCraft had no key or command for it. Next Keyword
Set (keyword.nextSet, Alt+0) and Previous Keyword Set
(keyword.previousSet, Alt+Shift+0) make the set after or before the
current one current, in the Keyword Set menu's order: Recent Keywords,
then the saved sets. The keys wrap around at either end, and Alt+1 to
Alt+9 then apply the new set's keywords.
The two command labels have rows in every catalog. The KEYC-METADATA and
LRC-LIB-KEYWORDS rows, docs/ui-parity.md and docs/library-shortcuts.md
list the keys.
When a saved keymap gave a key to one command and a later build declared
the same key as another command's default, one press ran both commands,
and menus and Help > Keyboard Shortcuts listed the key on both.
binding() now drops a declared shortcut while the keymap gives its key to
another known command, other than its contextual partner. handle(),
conflicts(), shortcut_of(), the menus and the shortcut editor read it.
In the editor such a row counts as changed, so its restore button takes
the key back.
handle() also let every saved entry stop the fixed keys on its key
(Enter in the grid, secondary keys such as Shift+X, the rating and
label digits, Home, End and Shift+arrows), including entries for
commands the build does not know. It now reads only the entries of
known commands, as binding() does, so a stale entry in ui.json no
longer silences Shift+X, a rating digit or a label digit.
Copy Metadata and Paste Metadata had no shortcut. They now use
Cmd+Option+Shift+C and Cmd+Option+Shift+V on macOS and
Ctrl+Alt+Shift+C and Ctrl+Alt+Shift+V on Windows and Linux, the keys
Lightroom Classic's keyboard shortcut page lists for copying and
pasting metadata in the Library module. Both keys also work when
Windows and Linux deliver them as clipboard events. The KEYC-METADATA
row now lists the keys LightCraft binds (Cmd+S, the two new keys and
Alt+1 to Alt+9 for keyword sets) and every other key of that table
that is still missing. Gap 28 in docs/gaps.md and the Library keys in
docs/ui-parity.md list the two new keys.