Commit Graph

1499 Commits

Author SHA1 Message Date
aris-kimi dca1281263 Fix some typos 2023-02-14 23:47:05 +02:00
Mike Williams 18df4442bc Schematic: Find and Replace on Selection
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9293
2023-02-14 14:04:59 -05:00
Mike Williams 4b07e3e413 Common Actions: Find Previous
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8968
2023-02-14 08:21:37 -05:00
Mike Williams 3e715c99c8 Swap: take S key now that it's available 2023-02-14 07:42:06 -05:00
Jeff Young bc108023b3 ADDED operating point overlay for SCH_EDIT_FRAME.
Fixes https://gitlab.com/kicad/code/kicad/issues/11253
2023-02-11 21:11:07 +00:00
Jeff Young 09822c7f18 ADDED direct access to signals & cursors.
ADDED differential cursors.

Fixes https://gitlab.com/kicad/code/kicad/issues/4447

Fixes https://gitlab.com/kicad/code/kicad/issues/6221
2023-02-11 21:11:07 +00:00
Jeff Young b000d68def Move simulator to tool framework. 2023-02-11 21:11:07 +00:00
Jeff Young 7bc79c17d4 Make sure screen RTrees are updated when changing bounding boxes. 2023-02-11 20:43:00 +00:00
Jeff Young 2e9ed67e05 Don't dirty connectivity when moving non-reference SCH_FIELD. 2023-02-11 20:43:00 +00:00
Chris Morgan e14f0848fa SCH_EDITOR_CONTROL::Paste() - Adjust refdes behavior to match when creating new symbols
Pass 'false' as aStartAtCurrent to ReannotateByOptions(). Causes Pasing() symbols to start at the first available refdes after the currently
configured annotate start number, m_annotateStartNum.

Fixes #13342
2023-02-06 14:05:04 +00:00
jean-pierre charras 92724ff09f Coding style fix. 2023-02-06 07:59:17 +01:00
Jeff Young 3ecd6ec186 Fix variable updating in SCH_FIELDs (which are not directly in the view). 2023-02-05 20:51:03 +00:00
jean-pierre charras fb225acefc Eeschema, ExportSymbolsToLibrary(): fix not working replace library.
When exporting symbols of the schematic to a new library, if this library
exists the dialog ask for overwriting it, but it did not work.
Fixed now.
2023-02-05 18:41:58 +01:00
JamesJCode 71002dce28 Eeschema: Fix export symbols to new library
Exporting symbols to new library now saves the library and forces
update of symbol links

Fixes #13494
2023-02-02 11:31:18 +00:00
vinsfortunato 5b9b555fdf eeschema: fix sheet symbol pins changing side when resizing
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13719
2023-02-01 15:53:59 +00:00
jean-pierre charras 29fd1b45d6 Ensure the DATASHEET field value only is used to know the datasheet URL.
previously, if the field option "show name" is set, the field name was
added to the URL, that broke it.
Fixes #13729
https://gitlab.com/kicad/code/kicad/issues/13729
2023-02-01 11:37:07 +01:00
Mike Williams 29a4e2c7fe Schematic: fix reversed tooltips for navigation buttons
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13707
2023-01-31 13:05:37 -05:00
JamesJCode 8590745e9c Allow simulation probe of junctions
Fixes https://gitlab.com/kicad/code/kicad/issues/13712
2023-01-30 23:15:55 +00:00
vinsfortunato 39e85015c2 Preserve pins positions when resizing sheet 2023-01-26 20:56:37 +01:00
vinsfortunato cf1d17b566 Fix unexpected resizing behaviour when using top left edit corner 2023-01-26 20:54:51 +01:00
vinsfortunato 843600cb7e Fix erratical sheet pins behavior when resizing
Fixes https://gitlab.com/kicad/code/kicad/issues/13658
2023-01-26 20:54:51 +01:00
Seth Hillbrand 43e4797d4d Don't double-tap Connectivity Recalculate
SCH_EDIT_FRAME::RecalculateConnections() calls SchematicCleanup and then
resets the connectivity graph and recalculates it.  OnModify() also
calls RecalculateConnections().  For long calculation schematics, this
can impact usability
2023-01-24 10:30:52 -08:00
jean-pierre charras 9c12a6ee1d Eeschema, eeschema_config.cpp: fix incorrect *.wks file path when trying to save it.
And add tests to see if the file can be saved
Fix also an issue in sch_editor_control.cpp: The page setup dlg must generate changes
only if the OK button is clicked.
Fixes #13599
https://gitlab.com/kicad/code/kicad/issues/13599
2023-01-22 13:17:05 +01:00
jean-pierre charras e900e472ce Fix compil and Coverity warnings 2023-01-22 09:40:09 +01:00
Seth Hillbrand e6dbca051c Force realtime connectivity on
The pressure relief valve was not useful for common work patterns as it
forced the recalculation on many common actions such as bus expansion.
This caused it to actually feel slower than with the pressure relief
valve off.

