Commit Graph

25744 Commits

Author SHA1 Message Date
Marek Roszko dc4b73fcef Correct m_board check location in PNS_KICAD_IFACE_BASE::SyncWorld 2021-02-01 11:58:22 -05:00
Marek Roszko 47ada0ffba Remove duplicate LAYER_VIA_THROUGH entry in theme 2021-02-01 11:51:42 -05:00
Marek Roszko a4698d7f9e Remove unnecessary reference pass 2021-02-01 08:18:19 -05:00
Marek Roszko bf2e7215a5 const SGPOINT::GetPoint args 2021-02-01 08:13:00 -05:00
Marek Roszko 32bf88fa8e Point to the user template path by default in pl editor 2021-01-31 23:57:41 -05:00
Marek Roszko 627d321ec5 Remove questionable dropping of inline for msvc in markdown2html 2021-01-31 19:54:33 -05:00
Marek Roszko 9d0b16e814 bool/int type safety 2021-01-31 19:54:32 -05:00
Jeff Young 89d3b0b670 Remove breakage of corner pinning in point editor.
For some reason the post-pinned local variable references were replaced
with calls to the points themselves (which are the pre-pinned values).

Fixes https://gitlab.com/kicad/code/kicad/issues/7291
2021-02-01 00:35:45 +00:00
Seth Hillbrand 8778599c0d Apply same nettie hack to zone filler
The nettie hack is used in DRC but we also need to use it in zone filler
to allow zones to be used with netties.  We limit this to the
appropriate nets in the nettie

Fixes https://gitlab.com/kicad/code/kicad/issues/7351
2021-01-31 16:16:48 -08:00
Marek Roszko b17ba9d632 Tiny tiny cleanup 2021-01-31 19:09:28 -05:00
Marek Roszko 31fd49d444 Use the new nudge path for the symbol lib table, save global and project mru differently 2021-01-31 19:01:33 -05:00
Marek Roszko 991c8fbf8f Use the new nudge path for the footprint lib table, save global and project mru differently 2021-01-31 19:01:33 -05:00
Seth Hillbrand 1a3ab551cf Cleanup
FindLineSegmentIntersection() was refactored in 2012 but there are a few
uses that didn't get updated.  This finalizes the cleanup

Fixes https://gitlab.com/kicad/code/kicad/issues/7365
2021-01-31 15:55:52 -08:00
Seth Hillbrand ae5d2efe07 Snap common single-click tools
Fixes https://gitlab.com/kicad/code/kicad/issues/7362

Fixes https://gitlab.com/kicad/code/kicad/issues/7363
2021-01-31 15:17:24 -08:00
Jeff Young bbb8173b61 Remove and re-add saved-as libraries when Syncing tree.
Also removes the aForce parameter as it was always true anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/7357
2021-01-31 23:00:17 +00:00
Seth Hillbrand 8567739a7a Remove conditions from common immediate-mode keys
The conditions prevent use in immediate mode for common actions.  While
this makes enable/disable easier in menu items, this fix is a patch
until we refactor the action framework to distinguish between immediate
mode hotkeys that should start without selections and menu items that
need a selection before running.

Fixes https://gitlab.com/kicad/code/kicad/issues/5333
2021-01-31 14:45:24 -08:00
Marek Roszko de9da20bda Fix broken html 2021-01-31 17:37:47 -05:00
Seth Hillbrand b54e951ed8 Fix a couple of checks in Fabmaster 2021-01-31 14:12:40 -08:00
Seth Hillbrand 0125986588 Remove unused grid button
Fixes https://gitlab.com/kicad/code/kicad/issues/7360
2021-01-31 13:55:10 -08:00
Marek Roszko 8f21034254 Fix invalid windows macro
Missing one underscore at the end
2021-01-31 16:15:50 -05:00
Marek Roszko 051621a2ca Use M_SQRT1_2 in place of the number 2021-01-31 15:47:23 -05:00
Marek Roszko 3d45668354 Fix typo in TRACK::GetEndY 2021-01-31 15:43:12 -05:00
Marek Roszko b05bf34b77 Cleanup redundant if statement 2021-01-31 15:31:57 -05:00
Seth Hillbrand 2edcf42115 Symbol Editor IO_ERROR catching
Tests for read-only in table save routines and catches other IO_ERRORS.

Still returns a non-specific error message but prevents crashing when
erroring during save.

Fixes https://gitlab.com/kicad/code/kicad/issues/7352
2021-01-31 11:31:07 -08:00
jean-pierre charras f908547141 French translation update. 2021-01-31 20:19:02 +01:00
jean-pierre charras 697a50e232 StickHub demo: Fix erc errors. 2021-01-31 20:17:56 +01:00
Marek Roszko 21fe8542df Remove shadowing of identical base m_parser member 2021-01-31 12:56:27 -05:00
Jeff Young dfc6070178 Unify schematic file version checking with PCBNew.
This also makes sure that the user gets a warning before saving over
an older s-expr format.  While that won't always be wanted, it's now
in the infobar (like in PCBNew), so it's not too onerous.§

Fixes https://gitlab.com/kicad/code/kicad/issues/7347
2021-01-31 17:28:14 +00:00
Marek Roszko 9770ba9739 Fix odd/even check in cairo. Modulo 1 is always 0 on ints. 2021-01-31 11:59:49 -05:00
Marek Roszko 39fb968820 Fix broken map in findNumX2GerbersLoaded 2021-01-31 11:51:08 -05:00
Marek Roszko a156acc6b0 Fix broken LIB_ITEM::Compare case 2021-01-31 11:48:05 -05:00
Marek Roszko bfa8723bb6 Add uninitialized call 2021-01-31 11:45:17 -05:00
Zoltan Gyarmati 3380617836 Axis color fixes in symbol editor
- explicitly set axis color at symbol editor start
- force redraw of grid after axis color change

