Setting the Variable field through ui.dialog.set clears Name and Kind
until a frame fills them from the chosen variable. Setting Name or Kind
alone before that frame marked the fields as filled, so the other field
stayed null and the dialog showed "null" for Name or a blank Kind. OK
already read a null field as the variable's own value, so only the
displayed field was wrong.
A frame now fills every field when the chosen variable changes, and
after that fills only a field that is still null, keeping a field that
was set.
A file dropped on a canvas that asks for import options (a layered PSD,
a PDF with several pages, a DXF drawing, a text file) kept only its
placement params in the dialog. The dialog's OK then placed the file in
whichever document was active at that moment, and placed it even when
the dropped-on document had been reverted since.
The drop now carries its target document and revert count in the place
params, as the place cursor's import options carry their token. Placing
checks them on the drop and again on the dialog's OK: the file goes to
the document it was dropped on, which becomes active again, and is not
placed when that document has been closed or reverted. The dialog then
stays open and shows the reason. The checks drop_files ran itself now
run in that one place.
Escape or Enter pressed in the first frame that draws an artboard's name
field was dropped: the field asked for focus and skipped its key checks,
while the dialog kept itself open for the field. The field now ends the
edit on either key in that frame too.
A double-click on an earlier artboard's name, with both clicks in one
frame, replaced the edit of a later artboard before that artboard's field
was drawn, so the name typed there was lost. The typed name now goes to
its artboard before the new field opens.
Follows #7695.
When a selected row listed the twenty tints from 25% through 6% of a color
of an unselected row, Find left that color undimmed although its 5% tint
was free. The search now tries each tint a percent apart from 25% down to
1% before leaving a color as it is.
With the 3D and Materials panel and a classic 3D dialog both showing a
track cube, the two cubes shared one widget id, so the keyboard focus of
one moved the other, and a drag on one cube was read by the other: Escape
there put the first cube's settings into it, and its button-up check ended
the gesture before the cube being dragged saw the release. Each cube now
has its own id, keyed by its dialog or panel, and only the cube a drag
started on follows, restores or ends it.
A row of the rows that aren't selected whose current color was given as a
color value (`[r,g,b]` or a CMYK, gray or Lab object) was left undimmed,
because only string entries went into the dimming map. Such a color now
dims under its color key, the form `recolor.apply` matches it by.
When a click's press lands in one face and its release in the next, the
drag fills both. The bucket now notes the fill every face the drag
crosses had before the press, the release included, so a double-click
or triple-click that follows on such a face compares that fill instead
of the one the first click gave it. This also holds when the release of
the last click crosses into the clicked face.
When the first click makes the Live Paint group, or merges the selection
into a selected group, the crossed face counts with the fill it was made
with: a kept face's paint from the merged group (an unplaced gradient
fixed to its fit), else the fill Make gives it, the topmost fill that
draws of the front-most source path over it that has one. A selected
group's edges no longer count as source paths.
A double-click whose two clicks land on two joined edges now paints the
edges joined through the other edge its clicks painted:
livePaint.strokeEdge takes `through`, edge ids that the join counts as
drawing with `match`, and the tool passes that edge. When the second
press lands on the next edge and is released back on the first, the
double-click matches the first edge's stroke paint from before the
first click.
A press that the view tools take (held Space, the middle button), or
that holds Cmd/Ctrl and goes to the lent selection tool, now counts as
a press that paints nothing, so the clicks around it are not taken for
one triple-click's: the session tells the tool through the new
Tool::press_elsewhere.
The tool doc, docs/mcp.md and the progress-doc line now say that a click
records an undo step only when it changes a paint, and that a
triple-click paints the faces that have the clicked face's fill (and the
edges that draw with the clicked edge's stroke paint) with the bucket's
paint.
Follows #7291.
The tint Find gives a row that isn't selected was skipped when its hex
matched the hex of a selected row's exact key, though `recolor.apply`
matches an exact key only by its key. The lighter tint was taken, and when
every candidate collided the color was left undimmed. Only a "#rrggbb"
entry is now compared by hex.
The hide timer started on every frame with no pointer over the window, so
panels shown by window.panels.peek hid 0.3 s later while the pointer had not
moved. It now starts when the pointer moves, is released or leaves the window,
and a pointer entering the window counts as a move on its first frame.
When a press, a dialog, a popup or a flyout stops holding the panels open
with the pointer away from them, the timer starts as well, so closing a
flyout with Escape hides them without the pointer moving.
#7774's Georgian catalog and #7532's script.run answers rows landed in the same batch with
twelve of the same messages, so bundled_catalogs_are_consistent fails on a duplicate. The
first of each pair stays.
The importer kept a group's isolation only when something inside it
blended, so an isolated group or knockout group whose objects only
overprint read back without isolation. Written out again, it lost its
/I true and its overprinting objects then kept the inks of the art below
the group that they had covered. Isolation is now also kept when a
visible fill or stroke inside, or characters' fill or stroke, overprints,
directly or through children that do not isolate.
A Shift-triple-click on a face whose double-click already reached a
joined face of the same fill selects every face with that fill. The new
test pins that the joined face the double-click toggled on is not
toggled off again by the triple-click.
A feGaussianBlur or feDropShadow whose blur is not the same in every
direction in the document came in as an even Gaussian Blur or Drop
Shadow of the mean standard deviation. That covers two different
standard deviations (stdDeviation="4 1") and an even one in a skewed or
unevenly scaled user space. An SVG Filters effect in such a user space
is exported live under that transform, so on reopening its blur lost
the difference between directions.
Such a filter is now kept as an SVG Filters effect, which draws it as
it is. A blur in a turned, flipped or evenly scaled user space still
becomes the live effect, and a filter that no SVG Filters effect can
keep still comes in as the nearest even effect, as before.
docs/mcp.md said every PSD or PSB file of a loaded place cursor comes in
with the choices made last. With Show Import Options on, each such file
that has import options shows PSD Import Options when it is clicked or
dragged (place::place_from_cursor, and the psd_import test
a_cursor_loaded_with_show_import_options_on_asks_for_each_psd_file);
only with it off do the last choices apply.