Commit Graph

11050 Commits

Author SHA1 Message Date
Marek Roszko 7b24167398 FromDIP symbol and footprint editor aui panes 2024-01-17 23:08:38 -05:00
Marek Roszko f5db4d6864 Remove the invalid default dock directions for search panel
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16636
2024-01-17 22:26:04 -05:00
Marek Roszko 1c6d7a5fa5 Sprinkle FromDIP in SCH_EDIT_FRAME aui setup 2024-01-17 22:05:54 -05:00
Andre Iwers 4d1a016429 HTTP Libraries: Improved cache performance 2024-01-18 02:33:16 +00:00
Seth Hillbrand ba6979a274 Fix pin check to allow for globals
Don't short-circuit adding global labels to the pins vector or we won't
search all subnets
2024-01-16 16:35:47 -08:00
Seth Hillbrand 8fea4812f3 Don't count power flags as sinks/sources
Just because we have a power flag on a net does not mean that there are
more than 1 pin

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13469
2024-01-16 15:24:32 -08:00
Marek Roszko b4bfdf95d3 Explicitly add 48, 128, 256 to icon bundles for each app 2024-01-16 17:21:44 -05:00
Marek Roszko 76e8ed2506 Fix sch_field and pcb_target not returning evaluated similarity correctly 2024-01-16 15:43:49 -05:00
Alex Shvartzkop 3bbf45dccb EasyEDA Pro: resolve device attribute variables in schematic. 2024-01-16 23:40:00 +03:00
Alex Shvartzkop 42255f10c3 EasyEDA Pro: fix default netport orientations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16620
2024-01-16 22:47:15 +03:00
Alex Shvartzkop 4f6c25895e Rename UNKNOWN in enums to prevent shadowing. 2024-01-16 19:14:57 +03:00
jean-pierre charras 07fa42644d SCH_PAINTER: fix a few minor issues related to Cairo print engine
- shows correctly hidden power pins unconnected circle
- do not print dangling indicators
- do not print highlight shadows.
Fixes #16615
https://gitlab.com/kicad/code/kicad/-/issues/16615
2024-01-16 16:30:55 +01:00
Alex Shvartzkop f99505e190 Fix arc editing bugs when endpoints match.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16532
2024-01-16 16:17:45 +03:00
Alex Shvartzkop 5bd620d8f9 Support Bezier curve editing in eeschema. 2024-01-16 14:11:25 +03:00
Alex Shvartzkop 57bc443f0b Fix HPGL color mode being set. 2024-01-15 22:35:35 +03:00
Alex Shvartzkop 01e88d33aa Fix Bezier reading in schematic as well. 2024-01-15 22:35:35 +03:00
Alex Shvartzkop ad7258721b Initialize SCH_SHEET members earlier.
m_borderWidth is used for autoplacing fields.
Fixes sheet filename being in extreme locations in some cases.
2024-01-15 22:35:35 +03:00
Wayne Stambaugh d3f40dde3f Fix assertion when pasting schematic sheets.
Pasted sheets do not have assigned SCH_SCREEN objects until after they
are loaded.