For most schematics, realtime is now fast enough to not need the valve
and for those that are extremely complex, removing the valve helps this
run more predictably
2023-01-20 15:17:57 -08:00
Seth Hillbrand 6fa2eedb4b Avoid the obsolete GetNextPin() call
This iterated over all pins to find the pin after a given item.  Because
out pattern is consistently to iterate in the outer loop, this means
that we were an O(n^2) loop for the pins just to find their names.  This
affected very large parts (e.g. FPGAs) when switching sheets to display
2023-01-20 14:12:15 -08:00
Mike Williams 171cffec28 Schematic: actually check for hover on duplicate 2023-01-18 13:52:49 -05:00
Mike Williams 144cd0b7f2 Schematic: duplicate on hover: grabs symbol instead of field
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13495
2023-01-18 13:35:52 -05:00
Marek Roszko 57c66a50ac Add some missing wxS wraps 2023-01-15 20:24:29 -05:00
James Jackson 661eed7fed Eeschema: ensure wire / bus auto-start respects bus labels
Fixes #13506 and further ensures correct behaviour for heirarchical labels and sheet pins
2023-01-15 19:25:28 +00:00
Roberto Fernandez Bautista c7f33e21f8 Extract SCH_SCREEN::GetNeededJunctions from AddJunctionsIfNeeded 2023-01-15 19:17:39 +01:00
Roberto Fernandez Bautista 22cc861c9b Remove dead code in AddJunctionsIfNeeded 2023-01-15 19:17:39 +01:00
Roberto Fernandez Bautista 7332c0c54d Move SCH_EDIT_FRAME::GetSchematicConnections into SCH_SCREEN::GetConnections 2023-01-15 19:17:38 +01:00
Jeff Young cb58cb8cd3 Put new lines and junctions on the right layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/13505
2023-01-12 15:17:45 +00:00
Jeff Young d839f11d49 Rip out parsing of SPICE libraries for netlisting.
We only need to parse the libraries for the Sim Model Editor dialog
(so that we can determine the models to put in the popup).  Doing it
for netlisting just opens us up to incorrectly parsing the SPICE, and
returns no value.

This also means that a SIM_LIB_MGR manages a single library, and
never multiple libraries.

This also allows the tidying-up of some error reporting structures to
better inform the user what went wrong.

Fixes https://gitlab.com/kicad/code/kicad/issues/13431
2023-01-12 14:51:03 +00:00
Seth Hillbrand f4ac4be701 Fix naming of `updateTitle()`
This is a private function so should be lowercased to avoid confusion
2023-01-11 16:06:20 -08:00
Seth Hillbrand 8aff923710 Set dirty bit and handle undo for export remap
When remapping the exported symbols, we should keep this in the undo
stack (remapping, not the existence of the new elements) and set the
dirty bit for the file to ensure it is saved/autosaved

