Commit Graph

8895 Commits

Author SHA1 Message Date
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 a7a642e090 Remove one errant gal dependency on python 2023-09-06 18:41:13 -04:00
Marek Roszko a4d8c021aa Remove rouge gdicmn include 2023-09-06 18:33:22 -04:00
Marek Roszko 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
Seth Hillbrand c7868f0832 Altium Plugin updates
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1b63d11adf Speed up Altium compound file reader
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Seth Hillbrand 24d3df5416 ADDED: Altium SchLib Support 2023-09-06 19:15:35 +00: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 634524dde5 Validate new symbol / save as symbol info before exiting dialog. 2023-09-05 22:07:58 +01:00
Jeff Young 0dddb27408 Include underscore in word chars.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14779
2023-09-05 19:44:53 +01:00
jean-pierre charras cbcaaa001c fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
jean-pierre charras 679733cc42 remove useless includes. 2023-09-05 18:57:17 +02:00
Alex Shvartzkop a84c01b1ed Fix properties crash when selecting libedit arc and non-EDA_SHAPE. 2023-09-05 14:07:43 +03:00
Jeff Young d57b726c90 Bug fix for lib-tree previews when lib-tree is hidden. 2023-09-04 22:21:39 +01:00
Alex Shvartzkop 3215223ee2 Move fix_board_shape.cpp to pcbcommon. 2023-09-04 22:26:47 +03:00
Marek Roszko 07ecdc5fbb Force close the splash 2023-09-04 09:20:05 -04: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
Jeff Young 4eb51be0a2 Streamline fetching topLevelParent. 2023-09-04 11:12:34 +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
Josue Huaroto e7d6c84aef
Replace ':' to '{', '}' for alias in variable path 2023-09-03 20:52:29 +00:00
Josue Huaroto 91d8dabca3
Change behavior of ZOOM_FIT_ALL and ZOOM_FIT_OBJECTS for PCB_EDITOR 2023-09-03 19:58:28 +00:00
Josue Huaroto a8e18e2d8c
Flip Viewport when Flip board is enabled 2023-09-03 12:30:32 +00: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
Alex Shvartzkop 3bd8ff442d SVG import: set C locale to make fractional units work. 2023-09-02 18:57:18 +03:00
Alex Shvartzkop 8a4f203963 Altium: remove illegal chars from library name. 2023-09-02 10:36:03 +03:00
Alex Shvartzkop 0317a1f687 Fix arcs in gerber export once again.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15559
2023-09-02 00:00:34 +03: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
Marek Roszko b542539546 Add --drawing-sheet arg for various cli commands for overriding the project sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15438
2023-08-31 19:53:23 -04:00
Josue Huaroto 27048ad4d2
Half number of ticks according to window size 2023-08-31 22:50:14 +00: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
Marek Roszko cd884211ef Actually use the sentry dsn define 2023-08-31 06:57:31 -04:00
Jeff Young 09288ecbe2 Formatting. 2023-08-31 11:36:39 +01:00
Marek Roszko 2dcb7caacf Add an explicit border property to textboxes
This means it can remember the last border stroke between enabling/disabling the border
2023-08-30 22:33:55 -04:00
Marek Roszko 87513b4a04 Change the sentry dsn to be build time defined
We ultimately don't want people running personal builds to turn on sentry and start sending us crash logs we can't decipher
2023-08-30 22:17:38 -04: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
Jon Evans 1a8fcdfdd7 Do not crash if PARAM_LIST backing data contains unexpected type 2023-08-30 14:31:27 -04: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
Mike Williams 9002ade554 Schematic: default editors to mils 2023-08-30 11:22:19 -04:00
jean-pierre charras 17775e5377 UNIT_BINDER: allows more room to show values (especially inches need room)
Fixes #15539
https://gitlab.com/kicad/code/kicad/-/issues/15539
2023-08-30 09:12:59 +02: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
Ian McInerney 040d192690 Migrate common actions to new constructor 2023-08-29 00:19:19 +01:00
Ian McInerney 49705a711e Update fake hotkey action to new constructor 2023-08-29 00:19:19 +01: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
jean-pierre charras 7ac3e09a08 PANEL_SETUP_SEVERITIES::ImportSettingsFrom(): fix crash: ensure the option
actually exists before setting it.
Fixes #15525
https://gitlab.com/kicad/code/kicad/-/issues/15525
2023-08-28 18:19:10 +02:00
Jeff Young 0e8ca6e952 Increase minimum panel sizes a bit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15523
2023-08-28 15:55:37 +01:00
Mike Williams b5cfd91268 Preferences: reset tools after grid changes
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15522
2023-08-28 08:15:27 -04:00
Mike Williams 3edcef0229 Grids: remove more uses of old user grid in UI
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15515
2023-08-28 07:27:25 -04: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
Jeff Young a946f7ab1b Handle non-cardinal major-axis arcs when importing DXF. 2023-08-27 16:36:12 +01:00
Jeff Young eba8acf602 Attempt to fix presumed event ordering issue on MSW. 2023-08-27 13:25:39 +01:00
Jeff Young 75b160e83a Handle DXF arcs with a flipped coord system.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14905
2023-08-27 13:16:49 +01:00
Ian McInerney 375c2db844 Fix index calculation in grid submenu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15514
2023-08-26 22:10:13 +01: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
Marek Roszko 53bf7b71c6 Don't call FcInitLoadConfigAndFonts after FcInit() already happened
We are only the default global FcConfig created by calling FcInitLoadConfigAndFonts inside FcInit().
Calling FcInitLoadConfigAndFonts does nothing but creating another FcConfig option that never gets disposed or used because we use the FcConfig functions with null
2023-08-26 13:53:43 -04:00
Marek Roszko 25967b4a0f Fix font map cache access creating invalid entries (and crashes) 2023-08-26 09:24:47 -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
Marek Roszko d193334a10 Add vrml export to cli
Roughcut as the vrml exporter needs some loving

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15472
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13952
2023-08-24 20:39:21 -04:00
Alex Shvartzkop 16c35857bf Fix arcs drawing in Cairo. 2023-08-25 00:09:56 +03:00
Mike Williams c7abbccfac Grids: update context menu on changes to grids
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15492
2023-08-24 14:20:02 -04:00
Mike Williams 2764e59400 Grids: add buttons to re-order grids 2023-08-24 13:58:22 -04:00
Mike Williams 1628b65d79 Grid Settings: keep sane via value when hidden in schematic editors 2023-08-24 12:38:54 -04:00
Mike Williams d00a6b4987 Dialogs: add some margins back for GTK 2023-08-24 12:38:54 -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
Jeff Young 55a7b9e6bf More consistent naming.
(Also better differentiates the PCBEXPR_ classes from PCB_
objects.)
2023-08-21 15:26:33 +01:00
Mike Williams d150803dee Grid Tricks: entering editor needs to set selection to edited cell
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15453
2023-08-21 09:14:27 -04:00
Jeff Young 3a40b59cd3 Ensure lazy evaluation of DRC rules works on all compilers. 2023-08-21 13:05:37 +01:00
Marek Roszko b52b05ebbb Add zone export to step export
Mileage may vary on performance, decent enough for my board.
Warning, freecad chokes on boards with zones, but commerical tools are fine

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15234
2023-08-20 22:11:45 -04:00
Jeff Young cf22d5b99b Preferences setting for force-show-fields-when-fp-selected.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-20 18:10:28 +01:00
jean-pierre charras 1c11a2c7bd Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places.
FindRow() exception is unfortunately not captured in all places using it.
The result is the application closes.
2023-08-20 12:27:37 +02:00
Marek Roszko ea3101587a Add gltf export to step dialog 2023-08-19 19:01:29 -04:00
Marek Roszko 50ac5db8d2 Add binary GLTF export option to kicad-cli
Not by any means finished
2023-08-19 16:47:42 -04:00
Marek Roszko 5870b4f373 Mini-refactor step to a generic "3d" cli option (step command still exists for now) 2023-08-19 16:47:41 -04:00
Jeff Young a2627fec60 Don't snap to footprint-private items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15447
2023-08-19 21:03:05 +01: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
Jon Evans 373fb56fb7 Fix legacy lib table loading logic
Also enforce locking of the mutex
2023-08-18 22:46:33 -04:00
Jeff Young 6c9ba52f18 Clean up naming. 2023-08-18 22:20:09 +01:00
Seth Hillbrand 57ba38560c Optimize library load time for Altium plugin
Load times were >20min for moderate sized libraries as EnumFiles
iterated over the entire list for each operation.  The update modifies
our third-party lib to allow a return value, stopping the iteration when
we find our desired entry.  This also provides a short-circuit for
ASCII-based names, allowing single-level parsing if available
2023-08-18 13:50:15 -07:00
Alex Shvartzkop 5131dae568 Graphics import improvements/fixes:
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
2023-08-18 22:52:49 +03:00
Alex Shvartzkop 4e43d4e0db Graphics import: support loading from memory buffer. 2023-08-18 22:52:40 +03:00
Alex Shvartzkop 26a52ecfe9 Move parts of import_gfx to common. 2023-08-18 22:43:54 +03:00
Jeff Young 988a90d5ee Ignore LOD scale for selections, but not things explicitly hidden.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-18 12:35:32 +01:00
jean-pierre charras bc59ed08b4 EDA_SHAPE::TransformShapeToPolygon() for filled SHAPE_T::POLY: use another algo:
previously, for aClearance/width > 0, a seg of segments (width = aClearance*2) was added
to the polygon shape. This is acceptable for polygons having not a log of vertices.
It does not work fine (bad shape, extremeny long calculation time) if there are
a **lot** of vertices.
Now the polygonal shape is just inflated by width/2. Much faster and better shape.
2023-08-18 12:58:48 +02: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