Commit Graph

11059 Commits

Author SHA1 Message Date
Wayne Stambaugh 92308698ba Coding policy fixes. 2024-01-28 09:26:46 -05:00
Wayne Stambaugh 2f0337974b Update schematic connectivity when redoing changes.
Apparently we forgot to handle schematic connectivity changes when redoing
undone changes.  The same connectivity update logic that was added to the
commit object is now used in SCH_EDIT_FRAME::PutDataInPreviousState().

Please note the granularity of connectivity rebuilds on schematic object
property changes is at the object level which is overly aggressive.  This
means that connectivity rebuilds will happen when connectivity changes
that have nothing to do with and objects connectivity are changed.  Until
objects can handle their own connectivity state, this will have to suffice.
2024-01-27 12:02:53 -05:00
Jeff Young c0cbaa4c53 Finish earlier commit that somehow escaped my notice.
(String is existing.)
2024-01-27 15:55:05 +00:00
Jeff Young d2f0acae6b Expose pin visibility to property manager.
Also re-orders properties in Pin Properties dialog order.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16785
2024-01-27 15:52:59 +00:00
jean-pierre charras ad1a929404 Do not mark an empty string as translatable
It is not accepted by our tools
2024-01-27 09:06:03 +01:00
Jeff Young ceb8beb8c4 Move ChangeBodyStyle and CleanupSheetPins to SCH_COMMIT.
Also fixes a bug where showDeMorganAlternate didn't work
at all.
2024-01-26 22:29:51 +00:00
Jeff Young fb8f05fb34 Correctly report body style in symbol checker.
Also fixes a bug where off-grid pin locations were truncated.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16770
2024-01-26 18:11:23 +00:00
Jeff Young cc9f8f5b83 Fix a straggler from rename. 2024-01-26 18:01:22 +00:00
Seth Hillbrand bcad0761a4 Fix compile error 2024-01-26 08:35:11 -08:00
Jeff Young ae735d3eb4 Renaming: replace convert with body-style.
No functional changes.
2024-01-26 16:21:03 +00:00
Wayne Stambaugh 8975f26c26 Coding policy fixes. 2024-01-26 08:59:14 -05:00
Jon Evans c39bec4c08 SCH_FIELD.Visible can be unmasked
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16760
2024-01-26 08:54:04 -05:00
Jeff Young e99f758447 Revert b8a2b3b2bf. 2024-01-26 12:33:21 +00:00
jean-pierre charras 12357cfba6 symbol checker: do not forget to display error messages about pins not on grid.
Fixes #16759
https://gitlab.com/kicad/code/kicad/-/issues/16759
2024-01-26 10:19:58 +01:00
jean-pierre charras 74e02d7701 Eeschema, open CvPcb: ensure the netlist sent to CvPcb is up to date.
Fixes #16762
https://gitlab.com/kicad/code/kicad/-/issues/16762
2024-01-26 09:24:38 +01:00
Seth Hillbrand ec82a1b4e2 Fix duplicate pin check string
MessageTextFromValue returns text not floating point

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16758
2024-01-25 18:02:05 -08:00
Marek Roszko c2989132ac DeselectRow as we delete rows to avoid asserts 2024-01-25 20:37:00 -05:00
Seth Hillbrand bba0a8d038 Protect schematic undo list actions
The undo/redo lists can have non-SCH_ITEM elements such as worksheet
items.  When re-doing connectivity, we only need the schematic items, so
we pass on these

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16752
2024-01-25 16:47:14 -08:00
Jeff Young b8a2b3b2bf Take a stab at fixing #16752. 2024-01-25 23:46:35 +00:00
Wayne Stambaugh 4d6bbc8caa Fix symbol annotation when pasting nested hierarchical sheets. 2024-01-25 16:39:21 -05:00
jean-pierre charras 2e760483b0 HIERARCHY_PANE: Update tree labels when editing a sheet name or number
Fixes #16650
https://gitlab.com/kicad/code/kicad/-/issues/16650
2024-01-25 18:22:41 +01:00
Jeff Young a2b204572d Don't assert when a sim returns no results.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16749
2024-01-25 15:40:12 +00:00
Jeff Young 70bca8bc4e Provide popups for inductor references.
Also fixes a long-standing bug deleting the last field of
a symbol in the Symbol Editor.
2024-01-25 15:30:25 +00:00
Jeff Young 340d1b7fad Guard against nullptr access. 2024-01-25 15:30:25 +00:00
Marek Roszko c816280c6d Move the current selection before deleting the row to avoid asserts
Fixes sentry KICAD-63D
2024-01-24 22:57:36 -05:00
Marek Roszko b8bbbcf410 Fix assert in SYMBOL_VIEWER_FRAME::onSelectNextSymbol due to bad current selection check
Fixes sentry KICAD-6KE
2024-01-24 20:15:23 -05:00
Jon Evans 5d7eac7677 Allow for empty LIB_PART in certain symbol functions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16731
2024-01-24 12:18:10 -05:00
Jeff Young b8b4ea1a45 Comments. 2024-01-24 16:24:19 +00:00
Ian McInerney d04b21c6d6 Ensure parameter typeinfo matches the actual object's typeinfo
AppleClang seems to generate different typeinfo for forward declarations
of classes than the actual class object, so the any_cast for the pointer
parameter fails due to the types not matching (even when they look the
same when printed in the error).