Fixes https://gitlab.com/kicad/code/kicad/issues/13493
2023-01-11 16:06:20 -08:00
Jeff Young c3c5468817 Sort all findNext candidates in a single list.
Fixes https://gitlab.com/kicad/code/kicad/issues/13483
2023-01-11 23:42:45 +00:00
Jeff Young c89925578d Move find/replace to own tool so it doesn't rob events from cross-probing. 2023-01-11 14:22:06 +00:00
Jeff Young f8ef15f174 Fix over-zealous delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/13476
2023-01-11 12:16:28 +00:00
Mike Williams 4274bd0bb7 Schematic: handle rotations that include junctions
Also fix lack of line cleanup on mirroring.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13436
2023-01-09 11:05:30 -05:00
jean-pierre charras be5810a1ce EEschema, "Change To" context menu: do not allow converting SCH_SHEET_PINs
to something else.
SCH_SHEET_PIN are specific, handled by a SHEET, and the conversion to a label
cannot be done.
2023-01-09 15:30:36 +01:00
Jeff Young 063478b3dc Implement brightening for Find Next hotkey actions.
Fixes https://gitlab.com/kicad/code/kicad/issues/13421
2023-01-08 14:34:38 +00:00
jean-pierre charras 4d5c4c4ea8 Ensure all selected items have their edit flags cleared after move.
Some sub-items like fields can be selected, and are not in the main item list.
Fixes #13435
https://gitlab.com/kicad/code/kicad/issues/13435
2023-01-08 11:52:21 +01:00
Jeff Young c3ca1ce014 Tune the hit-test extra-slop for lines (and apply it to arcs too).
Fixes https://gitlab.com/kicad/code/kicad/issues/13429
2023-01-07 23:06:51 +00:00
Jeff Young 22144ae0d0 Fix bogus format string replacement type.
Fixes https://gitlab.com/kicad/code/kicad/issues/13426
2023-01-07 19:34:32 +00:00
jean-pierre charras c2f7dbfc15 Eeschema, AlignElements(): fix broken align of lines (bus, wire, graphic line)
It was due to a recent change (commit d824b7f5)  for SCH_LINE_T in
SCH_MOVE_TOOL::moveItem()
2023-01-07 09:06:03 +01:00
Jeff Young 8dc7baad3d Cleanup actions should not activate tools. It causes all manner of side-effects.
Fixes https://gitlab.com/kicad/code/kicad/issues/13331
2023-01-06 22:15:20 +00:00
Wayne Stambaugh 411669ab88 Fix schematic power symbol annotation paste bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13405
2023-01-06 13:55:13 -05:00
Jeff Young 98f0959f39 Default common-to-all-units based on last-used setting.
(Or whether or not the symbol has interchangeable units when a new
symbol is loaded.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13391
2023-01-06 00:34:16 +00:00
Seth Hillbrand c29dfe026e Force recursing annotation when set to auto
Automatic annotation should always annotate new elements regardless of
where in the hierarchy they are

Fixes https://gitlab.com/kicad/code/kicad/issues/13378
2023-01-05 15:03:38 -08:00
Jeff Young 933a5d45e1 Be more aggressive about clearing edit flags after operations.
Fixes https://gitlab.com/kicad/code/kicad/issues/13173

Fixes https://gitlab.com/kicad/code/kicad/issues/13385
2023-01-05 18:08:22 +00:00
Wayne Stambaugh d99e09014b Rename SYMBOL_INSTANCE_REFERENCE to SCH_SYMBOL_INSTANCE. 2023-01-04 15:39:50 -05:00
Mike Williams bd5d10cd7b Schematic: remove more extraneous dangling symbols 2023-01-04 11:07:23 -05:00
Wayne Stambaugh 73b7dcbc35 Attempt to unify symbol annotation behavior between place and paste.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13330
2023-01-04 07:36:00 -05:00
Jeff Young 7f35323416 Re-enable sim model ERC testing. 2023-01-03 00:59:14 +00:00
Jeff Young c5948de2af Update find status when switching sheets.
(Not just when switching sheet during find.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13351
2023-01-02 18:49:28 +00:00
Mike Williams 068b714908 Schematic: merge dual import sheet pin actions
I believe I have managed to keep the slightly distinct functionality of
both implementations: the action will now use the selected sheet or find
one under the cursor if it's there.

It will also keep placing pins while they exist, which was inconsistent
in the behavior of the single click version before (other single click
commands keep placing until you cancel, e.g. no-connects )

Also, it will automatically end the tool when it runs out of sheet pins.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13296
2022-12-29 09:36:29 -05:00
Mike Williams e65de51fc7 Schematic: label auto orientation needs to respect move/drag/change
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13226
2022-12-28 14:30:57 -05:00
Mike Williams 6cc17e4a16 Schematic: new flag IS_BROKEN for trimming BreakSegment danglers 2022-12-28 12:27:57 -05:00
Mike Williams f03fd5ad2d Schematic: remove IS_RESIZING
Is unused/redundant with IS_MOVING
2022-12-28 12:27:57 -05:00
Mike Williams b5b65e1455 Schematic: update dragged lines dangling state in realtime
Makes the visuals a little nicer as we add bend lines
2022-12-28 12:27:57 -05:00
Mike Williams f1fab140a1 Schematic: make menu bar rotation items conditional
Also fix some items not getting a context menu rotate action.
2022-12-27 14:18:47 -05:00
Mike Williams 8ca8f83a18 Schematic: sheet pin dragging special case needs to check endpoints
Otherwise we'll force the wrong end of a line to be special-cased
2022-12-27 12:15:49 -05:00
Mike Williams 33b774685b Schematic: fix inconsistent selected-by-drag behavior of mid-line labels
Two issues here:

Selected labels would half of the time add junctions splitting lines
when the lines would have been selected-by-drag (removing the need for a
junction).

Split lines aren't selected by drag by default, and we need to test
labels against lines that are selected by drag.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13224
2022-12-27 12:15:49 -05:00
Wayne Stambaugh 78e2f0fd4d Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
Jeff Young ba4a7a979a Don't respond to Duplicate events while placing multiple copies of a symbol.
It doesn't really make any sense as clicking will just create another copy
as well.

Fixes https://gitlab.com/kicad/code/kicad/issues/13253
2022-12-24 19:40:39 +00:00
Jeff Young 6f44468385 Fix more lifetime issues in simulator tuning.
Fixes https://gitlab.com/kicad/code/kicad/issues/13257
2022-12-23 22:03:24 +00:00
jean-pierre charras e5363d164c Lib symbol editor, export SVG: fix incorrect position of the drawings.
Fixes #13249
https://gitlab.com/kicad/code/kicad/issues/13249
2022-12-23 16:31:35 +01:00
Mike Williams 9b782fa827 Schematic: don't deselect line ends when right clicking off-selection 2022-12-22 14:16:38 -05:00
Mike Williams 8b7d0d71fb Schematic: show update/change symbols for multiple symbol selection
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13231
2022-12-22 14:00:51 -05:00
Mike Williams 3037f2b444 Schematic: don't require cursor on selected net to assign netclass
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13199
2022-12-22 10:15:48 -05:00
Mike Williams fc054bda8e Schematic: fix edit symbol assert
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13197
2022-12-20 08:23:02 -05:00
Mike Williams 389f0655cd Schematic: re-enable old break wire functionality, add slice
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Jeff Young 113fd83fdd Fix Clang-tidy warnings. 2022-12-19 13:19:21 +00:00
Jeff Young ebcc1ac062 Use current cursorPos when creating sheet pins.
Fixes https://gitlab.com/kicad/code/kicad/issues/13206
2022-12-19 12:27:55 +00:00
Jeff Young 65552df6ce Quite Coverity. 2022-12-16 19:11:34 +00:00
Jeff Young 24786fe0e9 Fix multi-unit symbol bugs.
1) SPICE pins need to include all units
2) Already-seen-unit-x needs to be reset when getting netlist again.

