Allows 0 to 4 chamfered corners, not only one.
A custom shape allow this kind of shape. However because it is a primitive,
it is easier to edit and it support thermal reliefs.
This was due to the stub removal tests if a stub end is outside a solid area to remove it.
There is a corner case: is the stub end is exactly on a solid area outline extra segment
created by Fracture() used in calculations.
The stub removal tests are now made before fracturing.
Fixes: lp:1819317
https://bugs.launchpad.net/kicad/+bug/1819317
The module refdes always increment by one. This is problematic
for two reasons:
* It doesn't work when more than one FP is selected (say you have
C1 and C2, you get C1, C2, C2, C3)
* It messes with simple panellisations
The 5.0.x behaviour is to not renumber in Pcbnew, so revert to
that behaviour.
Better refdes incrementation can come post 5.1, as this will need
new strings and UI.
Fixes: lp:1819106
* https://bugs.launchpad.net/kicad/+bug/1819106
Disable the text update event for the orientation cutom value field before
updating it when the radio buttons are selected. This allows to use the
conventional EVT_TEXT handler, rather than KEYDOWN, which has two effects:
* Tabbing though the dialog no longer sets custom orientation
* Click-driven clipboard actions trigger the update correctly.
Introduce a helper function in validators.h to assist in updating
validated fields without triggering further events.
Fixes: lp:1819006
* https://bugs.launchpad.net/kicad/+bug/1819006
When checking for closed outlines, we generate a board area using the
pcb structure. We now also check for overlapping outlines due to
lp:1818163 However, the DRC maintained its previous outline before
generating the new one, causing an overlap error.
This regenerates the board outline from zero for each DRC run.
Fixes: lp:1819012
* https://bugs.launchpad.net/kicad/+bug/1819012
pcbnew refreshes the viewItem for the worksheet multiple times. This
requires setting the filename to get parameters displayed on the
worksheet correctly.
Fixes: lp:1819000
* https://bugs.launchpad.net/kicad/+bug/1819000
Depending on thermal reliefs size, the polygons could be self intersecting,
and these self intersecting polygons are unexpected in zone calculations.
Other fix: the width of thermal stubs is clamped to the size of pads.
Previously, a bug in clamping calculations prevents constraining thermal stubs width.
Fixes: lp:1818752
https://bugs.launchpad.net/kicad/+bug/1818752
Set the focus to some control in the copper zone, non-copper zone, and
keep out zone dialogs required for the default button action to work
properly. This only seem to affect windows dialogs.
Fixes lp:1818397
https://bugs.launchpad.net/kicad/+bug/1818397
wxWidgets has several bugs that result in cell editors being closed
right after they're opened. There are two wxWidgets hacks to
partially address this: the SetInSetFocus() hack, and a slow-click
hack. We used to try and work-around these bugs ourselves for
single-click access, but this changelist moves those over to
wxWidget's slow-click hack.
Fixes: lp:1817965
* https://bugs.launchpad.net/kicad/+bug/1817965
Added checks to StrCmpNum() function in common/sting.cpp to prevent
iterating past the end of the sting. Also removed length of string
parameter since it did not seem to be used anywhere.
Fixes lp:1818157
https://bugs.launchpad.net/kicad/+bug/1818157
* fp editor: ensure axis are drawn after switching the backend
* DIALOG_PNS_SETTINGS: ensure violate DRC option is correctly enabled/disable when opening the dialog.
Violating the DRC cannot happen in shove or walk around mode as we use
the DRC to calculate these actions. The tooltip explains this as well
but we need to explicitly disable the checkbox to prevent users from
thinking that they can complete DRC violating tracks in other modes.
Introduce a shortcut method to set tab ordering and use it in
the dialogs that override the tab traversal orders:
* Eeschema sheet properties
* Pcbnew Move exact
* Pcbnew Move relative
Also set some initial focus fields in the same dialogs.
Tidy a few includes.
Fixes: lp:1816009
* https://bugs.launchpad.net/kicad/+bug/1816009
Includes Edit Text and Graphics Properties and Edit Track and Via
Properties. It's also no longer board-specific as it turns out the
board timestamp is always 0 anyway.
When moving user user units out of the global, we missed that Python
calls were using it. This re-adds a function to retrieve user units
allowing the python scripts to show users dialogs in their preferred
units.
The default hot key definition for toggle high contrast mode was 'H'.
On windows, the menu accelerator handler code was grabbing the character
so it would not appear in the filter text control. This is expected
because the windows wxWidgets code hooks this at the application level
so that once a menu accelerator key is found, all further event handling
for that key stops. Changing the hot key definition to 'Ctrl+H' resolves
the issue.
Fixes lp:1803556
https://bugs.launchpad.net/kicad/+bug/1803556
The best size was calculated from a default size.
This default size (calculated by wxWidgets) was fully broken with some texts in a few languages.
So now this best size does not use this default size.
Fixes: lp:1816315
https://bugs.launchpad.net/kicad/+bug/1816315