147 Commits

Author SHA1 Message Date
Mike Williams
a859b25d2c PCB: convert footprints to use PCB_FIELDs for fields from schematics 2023-06-20 18:34:52 +00:00
Seth Hillbrand
14f6e32c74 ADDED: Change watcher for libraries
When editing or viewing library symbols, the files are watched for
underlying changes.  If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.

This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
Jeff Young
bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
Jeff Young
c4ef08bead Exercise more caution with user filenames.
In particular, don't assume "1" is an extension in "Schematic_1.1".

Fixes https://gitlab.com/kicad/code/kicad/issues/14263
2023-03-12 15:52:45 +00:00
Marek Roszko
aacc9746e3 Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
jean-pierre charras
df4f9d4c94 FP editor: fix crash when trying to save a footprint after removing its library
Fixes #13619
https://gitlab.com/kicad/code/kicad/issues/13619
2023-01-21 18:18:38 +01:00
Seth Hillbrand
7e5a2450b8 Move multiple wxMessageBox to DisplayErrorMessage
Also provide protection for headless running in multiple callsites

Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-18 16:54:01 -08:00
Seth Hillbrand
2399759c03 Allow default sexpr libs to have '.' and no .pretty
We default to KICAD_SEXPR format.  In this case, if the library doesn't
have the .pretty extension, the full directory name including a '.' is
the correct nickname

Fixes https://gitlab.com/kicad/code/kicad/issues/13388
2023-01-06 10:08:32 -08:00
Jeff Young
365674dfdf Footprints in the footprint editor can't be in a group. 2022-11-13 13:18:42 +00:00
Jeff Young
fa679d3601 Pinned libs can also be found in program settings. 2022-07-23 20:17:04 +01:00
Jeff Young
eb27a3f8b9 Added pinning support to various EDA_LIST_DIALOGs.
Footprint Save As, Symbol Save As, etc.
2022-07-09 20:44:49 -06:00
Jeff Young
c6f83b6dec ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
Jeff Young
08f15fe587 ADDED New Library functionality to Footprint/Symbol Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
jean-pierre charras
dbfdd3fb56 Fix some Coverity warnings. 2022-03-06 09:48:33 +01:00
Seth Hillbrand
fab78af176 Remove TEDIT
This marker is not used in KiCad and creates merge conflicts when two
different users edit the same file
2022-03-01 00:25:44 +00:00
jean-pierre charras
a178de8744 FP editor: fix crash when trying to export a footprint to the board editor. 2022-02-27 08:38:19 +01:00
Jeff Young
85805b95ba Cancel or commit pad edit mode when switching footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/10209
2022-02-19 19:36:19 +00:00
Jeff Young
5739505aa3 TextBoxes for PCBNew. 2022-01-31 20:00:47 +00:00
Wayne Stambaugh
c154e85ebd Footprint editor: use most recently used path on footprint import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10418
2022-01-16 09:47:08 -05:00
Jeff Young
ba6ae4fa9b Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
Simon Schaak
5060c73625 Reject broken footprint files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9721
2021-11-22 16:48:05 +01:00
Jeff Young
0826c26a18 Fix a few minor dialog issues. 2021-10-18 18:09:40 +01:00
jean-pierre charras
0533196294 Fix Coverity warnings 2021-10-15 09:24:16 +02:00
Seth Hillbrand
f9c83dbc44 Fix footprint type memory
The flags don't map quite right, so we keep the memory of the drop-down
and translate to flags.  This protects against flag values changing
2021-10-07 11:29:51 -07:00
Jeff Young
574bef2237 Normalize drawing sheet path to env vars & prj, not just prj.
Also cleans up the dialog a bit.

Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.

Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young
0438a45176 Don't allow reentrancy into PlaceFootprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/9269
2021-09-29 17:01:33 +01:00
Seth Hillbrand
3e7310a219 Move FP type check to FP DRC
Checks for validity are better centrally located where they don't
interrupt user actions
2021-09-25 08:56:27 -07:00
Seth Hillbrand
c3b6939ea7 Allow quiet creation (scripting) 2021-09-24 13:49:45 -07:00
Seth Hillbrand
64be61b4d6 Allow user to set footprint type up front
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.

Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Seth Hillbrand
963a8ee42d Warn users when creating footprints about mismatch
Checks to see if the footprint attribute matches the type of pads
contained in the footprint.  Can prevent issues during fabrication if
users forget to adjust them during creation.

Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Jeff Young
b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young
1fd555ce0e Added code to map footprint lib nicknames when exporting.
This is particularly useful when you import (for instance) an
Altium board and then save the footprints out to a new library.

Fixes https://gitlab.com/kicad/code/kicad/issues/6345
2021-08-21 19:00:59 +01:00
jean-pierre charras
ac933d4e83 Fp editor: avoid having nil uuids when editing old footprints.
In Fpeditor, nil uuid has a special meaning and cannot be used as uuid in fp items.
Fixes #8914
https://gitlab.com/kicad/code/kicad/issues/8914
2021-08-04 12:37:52 +02:00
Jeff Young
95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
Jeff Young
6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young
4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young
3072422538 Allow caller to specify which library table to add library to.
Fixes https://gitlab.com/kicad/code/kicad/issues/8013
2021-06-18 11:39:18 +01:00
Ian McInerney
f94816fbd4 Cleanup wx includes in the filter reader 2021-06-04 01:26:58 +01:00
Seth Hillbrand
752ae4d519 Rename modification flag routines
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Jon Evans
619a353c5e Decouple 3D view dirty marking and refresh
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8154
2021-04-08 22:09:19 -04:00
Jon Evans
c04e19f9ac Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
Jeff Young
91e876ce0d Make sure the title is updated when file is saved/reverted/etc.
Fixes https://gitlab.com/kicad/code/kicad/issues/7626
2021-02-20 15:09:47 +00:00
Jeff Young
d4e68a985c Formatting. 2021-02-20 15:09:47 +00:00
Jeff Young
c2dbd28101 Simplify and harmonize symbol editor and footprint editor menus.
Some differences are due to difference between libraries being files
in symbol editor and directories in footprint editor, but this unifies
most of the rest.

It also dispenses with the save-to-library vs save-to-document distinction
in the GUI because it makes for too much variability in the GUI, was
implemented differently between the two editors, and isn't needed as much
anymore now that we have the highly visible infobar.

There was also an issue that the save-to-board icon occupies the same
location and has the same size/shape/colours as the Board Setup icon in
PCBNew.

Fixes https://gitlab.com/kicad/code/kicad/issues/7215
2021-02-06 14:33:16 +00:00
jean-pierre charras
e3e03e09d0 detect_file_type(): update detection to handle last change in .kicad_mod files
These files can start now by "(module" or "(footprint".
2021-02-02 09:53:30 +01: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
Marek Roszko
43fd416d13 Flip the footprint new library flow to prompt global or project first 2021-01-28 20:15:44 -05:00
Jeff Young
dca7e44455 Fix a missed Module -> Footprint. 2021-01-26 10:56:19 +00:00
Jeff Young
b68b1692ec Clean up some more user messages.
Mostly component -> symbol but also some I18N cleanup.
2020-12-18 12:49:20 +00:00