Commit Graph

9477 Commits

Author SHA1 Message Date
Wayne Stambaugh a310c0a05a Do not expand the entire schematic hierarchy navigator tree by default.
The new behavior is to only expand to the first child of the root sheet
level.  On very complex hierarchies, this makes the navigator far more
useful.

Do not update schematic hierarchy navigator on every edit.  Now only
sheet changes will trigger a rebuild of the tree.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16371
2024-01-06 07:56:16 -05:00
jean-pierre charras 3626a9e4cc SVG_PLOTTER: Update brush color also when the alpha value has changed.
Previously, the alpha value change was not tested, so the SVG style was
not always updated.
Fixes #16530
https://gitlab.com/kicad/code/kicad/-/issues/16530
2024-01-06 09:11:40 +01:00
Marek Roszko be21c689e8 Change the __except to use the exception result codes 2024-01-05 21:03:43 -05:00
Marek Roszko 05cbfc6aca Add Windows SEH to catch fontconfig/freetype font read faults
Related https://gitlab.com/kicad/code/kicad/-/issues/16484
2024-01-05 15:23:00 -05:00
Jeff Young 169ece3b71 Try reusing the TOOL_DISPATCHER menu hack for libtree previews.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16493
2024-01-05 14:20:33 +00:00
Marek Roszko 23f35e1c8b Allow lexers to build into kicommon 2024-01-05 07:48:08 -05:00
Ian McInerney 44ee299941 Fix layout issues in git clone dialog 2024-01-05 12:22:37 +00:00
Jeff Young 015a050169 Escape error messages for HTML. 2024-01-05 11:03:36 +00:00
Jeff Young d05675f673 Minor performance wins. 2024-01-04 16:26:32 +00:00
Jeff Young 5aae8e2fd0 Code cleanup. 2024-01-04 16:13:42 +00:00
jean-pierre charras df4e72827b Eeschema printing, advanced config: set EnableEeschemaPrintCairo to true by default. 2024-01-04 15:10:08 +01:00
Marek Roszko f8744b7797 dsnlexer can live in kicommon 2024-01-03 23:18:31 -05:00
Marek Roszko 9195de9849 Disable the update check on non-apple, non windows systems by default 2024-01-03 19:32:05 -05:00
Jon Evans b8aef58561 Add proper comparison operators for BOARD_DESIGN_SETTINGS and children
BOARD::operator== was just comparing pointers
2024-01-01 13:37:31 -05:00
arturo182 8373786e40 Happy New Year! 2023-12-31 23:18:30 +00:00
Alex Shvartzkop 965576f2c6 Enable alpha test for bitmaps in OpenGL GAL. 2023-12-31 15:05:00 +05:00
Alex Shvartzkop e8fabb58a6 Fix bitmap Z order in OpenGL GAL.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16482
2023-12-31 14:09:28 +05:00
Ian McInerney 5a5b7e0064 Stop clearing tool transitions when running tools
There doesn't seem to be a need to actually clear transitions for the
tools when running a handler. This clearing also prevents running
another nested handler from the same tool.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16449
2023-12-29 00:37:38 +00:00
Ian McInerney b6fffb3923 Add more tool stack tracing 2023-12-29 00:37:38 +00:00
Ian McInerney f2702b223c Introduce base IO_MGR class and unify RELEASER objects
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Marek Roszko 284df4adf8 Move two pgm_base method definitions back to pgm_base.cpp 2023-12-28 08:26:10 -05:00
Marek Roszko 7252ae551c Move EDA_PATTERN_MATCH to kicommon 2023-12-27 22:08:11 -05:00
Marek Roszko 9a890cdba9 Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
Marek Roszko 5e7a68fcd9 netclass can be in kicommon 2023-12-27 17:57:02 -05:00
Marek Roszko 5bfc601e09 STD_BITMAP_BUTTON can be in kicommon 2023-12-27 17:08:05 -05:00
Jeff Young e17d81cf6d Re-enter auto-complete on a ctrl-space.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16445
2023-12-27 21:14:27 +00:00
Ian McInerney 4a67761d29 Push library reading check to IO_BASE 2023-12-27 16:44:45 +00:00
Ian McInerney f8688a922d Unify IO library descriptors 2023-12-27 16:34:59 +00:00
Alex Shvartzkop e636913178 EasyEDA Std: import dimensions. 2023-12-27 12:48:37 +05:00
Ian McInerney 743e9d669a Push library management into IO_BASE 2023-12-27 01:21:53 +00:00
Marek Roszko c7fa3adcb8 kicommon PROGRESS_REPORTER 2023-12-25 23:22:39 -05:00
Alex Shvartzkop 5bbe01b570 EasyEDA Pro: support .elibz format (device libraries) 2023-12-25 07:00:24 +03:00
Jeff Young c051e66830 Handle units switch in board stackup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16361
2023-12-24 16:18:46 +00:00
Ian McInerney e6632bb983 Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
Ian McInerney d8b47d18d3 Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
Ian McInerney 3a90b729ea Hide unused variable warnings in git error strings
These strings aren't actually used right now, but they may be used
in the future, so don't actually remove them but silence the error that
they aren't used.
2023-12-24 01:22:21 +00:00
Jon Evans 7470ec80e4 Fix some issues with Font property
Prevent out-of-bounds access
Make sure list is initialized in symbol editor frame
Don't re-init the list more frequently than necessary

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16399
2023-12-22 18:34:48 -05:00
Seth Hillbrand 70a86c5caa Specify conversion for MSVC 2023-12-21 11:10:15 -08:00
Seth Hillbrand 9ccf9ce0b4 Forgot to commit the last file 2023-12-21 09:54:34 -08:00
Mike Williams 1700cad83b Symbol/Footprint Chooser: remember open libraries
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16383
2023-12-21 09:57:54 -05:00
Mike Williams ecb7ac1da3 Lib Tree: don't always preselect in Already/Recently Placed 2023-12-21 09:57:54 -05:00
Jeff Young df161c9886 Support parital matches for libraries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16400
2023-12-20 12:46:22 +00:00
Wayne Stambaugh 922aee1532 Coding policy fixes. 2023-12-20 07:17:23 -05:00
Jon Evans 1c895fe18c Improve rendering of tuning status popup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304

