1047 Commits

Author SHA1 Message Date
John Beard
095e414f12 Pcbnew: add way to re-enable locking prompts
While it's still session-limited, this means you don't have
to restart to get your locking ability back.

Finer-grained locking enablement probably makes better long-term
sense, but this at least prevents "gun shyness" about a setting
you can't turn off again easily.

Also it gets a bool's-worth of application configuration state
out of a dialog (it was a static).
2024-10-05 22:26:18 +01:00
Jeff Young
6255586d5b Clean up some layout issues. 2024-09-30 20:13:27 +01:00
John Beard
3f131e2011 Abstract REFERENCE_IMAGE to a separate class
Break the non-PCB-specfic parts of PCB_REFERENCE_IMAGE out
to a common REFERENCE_IMAGE class, which is then composed into
the PCB_REFERENCE_IMAGE. This will make it easier to bring the
transform origin logic to eeschema without repetition.
2024-09-30 10:20:20 +01:00
Mike Williams
53022ab347 mouse settings: add reverse zoom option
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18583
2024-09-23 17:09:44 +00:00
John Beard
95beedb612 Dogbones: add slots for acute angles
It's actually not as hard as I thought, though
surely has wierd edge cases which users might need to
handle manually.
2024-09-22 13:45:19 +01:00
JamesJCode
68196ad3f3 Don't add default netclass for missing PCB or schematic colors
We don't allow these to be set on the default netclass, so we
don't need to resolve it if they are missing in a custom netclass.
The renderer will use the colors specified in the application
color scheme.
2024-09-20 18:46:39 +01:00
Mike Williams
87a66d4df1 grids: make settings panel correctly implement cancel
Before we edited the grid settings directly so cancel would keep your
changes.

Also includes numerous QoL improvements borrowed from Ian's patch,
and a few other small fixes.
2024-09-18 10:49:12 -04:00
Mike Williams
337211adea grids: allow editing existing grids
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16870
2024-09-12 15:19:34 -04:00
Mike Williams
895c977dd3 design blocks: move all loading out the main kicad frame
This lets standalone eeschema at least use the global table if a project
is not loaded, similar to how symbols/footprints work.
2024-09-10 15:50:03 -04:00
Mike Williams
2eec2489ea design blocks: move globals behind accessor functions
Prepare for lazy loading
2024-09-10 15:50:03 -04:00
Mike Williams
b2dda11fae design blocks: move table manager to common dialogs
Also add to schematic editor preferences.
2024-09-10 15:50:03 -04:00
Seth Hillbrand
7214ef1f14 Remove basic masking class map_string_utf8
This is just std::map<std::string, UTF8>, using the class just masks
what it is and adds unclear functions.
2024-08-19 11:51:13 -07:00
JamesJCode
19d5d21f23 Move netclass highlighting style to application-level setting
Also includes bugfix whereby wires, junctions, and bus entries
were not subject to override of local colors.
2024-08-12 23:52:01 +01:00
JamesJCode
6371b15aa4 Implement highlighting style for netclass colors 2024-08-12 21:39:07 +01:00
JamesJCode
d95901d981 Fix import netclass colors to PCB for new default netclass position 2024-08-12 19:53:36 +01:00
JamesJCode
0aa82b9a04 Correctly handle read-only fields for default netclass 2024-08-12 18:13:02 +01:00
Jeff Young
f89ba38b66 ADDED: importing text vars from Schematic Setup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18465
2024-08-11 19:33:15 -06:00
John Beard
15924958d9 Add wxGrid autosizer helper
This moves a fiddly little bit of logic used by a few UI
classes into a central location.