Fixes https://gitlab.com/kicad/code/kicad/issues/13164
2022-12-16 13:57:46 +00:00
Jeff Young af71c2d877 Clear hover selections after command.
Fixes https://gitlab.com/kicad/code/kicad/issues/13073
2022-12-15 13:47:56 +00:00
Jeff Young 50ccc4e6da Fix issue converting legacy SPICE models.
1) if a legacy model references a library then we need to see if said
   libraray exists and read model from it if so
2) legacy node ordering is by index, not pin name
3) we can't auto-generate a pin map when we don't know the pin names,
   so don't try
2022-12-14 13:36:28 +00:00
Mike Williams af4e9968fc Schematic: remove internal Change Sheet action from hotkeys
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13157
2022-12-13 13:55:23 -05:00
Mike Williams 5e72a1008b Schematic: don't trim unchanged segments that are connected
Previously if you had a wire with two unconnected ends and dragged the
end of another wire to connect with one end, it would delete the first
wire.
2022-12-13 09:03:23 -05:00
Marek Roszko 6eedbe4a14 Allow taking hidden fields into account for symbol unit bounding box
Even the GUI export of svg wasn't taking fields into account which rendered the fields regardless of status
2022-12-12 22:47:56 -05:00
Mike Williams 243727428a Selection: non-greedy box selection of wires ends only when dangling
See discussion:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205902448
2022-12-12 15:04:33 -05:00
Mike Williams d824b7f506 Schematic: move wires always moves the whole line
Discussion here:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205922621
2022-12-12 14:45:06 -05:00
Mike Williams 5ce0fe5998 Selection: drop non-greedy full line selection from middle
It's too inconsistent to have greedy and non-greedy mode, and also have
tweaks to the non-greedy mode that make it greedier.
2022-12-12 14:45:06 -05:00
Jeff Young 2459b61aa6 Don't add second half of line and new juction to screen twice.
Fixes https://gitlab.com/kicad/code/kicad/issues/13129
2022-12-12 13:44:47 +00:00
Jeff Young 45eae3e594 Don't Simplify() polys with arcs in them.
Fixes https://gitlab.com/kicad/code/kicad/issues/13134
2022-12-12 12:54:34 +00:00
Jeff Young fbd2d66a75 Convert formatting constructs for SPICE consumption.
Fixes https://gitlab.com/kicad/code/kicad/issues/11383
2022-12-11 15:53:26 +00:00
Mike Williams f4fb70e04c Schematic: re-allow partial selection of line ends
Also fix some XOR selecting issues.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13022
2022-12-10 13:17:42 -05:00
Jeff Young 6535f407a6 Remove version guard from sim migration, and add migration to paste.
Fixes https://gitlab.com/kicad/code/kicad/issues/13080
2022-12-08 23:57:42 +00:00
Mike Williams 0e75bf02fa Selection: refactor modifier checking 2022-12-08 14:12:12 -05:00
Mike Williams 4b02e5efb4 Schematic: allowing ctrl/shift-clicking point editor points 2022-12-08 14:12:12 -05:00
Barabas Raffai add082548d Move timer used by SCH_EDITOR_CONTROL to member variable
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2430
2022-12-08 17:33:19 +00:00
jean-pierre charras 6130ce5d66 symbol_editor_control: fix incorrect bounding in SVG export.
Fixes #13093
https://gitlab.com/kicad/code/kicad/issues/13093
2022-12-07 13:13:35 +01:00
Wayne Stambaugh 5001555f0e Fix crash in Altium schematic importer.
The crash was caused by an unhandled exception. The uncaught exception
caused a cacophony of null configuration setting pointers so guards were
added to prevent crashes should other exceptions occur that do not get
handled correctly.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13046
2022-12-05 20:20:01 -05:00
Jeff Young b7d41e0e56 Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
Also includes fixes for instance data and resolving of textvar
references.

Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.

Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Graham Keeth ef83d01455 Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology 2022-12-04 14:29:57 +00:00
Jeff Young 96819f6c01 Better cache invalidation for text objects with references.
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Mike Williams 8f646fa9fb Schematic: fix XOR unselecting one end of fully selected line 2022-12-01 15:00:06 -05:00