Fixes: https://gitlab.com/kicad/code/kicad/issues/7160
2021-01-31 15:28:37 +00:00
Thomas Pointhuber db3b79a046 altium: Fix #6462 improve parsing of metric units
Because Altium uses imperial units for storage, this leads to rounding errors.
This code tries to correct those rounding errors for the user.
2021-01-31 16:18:57 +01:00
Seth Hillbrand 08a932a969 Add smarts to switch selection on right-click
Now looks at how hard it is to select the item (grids) and switches only
if the mouse is more than a grid square away and there is a new item
under the mouse.

Fixes https://gitlab.com/kicad/code/kicad/issues/4455
2021-01-31 07:00:48 -08:00
Jon Evans abf0a46dce Refactor PICKER_TOOL and push up snapping disable functionality
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7348
2021-01-31 09:50:41 -05:00
Jon Evans a45b86d2ba Fix Coverity warning 2021-01-31 09:50:41 -05:00
Jeff Young a868fb97b6 Preserve Uuids when editing board footprints.
One way to do this would have been to keep the Uuids in the editor
copy.  However, this opens us up to errors if we forget a Save As or
export path and end up writing the Uuids out somewhere else.

In the end, it felt safer to store a map of the original Uuids and
restore them if we happen to save the editor footprint back to the
board.

Fixes https://gitlab.com/kicad/code/kicad/issues/7312
2021-01-31 14:09:59 +00:00
Thomas Pointhuber 9ddfd82b91 altium: Fix #6242 by increasing clamp limit for unit conversation. Furthermore fix error which happens when parsing negative units. 2021-01-31 13:59:51 +01:00
Thomas Pointhuber 70e6d0e79f altium: use those new fancy user definable layers and import the name from Altium 2021-01-31 11:15:08 +01:00
jean-pierre charras c155218582 Sim plot: fix a rounding issue that can create a missing point in a plot.
Due to a truncation when converting a value to integer, the first point was
sometimes missing because it looked like out of plot range.
Fix also a cosmetic issue in dialog.
Fixes #7345
https://gitlab.com/kicad/code/kicad/issues/7345
2021-01-31 10:36:26 +01:00
Mikolaj Wielgus 8eca23aabe Mark null project initial screen as zoom-initialized
The variable `m_Initialized` in `BASE_SCREEN` is used by
`SCH_EDIT_FRAME` to mark whether a screen had its zoom level initialized
by the "zoom to fit screen" action. When this variable is `false`, the
function `SCH_EDIT_FRAME::DisplayCurrentSheet()` performs "zoom to fit
screen", modifying the zoom level. This function is indirectly called in
the undo routines, so if `m_Initialized` is not set to `true`, a zoom
change will occur when the user undoes an operation, a behavior that is
undesired.

`m_Initialized` was not initialized to `true` for the null schematic
(the schematic that is loaded if no project is loaded), causing the
aforementioned undesired behavior.

To prevent this, I've changed the `SCH_EDIT_FRAME` constructor to set
`m_Initialized` to `true`, since it zooms to fit screen already. I've
moved `m_Initialized` from `BASE_SCREEN` to `SCH_SCREEN`, as it is used
only in Eeschema, and renamed it to `m_zoomInitialized`, a name I
believe that better describes what this variable does.

I've also introduced the function `SCH_EDIT_FRAME::initScreenZoom()` to
group the "zoom to fit screen" action with setting `m_Initialized` to
`true`, as they often should occur together.

I'd also like to say that I'm not confident whether
`SCH_EDIT_FRAME::DisplayCurrentSheet()` should perform the zoom level
initialization at this point, but I have decided to not change this
behavior for now, as the commit history suggests it's several years old.

Fixes https://gitlab.com/kicad/code/kicad/issues/7343
2021-01-31 00:49:11 +00:00
Jeff Young 56ea55ae9c Make sure that NPTH pads still get handled in copper clearance checker.
... because that's where we do hole-to-copper clearance testing.

Also augments the Clearance Resolution reporter to report on said
hole clearances.

And changes the interpretation of HOLE_CLEARANCE_CONSTRAINT to include
local pad clearance overrides.

Fixes https://gitlab.com/kicad/code/kicad/issues/7325
2021-01-31 00:33:35 +00:00
Seth Hillbrand f47e64c47d Fix KiCad svg for desktop use 2021-01-30 14:59:39 -08:00
Mikolaj Wielgus a6b2fb3819 Page layout editor: Fix bitmap bounding box
Fixes https://gitlab.com/kicad/code/kicad/issues/7315
2021-01-30 20:39:16 +00:00
Wayne Stambaugh 7737489e57 Symbol editor: don't allow new or imported symbols in read only libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/7334
2021-01-30 13:03:05 -05:00
jean-pierre charras fabafe719d Use aperture macro for custom pads. Optimize aperture macros for free polygons.
These aperture macros were previously used but only for chamfered round rect.
They are now also used for custom pads (previously drawn as regions).
They are also optimized, i.e. only one aperture macro is created for a given shape.
(previously, one aperture macro was created for each chamfered round rect pad.)

So now all pads are flashed.
2021-01-30 18:14:58 +01:00
Thomas Pointhuber 6a9e1ecf9e altium: Center board after import 2021-01-30 17:43:02 +01:00
Jeff Young 41234a8373 Implement more precise annotation-required messages.
Also moves the message to an infobar so it's more noticeable.

Fixes https://gitlab.com/kicad/code/kicad/issues/7332
2021-01-30 16:31:27 +00:00
Jeff Young a235103e48 Redo pad & via painting (again).
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.

Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.

Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast.  The hole wall
is drawn in high contrast.  This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).

Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00