CHANGED: Derived library symbols will inherit optional fields defined by
their parent symbol and override existing optional fields.
CHANGED: The symbol editor will now only display the fields defined in
derived symbols rather than show mandatory fields inherited from the
parent symbol. Showing fields that cannot be edited would be confusing.
CHANGED: All mandatory fields in derived symbols can be edited. This
not only includes the field value but also all text properties.
Kill the dual datasheet variable storage which caused many datasheet
bugs over the years. The datasheet is now always stored in the data
sheet field.
In order allow the new file format to support derived symbols with
field properties that are different than the parent symbol, the code
that copied the parent field properties to the derive symbol field
properties had to moved out of LIB_PART::SetParent() into the legacy
symbol library plugin and the symbol library editor add new symbol
code to preserve the current behavior and not overwrite derived
symbol field properties.
This lays the ground work for allowing field properties of derived
symbols to be different than their parent symbol.
CHANGED: The symbol library save menu entry is now only enable when the
currently selected library is modified.
CHANGED: The symbol library save all menu entry and tool bar button are
enabled when one or more of the symbol libraries have been modified.
REMOVED: The ability to save symbol libraries in the legacy file format.
Every time SCH_COMPONENT::GetDrawItem() was called, the schematic symbol
pin table was updated. Under certain conditions, this happens inside
loops so the amount of time spent rebuilding the pin table can add up.
Force default settings to be written instead of undefined which mimics
the behavior of the previous file format with the exception of text
objects which requires some more thought. Please note that no new
features are added to the library file format so the file version did
not need to be updated.
Fixes https://gitlab.com/kicad/code/kicad/issues/4411
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
Note: this is a basic implementation but it could be
improved once we include bus information in the netlist
and pcbnew can natively keep track of buses and nets
instead of just nets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4158
As a visual aid, we can peek into the child to see if a pin
represents a bus in the child (in the case of aliases etc
we might not be able to tell by the name of the pin).
Only do this if there isn't anything else driving a connection
onto the sheet pin in the parent sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2619