NEW: The simulator plot now avoids colors already in use, if possible.
The palette is replaced with a larger one with less saturated colors.
Fixes: lp:1851372
* https://bugs.launchpad.net/kicad/+bug/1851372
NEW: A text entry allows adding signals by name. This includes vectors
not in the signal list, which is useful for plotting calculated vectors
like `let AB=V(a)*V(b)`. It's also a faster way to add a signal if you
know its name already.
Fixes: lp:1851373
* https://bugs.launchpad.net/kicad/+bug/1851373
The new connectivity algorithm had a tendency to cleanup
globally, but that could insert undo records from other sheets
into the current screen's undo stack. Needless to say, this
was a recipie for segfaults.
Fixes: lp:1846247
* https://bugs.launchpad.net/kicad/+bug/1846247
Mainly replacing std::string by wxString to manage filenames.
On Windows, a sdt::string cannot manage a filename, unless using
in many places TO_UTF8 and FROM_UTF8.
So the best way is to use a wxString for filenames and error messages.
Note that since the markup might exist for other reasons, it has
to be turned on with a preference setting. (It goes through a set
of bitflags so the same architecture can be used for other markup
structures that we might want to support in the future.)
Note also that this is more about engineering nomenclature than
visual formatting. In that respect it's more similar to overbar
than italic or bold.
When more than one item has the duplicated timestamp, the update code
doesn't accurately change the duplicates as it only checks that a single
sort has not adjacent duplicates.
This adds all items to a set, ensuring that updated timestamps are
unique to the schematic, which prevents reseting or mangling the units
for duplicated components.
Right click is a pointing operation combined with a request for the
context menu. We need to highlight the user's intended object when they
have moved their mouse to a new element instead of showing the context
menu for the selected object.
However, in cases where the selection is difficult to make, it is
sometimes helpful to select the item first, then right-click. In these
cases, we keep the selection where the mouse remains inside the selected
object's bounding box.
When placing a new component in the schematic, this allows the user to
iterate through all units in the selected component without re-opening
the choose part dialog. It also allows the optional addition of
multiple copies of the same component to be placed in the schematic.
Fixes: lp:1806217
* https://bugs.launchpad.net/kicad/+bug/1806217
Adding a field to a selection changes the bounding box and count for
rotation. This can cause odd offsets when the field is rotated against
the selection center rather than the bounding box as well as with the
component.
Fixes: lp:1849078
* https://bugs.launchpad.net/kicad/+bug/1849078
The break wire command will break all wires at a point. If there are
multiple crossing wires, we need to check to see if a junction might be
required to reflect the new connection.
Fixes: lp:1848450
* https://bugs.launchpad.net/kicad/+bug/1848450
* Fix not drawn shapes for clock low, inverted clock and broken shape for falling edge clock
* Especially, shape for falling edge clock was a not existing shape, therefore useless.
* now falling edge clock and clock low shape are similar.
Fixes: lp:1846901
https://bugs.launchpad.net/kicad/+bug/1846901
The previous converter (maddy) is still available, during some time.
We therefore have the time to choose between them.
sundown is better to convert a md text, but is written to C
maddy has a few issues to convert a md text, but is written to C++
Both have no dependency.
When checking for 3 or more connections, at least one of them must be
a pin. Otherwise we need to fall down to the next check which also
ensures that at least one of them is not parallel.
Fixes: lp:1841458
* https://bugs.launchpad.net/kicad/+bug/1841458
The spin style is stored as a numeric and can be corrupted. We handle
this by triggering assertions for debugging the bad value while
resetting to default if we have non-valid spin values that are outside
the array.
Fixes: lp:1843091
* https://bugs.launchpad.net/kicad/+bug/1843091
This makes the pcbnew multiline text editor natively accept tabs in the
same manner as eeschema and extracts key handling routines to the shim
to allow undo/redo.
Also allows Ctrl-Y under Linux in addition to other platforms. While
not as popular as Ctrl-Shift-Z, it is utilized for Redo in some contexts
When we add enough SHEET_PINs that the vector has to grow, it
re-allocates the vector causing our for-loop to get its knickers
tied in a knot.
Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
1) When sheet pins are on 3 or more sides there's no point in switching
the orientation to vertical.
2) Careful that we don't cause the sheet to walk when rotating and the
sheet-name or file-name is longer than the side it's on.
Fixes: lp:1841714
* https://bugs.launchpad.net/kicad/+bug/1841714
Also, if it can't be loaded then at least initialize it so that we
don't crash later (trying to access a NULL screen).
Fixes: lp:1841801
* https://bugs.launchpad.net/kicad/+bug/1841801
Saving individual parts of a schematic can break the schematic. This
moves the schematic save option to save all sheets rather than just the
current sheet.
Fixes: lp:1840383
* https://bugs.launchpad.net/kicad/+bug/1840383
The highlight color chosen from the system highlight doesn't always show
against the schematic sheet background color. Allowing the user to
customize with their KiCad theme makes it configurable on par with other
colors. This is stop-gap until we get full color schemes from
lp:1678345
When editing symbol library reference, this ensures that all units are
modified by the same action and the component is not represented by its
subunits.
Fixes: lp:1834509
* https://bugs.launchpad.net/kicad/+bug/1834509
(cherry picked from commit 80e0d848f2)
They're now used for bus definition control characters.
Also fixes the sheet pin edit dialog to correctly escape/unescape
netnames.
Fixes: lp:1840834
* https://bugs.launchpad.net/kicad/+bug/1840834
While it's tempting to look at the changed flag that TestDanglingEnds
returns, it's insuficient as the connectivity algorithm might have
already updated it (and ignored the changed flag).
Fixes: lp:1835107
* https://bugs.launchpad.net/kicad/+bug/1835107
Items that have BG fill need to be plotted in the background but we
still need their stroked edges to be in the FG. This is a workaround
that overplots the edges ensuring visual similarity. Re-working the
plot engine to support layers is a larger project.
Fixes: lp:1833428
* https://bugs.launchpad.net/kicad/+bug/1833428
(cherry picked from commit 6796e8fff6)
Control ordering is critical to make dialog mnemonics work correct. The
static text with the mnemonic must immediately proceed the control and
no additional controls can be added between static text/control pair.
Fixing this required adding the units static text controls after all of
the mnemonic static text controls and their associated edit controls.
Mnemonics do not work for read only controls so all of the combobox
controls were moved after the text controls.
Fixes lp:1818930
https://bugs.launchpad.net/kicad/+bug/1818930
1) don't ASSERT; use exceptions (which can be caught) instead.
2) clean up LIB_LOGGER so it's only used during sync
3) fix typos in wxLogMessage() calls so they produce output.
4) throw on unrecognized token in loadContent().
5) if clipboard can't be pasted as content then paste as text.
Fixes: lp:1840172
* https://bugs.launchpad.net/kicad/+bug/1840172
* Push a function into CONDITIONAL_MENU that adds the item
* Modify the tooltip for close and exit items to have the
program name
Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
The use of wxPATH_UNIX when calling GetFullPath() on windows drops the
volume identifier (c:\) from the file name which will cause comparison
failures.
1) Add highlighting to simProbe and simTune tools.
2) Probe tool should accept wires and pins, not wires and components.
3) Give simulator window a flat look to match rest of Kicad.
4) Collapse whitespace out of simulator window.
5) Add some error messages.
6) Add some whitespace to simulation setting dialog.
When removing a junction, we need to keep the next pointer for deleted
item, marking them with a flag until committed.
Fixes: lp:1837398
* https://bugs.launchpad.net/kicad/+bug/1837398
(cherry picked from commit 4363e6a213)
When selecting items where the reference point is off-screen, GTK
would default the cursor to jump to the bottom of the screen.
Fixes: lp:1838843
* https://bugs.launchpad.net/kicad/+bug/1838843
While we do not generate these arcs internally, some external tools
generate arcs that are technically valid but display correctly only
because of an oddity in the degeneracy mapping.
Fixes: lp:1838557
* https://bugs.launchpad.net/kicad/+bug/1838557
(cherry picked from commit cf949609b2)
Check for symbol libraries that somehow ended up in the project file
after remapping occurred and remove all of them to prevent potentially
broken symbol library links.
Add nagware dialog to warn the user and a checkbox to never show the
dialog again.
Fixes lp:1838185
https://bugs.launchpad.net/kicad/+bug/1838185
Images have a scale factor and this factor was taken in account twice
For image having a scale factor not equal to 1.0, the bounding box was too big (or too small)