Do not recalculate connectivity unless the SCH_COMMIT object actually has
connectable schematic object changes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16579
2024-01-15 12:15:30 -05:00
Alex Shvartzkop 4fac43d696 Fix variable substitutions in library tables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16601
2024-01-15 09:53:08 +03:00
Alex Shvartzkop b7460f29b4 Altium schematic: fix properties parsing in old formats.
Leading "|" can be missing before "RECORD=28" in old formats.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16513
2024-01-14 13:12:47 +03:00
Seth Hillbrand 4e3d2a148d Fix typo 2024-01-12 14:51:32 -08:00
jean-pierre charras c18bfe0c61 DIALOG_DRC & DIALOG_ERC: re-enable button "Run ERC" and "Run DRC" after running tests.
Fixes #16583
https://gitlab.com/kicad/code/kicad/-/issues/16583
2024-01-12 15:38:25 +01:00
Seth Hillbrand 2aab24ef29 Prevent multiple reloads when saving
Avoid potential issues with Mac libedit crashes (hopefully)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14865
2024-01-11 19:01:31 -08:00
Wayne Stambaugh 0df8d5c2d6 Do not assert when pruning orphaned sheet and/or symbol instances.
Running the schematic editor in the stand alone mode can result in an
empty project name.  Rather than assert when the project name is empty,
just don't run the pruning algorithm.  The pruning will just have to
happen on the next load of the schematic when it has a proper project
name.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16577
2024-01-11 15:47:21 -05:00
Mike Williams 382fe3de09 Symbol Fields Table: fix regroup button using schematic values
Should use the datastore where possible since users are using this to
regroup before applying the data.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16574
2024-01-11 12:01:12 -05:00
Jeff Young 4b1fc9c129 Update AM and SFFM source parameters to ngspice-43.
Note: there's no migration strategy because they didn't
work at all prior to ngspice-43.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16529
2024-01-10 20:27:52 +00:00
Jeff Young 94a7d1647f Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16542
2024-01-10 18:32:47 +00:00
Jeff Young 9038f80543 Switch button focus to Close after running ERC or DRC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16541
2024-01-10 17:36:31 +00:00
Ian McInerney e7746d3bc8 Fix spelling mistakes 2024-01-10 16:17:07 +00:00
Wayne Stambaugh 4f3fb5c23f Second attempt at fixing ERC dialog reference update issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16519
2024-01-09 13:14:13 -05:00
Wayne Stambaugh 92c58f2564 Fix sheet path dependent ERC dialog selection issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16519
2024-01-08 11:16:55 -05:00
Jeff Young 120937b6b0 Honour forced transparency for strokes and fills.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16542
2024-01-07 17:40:50 +00:00
Jeff Young 392242b9a4 Make sure OK button has focus when re-displaying ERC window.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16541
2024-01-07 17:23:45 +00:00
jean-pierre charras c5bb939cc9 LIB_TEXTBOX: fix incorrect line style in plot function for LINE_STYLE::DEFAULT.
LINE_STYLE::DEFAULT is fixed as SOLID in all plot functions, but not for this item.
Fixes #16543
https://gitlab.com/kicad/code/kicad/-/issues/16543
2024-01-07 16:14:15 +01:00
Jeff Young 84d161a4b7 Don't use referential values as defaults. 2024-01-06 22:01:23 +00:00
Jeff Young 7c5eaed69e Un-comment and repair TRRANDOM sources.
Also adds new parameters to AM sources for ngspice-43.

Also fixes a bug in the spice parameter parser (which would
puke on any parameter name starting with one of the flag
parameter strings).

Also fixes a bug where the skipped source parameters would
get set to "0" instead of their default values.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16393
2024-01-06 20:34:36 +00:00
Wayne Stambaugh 50cad558cf Do not update tree to selected sheet in schematic hierarchy navigator.
This was causing unwanted tree expansions when descending a sheet hierarchy
in editor.

Also fixed an issue with the tree highlighting when changing sheets in the
schematic editor.
2024-01-06 12:25:39 -05:00
Jeff Young bbdefa05eb Un-comment and repair AM and SFFM sources.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16529
2024-01-06 14:49:05 +00:00
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
Jeff Young f5aa2ea8cf Fix copy/pasta in arc plotting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16531
2024-01-05 16:42:57 +00:00
Fabian Pflug a1f796ffa0 Respect exclude from bom in all python files
Two scripts were missing the excludeBOM=True selector.
2024-01-05 16:11:20 +00:00
Wayne Stambaugh f07d797ab3 Don't show ERCs for every sheet path when using shared schematics.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16434
2024-01-04 13:53:16 -05:00
Wayne Stambaugh 38562db023 Coding policy fixes. 2024-01-04 13:30:02 -05:00
Jeff Young e438fc2569 Remove dead code. (Coverity)
Also fixes a (small) memory leak.
2024-01-04 15:57:30 +00:00
Jeff Young ffa3b27a4e Fix uninitialized variable. (Coverity) 2024-01-04 14:58:59 +00:00
Mike Williams 2a04e6ac63 Schematic: don't allow setting footprint for power symbols
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16505
2024-01-03 08:52:08 -05:00
Ian McInerney d0a3c04835 Handle rotating individual no connects
Fixes KICAD-4A9
2024-01-02 22:03:10 +00:00
Jeff Young ab34ce295f SCH_LINE_WIRE_BUS_TOOL must use GRID_GRAPHICS for lines.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16492
2024-01-02 17:31:08 +00:00
Jeff Young 2a0486845d Restore legacy spin-style processing for text items.
Post-V5 we only use it on labels, but earlier versions also
used it for text.

