1) Commit in-progress edits before closing preferences.
2) Handle default fields in Symbol Fields Editor.
3) Save state of checkboxes in Symbol Fields Editor.
The original algorithm picked the value from the last component having
non empty value for a given field, but the processing order was
dependent on the layout of the components in the memory. It means that
for each component, the field values could have been taken from any
unit, randomly.
The patch improves the algorithm, trying to get all values from the unit
with the lowest number and resorts to other units only when there are
field values left empty.
Unifies the different sections of hotkeys so that we are not storing two
[eeschema] or [pcbnew] sections in two different files.
Previous hotkey definitions are loaded at start if they exist but are
overwritten by the new format, if it exists. Changes to hotkeys save
only in the combined format.
Hotkey editor for each application only shows the hotkeys relevant to
that application.
Fixes: lp:1741757
* https://bugs.launchpad.net/kicad/+bug/1741757
Fixes: lp:1668799
* https://bugs.launchpad.net/kicad/+bug/1668799
It was always replaced with space in a graphic text, but it should happens
only in non quoted texts
Now graphic texts containing ' ' or '~' or '"' are always quoted
(work fine with 4.0 version)
Fixes: lp:1771105
https://bugs.launchpad.net/kicad/+bug/1771105
Also fixes a bug where unannotated components would get references
of the form R-1 (because their reference number was -1).
Fixes: lp:1768814
* https://bugs.launchpad.net/kicad/+bug/1768814
Path keeping stack copes well with paths pointing outside the project
directory (e.g. "../path"). The so far used wxFileName::GetDirCount() and
wxFileName::RemoveLastDir() remove too many directories, as ".." is also
counted as a directory.
Fixes: lp:1769746
* https://bugs.launchpad.net/kicad/+bug/1769746
It happens only with option "Reset, but keep order of multi-unit parts, because the algo tried
to propagate the new reference to parts having the same old reference,
without testing if this old reference was duplicated.
Fixes: lp:1769250
https://bugs.launchpad.net/kicad/+bug/1769250
Both "Leave Sheet" and "Library Browser" menu entries were mapped to the
'L' key. Mapped the "Library Browser" entry to the 'B' key.
Fix "Show hidden pins" menu entry capitalization.
Map "Show Hidden Pins" to 'P' key and "Full Window Crosshair" to 'W' key.
Fixes lp:1768671
https://bugs.launchpad.net/kicad/+bug/1768671
This patch prevents fields with long text values from unreasonable
dialog resizing. It is basically commit f4eb63f8 applied to a
corresponding field editor dialog in the Symbol Editor.
Values generated by NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal()
and the actual value that was stored in a netlist differed when a
component has multiple units.
Due to that, the Spice model editor dialog incorrectly recognized
"alternate node sequence" value as the default one and cleared it
when the dialog was closed.
Also changes Save Library and Save Library As to work off the
visible selection if there is one.
Also implements enablement for Save All Libraries.
Fixes: lp:1764081
* https://bugs.launchpad.net/kicad/+bug/1764081
This is particularly important when bulk adding (by director, etc.)
as otherwise the user might end up having to click OK to many
many error dialogs.
Fixes: lp:1764057
* https://bugs.launchpad.net/kicad/+bug/1764057
Code fixing Spice device names (prefixing reference with a character
corresponding to the assigned device model type) that was duplicated in
a few places has been moved to a function (NETLIST_EXPORTER_PSPICE::GetSpiceDevice()).
With uninitialized COMPONENT_TREE::m_menuActive there were cases when
application logic erroneously decided to fetch the current library name
from the right click menu selection, even though there was no menu
opened, so an empty string was returned. Empty library name is
equivalent to no library loaded, therefore the save button appeared
disabled.
Fixes: lp:1765937
* https://bugs.launchpad.net/kicad/+bug/1765937
When a relative sheet path was not in the project path or a subfolder
within the project path, the schematic path would be empty. Set the
base path to the project path when the schematic path is no within
the project path hierarchy.
When LIB_ALIAS is renamed, it validates the new name. In case the name
typed in the field edit dialog is invalid, there was a discrepancy
between the name used further in the code and the actual alias name.
Fixes: lp:1765375
* https://bugs.launchpad.net/kicad/+bug/1765375
The main purpose of the patch is to load libngspice from macOS bundle.
There are also some additional paths that could make Windows developers
easier.
Fixes: lp:1630675
* https://bugs.launchpad.net/kicad/+bug/1630675
The messages on sheet duplication are changed to reflect the action
perceived by the user when accepting/rejecting the change.
Annotation is also reset for duplicating sheets where maintaining
existing annotation would conflict with existing sheets.