Also means that the paths dialog learns to expand the
first cell when it needs to (like the text variable
panel).
2024-08-06 23:45:55 +08:00
James J
7ce00e511b Multi-netclass support 2024-07-26 20:49:29 +00:00
Seth Hillbrand
69849ba3ca Replace custom Clamp with std::clamp
Fixes bug in parser that had the elements in the wrong order due to our
custom version not matching the standard order
2024-07-25 19:17:17 +02:00
John Beard
1325de3d0d Pcbnew: allow escaping from viewport/layer preset switcher
This allows the user to hit escape while the control key is
still pressed to cancel the switch (e.g. if they realise there
isn't a preset they actually want), rahter than having to go
back to the original entry, or select one they didn't want
and then switch again.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18423
2024-07-21 22:41:36 +08:00
Jeff Young
9fcbd4e6d0 Slight reduction in asserts. 2024-07-18 18:01:05 +01:00
Marek Roszko
c16d078b8c Fix conflict with windows header define thats leaking in
GetTempFileName is a windows header define unforunately and the big boi header is leaking in somehow
2024-07-15 20:22:33 -04:00
Seth Hillbrand
77797103f7 Add ability to embed files in various elements
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures.  File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.

kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document.  Embeds are allowed in schematics, boards,
symbols and footprints.  Currently supported embeddings are Datasheets,
3D Models and drawingsheets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
aris-kimi
6969b9d64f Open library file preselected in the file explorer for both symbol and footprint editors. 2024-07-10 06:14:04 +00:00
Jeff Young
14a55facf2 Clearer naming and commenting.
Also some const& hygiene and some formatting.
2024-06-25 11:07:14 +01:00
Jeff Young
080cbbe0dd Error reporting for drawing sheet loading. 2024-06-24 20:22:29 +01:00
Jeff Young
31ab276aaf Ease-of-use for un-commented ERC/DRC exclusions.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18220
2024-06-19 17:07:50 +01:00
Jeff Young
b7161181e8 Hidden footprint libraries are not yet supported.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18183
2024-06-12 16:59:20 +01:00
Alex Shvartzkop
b64a30f44b Fix color swatches and color picker dialog on GTK with window scaling. 2024-05-26 13:02:37 +03:00
Alex Shvartzkop
067e9c308d Improve sizing in color picker dialog. 2024-05-26 03:56:58 +03:00
Jeff Young
1c77e087a7 Add a sprinkling of GetPixelScaleFactor() for MacOs. 2024-05-25 14:26:43 +01:00
Alex Shvartzkop
894bf45480 Make color picker dialog usable on hidpi monitors.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17860
2024-05-25 04:13:13 +03:00
Jeff Young
397ae3bafd Support wildcards and regEx's in Net Inspector.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18071
2024-05-24 12:24:05 +01:00
Alex Shvartzkop
e71789bab0 Minor alignment fixes in Plot dialog and Common settings. 2024-05-14 17:44:16 +03:00
JamesJCode
9e1a5eb1bd Eeschema: Only assign nets with resolved netclasses to the label map
Also fixes a bug where the pattern assignment cache was not cleared
if all pattern assignments were deleted in the setup netclasses
panel.
2024-05-07 20:16:17 +01:00
Seth Hillbrand
5156229da7 Fixup previous edit 2024-05-06 10:36:07 -07:00
Seth Hillbrand
8a306eecb6 Cleanup libgit init calls 2024-05-06 10:18:38 -07:00
Alex Shvartzkop
5475359d00 More build time optimizations. 2024-05-06 04:39:28 +03:00
Marek Roszko
62936b7e01 Remove the disabling of UseNativeColHeader now that we fixed our wx fork 2024-05-01 20:56:27 -04:00
JamesJ
6c5ac9e269 Check in fbp file for netclass setup panel
Was not added to commit 5f4c7a5
2024-04-28 18:18:42 +01:00
Alex Shvartzkop
16e3692e71 Build time optimizations. 2024-04-27 23:49:13 +03:00
Marek Roszko
a565db58c5 Hackfix crash in configure paths using non-ascii chars in column headers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17743
2024-04-27 10:16:37 -04:00
Jeff Young
cd64630661 Remember shown columns in netclass setup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17852
2024-04-25 08:34:36 +01:00
Alex Shvartzkop
76b7cdd128 Improve grid cell editors appearance. 2024-04-13 23:26:01 +03:00
Alex Shvartzkop
49dcd5f4fc Fix default cell alignment and FBP file for Configure Paths dialog. 2024-04-11 00:48:48 +03:00
Jon Evans
1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Jon Evans
6bd02cae6d Refactor; add user control over API server 2024-04-02 19:51:18 -04:00
Jon Evans
a3b6ab48a4 Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
Jon Evans
f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00