183 Commits

Author SHA1 Message Date
Jeff Young
44bd29d592 More removal of open-coded dialog state saving. 2025-08-10 15:57:20 +01:00
John Beard
db97d77544 Netclass: allow multiple assignments with the same pattern
This isn't really a problem, and overwriting the entry allows
for silent data loss by making a new assignment with the
same pattern as an existing one.

The resolve netclasses are de-duplicated later, so it's even
OK if the whole assignment is duplicated (in theory), but
continue to clean these up.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21316
2025-08-08 21:39:41 +08:00
Seth Hillbrand
e379e91081 Store hierarchy expansion/collapse state
Defaults to fully expanded but stores the names for nodes that are
collapsed in project local settings.  Because project local settings are
generally changed by modifying views or selection filters, these should
be saved on close rather than only when the project is saved

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19276
2025-08-04 08:34:09 -07:00
Seth Hillbrand
e064a3481d Add Rule Area selection filter in schematic editor
Allows rule areas to be ungrouped from the "Other Items" when selecting
2025-07-24 11:03:38 -07:00
Seth Hillbrand
e387953490 ADDED refdes tracker
Provide an option to track ever reference designator ever used in the
project to prevent its reuse even if the component has been removed

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13052
2025-07-23 14:28:33 -07:00
Alex Shvartzkop
4a5039c2cf Remove some unused variables. 2025-07-02 16:48:26 +03:00
Jon Evans
dd80797aa4 Don't bypass empty visibility recovery due to migration
In some situations, loading a project in 8.0 would wipe the
object visibility settings but the local settings also
require a format migration.  The migrator was adding visibility
for the shapes layer in this situation, bypassing the recovery
from having no objects visible.


(cherry picked from commit 81ea108d8c21f33946b60428b45b1d42ad012253)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-05-26 15:19:42 -04:00
JamesJCode
296ed4a3e9 Deduplicate resolved net classes
Dupliates were possible if the same net class was specified as an
explicit label, and as the result of a pattern assignment

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

(cherry picked from commit 28a7d77f0e4faf5607e21fa24566f975c496d40f)
2025-04-27 12:24:37 +01:00
Wayne Stambaugh
7fb16260aa Add missing virtual file handler clean up when creating archive files.
This was due to an over zealous clean up of the PROJECT_ARCHIVER and
PROJECT_ARCHIVER_DIR_ZIP_TRAVERSER objects which seems to cause issues
on Windows builds.
2025-04-23 07:56:28 -04:00
JamesJCode
f1344e921a Final purge of 'tuning profile' -> 'delay profile' in time-domain code
Only mention remains in the delay profile settings JSON
2025-04-19 00:30:34 +01:00
JamesJCode
eb17ebee4e Implement time-domain length tuning
- Adds time and delay units
- Adds time domain tuning parameters entry and storage
- Adds pad-to-die delay property
- Adds time domain parameter interface for length / delay calculations
- Adds unit tracking for numerical constants through LIBEVAL
   - Will need future work to truly propagate through binary expressions
- Adds time domain tuning to meander placers
- Adds time delay display to net inspector panel
- Modifies DRC to handle time domain constraints
2025-04-17 21:46:56 +01:00
JamesJCode
a5be581b1b Add char_traits<T> specialisations for wxUniChar and NANODBC_SQLCHAR
when building on Apple with Clang >= 17.

These specialisations are not strictly required by the C++ standard,
and have been removed from LLVM.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20631
2025-04-15 20:57:23 +01:00
Jeff Young
ecb5c5e0d4 Visibility control is for *filled* shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20635
2025-04-13 13:12:43 +01:00
Wayne Stambaugh
598850b1f0 Fix project archiving.
Use simplified file extension and name checks rather than a regular
expression to determine which files to archive.

Fix incorrect use of wxFileName which generates invalid paths when the
last folder in the path contains dots.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20431
2025-04-05 15:53:59 -04:00
JamesJCode
ede5faee72 Implement dynamic assignment of component classes 2025-03-15 14:33:47 +00:00
Seth Hillbrand
4ef81ee3ea Revert "Remove prototype zone fill option"
This reverts commit 3f17aabcd0dd8e74c93f3d52c1d86ba163fa3044.
2025-03-07 15:25:13 -08:00
Seth Hillbrand
3f17aabcd0 Remove prototype zone fill option
This option is not exposed in the UI or advanced config and duplicates
the action of changing the zone fill type and creates additional ways
that boards can be modified by local, non-board settings.
2025-03-07 13:45:40 -08:00
Daniel Treffenstädt
27edf0b949 ADDED: Per layer properties of zones used for control over zone hatching position 2025-03-02 20:31:04 +00:00
Jon Evans
268094320b Remove accidental commented-out block 2025-02-27 18:17:34 -05:00
Jon Evans
1205464472 More safety against corrupted visibility settings 2025-02-27 18:16:51 -05:00
Jeff Young
c8f56f24a8 Write flipBoard boolean to JSON.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19852
2025-02-19 23:43:53 +00:00
Jon Evans
5426bfcdcd Don't autosave future formats of project settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19910