Also process spinStyle for CADSTAR imports.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16488
2023-12-31 17:22:58 +00:00
Alex Shvartzkop aa6fd88082 Default graphical line style in v6 and older was Dashed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16479
2023-12-31 19:28:55 +05:00
Jon Evans ea0673e7a0 Do not merge buses of distinct types
Previously, this code would merge a vector bus
with a group bus containing the vector as a member.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16439
2023-12-30 10:54:24 -05:00
Jeff Young 2e9f0679fc Fix i18n mixup.
Tab names and column names are translated on the fly, but
that means they need _HKI macros to make sure they get into
the translation database.
2023-12-30 11:24:35 +00:00
Jeff Young 4551880e40 Fix a typo and some i18n issues.
(Also flags some i18n issues for 9.0.)
2023-12-29 17:12:10 +00:00
Ian McInerney 4eaa0242ca Collapse schematic/symbol graphics import to single action
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16463
2023-12-29 02:57:21 +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
Wayne Stambaugh 04d15026c5 Rename SCH_SYMBOL::GetInstanceReferences() to GetInstances(). 2023-12-28 18:25:56 -05:00
Jeff Young cdb99de862 Use HasSymbol() instead of a null logger. 2023-12-28 21:52:26 +00:00
Jon Evans c9d31c4429 Add explicit copy ctor for SCH_CONNECTION 2023-12-28 15:30:25 -05:00
Jeff Young e59612d56c Add realloc locking calls for ngspice42.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15941
2023-12-28 19:36:18 +00:00
Wayne Stambaugh 482aff3f0b Prune orphaned schematic sheet instances.
Pasting from the clipboard when copying from another project can leave
sheet instance information that is not valid for the current project.
This change prunes all sheet instance information that is not relevant
to the current project.  It also prunes invalid paths created by pasting
sheets from different paths in the same project.
2023-12-28 12:19:19 -05:00
Jeff Young a452213546 Reduce menu nesting for attribute setters/clearers.
Also fixes some issues with menus being owned by the wrong
tool.

Also removes "no xxx selected" warnings in submenus which
aren't show unless xxx is selected to start with.

Also fixes some un-translated strings (which happily
already exist elsewhere in the UI)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16454
2023-12-28 14:19:13 +00:00
Jan Wichmann bddadd1f42 eeschema:
CHANGED: Simplifying the context menu and moving all removed items to main menu.
2023-12-28 13:58:05 +00: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
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
Jeff Young 49d6439ae0 Formatting. 2023-12-27 13:52:02 +00:00
Ian McInerney 743e9d669a Push library management into IO_BASE 2023-12-27 01:21:53 +00:00
Ian McInerney cad91312aa Introduce main base class for all IO loaders 2023-12-26 23:27:11 +00:00
Wayne Stambaugh 20ee45edbe Fix schematic editor crash when exporting symbols to missing library.
UI string was reused from the symbol library manager.  No new translatable
strings were used.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16446
2023-12-26 12:49:34 -05:00
Alex Shvartzkop 5bbe01b570 EasyEDA Pro: support .elibz format (device libraries) 2023-12-25 07:00:24 +03:00
Ian McInerney 85f62c1fde Rename all schematic IO plugins 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
Jon Evans 63454d6da9 Prevent crash when opening properties of missing symbol 2023-12-23 17:30:29 -05:00
Jon Evans 0db46caeaf Revert "Remove unused variable"
This reverts commit 745afb7246.

Guess it isn't actually
2023-12-23 17:23:43 -05:00
Jon Evans 745afb7246 Remove unused variable 2023-12-23 16:55:32 -05:00
Jeff Young af158715e5 Honour alternates when getting SCH_PIN description.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16407
2023-12-23 13:30:15 +00:00
Jeff Young 4bdd5e172c Code cleanup. 2023-12-23 13:30:15 +00:00
Jon Evans dad842d3f0 Allow no-connects on standalone hierarchical pins/ports
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16397
2023-12-22 19:08:14 -05: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
Jeff Young a77ce59487 Don't clear selection on undo/redo.
It's annoying to the user.
2023-12-22 17:41:43 +00:00
Jeff Young df115dbcbd Keep selected flags on undo/redo items.
Also fixes a memory leak in Symbol Editor undo/redo.