Add dedicated UI rendering layers

Switch to screen-space rendering to avoid blurriness

Fix a bug in OpenGL GAL that causes layer
ordering to be broken when using Scale

Fix some issues with VIEW_GROUP layer ordering
2023-12-19 22:38:21 -05:00
Marek Roszko 5341af1a55 Add wxUniChar overload for nlohmann's internal char_traits 2023-12-18 22:10:39 -05:00
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
Jeff Young 6b1d00a528 Smallest font size was a bit too small. 2023-12-18 14:24:04 +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 a52da69c03 Fix overly agressive assert.
An item can be added for group/ungroup and add/delete.
2023-12-16 16:20:36 +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 358a2b9875 Make sure mru search strings get updated on double-click.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16355
2023-12-14 12:03:41 +00:00
Marek Roszko b696bbfe8e Revert common settings that was accidentally changed 2023-12-13 21:21:15 -05: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 8687d5092f String and dialog layout fixes. 2023-12-13 11:49:34 -05:00
Mike Williams c3d8fc4494 Symbol/Footprint Chooser: make columns resizable, sortable
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16353
2023-12-13 09:46:17 -05:00
Mike Williams b3b7a41d51 Symbol Chooser: keep Recently Used at very top
Addition of Already Placed sorted it above Recently Used
2023-12-13 09:40:28 -05:00
Wayne Stambaugh 9d6e9b14eb Fix action tool friendly name string capitalization. 2023-12-13 08:15:19 -05:00
Jeff Young 4b38af36ab Shorten disambiguation timer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-12-12 17:22:00 +00:00
Jeff Young d3ab677197 Pre-select current net in net selector.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16320
2023-12-12 13:57:12 +00:00
Ian McInerney 53fd1aaf5e Don't try accessing library table rows that don't exist
When exiting the dialog without actually visiting the table, the grid
cursor could be missing, so it could return -1. Guard against that
condition.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16342
2023-12-11 23:36:51 +00: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
Jon Evans 3c2922f993 Work around libgit2 API change for supporting older platforms 2023-12-10 23:08:31 -05:00
Ian McInerney d8bb9b1e66 Don't update file browser filter if control doesn't exist
When the grid is being validated, SetValue is called, which then ends up
running the file filter update. However, if the cell was never selected,
the file browser button would never have been created.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16316
2023-12-08 22:09:55 +00:00
Jeff Young e3c9cf94b7 Reduce the size of the tuning popups.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
2023-12-08 19:50:29 +00:00
Wayne Stambaugh b7dc7e90ac Minor string fixes. 2023-12-08 13:09:16 -05:00
Jeff Young d257dc5b4e Cleanup unused variables. 2023-12-07 13:41:24 +00: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
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
Alex Shvartzkop 26c8c718eb Fix drawing sheet border random thickness glitch. 2023-12-05 19:31:26 +03:00
Alex Shvartzkop 9c2c291255 Gerber plotter: work around CAM350 circle bug. 2023-12-05 15:33:55 +03:00
Seth Hillbrand ef3e5b18dc Only raise the parent when show=false
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16243
2023-12-04 16:55:36 -08:00
Seth Hillbrand 0e37ea0c66 2581 enabled by default 2023-12-04 12:03:15 -08:00
Jon Evans fc3c701fa1 Fix crash launching editors with additional command line arguments
(cherry picked from commit c5cdff6213)
2023-12-04 17:22:44 +00:00
jean-pierre charras 0b1cb0e19d Gerber plotter: do not skip not filled polygons with a 0 line thickness.
It is legal in Gerber files, although lines with thickness = 0 are not
displayed by some viewers.
2023-12-04 17:49:01 +01: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
Jeff Young 95cfddf3a6 Fix some issues with hotkey paste in WX_GRIDs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16253
2023-12-03 16:16:40 +00: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
Alex Shvartzkop 2a2dc3a508 Eeschema: Allow 180 deg arcs when editing, enable center point snapping. 2023-12-02 17:08:56 +03:00
jean-pierre charras 98091d0199 Fix issues in widget_hotkey_list.cpp, HK_PROMPT_DIALOG:
- fix not working char events on MSW
- fix incorrect handling of ESC key: it deleted the current hothey
- fix incorrect management of sizers in this dialog.
Fixes #16238
https://gitlab.com/kicad/code/kicad/-/issues/16238
2023-12-02 11:29:56 +01:00
Wayne Stambaugh 6dc25f4775 Fix broken symbol reference designators on paste special.
It appears that in our zeal to prevent file changes when saving shared
schematics, we (I) clobbered saving relative symbol instance data paths
to the clipboard.  This has be restored along with setting the correct
symbol unit for relative clipboard paths.

