Wayne Stambaugh
a4b38fbb80
Coverity warning fixes.
2023-12-18 16:09:13 -05:00
Jeff Young
8251fca66a
performance efficiencies
2023-12-18 17:39:29 +00:00
Jeff Young
68cbb820a7
performance efficiencies
2023-12-18 17:20:34 +00:00
Jeff Young
11805d6696
performance efficiencies
2023-12-18 17:01:55 +00:00
Wayne Stambaugh
25c03da5a5
Coding policy and Doxygen comment fixes.
2023-12-18 08:32:41 -05:00
Wayne Stambaugh
eb3fd10af8
Fix obscured object selection issue in board and footprint editors.
...
This selection improvement feature is hidden behind the advanced
configuration key "PcbSelectionVisibilityRatio". It is turned off (1.0)
by default. Value values are from 0.0 to less that 1.0. From testing,
using a value between 0.1 and 0.3 produces the best results.
This fix uses normal alpha blending described in the link below. The
current design only uses the alpha of the object's color. It could be
improved by doing a full color alpha blending but using the color alpha
alone seems to result in satisfactory results.
https://en.wikipedia.org/wiki/Alpha_compositing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16126
2023-12-17 16:43:56 -05:00
Jeff Young
b29a56530c
Remove undo-of-ungroup hack.
...
The hack assumed that the parent group would be the first
deleted item of type group in the undo list. While this
will be true when undoing a user ungroup command, it will
not be when undoing an ungroup side-effect, such as when a
member of a group is deleted during UpdateFromPCB.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16384
2023-12-17 15:35:35 +00:00
Jeff Young
9fb06f95a0
Fix msys2 build.
2023-12-16 16:17:24 +00:00
Jeff Young
ea3c87f243
Move group/ungroup to COMMIT infrastructure.
2023-12-16 14:17:25 +00:00
Jeff Young
1df84f4d92
Move some PCB_GENERATOR special-cases to propMgr listeners.
2023-12-15 21:04:33 +00:00
Jeff Young
0ab474e596
Comments.
2023-12-15 18:02:52 +00:00
Jeff Young
4844cffc00
Make sure PCB_GENERATOR's lock status follows their members.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16372
2023-12-15 17:37:36 +00:00
Marek Roszko
c8f646efb1
ADDED: KiCad update check
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15026
2023-12-13 20:47:40 -05:00
Wayne Stambaugh
5fa274ead0
Add board layer view stack up sequence from front layer to back layer.
...
The old bottom to top layer stack up sequence from back to front layer was
only used for plotting so it was renamed appropriately. This will be used
for future board object select disambiguation improvements.
2023-12-11 15:07:58 -05:00
Wayne Stambaugh
484491aaea
Fix crash on save after pasting symbols in schematic editor.
...
This was caused by pasting zero length instance paths which are not valid.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16300
2023-12-11 08:29:10 -05:00
Ian McInerney
be9c3b08b5
Fix library table file filters
...
The schematic librayr table was missing the Kicad Sexpr filter, and also
the filter inside the grid editor was never updated when the library
plugin type was changed in the grid, so a library of the new type could
not be selected.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16278
2023-12-07 11:16:02 +00:00
jean-pierre charras
921291c28b
Pcbnew, default values for sizes and thickness: add missing tests for validation.
...
Especially for texts, the min and max values that are used are the same as
for other dialogs.
2023-12-06 16:45:18 +01:00
Mike Williams
2795fa9ca3
EE/PCB_Actions: convert to generic Finish
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16079
2023-12-06 10:33:17 -05:00
Seth Hillbrand
0e37ea0c66
2581 enabled by default
2023-12-04 12:03:15 -08:00
Wayne Stambaugh
ef2f72697b
Make paste special dialog a bit more user friendly.
...
Set a default control so that the escape key closes the dialog.
Select the OK button after the user selects an annotation option. This
allows for keyboard navigation of the dialog and saves an extra mouse
move and click to when choosing an annotation setting.
2023-12-03 13:44:38 -05:00
Jon Evans
16dea1d7e7
Remove unused advanced config variable
2023-12-02 21:25:18 -05:00
Jon Evans
9c1a160fcd
Add system for property change notifications
...
Use this to sync symbol field edits that are
synced by the dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15697
2023-12-02 19:22:59 -05:00
Jeff Young
b13590f4c0
Use preview items instead of highlightNets & status popup
...
The router preview item can be specific to the part that is being
tuned, rather than the whole net. It's also less visually noisy as
it doesn't dim/undim the rest of the board.
Using kigfx preview items for the status keeps us from having a bunch
of focus issues with the status popup window.
2023-12-02 16:15:43 +00:00
Jon Evans
4ff127b452
Parse generator_version and improve error output on mismatch
...
Also bump symbol format version for generator_version
2023-11-29 16:17:41 +00:00
Jon Evans
0face5a891
Add prettification to pl_editor; bump version
2023-11-29 16:17:41 +00:00
Jon Evans
f1f8981395
Automatic whitespace and indentation prettification for sexpr formats
2023-11-29 16:17:41 +00:00
Jon Evans
55ba667bcb
Retire tstamp keyword in favor of uuid
2023-11-29 16:17:41 +00:00
Jon Evans
55bca5e7ac
Normalize formatting of booleans in the PCB file format
2023-11-29 16:17:41 +00:00
Seth Hillbrand
f64349b292
Coverity fixes
2023-11-27 11:57:31 -08:00
Seth Hillbrand
75c6b0ab28
Added IPC2581 support
...
IPC2581 is a modern production file exchange system. It provides
single-file data output for an entire board including BOM and netlist
information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Ian McInerney
b64631d7bc
Add um support to the unit binder
2023-11-26 00:03:09 +00:00
Jon Evans
2b27337778
Clamp ratio properties
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16153
2023-11-25 18:40:14 -05:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Jeff Young
b6501ce632
Report current length on roll-over.
2023-11-23 23:25:49 +00:00
jean-pierre charras
247a0e6501
Eeschema: Add Cairo printing to the Eeschema print engine. The current print engine (using wxDC draw engine) has frequently issues with each new wxWidgets version. Cairo printing engine, used for Pcbnew and Gerbview has less issues. On Eeschema, the cairo print is enabled only if the advanced config has the option "EnableEeschemaPrintCairo = 1"
2023-11-23 16:11:09 +01:00
Jeff Young
0de966f9ce
Add m_isClosing guard in an attempt to prevent KICAD-1XF.
2023-11-18 12:45:09 +00:00
Jeff Young
f098405218
Handle justification for vertical text when mirroring.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15036
2023-11-17 21:50:16 +00:00
Jeff Young
95dcf54d8d
New is-canvas-item highlighting.
2023-11-17 20:29:18 +00:00
Jeff Young
a4a946ab75
Clearer naming.
2023-11-17 18:36:33 +00:00
Jeff Young
2f3c0a608d
Score LIB_TREE_NODE_UNITs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16106
2023-11-17 18:36:33 +00:00
Johannes Pfister
4177b64c27
Add micrometre and centimetre units
2023-11-16 23:24:52 +00:00
Jeff Young
d110b5b518
Improve edit points rendering on Retina displays.
2023-11-16 10:30:09 +00:00
Jeff Young
7e46e85c7d
Update copyrights.
2023-11-11 15:29:34 +00:00
Jeff Young
9ef05fb762
Don't store document values in global PROPERTY_MANAGER.
...
At best it leads to the wrong units being used if they're different
between (for instance) PCB Editor and Footprint Editor. (And this
will only get worse if we ever to to a single binary.)
At worst it causes crashes when accessing freed ORIGIN_TRANSFORMS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16062
2023-11-10 18:37:29 +00:00
Jeff Young
6417c9888f
Update EDA_REORDERABLE_LIST_DIALOG to current GUI style.
...
Note: while we try to omit sizing info from FBP files, the list
controls assume way too wide a minimum width if they're not set.
Furthermore, sizing the dialog ends up leaving them a certain size
and clipping other elements is the dialog itself doesn't have limits
set. Sigh.
2023-11-10 12:49:19 +00:00
Jeff Young
6ecfc89a4a
Honour originTransforms in search panels.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15031
2023-11-09 18:41:18 +00:00
Alex Shvartzkop
7589de6120
Optimize footprint/symbol library hover previews.
2023-11-09 19:02:10 +03:00
Jeff Young
77e408a93d
De-bounce search pane selection events.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15605
2023-11-09 14:43:39 +00:00
Jeff Young
cc721c4907
Improve encapsulation of group internals.
...
(It's still leaking into BOARD_COMMIT and some other places, but at
least it no longer leaks into all the edit tools.)
Also fixes some bugs when moving/copying/pasting multiple selections
containing length-tuning patterns.
2023-11-09 14:05:35 +00:00
Jeff Young
78e00ade7a
Clearer naming.
2023-11-09 14:05:35 +00:00
Ian McInerney
dd933b7d0e
Update CERN copyrights
2023-11-08 21:34:14 +00:00
Jeff Young
72c985bc07
Rewrite scoring algo again. (Third time's the charm?)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16042
2023-11-08 12:33:09 +00:00
Jeff Young
f83d60a48f
Clean up autosave files when reverting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15998
2023-11-05 12:20:31 +00:00
Jeff Young
92ae0f4793
Save Footprint chooser size and location.
...
(We're using a FRAME to mimic a dialog, so we need some of the
DIALOG_SHIM logic inside it.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15807
2023-11-03 10:34:27 +00:00
Jeff Young
50ff5e616f
Don't delete text when cancelling changes.
...
Also changes margins of compile button so it correctly lines up at
the top of the error window.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16002
2023-11-02 18:37:55 +00:00
Jeff Young
67d8b13b02
And Font to properties manager for EDA_TEXT items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16004
2023-11-01 00:39:42 +00:00
jean-pierre charras
d8be69c3c1
PAGE_INFO: use double instead of int to store the page size.
...
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Jeff Young
e7fca68384
Don't double-delete unused nets (or anything else, for that matter).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15979
2023-10-31 12:10:21 +00:00
Jeff Young
87571ed8b8
Not all font sizes, fill properties or color properties are the same.
2023-10-30 17:30:15 +00:00
Jeff Young
fc0017fc95
Normalize rects higher up.
...
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
Jeff Young
6c6a7cf862
Provide a callback for supplying file filters just-in-time.
...
This allows us to make them dependent on the current plugin type in
the fp lib table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2023-10-28 11:18:17 +01:00
Ian McInerney
171458a27b
Introduce action friendly names
...
Friendly names can be used to display action information that is clearer
in non-hierarchical contexts (e.g. not in menus).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8075
2023-10-27 23:58:29 +01:00
Wayne Stambaugh
6269453416
Coverity warning fixes.
2023-10-27 16:48:14 -04:00
jean-pierre charras
93b5038382
FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config
...
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
2023-10-26 17:58:33 +02:00
Jeff Young
f7420bc820
Separate Footprint Editor's sketch modes from PCB Editor's.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15345
2023-10-26 10:59:26 +01:00
Jeff Young
fc4bc10d27
Separate out axes definitions between ModEdit and PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5711
2023-10-25 15:01:36 +01:00
Jeff Young
791aa64950
Functionally it's a "reference image".
...
The implementation happens to be a "bitmap".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
Jon Evans
9d455ca399
Fix rendering of ACTION_TOOLBAR_PALETTE buttons at non-normal sizes
2023-10-22 15:40:17 -04:00
Jeff Young
ad676e22b8
Don't push a commit we don't own.
2023-10-22 20:35:14 +01:00
Jon Evans
47e25d617e
ADDED: Icon scaling for toolbars only
...
Unlike the old "icon scale" (that actually scaled all bitmaps)
this one actually changes the toolbar size while making use
of the new bitmap bundle functionality
Add more resolutions for all tool icon bitmaps
Wouldn't want Mark's eyes to bleed
2023-10-22 14:02:06 -04:00
Jon Evans
06a4bdbf4c
Upgrade BITMAP_TOGGLE and GRID_BITMAP_TOGGLE to wxBitmapBundle
2023-10-22 14:02:06 -04:00
Jon Evans
50fe585827
REMOVED: manual icon scale preference
...
This is now handled properly by wxWidgets on all platforms
See https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jon Evans
eb5b3db063
Add bitmap bundle support to BITMAP_SCALE
...
Change a bunch of buttons and toolbars to use it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jeff Young
f5e99338a9
Generators should respond to the selection filter that controls their children.
...
(Tuning patterns to the track checkbox, stitching patterns to the
vias checkbox, etc.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15905
2023-10-20 16:28:05 +01:00
Seth Hillbrand
d99641be40
ADDED: Git integration support
...
Adds support for project-based git integration, branch support, commit,
revert and updates
Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Jeff Young
f5edac547e
More modern look & feel for tuning status popup.
...
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young
89011e888c
More modern look & feel for tuning status popup.
...
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young
9c4bb464ac
Improve tuning status popup colours.
2023-10-17 13:30:58 +01:00
Alex Shvartzkop
be1008cbd8
ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog.
2023-10-17 10:29:43 +03:00
Marek Roszko
63ba3b8ea7
Remove BITMAP_OPAQUE just like the TODO said :D
2023-10-16 20:16:30 -04:00
Marek Roszko
bee6e6be01
AddMenuLanguageList should live in EDA_BASE_FRAME, its only user
2023-10-16 19:49:52 -04:00
Marek Roszko
584757f2df
Move the menu helpers to ui_common instead of sitting in bitmap for some reason
2023-10-16 19:40:46 -04:00
Marek Roszko
ba83e84b91
Move SaveCanvasImageToFile to EDA_DRAW_FRAME rather than leaking things to bitmaps
2023-10-16 18:33:11 -04:00
Jeff Young
2c02c26af4
Centralize min/opt/max printing.
2023-10-15 22:46:23 +01:00
jean-pierre charras
7efd414519
Fix minor Coverity and compil warnings
2023-10-15 15:55:31 +02:00
Alex Shvartzkop
9ed19192de
Improve editing values with {return} in text fields; Add hyperlink detection.
2023-10-15 01:45:39 +03:00
Jeff Young
87621817bf
Fix typo.
2023-10-14 18:22:17 +01:00
Jeff Young
504652b972
Regularize RunOnChildren() at the BOARD_ITEM level.
...
BOARD_ITEM sub-classes which don't have children simply don't
overrid it.
2023-10-14 15:04:18 +01:00
Jeff Young
5f5113c80a
Pick up current rule values when editing meanders.
2023-10-14 15:04:18 +01:00
Jeff Young
2bc273f8bc
Don't fire event-parameter asserts when looking for a click event.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/KICAD-2CK
2023-10-13 20:31:01 +01:00
Jeff Young
1aeccc5895
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
2023-10-12 17:54:34 +01:00
Jon Evans
0b136ae0df
CLI: Allow controlling layer order for multilayer plots
2023-10-11 00:18:58 +00:00
Jeff Young
d916e650f1
Tuning status popup for point editor.
2023-10-10 11:55:57 +01:00
Jeff Young
35d8635a6b
Default skew tuning lenght to diff between N/P, but allow override.
2023-10-09 15:22:41 +01:00
Jeff Young
5793abd310
Fix build on MacOS.
2023-10-09 15:22:41 +01:00
Alex Shvartzkop
b77df1eea4
Use advanced_config key EnableGenerators to enable menu entries for generators.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
be72e07e61
Introduce PCB_GENERATOR.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
0fcb36bc2e
Add reselectItem action.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
40f7d5cb52
Add STRING_ANY_MAP.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
471bfb1131
Add EDA_UNIT_UTILS::ParseInternalUnits
2023-10-08 02:41:17 +00:00
Jeff Young
420cadab34
Separate meander settings from target length/skew.
...
Settings move to Board Setup, while target length is sourced from
the custom rules (or a text-entry dialog if no rules are active for
the track).
Target skew is sourced from the coupled-trace-length minus the
trace-to-be-tuned length.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12075
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15826
2023-10-06 19:46:55 +01:00
Alex Shvartzkop
113208455d
Add dashed lines and circles to preview draw context.
2023-10-06 15:56:20 +03:00
Alex Shvartzkop
163fd5021e
Mark some methods in UNITS_PROVIDER as const.
2023-10-06 15:36:18 +03:00
Ian McInerney
0876fb0985
Re-implement direct layer switching in the router tool
...
Also add a new framework to allow grouping actions that are similar into
a single context that can then be used for mass comparisons.
2023-10-05 13:34:25 +01:00
Ian McInerney
fb3bfc3c57
Move About dialog to an action
2023-10-04 22:17:47 +01:00
Jeff Young
31c488bc23
NETINFO_ITEMs are owned by BOARD.
...
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Jeff Young
9f5e583ced
Readability.
2023-10-03 17:14:03 +01:00
Jeff Young
6fbbf981f0
Handle justification when hit-testing fields.
...
This steals the algo used in SCH_PAINTER to get the right coords
for the text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15722
2023-10-03 14:36:13 +01:00
Marek Roszko
aa0d39dfe4
Fix the moving truck leaving behind IO_ERROR and friends
2023-10-02 18:16:17 -04:00
Jeff Young
8760bd8c80
Reconcile "apply defaults to new footprints" with DRC lib checks.
...
Moves apply defaults settings to Board Setup (where they were
duplicated anyway due to an earlier botched merge).
Modifies the apply-to-graphics algorithm to skip copper shapes.
Modifies DRC library check to skip STROKE_PARAMS for non-copper
shapes.
2023-10-02 22:10:13 +01:00
Jeff Young
06446bb80e
Only expand lib tree when filtering.
2023-10-02 16:24:53 +01:00
Marek Roszko
6d3b846eb5
Add more missing destructor event cleanups
2023-10-02 07:22:00 -04:00
Jeff Young
cf02bb171f
Expose exclusion flags in search pane.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15776
2023-10-01 22:46:34 +01:00
Jeff Young
34769cec63
Filter line-endings from single-line Scintilla editors.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15793
2023-10-01 14:04:45 +01:00
John Beard
311f041421
ADDED: Polygon boolean operations in PCB editor
...
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,
For now, this only supports polygons made of straight lines.
There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025
2023-10-01 00:10:10 +01:00
Jeff Young
d6a862cafe
It's "internal units", not "user interface".
2023-09-30 22:54:45 +01:00
Jeff Young
9805aca5a0
Handle backslash-escaped quotes in libeval.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15786
2023-09-30 17:38:44 +01:00
Jeff Young
fa11e9138d
ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
Jeff Young
b592a6634e
Cleanup.
2023-09-29 00:13:13 +01:00
Jeff Young
974da4ea7c
Push most of DIALOG_CHOOSE_SYMBOL down into PANEL_SYMBOL_CHOOSER.
...
Includes a dialog wrapper (DIALOG_SYMBOL_CHOOSER) and a frame
wrapper (SYMBOL_CHOOSER_FRAME).
2023-09-29 00:13:12 +01:00
Jeff Young
23033451b1
Cleanup.
2023-09-29 00:13:12 +01:00
Marek Roszko
fabfe5b33d
Fix GetTextVarsTicker and GetNetclassesTicker return types
2023-09-27 23:06:44 -04:00
Marek Roszko
8c6899b0d3
Tear out the eeschema conditional compile of PROJECT
2023-09-27 23:05:30 -04:00
Marek Roszko
7e8b18035f
Eliminate the conditional pcbnew/cvpcb definition of PROJECT
2023-09-27 20:53:46 -04:00
Jeff Young
1047130046
Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
...
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
jean-pierre charras
6f9affe3db
Fix compil warnings: disable #pragma specific to MSVC
2023-09-27 08:22:39 +02:00
Marek Roszko
4746bde4b3
gal as a shared lib, gaasl!
2023-09-26 22:31:31 -04:00
Marek Roszko
464179894d
Another set of movement to kicommon
2023-09-26 22:30:42 -04:00
Jeff Young
54171ec030
Add action for switching to Project Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15740
2023-09-26 17:25:57 +01:00
Jeff Young
aab0696bb6
Zoom undo/redo for simulator.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14580
2023-09-26 13:19:41 +01:00
Marek Roszko
37e8a008ab
Remove obsolete config_params.h includes
2023-09-25 20:40:29 -04:00
Jeff Young
43edbcc622
Add batch edit for visible flag.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14519
2023-09-26 00:31:37 +01:00
Marek Roszko
7010f7963c
EDA_ITEM does not belong in VIEW
2023-09-25 19:30:42 -04:00
Jeff Young
bf493f32f5
Nullptr safety for various panels.
...
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Marek Roszko
050f812f5e
Move fontconfig to kicommon for now to de-duplicate the font cache
2023-09-24 22:58:18 -04:00
Marek Roszko
c006482feb
Add SETTINGS_MANAGER::GetUserSettingsPath back because swig
2023-09-24 20:10:32 -04:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Andre Iwers
f2fdf0f3df
httplib: add support for exclude attributes
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15720
2023-09-24 13:37:01 +00:00
Marek Roszko
a3c662839c
Remove accidentally committed headers
2023-09-24 08:09:21 -04:00
Marek Roszko
e3285c234a
Move executable path to PATHS to avoid a circular dependency
2023-09-23 20:21:37 -04:00
Marek Roszko
3c18e216b1
Move configparams to kicommon
2023-09-23 20:06:58 -04:00
Marek Roszko
121ea99824
Move the settings path to PATHS to allow shifting other classes into kicommon
2023-09-23 20:06:58 -04:00
Marek Roszko
37479c4154
HIDPI_GL_3D_CANVAS needs CAMERA so move it over
2023-09-23 20:06:57 -04:00
Marek Roszko
669f9d795f
Trim the camera includes
2023-09-23 20:06:57 -04:00
Marek Roszko
563cd522eb
confirm is now free to live in kicommon
2023-09-23 10:24:47 -04:00
Marek Roszko
1c11a599c8
Move trace_helpers to kicommon
2023-09-23 09:37:47 -04:00
Marek Roszko
f8e33be07f
Break out the boundary violating parts of gal into common through subclassing
2023-09-23 09:37:47 -04:00
afkiwers
a1708637fc
fixed missing desciption in symbol chooser
2023-09-22 01:15:32 +00:00
Jeff Young
0126841c44
ADDED: 3D appearance setting for off-board silk.
2023-09-20 23:28:50 +01:00
Jeff Young
1ff279bf72
Don't auto-adjust time axis while sim is running.
...
Just use start and end time.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-20 17:34:34 +01:00
Mike Williams
9541e45502
BOM Exporter: allow using presets from the command line
2023-09-20 10:57:43 -04:00
Marek Roszko
ee91b550d8
gl_context_mgr and gl_util belong in the gal folder
2023-09-19 23:06:44 -04:00
Marek Roszko
43a59275c3
Remove unused header
2023-09-19 21:14:26 -04:00
Marek Roszko
9deff07ca6
Save 470KB by not re-initializing lineTypeNames over a thousand cpp files it leaks into
...
I saved a bunch of money on my car insurance by switching to Extern
2023-09-19 20:05:55 -04:00
Jeff Young
58889f8120
Improve shape properties dialog layout.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15683
2023-09-19 17:04:05 +01:00
Jon Evans
1635df57a3
httplib: code style fixes
2023-09-18 21:37:34 -04:00
Jon Evans
8f6ae8c6b3
httplib: code style / spelling fixes
2023-09-18 21:27:39 -04:00
Andre Iwers
2bcad18cc2
ADDED: HTTP library support
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12027
2023-09-19 01:09:21 +00:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Marek Roszko
4a53c8f330
newstroke_font can live in kicommon
...
Turns out, gal doesnt even use newstroke_font.h anymore, stop bleeding it everywhere due to the gal header
2023-09-18 07:40:02 -04:00
Jeff Young
93a5d01230
Unroll ACTIONS::CURSOR_EVENT_TYPE into a flat enum.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15666
2023-09-18 12:38:34 +01:00
Jeff Young
ef92429ac2
Implement changed notifiers for textvar, netclasses and severities.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15440
2023-09-17 17:35:15 +01:00
Marek Roszko
ab8bcf537e
EDA_UNITS_UTIL to kicommon
2023-09-16 19:43:49 -04:00
Marek Roszko
0b99d77fb5
Move layers to kcommon
2023-09-16 19:12:55 -04:00
Marek Roszko
2b90607dcd
Shuffle color4d into kicommon since its used many places
2023-09-16 19:12:55 -04:00
Josue Huaroto
33f5483bc9
Change Y min/max limits in simulation plot window
2023-09-15 17:50:02 +00:00
Marek Roszko
285f8c0b88
KIID kicommon
2023-09-14 19:21:55 -04:00
Marek Roszko
cb7d7b09e3
config_params doesnt need color4d
2023-09-14 19:21:55 -04:00
Jeff Young
c7e865e4a2
Safety for negative pen widths.
2023-09-14 13:39:35 +01:00
Marek Roszko
e2c2875765
BITMAP_INFO kicommon
2023-09-13 23:11:03 -04:00
Marek Roszko
2b0d091636
MARKUP_PARSER kicommon
2023-09-13 21:37:35 -04:00
Marek Roszko
d1f2b14ee2
wx_filename to kicommon
2023-09-13 21:16:27 -04:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Josue Huaroto
2d54bc42cb
Save flip board status in custom preset
2023-09-12 17:10:41 +00:00
Marek Roszko
66021f0657
Low hanging fruit to kicommon
2023-09-11 21:52:10 -04:00
Marek Roszko
a4bf2ff41d
LIB_ID to kicommon
2023-09-11 21:52:04 -04:00
Marek Roszko
f0987821b5
Move locale_io to kicommon
2023-09-11 21:51:58 -04:00
Marek Roszko
4ac5404822
Move HTML_WINDOW to widgets folder, also fix some fbps that were wrongly not edited
...
Somebody manually edited at least 3 files fixed here....so the fbps were wrong
2023-09-11 19:10:16 -04:00
Marek Roszko
b5d5eb842a
Start a kicommon shared lib
2023-09-09 18:04:50 -04:00
Alex Shvartzkop
717f8d35e5
Document SetArcAngleAndEnd angle winding.
2023-09-09 20:28:57 +03:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
bd3aca2887
Cleanup the kiface dll export declaration slightly
...
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko
ab1a6651a9
send multivector.h and sync_queue.h to core
2023-09-08 07:14:34 -04:00
Marek Roszko
3cd60007c5
Dont leak richio into everything
2023-09-07 22:29:40 -04:00
Marek Roszko
1a6d459fb1
Fix wrong path slash
2023-09-07 22:09:26 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
Marek Roszko
6e04c2835a
Remove unused header
2023-09-07 20:46:08 -04:00
Marek Roszko
e83f87520c
Transform is right at home in kimath
2023-09-07 18:03:33 -04:00
Jeff Young
0310973e3f
Push TEXT_SPIN_STYLE from SCH_TEXT out to SCH_LABEL_BASE.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15444
2023-09-07 17:42:51 +01:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
Alex Shvartzkop
21ee65aa9c
ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional.
2023-09-07 11:02:40 +03:00
Marek Roszko
e944a61830
Nothing but the pcb calc will use eseries for the forseeable future
2023-09-06 23:44:41 -04:00
Marek Roszko
96bec8c553
promote base64.cpp to core
2023-09-06 23:27:08 -04:00
Marek Roszko
72669df354
Kick out strtok_r, all our platforms should have it (or strtok_s)
2023-09-06 23:18:55 -04:00
Marek Roszko
5c62b98e7c
observable can live in core
2023-09-06 21:25:24 -04:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Marek Roszko
a6a20bf8dc
Evict the Pgm() dependency in GAL
2023-09-06 20:13:46 -04:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
Seth Hillbrand
f9b745f3d2
Allow multiple format image saving
...
- Keep original image data. When loading JPEG, this avoid recompression
that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand
0e382669d0
ADDED: Support for saving JPEG files in kicad_pcb
...
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
Jeff Young
6a73f48106
Disable previews when context menu active and when scrolling.
2023-09-06 16:23:13 +01:00
Jeff Young
c07e9c834f
Validate new footprint / save as footprint info before exiting dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Jeff Young
634524dde5
Validate new symbol / save as symbol info before exiting dialog.
2023-09-05 22:07:58 +01:00
Jeff Young
ea6d64e996
Set line width when changing annotation proxy flag.
...
(This prevents rectangle from not getting combined into pad if
proxy flag is turned off as Clipper collapses the polygon union
because it's too small.)
2023-09-04 20:49:52 +01:00
Marek Roszko
ec64ceeff2
Add a custom wx splash class to nullify the filterevent that causes crashes
2023-09-04 08:51:30 -04:00
Jeff Young
fe0fb92441
Reduce visual clutter in GAL display options.
2023-09-04 13:06:46 +01:00
jean-pierre charras
ddb141ff08
GAL_OPTIONS_PANEL: replace 2 wxSpinCtrlDouble to try to fix a locale issue.
...
Sometimes the grid thickness setting does not work, depending on some locale setting.
Core developers are not able to reproduce this issue related to a double conversion.
So these wxSpinCtrlDouble are replaced by a wxSpinCtrl (using ints) and a wxChoice.
2023-09-04 11:32:55 +02:00
Jeff Young
c2057ba1bc
Don't use Clone() for duplicating. It returns the same UUID.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14162
2023-09-03 19:06:20 +01:00
Jeff Young
e6b0a6abca
ADDED: lib tree previews.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Jeff Young
69a1b30b8a
Implement undo/redo around Pad Edit Mode changes.
2023-09-01 18:48:46 +01:00
Marek Roszko
f357e79f77
Add --define-var / -D to the cli opts for some commands
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15437
2023-08-31 21:46:37 -04:00
Jeff Young
c9acca1342
Make fromHotkey parameter explicit, and don't set it for non-hotkeys.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15527
2023-08-31 17:01:14 +01:00
Jeff Young
cb003d8ab4
Don't count pins of both De Morgan variants when matching to footprint pads.
...
(And remove un unused variable from grid settings dialog.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15550
2023-08-31 11:36:39 +01:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Mike Williams
b8a61719c3
Grids: make overrides use existing grids (choice box)
2023-08-30 13:33:04 -04:00
Mike Williams
b1a388ca69
Grids: Support X and Y for all grids, add optional names
2023-08-30 11:22:19 -04:00
Josue
94e86a69be
Update RECT to RECTANGLE
2023-08-29 11:50:22 -05:00
Josue
6429051750
change Rectangle property: Length to Height
2023-08-29 11:50:05 -05:00
Josue
c3766bb250
Implement Length and Width for RECT
2023-08-29 11:50:02 -05:00
Josue
5061ca54e7
add length and angle properties to segment
2023-08-29 11:49:55 -05:00
Roberto Fernandez Bautista
32b6deb8b1
ADDED Migrate libraries button in Footprint Library Table
...
Allows easy migration of legacy and non-KiCad footprint libraries
2023-08-28 22:44:10 +02:00
Roberto Fernandez Bautista
7037076360
Symbol Library Table: Show CADSTAR Parts Libraries in file selector
...
Even if same extension, it is good to display it as a way of showing what
we support
2023-08-27 20:52:45 +02:00
Marek Roszko
208d146a03
Force fontconfig to look at the correct path for fonts.conf on windows
2023-08-26 13:53:43 -04:00
Jeff Young
4fefd95e0c
Move grid definitions to Prefs and grid origin to a separate dlg.
...
Grid origin is document-wide, while grid definitions are app-wide.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
Marek Roszko
cbc60d90ec
Add missing line style prop to eda_shape
2023-08-24 22:32:12 -04:00
Mike Williams
2764e59400
Grids: add buttons to re-order grids
2023-08-24 13:58:22 -04:00
Jeff Young
0f81dd3b5e
Give Grid Settings a more standard KiCad look and feel.
...
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).
This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams
0f781f328e
GRID_HELPER: push code to parent class
...
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Jeff Young
0c37e3c443
Remove realistic-mode (and duplicated settings from preferences).
...
Most of these settings are now available in the appearances panel.
It was concluded in a Zulip discussion that any missing items can
be added back in time if people find they need them (ie: complain).
Also hooks up 3DViewer to the common language framework.
2023-08-23 14:07:58 +01:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Mike Williams
f770500bb4
Grids: make user editable
2023-08-21 15:48:25 -04:00
Marek Roszko
ea3101587a
Add gltf export to step dialog
2023-08-19 19:01:29 -04:00
Alex Shvartzkop
865fa10fb2
Fix pad arcs in Gerber plot when aperture macros are disabled.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15452
2023-08-19 22:49:37 +03:00
Jeff Young
ec980e8696
Move "parent" property from PAD to BOARD_ITEM.
2023-08-18 22:20:09 +01:00
Rastersoft
5936960c1e
Allow to reverse the mouse wheel movement
...
This MR adds a CheckBox in the preferences window to reverse the
horizontal pan direction
2023-08-17 19:17:50 +00:00
Rastersoft
43fe1eec84
Unify mouse movements
2023-08-17 18:20:22 +00:00
Jeff Young
8c33c6c099
Remove unused variable.
2023-08-15 14:08:19 +01:00
Alex Shvartzkop
76e0d5981d
Import system refactor for PCB plugins.
2023-08-15 05:26:12 +03:00
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2023-08-14 18:08:36 +01:00
Marek Roszko
5d001d4858
ADDED: ERC over cli....mostly
2023-08-13 20:31:19 -04:00
Marek Roszko
87d36dbfd8
Fix up erc json a little
2023-08-13 19:19:20 -04:00
Marek Roszko
061d18cbb0
Support json reports as option in erc/drc dialogs
2023-08-13 19:19:19 -04:00
Marek Roszko
14a0fa435c
ADDED: DRC JSON report
2023-08-13 14:59:10 -04:00
Marek Roszko
34a13cb0c5
Add more thread safety to background jobs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15395
2023-08-11 22:37:43 -04:00
jean-pierre charras
7fe80abdff
PCB_GRID_HELPER::BestSnapAnchor() fix overflow due to use of int.
...
GRID_HELPER::GetVisibleGrid() needs double, does not work with int (overflow).
Fixes #15389
https://gitlab.com/kicad/code/kicad/-/issues/15389
2023-08-11 17:59:24 +02:00
Marek Roszko
812143ac69
ADDED: Run PCB DRC via cli
2023-08-10 20:20:40 -04:00
Alex Shvartzkop
712d61d2c1
KICAD_CURL_EASY: add SetPostFields().
2023-08-10 00:29:19 +03:00
Mike Williams
6b2a5f643a
Undo/Redo: remove unused NOP type
2023-08-09 14:32:06 -04:00
Mike Williams
2a80b1c32b
Undo/Redo: remove unused EXCHANGE_T type
2023-08-09 14:32:06 -04:00
Jeff Young
da86593625
ADDED: Implement sorting for search panes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12614
2023-08-09 18:31:33 +01:00
Mike Williams
bdecdce1b4
Exclude from Sim: move from field to attribute
2023-08-08 12:36:36 -04:00
Ian McInerney
54759389de
Re-add event handler for the menu events generated on macOS
...
macOS' application menu generates command events and can't call our tool
framework directly, so we have to keep the event table handlers around
to handle these events.
2023-08-08 11:50:24 +01:00
Ian McInerney
a3a701a95e
Move preferences to an action instead of a wx event
2023-08-08 00:51:22 +01:00
Roberto Fernandez Bautista
3bf9797620
PNS: add new "EnableRouterDump" kicad_advanced setting
2023-08-07 23:43:54 +02:00
Jeff Young
c30bdf9ba8
Implement second-level cache for escaped netnames.
...
While it's a bit of an encapsulation leak (see comment in
CONNECTION_SUBGRAPH::driverName()), it more than doubles undo/redo
performance in documents with *lots* of nets.
2023-08-07 21:44:04 +01:00
Jeff Young
f43b90b15f
Lazy context handling for SVG plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15325
2023-08-07 14:01:58 +01:00
Alex Shvartzkop
717ee350c8
Support >180 deg arcs in schematic.
2023-08-07 14:18:38 +03:00
Kuba Sunderland-Ober
f7fe411cf5
Add stack guard page to all platforms.
2023-08-06 22:50:02 +00:00
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2023-08-06 20:57:41 +01:00
Marek Roszko
a0ebedc0ac
Add a KICAD_TEST_NOTI env var for a fake notification on launch
2023-08-06 15:51:35 -04:00
Jon Evans
5cbe3c5d42
PNS: Fix a few issues with debug logging
...
Hide non-copper layers for clarity
Fix saving of router settings
2023-08-06 15:30:58 -04:00
Jon Evans
4c4bbdc8f3
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
2023-08-06 00:56:51 -04:00
Jeff Young
0413270012
ADDED: Move Corner To... and Move Midpoint To...
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5012
2023-08-05 16:43:55 +01:00
Marek Roszko
576be53eb1
Add missing committed file change
2023-08-04 22:12:52 -04:00
Marek Roszko
5319316815
Enhance the status bar with background progress and notifications
2023-08-04 22:06:08 -04:00
Seth Hillbrand
02335010ff
Don't try to get a translated empty string
...
Hashing an empty string can be crashy. And empty strings are reserved
in gettext, so we shouldn't try.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15354
2023-08-04 10:08:30 -07:00
Jeff Young
c697a934b2
Update layer names to current terminology.
...
Also fixes some out-of-date tooltips/names.
2023-08-04 11:37:46 +01:00
Mike Williams
a75fb44349
Common: add fast grid cycling
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12339
2023-08-03 11:57:51 -04:00
Jeff Young
686dfba77a
ADDED autocomplete for value field in Symbol Properties dialog.
2023-08-02 20:45:52 +01:00
Jeff Young
8ac49d0bab
General cleanup, coding standards, removal of dead code, etc.
2023-08-02 16:56:56 +01:00
Jeff Young
f897b4bac1
Remove cover routines for std::vector.
...
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00
Mike Williams
37fdcce0a0
Fields Editor Table: add checkboxes for fields representing attributes
...
DNP, Exclude from ..., etc.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15300
2023-08-01 14:33:30 -04:00
Seth Hillbrand
f3d65b5156
Revise method of selecting footprints in contrast
...
When working in high contrast mode, we want to be able to select a
footprint with only elements in, e.g. silk and fab layers.
The previous design for footprint IsOnLayer had one behavior of every
other element and a different behavior for footprints. This leads to
multiple bugs as new features use the overloaded IsOnLayer expecting it
to report if the element exists on a layer or not.
For footprints, we need a different routine to determine whether or not
to select the footprint when clicking on it. IsOnLayer will report if
the footprint has any elements on a specific layer but we don't want to
use the bbox for a hittest because large footprints with through hole
pads will exist on every layer and have an enormous bbox. Instead, we
filter footprints based on the hittest of each element. This behaves in
a more logical fashion, allowing you to select a footprint by clicking
on a visible element of that footprint.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15284
2023-08-01 10:43:13 -07:00
Mike Williams
25e391719e
Fields Table: convert special strings like Quantity to named variables
...
Before, we did not actually prevent users from adding a field also named
Quantity to their symbols. This of course does not play nicely with the
assumptions that Quantity is a special column in the fields editor.
By making it a named variable, the user can safely add it to a symbol
and it will not be editable, and will also work in the fields table
editor as expected.
2023-08-01 10:55:32 -04:00
Mike Williams
132a0ada73
Grid Overrides: support grids-per-type that override the current grid.
...
Schematic only at this point while we test and refine.
PCB support is a future addition.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
...
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344
about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Seth Hillbrand
7fe83993cf
Be smarter about releasing lockfiles
...
If KiCad crashes or exits without deleting the lockfile, don't show the
warning message unless we are not the one who locked it or there are
other KiCad instances running locally.
This should catch 99% of the cases where the message is shown
incorrectly. There may be some corner cases where the lock file is
created on a network drive using two different machines with the same
name and same user but these cases should be (famous last words)
sufficiently rare as to not be observed in practice
2023-07-21 15:40:19 -07:00
Jeff Young
06f19aa761
Implement y axis locking for secondary y axes.
...
Still a bit of a work-in-progress.
Also fixes some bugs with formatting of measurements and cursor values.
2023-07-20 17:21:19 +01:00
Jeff Young
9c08d4febe
ADDED support for simulation plot margins and GUI for Y axis locking.
2023-07-19 23:40:10 +01:00
Jeff Young
65f66755ee
Reduce overhead for unused code.
2023-07-19 23:25:05 +01:00
Jeff Young
fa0338a9e6
Streamline Mac patches.
2023-07-17 22:07:36 +01:00
Jeff Young
f23f75866f
Remove dead code.
2023-07-17 22:06:45 +01:00
Jeff Young
64fea38e61
Seems linux impl is different....
2023-07-17 22:05:04 +01:00
Jeff Young
19073b3e61
Fix background drawing for disabled LAYER_BOX_SELECTOR.
2023-07-17 20:30:52 +01:00
jean-pierre charras
3a4f3cb0b8
Minor Coverity and compil warnings fixes.
2023-07-17 16:19:22 +02:00
Jon Evans
4e3fd816cb
Properties: rework color editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15145
2023-07-16 17:37:36 -04:00
jean-pierre charras
58a9b75883
Eechema: Do Not Place markers: add a specific setting for their color.
...
Previously, the color was the ERROR ERC marker color.
Now they have a specific color.
2023-07-16 20:46:30 +02:00
Jeff Young
b7d53e4b18
Fix uninitialized var.
...
(Also follow Mac GUI guidelines, odd as they are.)
2023-07-16 19:29:38 +01:00
Jeff Young
7b81e964ab
Don't copy lock files during project Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15207
2023-07-16 15:40:17 +01:00
Jeff Young
63c83b3aed
Remove dead code, and some formatting cleanup.
2023-07-16 14:43:29 +01:00
Jeff Young
a09a5cb641
More undo cleanup.
...
The symbol editor has few enough items that it will still be performant
if we always send a selected-item-modifed event. (As it turns out we
were doing that anyway as the check for child-modified flags didn't
also check for selected.)
2023-07-16 14:43:29 +01:00
jean-pierre charras
0ecf5033e2
string_utils: Add From_UTF8( const char* cstring ) and From_UTF8( const std::string aString ),
...
mainly because we now use std::string in a lot of function using previously char*
FROM_UTF8(const char* cstring) now calls From_UTF8(const char* cstring)
2023-07-16 08:21:43 +02:00
Jeff Young
1218f61d0a
Implement undo/redo for footprint children.
...
Our special-cases to handle the fact that we didn't do this had far
outgrown the code necessary to actually handle it.
2023-07-15 17:37:31 +01:00
Marek Roszko
3233bbe0ba
Make exported date time strings use ISO8601 format
...
Also rename the function to be explicit on its result format
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15185
2023-07-14 23:24:12 -04:00
Marek Roszko
cbb8835c87
Add policy to alter curl revoke settings on windows
2023-07-13 19:01:04 -04:00
Mike Williams
c0a5be4e9f
Hotkeys: add support for alternate hotkeys
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4422
2023-07-13 10:11:46 -04:00