Wayne Stambaugh
2cfb7a5310
Incremental schematic connectivity fixes.
2024-01-21 16:53:05 +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
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
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
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
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
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
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
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
Jeff Young
49d6439ae0
Formatting.
2023-12-27 13:52:02 +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
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
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
Wayne Stambaugh
922aee1532
Coding policy fixes.
2023-12-20 07:17:23 -05:00
Jeff Young
cfa55d958a
performance efficiencies
2023-12-18 18:45:02 +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
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
Wayne Stambaugh
8687d5092f
String and dialog layout fixes.
2023-12-13 11:49:34 -05: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
Mike Williams
d8c04e4ef2
Finish Action: fix context menu for buses
2023-12-07 08:40:29 -05: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
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
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
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
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
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
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
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
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
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
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
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
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
78e00ade7a
Clearer naming.
2023-11-09 14:05:35 +00: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
f83d60a48f
Clean up autosave files when reverting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15998
2023-11-05 12:20:31 +00:00
Alex Shvartzkop
b2825663be
Fix SCH_SHAPE rotation direction.
2023-11-04 17:10:26 +03: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
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
435e3fab8d
Support text variables in STEP export filename.
...
Also fixes some other file browser titles to match Kicad's overall style.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15927
2023-10-23 18:01:47 +01:00
Mike Williams
8ec2eb600a
Point editor: manually manage grid lifetime for now
...
Will prevent crashes until we can fix this correctly.
2023-10-23 10:57:54 -04:00
Mike Williams
91b6bb8088
Grid helpers: remove view items on destruction
2023-10-23 09:39:08 -04:00
Mike Williams
9e48c0b695
Grids: placing symbols should respect connectables, not graphics
2023-10-23 09:34:06 -04:00
Marek Roszko
bee6e6be01
AddMenuLanguageList should live in EDA_BASE_FRAME, its only user
2023-10-16 19:49:52 -04:00
Marek Roszko
ba83e84b91
Move SaveCanvasImageToFile to EDA_DRAW_FRAME rather than leaking things to bitmaps
2023-10-16 18:33:11 -04:00
Jeff Young
d5d07e64c9
Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible.
2023-10-14 23:51:37 +01:00
Jeff Young
8c017be24a
Clearer naming.
2023-10-10 15:43:45 +01:00
Alex Shvartzkop
21adc0aac5
ADDED: Import vector graphics into Schematic editor (SVG, DXF).
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
60d069757a
ADDED: Import vector graphics into Symbol editor (SVG, DXF).
2023-10-09 07:04:50 +03:00
Franck Jullien
c010c7b0ea
eeschema: add 'Already placed' category when choosing symbol
2023-10-04 10:29:22 -04:00
Jeff Young
9f5e583ced
Readability.
2023-10-03 17:14:03 +01:00
Jeff Young
6fbbf981f0
Handle justification when hit-testing fields.
...
This steals the algo used in SCH_PAINTER to get the right coords
for the text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15722
2023-10-03 14:36:13 +01:00
Jeff Young
b592a6634e
Cleanup.
2023-09-29 00:13:13 +01:00
Jeff Young
974da4ea7c
Push most of DIALOG_CHOOSE_SYMBOL down into PANEL_SYMBOL_CHOOSER.
...
Includes a dialog wrapper (DIALOG_SYMBOL_CHOOSER) and a frame
wrapper (SYMBOL_CHOOSER_FRAME).
2023-09-29 00:13:12 +01:00
Mike Williams
49a8c9eb8d
Schematic: pin helpers, add wiring tool
2023-09-28 15:07:11 -04:00
Mike Williams
5f88c132c9
Schematic: add pin helpers menu (quickly breakout pins)
2023-09-28 11:44:52 -04:00
Marek Roszko
8c6899b0d3
Tear out the eeschema conditional compile of PROJECT
2023-09-27 23:05:30 -04:00
Mike Williams
cb115189f6
Symbol Fields Table: menu shortcut should start in edit tab
...
The BOM shortcut goes to Export, this makes them symmetrical.
2023-09-27 09:14:25 -04:00
Jeff Young
aab0696bb6
Zoom undo/redo for simulator.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14580
2023-09-26 13:19:41 +01:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
jean-pierre charras
e152f97f35
Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp
2023-09-21 11:33:29 +02:00
Mike Williams
398a336d91
BOM Generator: redirect BOM buttons to new exporter
...
Also add legacy generator menu item.
2023-09-20 11:12:03 -04:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Alex Shvartzkop
06463fd35a
Fixes for Wayland cursor warping:
...
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
jean-pierre charras
79590c6372
Allows new items SCH_NO_CONNECT_T and SCH_BUS_WIRE_ENTRY_T to be repeated.
...
Fixes #15668
https://gitlab.com/kicad/code/kicad/-/issues/15668
2023-09-17 09:37:34 +02:00
Jeff Young
948fea4be8
Nullptr safety.
2023-09-13 23:34:25 +01:00
Jeff Young
7d1dbb77c3
Update symbol editor's title bar when renaming the canvas symbol.
2023-09-12 16:52:47 +01:00
Jeff Young
ee724f6a2b
Only update value on rename if it previously matched the symbol name.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15621
2023-09-12 16:52:47 +01:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Jeff Young
0310973e3f
Push TEXT_SPIN_STYLE from SCH_TEXT out to SCH_LABEL_BASE.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15444
2023-09-07 17:42:51 +01:00
jean-pierre charras
ecd8c7e2cc
Fix a compil issue (in sch_altium_plugin.cpp) and compil warnings.
2023-09-07 08:53:30 +02:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Marek Roszko
a4d8c021aa
Remove rouge gdicmn include
2023-09-06 18:33:22 -04:00
Jeff Young
7a2a2e2df0
Remove error-prone SetReporter() API.
2023-09-06 11:37:50 +01:00
Jeff Young
634524dde5
Validate new symbol / save as symbol info before exiting dialog.
2023-09-05 22:07:58 +01:00
Jeff Young
c2057ba1bc
Don't use Clone() for duplicating. It returns the same UUID.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14162
2023-09-03 19:06:20 +01:00
Jeff Young
f6e238dc3f
Add items to repeat_items after paste (or duplicate).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15556
2023-09-02 11:56:52 +01:00
Mike Williams
b8a61719c3
Grids: make overrides use existing grids (choice box)
2023-08-30 13:33:04 -04:00