Instead, we must always ensure we use the actual object when defining
the parameter type when placing the object into the event.
2024-01-24 16:14:32 +00:00
Jeff Young 6407576cb9 Convert between refs and KIIDs in Symbol Properties. 2024-01-24 11:02:56 +00:00
Martin Berglund ddc2092dac Eeschema: Autoplace fields offset correction
No longer count fields without 'Allow automatic placement'
toward the Autoplace offset.

Fixes https://gitlab.com/kicad/code/kicad/issues/16588
2024-01-24 00:24:16 +00:00
afkiwers c7475a16c8 implemented better caching for categories and parts overview to reduce processing time 2024-01-23 22:32:05 +00:00
Wayne Stambaugh d96ebf5745 Remove paste sheet instance path debugging output. 2024-01-23 16:04:08 -05:00
jean-pierre charras 8d2784b822 Eeschema, hierarchy navigator: right click on an item must select the corresponding
sheet, not the currently opened sheet.
Fixes #16670
https://gitlab.com/kicad/code/kicad/-/issues/16670
2024-01-23 18:13:03 +01:00
Jeff Young e549d7c0c6 Formatting and clearer variable names.
(No functional changes.)
2024-01-23 16:02:30 +00:00
Jeff Young a263b6d343 Mutual inductance statements have no model. 2024-01-23 15:14:09 +00:00
Jeff Young 1bd8da41a7 Mutual Inductor isn't an inductor.
It's a statement about two other inductors.
2024-01-23 15:07:29 +00:00
Jeff Young a836a66170 Update labels when editing field names.
This is yet another path for getting duplciate fields
when changing the case of an existing field name.
2024-01-23 14:58:56 +00:00
Jeff Young 9935a022cd Fix typo in OnRenameField() that can cause OOB access.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16625
2024-01-23 14:02:13 +00:00
Jeff Young 179ab1011f Don't use canonical name for user fields with an id of -1.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16715
2024-01-23 13:42:17 +00:00
Jeff Young 8b56b3d999 Formatting. 2024-01-23 13:42:17 +00:00
Wayne Stambaugh b3a36bd783 Fix overly aggressive sheet instance pruning. 2024-01-23 07:44:45 -05:00
Wayne Stambaugh 4cf22e428c Fix broken pasted sheet page numbering.
This change no longer sorts pasted sheets by page number.  This was done
because pasted sheets may not be numbered.  When sheets are not numbered
they are sorted by UUID path which results in some unexpected results.
Since the pasted sheet code uses recursion, pages will be numbered in the
order they are added.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16580
2024-01-22 16:55:43 -05:00
Roberto Fernandez Bautista 43a3ed2522 Don't hardcode symbol library stub when converting library
Also, make sure options column is set back to blank

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16706
2024-01-22 22:52:40 +01:00
Jeff Young 85f0dd279c Push fileFilter callback function down a level.
(The GRID_CELL_PATH_EDITOR is shared by the whole column.)

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2024-01-22 18:27:31 +00:00
Marek Roszko f63c7806fd More bitmap bundle comboboxes 2024-01-21 22:55:13 -05:00
Marek Roszko 059b043935 Try and walk from a real component pin rather than power symbol that will fail our later check 2024-01-21 21:12:14 -05:00
Marek Roszko caf463bbd2 Pass KiBitmapBundle instead of KiBitmap to the pin property comboboxes
Related https://gitlab.com/kicad/code/kicad/-/issues/16698
2024-01-21 20:47:46 -05:00
Marek Roszko fb8dc75108 Fix broken conditional check while walking global power connected items
Per the if statement and logic, we want to walk into looking up connections if we are a pin on a chip.
IsGlobalPower is a test for it's in a power symbol, so we want it false not true.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16699
2024-01-21 19:54:09 -05:00
Marek Roszko 1981997ee2 Dump the ERC report as part of the erc failure 2024-01-21 16:10:43 -05:00
Graham Keeth e58615952c Fix delimeter -> delimiter typo in translated strings
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16673
2024-01-21 13:44:43 -05:00
Wayne Stambaugh 2cfb7a5310 Incremental schematic connectivity fixes. 2024-01-21 16:53:05 +00:00
Jeff Young 5c4313587b Attempt to fix hierarchy tree selection issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16670
2024-01-20 19:25:18 +00:00
Seth Hillbrand 7687f240a2 Prevent footprint editing in power symbols
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16663
2024-01-19 12:52:03 -08:00
Jeff Young ac4f9dc97a Initialize shared sheet instance page no's in drawing tool.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16580
2024-01-19 18:45:46 +00:00
Jeff Young 4d80da8238 Separate symbol angle and mirroring in prop manager. 2024-01-19 13:40:56 +00:00
Jon Evans f80094e7c5 Warn the search pane that pointers are going invalid
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16612
2024-01-18 17:50:50 -05:00
Jeff Young 6361995412 Beef up property manager access to SCH_SYMBOL.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16640
2024-01-18 16:17:46 +00:00
Jeff Young 61876533df Clean up formatting. 2024-01-18 16:17:46 +00:00
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