Fixed a serious issue with KIID_PATH::MakeRelativeTo() where the original
path was not restored when the incremental KIID object test fails.  This
also included a minor optimization using the actual KIID object for
comparison instead of converting it to a string and then comparing the
string.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15981
2023-12-01 14:18:47 -05:00
Alex Shvartzkop c93eb679c1 Commit Changes dialog: make more strings translatable; formatting. 2023-12-01 04:03:32 +03:00
Alex Shvartzkop f94b3856af Fix color swatch asserts on wxMac.
GetPixel doesn't work on wxMac.
2023-11-30 18:23:40 +03:00
Marek Roszko 9fb61faeb2 Fix crash formatting empty strings 2023-11-29 14:43:25 -05:00
Alex Shvartzkop b0cc9d50b2 Fix a bug with fields focus in Clone Project from Git Repository.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16217
2023-11-29 22:20:47 +03:00
Jon Evans f3360a4442 Quote base64 data in DS and schematic 2023-11-29 16:17:41 +00:00
Jon Evans 786a4ce675 Use explicit booleans for schematic format 2023-11-29 16:17:41 +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 b13e244dc5 Avoid space-wrapping while inside xy special case 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
Marek Roszko d1ecf3790c Add generator 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
Mike Williams f993e45325 Variables: make consistent across editors
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16180
2023-11-29 09:55:17 -05:00
Alex Shvartzkop afa08b710c Support transparent cursor colors in OpenGL GAL. 2023-11-29 04:04:22 +03:00
Alex Shvartzkop bbba7fd4d7 Alpha-blend color with the checkerboard in color swatches. 2023-11-29 03:34:11 +03:00
Alex Shvartzkop 42c9553262 Add a Wayland hack to hover previews. 2023-11-28 18:49:04 +03:00
jean-pierre charras 998a03f005 fix missing icons
Fixes #16171
https://gitlab.com/kicad/code/kicad/-/issues/16171
2023-11-27 09:10:00 +01: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
Jon Evans c3deafa597 Fix deprecation warnings in latest wxWidgets 2023-11-26 16:43:59 -05:00
jean-pierre charras ad70b50046 Add missing icons.
Fixes #16163
https://gitlab.com/kicad/code/kicad/-/issues/16163
2023-11-26 15:18:37 +01:00
jean-pierre charras 4a5859cc45 Fix compil warnings. 2023-11-26 14:26:09 +01:00
Graham Keeth 13a2c6b017 Hide some irrelevant properties from DRC rule editor
- Fill_Color
- Line_Color
- Thermal_Spoke_Template
- Number_Box
2023-11-26 00:29:16 +00:00
Ian McInerney 1345735532 Add ability to clear hotkey in the set hotkey dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15147
2023-11-26 00:03:09 +00:00
Ian McInerney b64631d7bc Add um support to the unit binder 2023-11-26 00:03:09 +00: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
jean-pierre charras d4ce2c8982 Fix a few Coverity warnings. 2023-11-25 11:44:01 +01:00
Jon Evans a2379f4111 Altium QA: Fix issue with newer wx
Now uses std::from_chars and + prefix must be stripped
2023-11-24 16:00:42 -05: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
Jon Evans 2604854221 Make new lib tree highlighting dark-mode compatible 2023-11-21 17:31:23 -05:00
jean-pierre charras 7ca6344b57 Kicad PROJECT_ARCHIVER: better fix than commit 734e0ca0:
Do not store twice files with extension .gm?? in zip files
Previous commit did not store files like *.gm12, that can be existing when
Gerber files come from another ECAD tool, and allowed duplicate files like *.g1
2023-11-21 09:24:14 +01:00
Jeff Young d382a11c2a Apply new on-canvas-item marking to footprint editor tree. 2023-11-20 19:46:03 +00:00
Huibean 530b72972d Add frame window monitor display index compare with saved dialog and centre it if display changed which caused dialog disapper 2023-11-20 19:43:34 +00:00
Jeff Young 6732f35a52 Fix bad positioning for padded bitmap badges.
Also fixes an off-by-one error (because generally speaking it's
better to avoid writing off the end of an array).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15784
2023-11-20 18:14:54 +00:00
Jeff Young 196e05bc51 Borrow parts of simulator's separator-detection algorithm.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15248
2023-11-20 13:47:24 +00:00
Jeff Young d620cb8a6e Only bump default grid thickness on Mac. 2023-11-19 23:43:42 +00:00
jean-pierre charras 734e0ca006 Kicad PROJECT_ARCHIVER: do not store twice files with extension .gm?
Files with extension .g?? and .gm? were stored in zip archive. but
*.gm? files also matches .g?? files so they were stored twice.
2023-11-19 19:54:58 +01:00
Alex Shvartzkop 8dfad68d69 ADDED: option to optimize exported STEP files (disable pcurves) 2023-11-19 15:23:17 +03: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 341124d831 Array bounds checking for KICAD-19D. 2023-11-18 12:29:56 +00:00
Alex Shvartzkop b108e7058b Fix bad outline font glyphs when ligatures apply. 2023-11-18 07:59:46 +03:00
Jeff Young 08d0a4a65e Raise default grid thickness.
Screens with high pixel densities are now more common.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11163
2023-11-17 22:49:37 +00:00
Jeff Young afb050a67f Header for non-MacOS builds. 2023-11-17 20:29:18 +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
jean-pierre charras 342a1ec78f KIGFX::PREVIEW::DimensionLabel(): fix a compil warning: add missing cases
micrometers and cm.
2023-11-17 10:35:11 +01:00
Alex Shvartzkop 76352234e5 ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables. 2023-11-17 07:20:18 +03:00
Johannes Pfister 4177b64c27 Add micrometre and centimetre units 2023-11-16 23:24:52 +00:00
Jeff Young 7277ae93fa Close a polygon that is marked as filled before hit-testing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16096
2023-11-16 14:07:05 +00:00
Jeff Young d110b5b518 Improve edit points rendering on Retina displays. 2023-11-16 10:30:09 +00:00
Jon Evans 44374c661f Database: handle more possible datatype exceptions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16090
2023-11-15 12:27:34 -05:00
Jon Evans 0422d2e70f macOS: flatten symlinks from paths in GetExecutablePath
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14430
2023-11-15 09:25:49 -05:00
Jeff Young 9bb6b11c1d Separate fields from text items in FPEdit's Defaults panel.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15135
2023-11-15 10:56:14 +00:00
Jeff Young 752d2d5295 Filter must return true for libraries.
Also fixes a bug where a single symbol library wasn't expanded
due to the presence of the "-- already placed --" and
"-- recently used --" pseudo-libraries.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16074
2023-11-13 17:18:15 +00:00
Jeff Young 229bcc7308 Cleanup. 2023-11-13 17:18:15 +00:00
Alex Shvartzkop bcde7c59c9 Fix text color updates and flickering in STATUS_MIN_MAX_POPUP. 2023-11-12 11:28:07 +03:00
Alex Shvartzkop f5b143c4a1 Double-buffered status popups. 2023-11-12 11:28:07 +03:00
Alex Shvartzkop dc9df9517d PDF plot: match mirror state between hidden and plotted text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16066

