The tests for file existence and write status perform two file stats
which cause performance issues on slow network shares. Now the file
state is determined at load time and stored in the SCH_SCREEN object
so file access is no longer required.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9343
Make auto save recover all auto saved sheet files not just the root sheet.
This does not fix existing auto save issues because recovery would require
an iterative reload for each automatically saved sheet file and would only
happen once.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9288
Changes a dot to be a square pixel (linewidth x linewidth). This allows
the removal of IU dependencies and ensures that a dot is always visible
on screen. Also makes sure that cairo is setting the current linewidth
during its stroke routines
Fixes https://gitlab.com/kicad/code/kicad/issues/9362
We already exclude components based on the schematic property when
generating the XML. Don't make a hidden second pass in the python
netlist reader by default
Fixes https://gitlab.com/kicad/code/kicad/issues/9326
Leaving the forced position on results in the auto-line linking to a pin
for far longer than we intend if there are other hits in the area of the
cursor
Fixes https://gitlab.com/kicad/code/kicad/issues/9321
Calling UpdateItem() may be performed by in a common loop, e.g. for(
SCH_ITEM* item : GetScreen()->Items() ) or similar. We cannot call
GetScreen()->Update( SCH_ITEM* ) in this routine as it will remove and
re-add the item to the RTree, invalidating iterators. If needed, the
items need to be cached to an external container before updating
Fixes https://gitlab.com/kicad/code/kicad/issues/9318
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
When we zoom after centering, the screen does not display the item at
the appropriate location until you center again. Choose the zoom first
to set the appropriate scale before translating the viewport
When the user deletes a pin row, they need to see which row is now
selected for them to delete again. Otherwise, deleting will have
unexpected consequences
Fixes a crash where the screen was destroyed during new loading but
still gets dereferenced by the UI update. Also puts defensive checks in
the UI conditions against null configuration settings
If we do a real drag, the timer will be cancelled. If we don't, then
the user is still holding the mouse button down and would probably like
to see the menu. Otherwise it appears the action is dropped.
In the symbol fields table the reference contains only the letter, so
the number must be appended. Conversely, we don't want the unit suffix
as all units are folded into a single symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/9238