Commit Graph

9405 Commits

Author SHA1 Message Date
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
Jeff Young 2c02c26af4 Centralize min/opt/max printing. 2023-10-15 22:46:23 +01:00
Jeff Young d5d07e64c9 Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible. 2023-10-14 23:51:37 +01:00
Alex Shvartzkop a16bdb7288 ADDED: Support EAGLE libraries directly in Symbol Library Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2214
2023-10-15 01:45:39 +03: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 372c5d7963 Remove hack that's no longer necessary.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14020
2023-10-14 19:17:09 +01:00
Jeff Young 87621817bf Fix typo. 2023-10-14 18:22:17 +01:00
Jeff Young 5f5113c80a Pick up current rule values when editing meanders. 2023-10-14 15:04:18 +01:00
Wayne Stambaugh 50ec069a01 Fix build warnings. 2023-10-12 10:10:09 -04:00
jean-pierre charras 499f3ca95b DRC_TEST_PROVIDER_MISC::testOutline(): add test to detect questionable items.
Graphic items (segments, rects, circles) on Edge.Cuts can create issues when
building board outlines, when they are very small (a few nm in size), because
they are not easily handled when trying to search connected graphics.
Also protect RC_ITEM::SetItems() against null pointer.
Fixes #15865
https://gitlab.com/kicad/code/kicad/-/issues/15865
2023-10-12 14:48:24 +02:00
Alex Shvartzkop b0f4adf052 Improve borderless items logic in schematic plotting. 2023-10-12 08:40:37 +03:00
Alex Shvartzkop d9c123b1ec HPGL plotting: write rects as polygons to prevent always filling. 2023-10-12 06:11:12 +03:00
Alex Shvartzkop 45791ff8d6 HPGL plotting: fix random lines connecting to circles. 2023-10-12 06:11:12 +03:00
Alex Shvartzkop 4c0a75cbd4 Fix an assert in HPGL plotter. 2023-10-12 06:11:11 +03:00
Alex Shvartzkop 3e82e59c24 DXF plotting: write zero-sized rects and circles as points.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15862
2023-10-12 06:11:11 +03:00
Alex Shvartzkop 843bd4f79c PDF plotting: fix zero-sized or too thick rectangles.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15862
2023-10-12 06:11:11 +03:00
Marek Roszko 5a1c300cff Remove unused headers in pgm_base 2023-10-11 07:22:50 -04:00
Jon Evans 0b136ae0df CLI: Allow controlling layer order for multilayer plots 2023-10-11 00:18:58 +00:00
Seth Hillbrand dc47d251f5 Fix richio vprint
stdlib checks do not allow dereferencing the first element of a vector
when there are no elements in the vector (regardless of whether we have
allocated memory for them).  This whole function is rather
over-engineered, setting up multiple allocations and branches depending
of the string size.  This commit reduces the function to the actions
needed (get the string size, print it into the output)
2023-10-10 10:58:37 -07:00
jean-pierre charras 42384bcbd0 OPENGL_GAL: ensure 0 sized rect with thickness is shown (already shown by Cairo)
Fixes #15850
https://gitlab.com/kicad/code/kicad/-/issues/15850
2023-10-10 18:31:10 +02: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 21adc0aac5 ADDED: Import vector graphics into Schematic editor (SVG, DXF). 2023-10-09 07:04:50 +03:00
Alex Shvartzkop 60d069757a ADDED: Import vector graphics into Symbol editor (SVG, DXF). 2023-10-09 07:04:50 +03: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 6cfb05b4a3 Save/load generative objects in PCB file. 2023-10-08 02:41:17 +00:00
Alex Shvartzkop 7b645aa541 Introduce GENERATORS_MGR. 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 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
Jeff Young b9e1908ffe Try to find a happier medium for text entry box widths.
Most dialogs have units outside the text entry, and the likelihood
of 14 significant digits & units is low enough to allow scrolling
in that case.
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 d7863b09c5 Move CORNER_STRATEGY out of SHAPE_POLY_SET. 2023-10-06 15:42:50 +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
jean-pierre charras 37df47a3e7 genDrillMapFile: reduce the pen width used to plot oval shapes (better look) 2023-10-04 15:47:47 +02:00
Jeff Young 10d62ed766 Replace wxWidgets-Mac-specific API with a general one.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15817
2023-10-03 23:40:42 +01:00
Jeff Young f2c0f4c87f Fix logic screw-up in earlier commit. 2023-10-03 20:53:52 +01:00
Jeff Young 336a38695a MacOS fix for expanded items; MSW fix for selected event
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15817
2023-10-03 20:09:37 +01:00
jean-pierre charras 23e064aaaf fix buf in PLOTTER::sketchOval()
(incorrect parameters to plot arcs).
Fixes #15816
https://gitlab.com/kicad/code/kicad/-/issues/15816
2023-10-03 19:39:21 +02: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
Jeff Young 89f444c38b Fix missing include. 2023-10-03 13:32:00 +01:00
jean-pierre charras a60411b159 Fix a few compil and Coverity minor warnings. 2023-10-03 08:22:03 +02:00
Marek Roszko 5759823ca0 Move JOB_EXPORT_SCH_PLOT to kicommon horribly pending further refactor of plotting 2023-10-02 20:48:26 -04:00
Marek Roszko aa0d39dfe4 Fix the moving truck leaving behind IO_ERROR and friends 2023-10-02 18:16:17 -04: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
Marek Roszko 8d5e53f4e8 Unbind LIB_TREE events in destructor 2023-10-01 22:03:58 -04:00
Marek Roszko d801037c93 Unbind ACTION_MENU events in destructor 2023-10-01 22:03:58 -04:00
Mark Roszko 3c0f9ec510 Revert "Give wxTheApp to python scripts that end up touching Pgm().App()"
This reverts commit 672265b564
2023-10-02 00:23:52 +00:00
Marek Roszko 672265b564 Give wxTheApp to python scripts that end up touching Pgm().App()
Fixes KICAD-QG
2023-10-01 19:02:49 -04:00
Marek Roszko 3a567a3ae1 Unbind event handlers in the DIALOG_SHIM destructor to prevent late event crashes
Fixes KICAD-1XF
2023-10-01 17:54:25 -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
Thomas Pointhuber 7005dd7c48 altium: make special string parsing on pcb a bit more generic
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02: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
Thomas Pointhuber 3b3e4fd34a Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons 2023-10-01 13:58:38 +02: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 3c1478367f Handle flipped state when checkging item against viewport.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15768
2023-09-30 22:54:45 +01:00
Jeff Young d6a862cafe It's "internal units", not "user interface". 2023-09-30 22:54:45 +01:00
Jeff Young 867ca2d0da Don't confuse Coverity. 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
jean-pierre charras c2db20d745 Fix a link issue on mingw in debug mode. 2023-09-30 16:08:54 +02:00
Marek Roszko a347aa7647 StartPlot can fail and leave a broken file handle
Related https://gitlab.com/kicad/code/kicad/-/issues/15782
2023-09-29 19:52:21 -04:00
Jeff Young b5dacc659d Don't hide preview when mouse is in the preview window. 2023-09-29 23:13:59 +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
Alex Shvartzkop 3b28ba83c6 EasyEDA Pro: don't fail on attributes for dimensions. 2023-09-29 12:17:30 +03: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
Seth Hillbrand c73c2360a4 Force focus back to canvas after popup
Following the hotkey popup, we need to place the input focus back to the
canvas to receive the next event

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15737
2023-09-28 10:52:12 -07:00
Marek Roszko 6b12a12b3e On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00