163 Commits

Author SHA1 Message Date
Jeff Young
0d6838b803 Add support for mixed-state checkboxes in grids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17730
2025-03-21 13:49:07 +00:00
Jeff Young
6708f7b10c Fix off-by-one error when dragging to the left.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20307
2025-03-16 12:16:47 +00:00
Jeff Young
5996cffabc EE -> SCH (no functional changes) 2025-03-13 13:15:47 +00:00
Jeff Young
c5bb59468d Get rid of assumptions about field order. 2025-02-24 11:08:29 +00:00
Jeff Young
3c71e7ab09 Auto-recognize URLs in SCH_FIELD and PCB_FIELD grids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17066

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17745
2025-02-19 23:43:53 +00:00
Jeff Young
f65d260961 Pretty-print cross references in Symbol Fields Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19941
2025-02-19 23:43:53 +00:00
Jeff Young
fec6882e0a Fix row shading.
Don't use the wxGrid convenience covers.  They assume
you're doing nothing else with attributes.
2025-02-03 20:06:30 +00:00
Jeff Young
e19bce2f93 Reduce reliance on MANDATORY_FIELDS and their implied order. 2025-01-22 17:51:57 +00:00
Jeff Young
a0dd0485e9 Pull a little harder on the MANDATORY_FIELDs string.
We still conflate the fieldID, the position in the
array of fields, and whether or not that means the
field is mandatory.  But this attempts to clean up
*some* of that, without introducing too much risk.
2025-01-21 16:48:13 +00:00
Jeff Young
d50b69f1ae Reconcile divergence of MANDATORY_FIELDS between symbols and footprints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19697
2025-01-21 13:28:28 +00:00
Wayne Stambaugh
d53ed205f2 CvPcb and Eeschema part 1 housekeeping. 2025-01-18 14:31:15 -05:00
Marek Roszko
5c3004b96e Avoid altering the configured output path during run in case of empty paths 2025-01-14 20:44:51 -05:00
Jeff Young
799dadeeec Save bom & bom_fmt preset names for jobs.
Also re-fronts Kicad manager frame after editing
job settings.

Also fixes a bug where group-by (but non-shown)
fields didn't get restored.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19627
2025-01-14 14:38:58 +00:00
Jeff Young
c2a3bfa477 Formatting. 2025-01-06 11:56:51 +00:00
Jeff Young
5c80f6c7d8 Honour private flag in Symbol Fields Table. 2025-01-05 20:48:49 +00:00
Jeff Young
ad513345fe Ugh. Once more into the breach to try and get our terminology consistent. 2025-01-04 15:41:05 +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
c5ae32c51c Auto-edit job properties and then description after creation. 2025-01-01 19:17:11 +00:00
Jeff Young
d7eed69831 Job-specific option dialog titles. 2025-01-01 16:33:57 +00:00
Marek Roszko
42b204fc74 Hookup the bom dialog to job
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19368
2024-12-27 23:00:08 -05:00
Wayne Stambaugh
a6923b3de3 Cache full schematic sheet list sorted by sheet page number.
The sheet list is returned as a copy of the cached list rather than a
reference to prevent external code from changing the list.  While not as
performant, it eliminates the risk of the sheet list being altered in
ways that could break the schematic.  The sheet list should only be
updated by calling SCHEMATIC::RefreshHierarchy() when any appropriate
sheet changes are made.

Note to developers: there is something inherently different about how the
QA tests are loading and handling schematics versus the schematic editor.
Using the cached sheet list for the SCHEMATIC object will cause some QA
test to fail.  This is why SCHEMATIC::Hierarchy() has not replaced
SCHEMATIC::BuildSheetListSortedByPageNumbers() everywhere.
2024-10-09 09:58:50 -04:00
Jeff Young
5ad8f0e387 Better OnModify() handling for Symbol Fields Table. 2024-08-11 12:45:36 -06:00
Seth Hillbrand
69849ba3ca Replace custom Clamp with std::clamp
Fixes bug in parser that had the elements in the wrong order due to our
custom version not matching the standard order
2024-07-25 19:17:17 +02: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
Jeff Young
86a8bc3a1f Improved error message. 2024-07-07 22:21:22 +01: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
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
edc7603d2a Make it clear that GetSheets() is heavy.
Also removes the side-effect that SCH_SHEET_LIST's
c'tor would sort the list (and write virtual page
numbers) anytime the starting sheet was the root.

Also, definitely don't build a SHEET_LIST (sorted or
otherwise) if you're not even going to use it.

Also don't build SCH_SHEET_LISTs on idle events.  Better
to just always have the Next Sheet button enabled (we
already beep if you click it and there's no next sheet).

Also, use a SCREEN_LIST when you can.  It's much cheaper
to create.
2024-06-06 18:00:59 +01:00
Jeff Young
cbfc692e24 Performance for large hierarchies: symbol fields table
Don't bother to sort sheet list when we're going to
sort the symbols anyway.
2024-06-06 11:53:01 +01:00
Mike Williams
cc350cf279 symbol fields table: remember includeExcludedFromBOm correctly 2024-05-29 08:41:25 -04:00
Mike Williams
52f9060b3b Symbol Fields Table: make sure power symbols don't get added by commits
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17544
2024-05-20 14:11:38 -04:00
jean-pierre charras
f17b13655b DIALOG_SYMBOL_FIELDS_TABLE::syncBomPresetSelection(): fix not working comparison
for non English languages.

The main issue was the function compared a English string to a translated string.
However, even with this fix, the code, although working, is not very good:
It compare 2 members (BOM_PRESET .sortField string) that are not very significant
and can be or not translated.
2024-05-15 16:25:05 +02:00
Jeff Young
a99377c1ec The user can cancel the opening of many editors.
Don't play dice with the devil.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17989
2024-05-08 18:21:42 +01:00
Jeff Young
39835fe82a Formatting. 2024-05-06 10:58:32 +01:00
Alex Shvartzkop
16e3692e71 Build time optimizations. 2024-04-27 23:49:13 +03:00
Mark Roszko
5d7e96841b Close bom file earlier
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17779
2024-04-16 12:39:03 +00:00
Mike Williams
ea904c9fb1 Symbol Fields Table: configurable excluded from BOM filtering
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17747
2024-04-15 13:08:04 -04:00
Mike Williams
9c058503d9 BOM Export: remember filename per project
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17704
2024-04-11 15:05:59 -04:00
Jeff Young
f3ce3bc758 Close active cell editor when showing/hiding columns.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17425
2024-03-24 10:09:27 +00:00
dsa-t
db12f2af49 Disallow cross-probing when not on Symbol Fields Table Edit tab.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17531
2024-03-21 19:08:23 +00:00
Yon Uriarte
62c961b8ba Performance Mitigate "Edit all symbol fields" dialog slow closing.
GetSymbols will return all symbols. Call it once and cache it.
2024-03-04 19:41:01 +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
8b56b3d999 Formatting. 2024-01-23 13:42:17 +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
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
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
Alex Shvartzkop
a352bd4a25 Improve Symbol Fields Table appearance on Windows. 2023-11-29 06:04:39 +03: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
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