Also moves a few more things to SCH_COMMIT.

Also fixes a couple of LIB_ITEM::Clone() methods that were
failing to return the same uuid.
2023-12-22 17:30:14 +00:00
Jeff Young eca22b05b3 Restore pin selection after PlacePin().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16401
2023-12-22 14:59:53 +00:00
Jeff Young 9910c670d2 Ignore reference and value when computing "allChecked".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16408
2023-12-22 13:58:02 +00:00
Jeff Young 1ca82035ae Update SCH_SHAPE::Plot() to handle all fill styles.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16429
2023-12-21 22:06:59 +00: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
Alex Shvartzkop 2de8991752 LTspice: bugfixes. 2023-12-21 13:56:29 +03:00
Jeff Young 7e72a53876 Check added fields only if all fields were checked before.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16408
2023-12-20 13:15:33 +00:00
Wayne Stambaugh 922aee1532 Coding policy fixes. 2023-12-20 07:17:23 -05:00
Mike Williams bf6e6d0e11 Symbol Chooser Panel: save settings 2023-12-19 14:03:31 -05:00
Jeff Young 33a56c530d cleanup 2023-12-19 16:48:01 +00:00
Ian McInerney c7592758cc Ensure some variables are initialized to known values 2023-12-19 14:32:31 +00:00
Jeff Young cfa55d958a performance efficiencies 2023-12-18 18:45:02 +00:00
Jeff Young e4baf877c8 performance efficiencies 2023-12-18 18:36:02 +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 47e07f507e nullptr safety
(Can't actually happen as the 4 base fields are mandatory,
but it'll keep Coverity happy.)
2023-12-18 17:01:55 +00:00
Mike Williams fc903592ed Hotkeys: fix multiple assignment of N key
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16376
2023-12-18 11:13:47 -05:00
Christian Weickhmann 2ee75b1aec BOM Generation: Unifying reference concatenation using more pythonic string join to avoid trailing comma. 2023-12-18 14:44:12 +00:00
Wayne Stambaugh fd91f8933e Fix a SPICE simulator crash on run of a second OP command.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16341
2023-12-18 09:43:40 -05:00
Mike Williams 9e1ceba5d8 Symbol Fields Table: save modified presets without changes to schematic
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16381
2023-12-18 09:28:59 -05:00
Marek Roszko 83f4597f05 Remove a unused var 2023-12-17 21:19:07 -05:00
Jeff Young a944310f7b Move sheet navigation commands below active tool commands.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16367
2023-12-17 22:06:47 +00:00
Alex Shvartzkop c16db03321 Reserve strings. 2023-12-16 12:25:32 +03:00
Jeff Young bcc823e8ff Always leave library browse button active.
It's a bit of a hack, but it makes it easy for users to
switch from inferred models to specific library models.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16261
2023-12-15 13:31:09 +00:00
Mike Williams 5704b3f422 Symbol Chooser Dialog: forward chars to panel
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16350#note_1694513334
2023-12-14 10:04:15 -05:00
Jeff Young 5709d57824 Copy 2 bug fixes from OnSizeFieldsGrid() to OnSizePinsGrid()
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16332
2023-12-14 14:45:55 +00:00
Wayne Stambaugh 8687d5092f String and dialog layout fixes. 2023-12-13 11:49:34 -05:00
Mike Williams 6f25399469 Symbol Chooser: sort Already Placed
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16272
2023-12-13 09:29:56 -05:00
Jeff Young b9daa073d4 Work around wxWidgets CHAR_HOOK issue. 2023-12-13 13:16:51 +00:00
Wayne Stambaugh 9d6e9b14eb Fix action tool friendly name string capitalization. 2023-12-13 08:15:19 -05:00
Jeff Young 035725cd5d Fallback to normal undo when wire-drawing not in progress.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16216
2023-12-12 16:08:05 +00:00
Ian McInerney 3c0566d318 Don't allow copying markers
Fixes KICAD-5FQ
2023-12-11 22:22:19 +00: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
Jeff Young 518be57516 Implement ESC processing for choose symbol dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16271
2023-12-10 18:13:42 +00:00
Jeff Young 9885b7a4ef Don't require more clicks than necessary to communicate intent.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16261
2023-12-09 17:55:59 +00:00
Jeff Young 88760f5c0e Update pin selection flags from SCH_SYMBOL::UpdatePins().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16281
2023-12-09 16:43:56 +00:00
Wayne Stambaugh b7dc7e90ac Minor string fixes. 2023-12-08 13:09:16 -05:00
Mike Williams d8c04e4ef2 Finish Action: fix context menu for buses 2023-12-07 08:40:29 -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
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
Mike Williams 16eb31a6e8 Symbol Fields Table: preserve user column width on move
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16124
2023-12-06 09:46:05 -05:00
Mike Williams 4d5841cc98 Symbol Fields Table: better column moving
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16123
2023-12-06 09:39:10 -05:00
jean-pierre charras e5b27dbe32 Eeschema: minor fix: ensure, after loading a schematic the sheet count is updated.
Fixes #16260
https://gitlab.com/kicad/code/kicad/-/issues/16260
2023-12-05 09:58:25 +01:00
jean-pierre charras 3bd7d92522 Fix crash: Under some circumstances the command "Export symbols to (new) library"
produces a crash when the library links are updated, and a power symbol is not found
in any loaded library.
Add also an option to export all symbols or all not pwer symbols
Fixes #16229
https://gitlab.com/kicad/code/kicad/-/issues/
2023-12-04 18:12:51 +01:00
Mike Williams d468b6d542 Point Editor: allow snapping to off-grid start point
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16244
2023-12-04 09:12:53 -05:00
Tomasz Wlostowski 5af9d3395e eeschema: sanitize null pointer dereference of symbol filter. Used to trigger a segfault when mass-changing power symbol library refs
Fixes https://gitlab.com/kicad/code/kicad/issues/16225
2023-12-03 23:11:28 +01:00
Wayne Stambaugh 764df1d107 Fix crash when saving pasted root sheet symbols.
The paste code creates invalid KIID_PATH objects with a zero length.  All
paths must include the root KIID at a minimum.  Code was added to prune
the invalid paths and some defensive code was adding to the formatter to
prevent the crash in case there are other paths where someone generates
a zero length path.

Pruning orphaned instance data does not work when loading schematics prior
to version 7 because the paths did not include the root sheet UUID.  Once
the file is saved to V7 or later, the next load will prune any orphaned or
invalid instance data for the current project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16245
2023-12-03 08:03:31 -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
Alex Shvartzkop 2a2dc3a508 Eeschema: Allow 180 deg arcs when editing, enable center point snapping. 2023-12-02 17:08:56 +03: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
Seth Hillbrand 343828c552 Fix invalid string compare in IBIS parser
strcmp returns 0 if strings are the same but compareIbisWord returns
True (1).

Adds an IBIS simulation QA test case to catch this in the future

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

(cherry picked from commit ef8b6bf9e1)
2023-11-30 09:16:38 -08:00
Wayne Stambaugh 23175c163f Fix unconnected schematic net highlighting issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16218
2023-11-30 11:29:01 -05:00
Alex Shvartzkop 1ac1753048 Improve Symbol Fields Table appearance on GTK. 2023-11-30 08:37:42 +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 7fe863c9d0 Quote UUIDs in 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
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
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
Graham Keeth 729659f5cf fixup title case properties 2023-11-29 10:17:05 +00:00
Alex Shvartzkop a352bd4a25 Improve Symbol Fields Table appearance on Windows. 2023-11-29 06:04:39 +03:00
Graham Keeth 4f36f669dc Use Title Case for property names 2023-11-29 01:23:35 +00:00
Alex Shvartzkop 08e6e0258f IBIS: add stub for Model Spec; support empty strings in line with keywords. 2023-11-29 00:24:34 +03:00
Seth Hillbrand 4d2b964f52 Use actual bounding limits for LIB_PIN bbox
The extra padding causes unwanted disambiguation menus especially when
working with LIB_PINs that tend to be closely packed

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16183
2023-11-28 10:47:57 -08:00
Jeff Young 07ee44740b Don't re-add item to screen if it wasn't there to begin with.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16184
2023-11-28 18:20:09 +00:00
Seth Hillbrand fb68fc3f85 Use more compliant sleep command 2023-11-27 15:03:06 -08:00
Seth Hillbrand 4a19bef2ac Handle external simulator output gracefully
On Windows, ngspice doesn't output messages to stdout or stderr, it
starts the gui which causes KiCad to hang until ngspice is terminated.
We want to handle immediate responses but not get hung by the external
process.  Passing a process class to wxExecute allows us to detach the
process (it will terminate and free itself) while still handling the
immediate output and errors

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15446
2023-11-27 13:20:46 -08:00
Mike Williams 58cc0e2d1e Schematic: correctly resolve SHEETNAME for root sheet 2023-11-27 13:45:12 -05:00
jean-pierre charras d1aa49e1c9 Eeschema, sch_painter.cpp: remove a line that was used only for a test.
It was added during a debug... and forgotten in code.
Fixes #16176
https://gitlab.com/kicad/code/kicad/-/issues/16176
2023-11-27 15:42:04 +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 90a61b8d36 Prevent some issues with recursion on repeat-last-item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16168
2023-11-26 16:43:59 -05:00
Jon Evans c3deafa597 Fix deprecation warnings in latest wxWidgets 2023-11-26 16:43:59 -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
jean-pierre charras d4ce2c8982 Fix a few Coverity warnings. 2023-11-25 11:44:01 +01:00
jean-pierre charras bcea2aa73b EEschema, Cairo printing engine: some fixes:
- Try to activate anti aliasing
- disable Preview on GTK when cairo printing is selected: it does not work,
and is also disabled for Pcbnew / Gerbview for the same reason
2023-11-24 17:43:04 +01:00
Wayne Stambaugh 70dad45996 Fix broken schematic net highlighting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16131
2023-11-23 17:29:02 -05:00
jean-pierre charras 029df17b5a Eeschema, Cairo printing: adjust printing to page size and other refinements 2023-11-23 17:24:16 +01: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 4a25ef164d Remove children from view_group when de-selecting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16139
2023-11-22 14:37:45 +00:00
Jeff Young e4b7170a92 Sort on first column if none specified.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16054
2023-11-21 17:14:22 +00:00
jean-pierre charras a3a2f43f6c eeschema, DIALOG_PLOT_SCHEMATIC: disable PDF option when format is not PDF
Fixes #16129
https://gitlab.com/kicad/code/kicad/-/issues/16129
2023-11-21 10:27:21 +01:00
Jeff Young f9c8f6ab79 Support single-field-mirroring in Symbol Editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13395
2023-11-20 22:56:14 +00:00
Jeff Young d382a11c2a Apply new on-canvas-item marking to footprint editor tree. 2023-11-20 19:46:03 +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
jean-pierre charras b698ddc82c Eeschema: fix typo in files-io.cpp in revert command that deletes .kicad_sch file
Fixes #16114
https://gitlab.com/kicad/code/kicad/-/issues/16114
2023-11-20 08:47:33 +01:00
Jeff Young e73048bf98 Only set modified if it's an old file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16113
2023-11-19 23:36:36 +00:00
Jeff Young c518041f9b Collapse drawing tools to a single re-entrancy guard.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16112
2023-11-19 14:17:48 +00:00
Jeff Young 37b6cd1714 Set modified flag when loading old s-expr files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16113
2023-11-18 20:27:24 +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
Wayne Stambaugh f6c99816b2 Change the bus selection behavior of the schematic net highlight tool.
[CHANGED] Bus highlight tool now supports toggling between highlighting
          only the bus objects and highlighting the bus and all of the
          bus member objects.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15388
2023-11-17 07:16:12 -05:00
Alex Shvartzkop 76352234e5 ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables. 2023-11-17 07:20:18 +03:00
Jon Evans 6cb046a4eb macOS: add a few more known file types
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14206
2023-11-16 12:11:42 -05: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 35edd84269 Handle non-IOE exceptions in symbol loader 2023-11-15 12:27:34 -05:00
Mike Williams 42e0f7c94e kicad-cli: wxS fix and doc string change 2023-11-15 12:21:30 -05:00
Mike Williams eb5e327086 kicad-cli: support * wildcard in BOM export
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16086
2023-11-15 10:44:17 -05:00
Mike Williams 5734a55515 kicad-cli: correctly label non-existent fields
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16085
2023-11-15 10:44:17 -05:00
Jeff Young d54e5b180b Use sheetname for single-sheet plotting to PDF.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14974
2023-11-15 11:07:05 +00:00
Jon Evans 0dea03654b CLI: schematic path needs to be made absolute along with project path 2023-11-14 11:55:51 -05:00
Jeff Young 298b309ebe Handle mirroring for multiple selections containing text or labels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15936
2023-11-14 15:53:53 +00:00
Marek Roszko 0054b64143 Fix warning due to NONE enum member mixing 2023-11-13 20:23:59 -05:00
Ian McInerney 1900000371 Fix temporary variable type in schematic parser
The internal page info was switched to double in d8be69c3c1
but it was being rounded improperly to int on reading.
2023-11-13 22:52:12 +00:00
Jeff Young cd05acac34 Use pageSettings & titleBlock export flags when drawing new sheets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9285
2023-11-13 20:30:57 +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
Jeff Young f25a06b2a5 More globals eradication.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16031
2023-11-12 23:43:30 +00:00
Jeff Young 03953e80fc Enforce SCH_SHEET_PATH processing in (yet) more places.
Also fixes a bug where ERC testing for text variables in sheet pins
would start with the wrong sheet.

Also fixes a bug where ERC testing of similar labels would use the
wrong sheet.

Also fixes a bug where ERC testing of bus-to-net conflicts would use
the wrong sheet.

Also fixes a bug where ERC didn't process variable references when
checking hierarchical labels against sheet pins.

Also fixes a bug where ERC multiple-drivers and netclass-conflicts
tests didn't set a sheetpath.
2023-11-12 14:15:04 +00:00
Jeff Young 3819b2d5e7 Enforce SCH_SHEET_PATH processing in more places.
Making assumptions about the current SCH_SHEET_PATH has caused no end
of pain.
2023-11-11 17:46:06 +00:00
Jeff Young 7e46e85c7d Update copyrights. 2023-11-11 15:29:34 +00:00
Jeff Young bdead1d0b1 Use correct sheetpath when we have it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15870
2023-11-11 15:07:54 +00:00
Alex Shvartzkop 7589de6120 Optimize footprint/symbol library hover previews. 2023-11-09 19:02:10 +03:00
Alex Shvartzkop f8095fd31a Optimize CADSTAR library parsing.
-60% loading time.
2023-11-09 17:12:39 +03: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
Alex Shvartzkop 5ccdb75091 Use CheckFileHeader in CADSTAR_SCH_ARCHIVE_PLUGIN::CanReadLibrary 2023-11-09 01:24:54 +03:00
Alex Shvartzkop d016f596f5 Add CADSTAR_SCH_ARCHIVE_PLUGIN::CanReadLibrary 2023-11-08 23:37:38 +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 a846e0219b Improve comment. 2023-11-08 12:33:09 +00:00
Alex Shvartzkop c048635484 Use v6 code to read arcs from legacy symbols libraries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16048
2023-11-07 23:10:38 +03:00
Jeff Young 53cb63c173 Save text angle and justification settings.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16043
2023-11-07 15:47:00 +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
jean-pierre charras c53b318759 Eeschema, plot schematic: fix incorrect rotation of symbol text in textboxes.
Happened with rotated symbols.
Fixes #16027
https://gitlab.com/kicad/code/kicad/-/issues/16027
2023-11-05 14:04:28 +01: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
jean-pierre charras 88a4979fff Eeschema, print schematic: resolve text variables in symbol graphic text.
Variables in graphic text (body item) were resolved in plot, but not in print function.
Fixes #16026
https://gitlab.com/kicad/code/kicad/-/issues/16026
2023-11-05 11:41:02 +01:00
Jeff Young 32806a3b8b Make sure plot tab gets its SpicePlotName updated.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16013
2023-11-04 15:45:08 +00:00
Jeff Young 1c746f0134 Correctly parse fft commands with linearize in them.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16011
2023-11-04 15:45:08 +00:00
Jeff Young b6e1387e18 Don't overwrite linearize command with fft command.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16011
2023-11-04 15:45:08 +00:00
Alex Shvartzkop b2825663be Fix SCH_SHAPE rotation direction. 2023-11-04 17:10:26 +03:00
Jeff Young 23063fa976 Now that we allow open-text netclass references we need to ERC check them.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12442
2023-11-04 13:59:28 +00:00
Alex Shvartzkop 98d59f99ab EasyEDA Pro: Fix SVG mirrored SVG images in schematic. 2023-11-04 15:21:22 +03:00
Jeff Young 97185ba90c Run properties action from double-click in SCH search pane.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16013
2023-11-03 18:54:29 +00:00
Jeff Young f7d899a0fb Don't accept random values; use the popup to change to a known alternate
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16021
2023-11-03 18:48:30 +00:00
jean-pierre charras a6f9174c0c legacy library import: fix compatibility with some old symbol libraries (*.lib files). 2023-11-03 12:48:34 +01:00
Jeff Young b4602616c2 Hack around wxWidgets bug that draws two pages over each other.
Also improves spacing in some of the pages.
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 85f720e940 Rewrite number string, dont' append to it 2023-11-01 12:18:37 -04:00
Jon Evans bc42546609 Try harder to save schematic properties panel width
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15957
2023-11-01 08:42:06 -04:00
Jon Evans 81818cfb1e Fix refnum handling in reannotation 2023-11-01 08:26:48 -04:00
Jon Evans 9271fde71d Preserve leading zeroes in reference designators
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15760
2023-10-31 22:51:45 -04:00
Jon Evans d6b76ae9df Net navigator: Unescape net names 2023-10-31 22:19:48 -04:00
Jon Evans e14e7e0bd9 Enforce symbol name not being empty
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15859
2023-10-31 22:11:46 -04:00
Jon Evans 24e613f60c Escape net names coming from aliases
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15212
2023-10-31 22:06:21 -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
Jeff Young 972308b24b Assign textBox to correct unit & conversion.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15994
2023-10-31 23:20:59 +00:00
Seth Hillbrand de0736863b Allow multiple strong drivers with same name
Multiple labels with the same name are allowed (and expected) so ensure
that we use a structure that allows duplicate names
2023-10-31 11:52:29 -07: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
Alex Shvartzkop 3d5721a217 Fix some warnings. 2023-10-31 04:25:19 +03:00
Jon Evans 3faf3ea27c Fix ambiguous overload error in gcc 11 2023-10-30 20:59:25 -04:00
Alex Shvartzkop 2aa67ae1af EasyEDA Std: Support image transformations; SVG images in schematic. 2023-10-31 02:21:32 +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
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
Jeff Young 7959c841fd Move vertical alignment icons out of text-box-only section.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15988
2023-10-30 12:33:23 +00:00
Jeff Young 1f7ac0834c EEschema currently supports only normal vs bold for text thickness.
https://forum.kicad.info/t/font-width-bug-in-schematic-editor/45871
2023-10-30 12:09:43 +00:00
Alex Shvartzkop 4b083fc342 EasyEDA Pro: support SVG images in schematic; support bitmap rotation/flip. 2023-10-30 11:34:42 +03: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 14d6ff8946 Change Save Symbol As... to Save Symbol Copy As...
See details in the bug report.  (It's very complicated.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12504
2023-10-28 22:25:48 +01:00
Wayne Stambaugh 30ba1b8007 Coverity warning fix.
This fixes all of the warnings cause by using std::weak_ptr objects when
recursing the symbol inheritance tree to retrieve the root symbol.  The
issue is that the weak pointers are not guaranteed to be valid for each
recursion because the lock will go out of scope.  Using a std::shared_ptr
object will ensure the lock is valid until it goes out of scope.
2023-10-28 13:25:30 -04:00
Jeff Young 708b42ea69 Fix off-by-one error when creating user-defined signals.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15970
2023-10-28 13:27:48 +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
Zhuang Jiezhi 61d03b41ec Eeschema: Fix crash of modifying graphic item and abort with ESC by adding re-entrancy guards 2023-10-27 21:19:31 +00:00
Wayne Stambaugh 6269453416 Coverity warning fixes. 2023-10-27 16:48:14 -04:00
Jeff Young 6b29c346b9 When presented with empty text we don't want to Normalize() the SIM_VALUE.
But we *do* need to update NUMERICAL_EVALUATOR::m_originalText by
calling NUMERICAL_EVALUATOR::Process().

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15871
2023-10-27 16:59:28 +01:00
Jeff Young 8cba785375 Single warning for all locked sheets when saving schematic.
Also checks for modified before trying to save at all.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15963
2023-10-27 14:58:30 +01:00