216 Commits

Author SHA1 Message Date
Ian McInerney
7ad1103f55 Move toolbars to a serializable storage format 2025-02-28 01:57:37 +00:00
Jeff Young
c5bb59468d Get rid of assumptions about field order. 2025-02-24 11:08:29 +00:00
Jeff Young
7eb75720b5 Start to retire "alias" in favour of "symbol" and "derived symbol".
Note: terminology changes only.  No (intentional)
functional changes.
2025-02-24 11:08:29 +00:00
Jeff Young
8874f137fa Read hotkeys from disk after they change.
(Otherwise we'll write the old versions back out
when closing one app.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19612
2025-02-01 20:01:13 +00:00
Jeff Young
3da2c8f9ef Don't open-code copying of SCH_FIELDs.
(It won't get updated when new stuff is added.)
2025-01-05 20:48:48 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jeff Young
7da8b42206 Push more functionality to SYMBOL.
(This will allow us to run the fields autoplacer on SYMBOLs,
including LIB_SYMBOLs.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19247
2024-12-22 20:21:24 +00:00
Jeff Young
753d385473 Reduce dependency on dynamic_cast.
Also switches to checking __clang__ instead of __WXMAC__.
2024-12-08 21:46:54 +00:00
aris-kimi
44d19c20b0 Fixes treePane widget reference in Symbol Editor 2024-11-25 12:44:45 +00:00
jean-pierre charras
e9651794d6 View menus: fix show/hide panel inconsistencies in FP and Symbol editors
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19147
2024-11-18 15:37:30 +01:00
John Beard
c55d7d6eb4 Sym edit: Also allow the 'edit in library' action to be a hotkey
Allows the user to easily 'upgrade' into a library edit action if
they choose the wrong one of Ctrl+E or Ctrl+Shift+E.

Increaes consistency with FP editing.
2024-10-31 23:15:48 +08:00
Jeff Young
119eea38c3 Formatting, consistency, and some string improvements.
Also fixes a bug where the libID wasn't copied.

Also fixes a bug where library tree didn't get shown
when opening symbol from library.
2024-10-15 12:30:33 +01:00
Jeff Young
fcdaf494b4 Fix nullptr crash. 2024-10-15 10:01:47 +01:00
John Beard
b092675171 FP edit: add 'show datasheet' action that acts on the documentation link
This is already shown in the footprint browser window as a special
item, so allow the 'D' hotkey to access it as well.
2024-10-14 23:20:19 +08:00
John Beard
f7b3e05f22 Sym editor: button to save editable copy when in read-only lib
Not a full solution to the following issue, as it won't ofter
to update any symbols used in the current schematic, but it's
a start.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/18370
2024-10-14 21:52:35 +08:00
John Beard
47aae7d06b Add a link to the lib when editing a schematic symbol 2024-10-14 20:36:26 +08:00
John Beard
047fae0f1f Sym editor: add infobar message in read-only libs 2024-10-14 20:36:26 +08:00
John Beard
b0043587c2 Add 'Copy as Text' action
This is useful when you want to copy text content out to some
external program (or put it in a text item/box).

I'm not sure it's possible to intuit exactly what a user wants,
as you will often want to copy items as the real items, and sometimes
as text. While KiCad might be able to make a smart guess, external
programs will have no chance!
2024-10-13 20:47:45 +08:00
John Beard
ed8b2b050f Sym editor: add save as (like save copy as, but opens the copy)
This seems quite easy in sym edit, but not so straightforward
to add the reverse case in fp edit.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/18371

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18902
2024-10-12 21:27:57 -06:00
John Beard
eae84fd5f3 Sym edit: add alt mode icon toggle
Moves the logic into the SCH_RENDER_SETTINGS, rather than
repeating it in EESCHEMA/SYMBOL_EDITOR_SETTINGS (they still
maintain their state there, but the painter looks at the
SCH_RENDER_SETTINGS).

Also turn them off for preview purposes.
2024-10-09 21:27:58 -06:00
Mike Williams
bfae4a99a4 editors: block paste while in tool in schematic/sym/page layout
PCB and footprint editors were already blocking this. Otherwise we would
get weird issues when pasting while drawing things like sheets or
textboxes that aren't selected while drawing.
2024-10-07 10:50:49 -04:00
JamesJCode
64c24fc04b UI consistency improvements 2024-10-02 19:44:48 +01:00
John Beard
ae96ac6d2e Sym edit: Add hidden field/pin toggle in settings panel
Actually add a whole new panel for symbol editor appearance control.

Use the SYMBOL_EDITOR_SETTINGS as the source of truth in a
couple more places, but the SCH_PAINTER settings are still
driving quite a bit here and there.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18830
2024-10-01 21:53:40 +01:00
John Beard
1effaf83c3 Sym edit: next/prev unit actions
Trivial small part of making large multi-unit symbol handling possibly a
little bit easier.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/9346
2024-10-01 18:06:26 +01:00
John Beard
109675f39e Eeschema: add bezier tool
This is a little more primitive than the pcbnew tool,
in the same way that the arc tool is also more primitive
(no interactive manager).

It works just about well enough to get the curves drawn,
but all these tools could do with some interactivity
in esschema and symbol editor.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8828
2024-09-25 22:09:32 +01:00
John Beard
69889eff7c SYMBOL_LIBRARY_MANAGER: Enforce non-null via reference
All code paths in CreateLibrary and AddLibrary check that
the LIB_TABLE is non-null first.
2024-09-19 06:35:43 +01:00
Jeff Young
3441861988 Make arrow keys respect grid overrides. 2024-08-28 19:54:23 +01:00
Seth Hillbrand
77797103f7 Add ability to embed files in various elements
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures.  File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.

kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document.  Embeds are allowed in schematics, boards,
symbols and footprints.  Currently supported embeddings are Datasheets,
3D Models and drawingsheets

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

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
Mike Williams
a5e2615251 Revert "SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL"
This reverts commit 0b187e71227d2129d271f24fb92ae0b99b6f93bd.
2024-06-12 13:30:29 -04:00
jean-pierre charras
2a37580839 Symbol editor: ensure the left panel is correctly refreshed when hiding a pane. 2024-06-11 17:48:25 +02:00
Mike Williams
0b187e7122 SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL
Also always always flatten incoming lib symbols.
2024-06-10 08:36:42 -04:00
Jeff Young
ed0869aa0c Share more library tree code. 2024-06-08 19:06:10 +01:00
jean-pierre charras
1322e0bc73 symbol editor: allows rotation of fields in derived symbols.
Fields in derived symbols are editable, so the context menu must allow rotations.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18003
2024-05-31 17:32:31 +02:00
Alex Shvartzkop
5475359d00 More build time optimizations. 2024-05-06 04:39:28 +03:00
John Beard
4dd049ee8f Add action to focus tree searches
The default hotkey is Ctrl+L, as this is not bound by
default in the FP or symbol editor, and it is the hotkey
that is used to focus the address bar in web browsers,
which is a similar kind of action.
2024-05-05 04:18:36 +08:00
Jeff Young
3781682a89 We don't need to flip Y of fields anymore. 2024-05-03 13:31:15 +01:00
Alex Shvartzkop
16e3692e71 Build time optimizations. 2024-04-27 23:49:13 +03:00
Jeff Young
95136494b3 RIP LIB_PIN. 2024-04-20 12:10:31 +01:00
Jeff Young
3efe504dcc Collapse LIB_TEXT into SCH_TEXT. 2024-04-16 16:31:16 +01:00
Jeff Young
d77eae3e7e Collapse LIB_FIELD into SCH_FIELD. 2024-04-13 15:42:13 +01:00
Marek Roszko
0675c62a24 Update two more lambda capture 2024-04-12 22:42:31 -04:00
Jeff Young
9c94967b52 Tidy renderSettings / jobsHandler APIs. 2024-04-08 12:26:56 +01:00
Jeff Young
5abc7145da Fold LIB_ITEM into SCH_ITEM. 2024-04-08 10:24:50 +01:00
jean-pierre charras
c27eade01e Symbol Editor: do not allow to select fully invisible pins and fields
Of course, invisible pins or fields shown by using option Show invisible
pins or Show invisible fields can be selected.
2024-03-14 10:01:58 +01:00
Jon Evans
1600d8bead Prevent use-after-free of symbol screens
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17204
2024-03-05 22:53:51 -05:00
Marek Roszko
0c8e08ed58 Move some language changes to a event on the frame 2024-03-03 11:02:26 -05:00
Jon Evans
2f6c9d1f3a ADDED: Selection filter for schematic editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14988
2024-02-25 17:44:10 -05:00
jean-pierre charras
f7721f385a Symbol editor: add option (view menu+toolbar) to show/hide invisible pins and fields
Fixes #8020
https://gitlab.com/kicad/code/kicad/-/issues/8020
2024-02-25 16:09:50 +01:00
Jeff Young
e760317af6 ADDED: Implement footprint link checking in ERC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16842
2024-02-24 20:05:51 +00:00
Jeff Young
bce372c8a3 Don't clear the undo/redo list when we're just trimming it.
We only allow a certain number of commands on the lists
and trim them when they overflow.  PCB_BASE_EDIT_FRAME and
PL_EDITOR_FRAME implemented this correctly; SCH_EDIT_FRAME
and SYMBOL_EDIT_FRAME did not.
2024-02-07 14:52:10 +00:00