(cherry-picked from commit 31e79ef54f)
2023-11-12 01:28:03 +03: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 c95ed281b8 Update STEP export strings/comments. 2023-11-09 20:06:21 +03: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
Alex Shvartzkop f8095fd31a Optimize CADSTAR library parsing.
-60% loading time.
2023-11-09 17:12:39 +03: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
Alex Shvartzkop b596568ce4 Use utf8. Partially reverts e35174d64b 2023-11-09 02:12:10 +03:00
Alex Shvartzkop e35174d64b Use buffered file io; use fn_str() more. 2023-11-09 01:24:54 +03:00
Ian McInerney dd933b7d0e Update CERN copyrights 2023-11-08 21:34:14 +00:00
Alex Shvartzkop 819c0f2082 CADSTAR: fix arcs in symbol libraries. 2023-11-08 23:29:27 +03:00
Alex Shvartzkop 62d735d710 CADSTAR: fix hierarchy grammar for some part libraries. 2023-11-08 22:31:07 +03:00
Alex Shvartzkop 37a56472b7 CADSTAR: use eolf for attributes in parts lib grammar. 2023-11-08 21:27:19 +03:00
Alex Shvartzkop f1a4c9ce5b CADSTAR: update parts lib grammar to support ')' in attributes. 2023-11-08 20:08:11 +03: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 6d74cc031e Refine Scintilla margin recognition.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16044
2023-11-07 15:02:49 +00:00
Jeff Young 6d43ef5678 Don't specify sizes when we don't need to.
However, in some places we *do* have to because otherwise wxWidgets
will pick a minimum size for us (and it's rather large).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16039
2023-11-07 14:53:41 +00:00
Alex Shvartzkop 6c21e0607b Use wxFileName::Mkdir instead of wxMkDir.
wxMkDir is a CRT wrapper that doesn't actually return bool.
2023-11-06 17:02:34 +03:00
Jeff Young 1b6048b6d5 Handle non-binary font weights.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14502
2023-11-05 14:21:13 +00:00
Wayne Stambaugh d34e6636d0 Dialog layout fixes. 2023-11-05 08:09:51 -05: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
Wayne Stambaugh 19e309d2d2 Dialog layout and coding policy fixes. 2023-11-04 13:57:31 -04:00
Alex Shvartzkop 48855ebe40 Graphics import: support open polygons. 2023-11-04 17:10:26 +03: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
Wayne Stambaugh 91b503f875 Minor dialog layout fixes. 2023-11-02 09:37:44 -04:00
Jon Evans ab4d9bcb14 Fix sloppy path handling in migration for old color settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15964
2023-10-31 23:38:44 -04:00
Jon Evans c6c808a7fa Support system-installed color themes
Install to ${KICAD_DATA}/colors/

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15920
2023-10-31 23:05:08 -04: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
Jon Evans 5d5682a225 Fix missing wxRB_GROUP
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15990
2023-10-31 20:15:40 -04:00
Jeff Young 64c692a42e Allow a:b to represent either lib:item_name or key:value.
Also changes the scoring algorithm to start at 0 and then increment
to 1 (the value that tells us to show, but not expand) only if the
search terms and lib filters are empty.
2023-10-31 23:20:59 +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
Alex Shvartzkop 3d5721a217 Fix some warnings. 2023-10-31 04:25:19 +03:00
Alex Shvartzkop e24c8de4b8 EasyEDA Std: Fix open polygon shapes in symbols. 2023-10-31 02:21:32 +03:00
Alex Shvartzkop f48a248db4 EasyEDA Std: Handle HTML escape characters in text. 2023-10-31 02:21:32 +03:00
Marek Roszko d0b26ae600 Add a hack to avoid spamming sentry events due to recursive asserts 2023-10-30 19:03:54 -04:00
Jeff Young 87571ed8b8 Not all font sizes, fill properties or color properties are the same. 2023-10-30 17:30:15 +00:00
Wayne Stambaugh 6183a1e4de Coverity warning fixes. 2023-10-30 09:16:24 -04:00
jean-pierre charras 0f2beed54a LIB_TREE: use GetAssociatedDocument() to display the doc from a wxHtmlLinkEvent
One cannot always use the string given in the wxHtmlLinkEvent without expanding
Env Vars.
Fixes #15984
https://gitlab.com/kicad/code/kicad/-/issues/15984
2023-10-30 11:27:08 +01:00
Alex Shvartzkop 847ab093c8 ADDED: Project chooser dialog for EasyEDA Pro import. 2023-10-30 09:35:27 +03:00
Seth Hillbrand 6633eadfc8 Enclose wxCHECK* macros in braces
The macros are if/else statements without enclosing structures which
leads to unexpected evaluation when expanding in an existing conditional
that does not have braces already.
2023-10-29 10:52:05 -07: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 84d42a2669 Normalize rectangles after rotation/flipping.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14341
2023-10-28 20:55:46 +01:00
Wayne Stambaugh 84f58f36d4 Coding policy fixes. 2023-10-28 14:45:44 -04:00
Wayne Stambaugh 2f19112212 Revert fix for false positive Coverity warning. 2023-10-28 14:34:21 -04: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
Seth Hillbrand 1c847889e7 Use deprecated GIT defines
Older Ubuntus/Debians use libgit2 that does not support the new defines.
Newer libgit2 provides a name define translation
2023-10-27 14:59:15 -07:00
Wayne Stambaugh 6269453416 Coverity warning fixes. 2023-10-27 16:48:14 -04:00
Jeff Young 3651cad7fd Don't fire events when going back to original text in onSetFocus().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15851
2023-10-27 14:58:30 +01:00
jean-pierre charras 4d593aa21e PG_CELL_RENDERER, PGPROPERTY_COLOR4D: clear DC before drawing the color swatch.
Otherwise the previous background can be displayed on the not redrawn area.
Fixes #15955
https://gitlab.com/kicad/code/kicad/-/issues/15955
2023-10-27 08:54:38 +02:00
jean-pierre charras 06074d9192 Simulator, plot panel: Honor dragging in Y direction.
Fixes #15914
https://gitlab.com/kicad/code/kicad/-/issues/15914
2023-10-27 08:13:44 +02: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 a3fc07b6a0 Fix build. 2023-10-25 18:41:45 +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 881cf9dfcf Minor improvements to clarity and conformity for Display Options. 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
Alex Shvartzkop 00904e8e23 Set UNPACK_ALIGNMENT properly for RGB bitmaps, 2023-10-24 06:58:46 +03:00
Alex Shvartzkop 0e4553b1fa Fix variable shadowing. 2023-10-24 04:25:31 +03:00
Alex Shvartzkop 977912dcd5 Fix up 75c758e5f4 for masked images. 2023-10-24 03:59:03 +03:00
Alex Shvartzkop 71d0c7f6af OpenGL: Improve logic when bitmap cache memory is exhausted.
Don't remove the front entry, as it will likely be needed for the next bitmap.
Instead, implement neuristics based on access times.
2023-10-24 03:36:51 +03:00
Alex Shvartzkop ccc29e9776 Improve bitmap caching performance. 2023-10-24 01:27:53 +03:00
jean-pierre charras 4ffa013467 Fix minor compil and Coverity warnings (not initialized vars) 2023-10-23 20:13:46 +02:00
Jeff Young 0cf6679bfe Try to get the scoring logic right (again).
Also adds matching against a library name.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15875
2023-10-23 18:24:25 +01:00
Jon Evans 4c1da16d6f Don't attempt to take the size of invalid bitmap 2023-10-23 13:02:38 -04:00
Jeff Young 435e3fab8d Support text variables in STEP export filename.
Also fixes some other file browser titles to match Kicad's overall style.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15927
2023-10-23 18:01:47 +01:00
Jon Evans 96d203477e Fix launcher buttons on macOS 2023-10-23 08:56:02 -04:00
Jeff Young bc0fe74f72 Score initializing is done by LIB_TREE_NODE::ResetScore().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15875
2023-10-23 13:09:41 +01:00
Jeff Young ab89038fa8 More protection for drawing dashed lines on MSW.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15888
2023-10-23 12:58:19 +01:00
Jon Evans 9d455ca399 Fix rendering of ACTION_TOOLBAR_PALETTE buttons at non-normal sizes 2023-10-22 15:40:17 -04: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 e2cc678231 Add 2x scale icons
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 3e4d5d776d Add --exclude-pdf-property-popups to schematic plotting CLI. 2023-10-22 12:33:55 +01:00
Jeff Young 54277b1e8b Fix plot clipping when edge values are interpolated. 2023-10-21 16:35:33 +01:00
Jeff Young 85c218f794 Fix missing member variable initialization.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15914
2023-10-21 16:35:33 +01:00
Seth Hillbrand 91a151deb1 Coverity fixes 2023-10-21 17:31:58 +02:00
jean-pierre charras f87065bf0b Fix compil issues on msys2 , gcc13 2023-10-21 08:40:08 +02:00
Marek Roszko aa2a0cdd16 We dont actually need to link to openssl 2023-10-20 19:57:33 -04:00
Seth Hillbrand 6e50b4c5f7 Add libgit compatibility header 2023-10-21 00:55:57 +02:00
Jon Evans e251bbd217 gmtime requires an explicit cast on some platforms 2023-10-20 11:26:22 -04:00
Jon Evans 5dd3631df2 Revert "Add security library include in CMake for MacOS"
This reverts commit 36b0aa6050.
2023-10-20 11:26:22 -04:00
Alex Shvartzkop 8c7fe9b071 Use fn_str for ifstream in Git dialog. 2023-10-20 18:14:20 +03:00
Seth Hillbrand 36b0aa6050 Add security library include in CMake for MacOS 2023-10-20 16:39:37 +02:00
Seth Hillbrand 5c5a38af21 Update fixes for MacOS 2023-10-20 16:21:31 +02:00
Seth Hillbrand 81214e1f0f Remove unneeded headers 2023-10-20 15:17:10 +02: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
Wayne Stambaugh c4a9703f81 Minor dialog layout fixes. 2023-10-19 11:59:35 -04:00
Jeff Young 134685bc32 Optical alignment for capital 'T's. 2023-10-19 15:02:38 +01:00
Jeff Young b089630b4c Simplify Import Graphics.
Removed no-longer-required differentiation between importing
footprint vs board objects.

Renamed files to match the dialog.

Made Position At and Set Layer optional checkboxes.
Removed Group Items checkbox.  (In the unlikely event that you don't
want a group, do an UnGroup after importing.)

Flattened out labelled-sizers in the dialog.

Removed importers blacklist, which hasn't been active for at least 4
years.

Fixed undo/redo bug that caused items to be no-longer-grouped after
a redo.
2023-10-19 01:31:13 +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