(cherry picked from commit 7d689e0c616c8af4b056f20ce3c95c37624e3df7)
2025-02-10 19:20:56 -05:00
Marek Roszko
6652d3eca7 Remove the long path adjustment for now
Some bugs between archive vs backup project
2025-01-28 06:36:29 -05:00
Marek Roszko
76083e507a Revert "Kicad manager: make zip archive working on Windows."
This reverts commit 80303b4caa86b3cc40ab1fb17cfb2980adadfbca.
2025-01-27 22:23:03 -05:00
Seth Hillbrand
427d7d2dad Move git password management to local password control
Don't keep passwords in plain text config files that may be checked into
version control.  Passwords stored in system-specific password managers

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18053
2025-01-20 17:33:55 -08:00
JamesJCode
a50d3b5d1b Set default netclass priority explicitly in constructor
This currently only happens for migrated schematics. It's not
currently needed for netclass ordering, but will ensure the
priorities are orderable without special-casing the default
netclass should anybody require that functionality in the future.
2025-01-21 00:23:48 +00:00
JamesJCode
c80a71f64a Make netclass name methods clearer, and improve doc strings
There are two netclass name methods, which previously were not
obvious in their uses. These have been renamed to now have:

GetName() : Used for internal or tooling (e.g. netlist export) usage
GetHumanReadableName() : Used for display to users (e.g. in infobars)

Fixing the previous unclear naming will result in fewer bugs
when users start using the multiple netclass functionality, as
the incorrect usage had started creeping in to new code. Also this
will help authors of new code select the correct name method.
2025-01-14 20:44:09 +00:00
Wayne Stambaugh
f161d94521 Common folder housekeeping part 2. 2025-01-14 15:25:05 -05:00
Jon Evans
c6d8f4a62e Fix wiping out non-controlled GAL layer visibility
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19544
2025-01-10 08:37:11 -05:00
Jon Evans
ab5bdd2882 Fix project settings not actually saving after migration 2025-01-10 08:26:32 -05:00
jean-pierre charras
80303b4caa Kicad manager: make zip archive working on Windows.
curr_fn.MakeRelativeTo(curr_prjdir) works only if curr_fn and curr_prjdir
use the same long path adjustement (no long path of both use long path)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19577
2025-01-10 13:28:16 +01:00
Jon Evans
846f6127fd More fixes to autosaving migrated projects
- Disable jobsets memory when opening migrated project
- Add WasMigrated to project file

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19540
2025-01-08 12:09:47 -05:00
Jeff Young
5524ff3770 Formatting. 2025-01-08 15:39:47 +00:00
Jon Evans
7ce0f55305 Don't auto-save local settings when migrating
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19540
2025-01-08 08:43:28 -05:00
Jon Evans
8df29a78e1 Use named render layers in local settings 2025-01-08 00:15:56 -05:00
Jon Evans
96f87b5b83 Move layer presets to use named render layers
Add a migration to account for KiCad 8 render
layer id numbers

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18718
2025-01-08 00:15:56 -05:00
Ian McInerney
fe1c1862d1 Move project archiver to be fully a directory traverser 2025-01-06 02:06:06 +00:00
Ian McInerney
6be3401b92 Add more global extensions and switch archiver to use them 2025-01-05 21:59:53 +00:00
Ian McInerney
5268217e72 Change project archiver to use case-insensitive file selection
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18815
2025-01-05 21:59:53 +00:00
Seth Hillbrand
2eea14ea58 Skip hidden files in backup
We don't need to parse hidden files/directories for backup targets.
This can be very large (in the case of .git directories) and thus
slow when working over NAS.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18341
2025-01-02 16:25:56 -08:00
Jeff Young
757a16b4bf Remember open jobsets. 2025-01-02 23:44:09 +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
JamesJCode
952beb0197 Clear effective netclass caches on bulk updates
This ensures that after bulk updates, netclasses are recomputed
when next accessed.

Also document interface cache contracts in documentation. This
interface will need tidying up in v10
2024-12-31 09:27:12 +00:00
Marek Roszko
0e1b47427c Add a windows specific hack to make backups work past max length
Since backups are most likely to encounter max path limitations compared to other things we do in kicad
2024-12-29 19:54:11 -05:00
Graham Keeth
fd137279c8 Design block extension fixups
Change design block file ext to kicad_block[s]

Fully include design blocks in project archives

schematic design blocks are a .kicad_blocks folder (library), containing
a .kicad_block folder (block), containing a .kicad_sch file (schematic
fragment) and a .json file (metadata). The .kicad_sch file is already
covered in the archived extension list, but the json needs to be
included.

As a side effect, this will pick up any other json file in the project
directory.

Also archive design block library tables
2024-12-24 00:33:59 +00:00
Jon Evans
2f6a4214ed Revert "Rename design block file extension constant"
This reverts merge request !2099
2024-12-22 19:49:42 +00:00
Graham Keeth
ebfbedf7a7 Rename design block file extension constant
Also add design blocks to the project archiver include list.
2024-12-22 19:30:19 +00:00
Graham Keeth
c587788430 include kicad_jobset files in project archives
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19350
2024-12-21 23:04:15 +00:00
Jon Evans
4dbe295e80 Migrate legacy layer presets to V9
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18718
2024-11-16 09:27:31 -05:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00