12897 Commits

Author SHA1 Message Date
jean-pierre charras
f3c222f5ba Compil issue: add missing include on MSYS2 2025-08-24 09:01:25 +02:00
Jeff Young
a7772e3b91 CHANGED: flatten image properties dialogs.
Also moves scale to UNIT_BINDER for correct locale
handling.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17837
2025-08-23 20:32:11 +01:00
Jeff Young
7fa9aabead Don't fire asserts when reloading 3-state checkboxes.
Fixes KICAD-YVD.
Fixes KICAD-WBM.
Fixes KICAD-W89.
Fixes KICAD-WTX.
Fixes KICAD-WKP.
Fixes KICAD-W8P.
2025-08-23 20:32:11 +01:00
Seth Hillbrand
f415ba78fa ADDED: Drag and drop images into schematic editor
Also fixed paste so that the image attaches to the cursor for placement

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15379
2025-08-23 06:38:59 -07:00
Seth Hillbrand
26f0c03e61 ADDED: support for 45 degree crosshairs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6047
2025-08-23 06:20:00 -07:00
jean-pierre charras
61aeea9237 DIALOG_CHANGE_SYMBOLS: fix hanging is some cases and shows a better message.
When (happens after converting old schematics to the new format) trying to
update symbols having a bad lib id can hang Eeschema (infinite loop)
It can easily happens when the user has badly converted the schematic.
Also display a error message when happens.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21536
2025-08-23 12:36:21 +02:00
Seth Hillbrand
a77e1027d6 Fix QA error.
When updating the symbol, we clear the libpins, so remove it to avoid
getting garbage while updating
2025-08-22 12:53:43 -07:00
Seth Hillbrand
679ee7e4d1 Refactor symbol creation to extract from GUI
Adds QA testing to creation routine
2025-08-22 12:11:12 -07:00
Damien Espitallier
5576d1ed9c schematic: allow label properties window to be closed with numpad enter 2025-08-22 14:24:11 +00:00
jean-pierre charras
637902f43f DIALOG_PIN_PROPERTIES: fix display issue of invisible pins
After changes in Eeschema code, in DIALOG_PIN_PROPERTIES invisible Pin
were not displayed, making pin edition not easy. This is now fixed.
2025-08-21 18:22:41 +02:00
Jeff Young
73bb65b802 Formatting. 2025-08-21 12:29:34 +01:00
Jeff Young
42735b775d Remove unreachable PASTE_MODE.
Also, don't depend on enum order.

Fixes KICAD-YJ8.
2025-08-21 12:29:34 +01:00
Seth Hillbrand
7201918383 Track alt pin changes
Make sure that we are following the lib changes when updating

Fixes https://gitlab.com/kicad/code/kicad/issues/21202
2025-08-20 19:49:13 -07:00
dsa-t
f896417ed4 Show errors before warnings in DRC/ERC.
(cherry picked from commit 316a9511e813af257af23f60642859fa623537d4)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-08-21 00:25:07 +03:00
Mike Williams
2abeb5cb49 sch design blocks: add suffix to grouped and repeated placements 2025-08-20 15:20:13 -04:00
Mike Williams
6f5aad159a sch design blocks: some improvements and fixes around sch groups 2025-08-20 15:20:13 -04:00
Seth Hillbrand
2347b290cb Update cache when modifying schematic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18297
2025-08-20 10:34:32 -07:00
Seth Hillbrand
fa566b8061 Set defaults instead of ternaries with duplicate values 2025-08-20 10:32:52 -07:00
Seth Hillbrand
8c0cf3550b Update schematic save as functionality
Default to copying subsheet data if it lives in the current project.
Allows options for other behavior.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21518
2025-08-20 10:08:49 -07:00
Seth Hillbrand
776881fb96 When we change the schematic, update the holder
We need the holder to be accessible at all times to use tooling
2025-08-19 15:49:39 -07:00
Seth Hillbrand
0586f02f00 Move wire/junction actions out of SCHEMATIC
They are tool actions and require that the tool holder is valid, so they
really need to be where this is only ever true

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21510
2025-08-19 15:47:54 -07:00
Seth Hillbrand
cea77b7e9b Avoid doubly-inserting wires when repeating
The repeat key should only insert one copy.  We don't want to depend on
later cleanup
2025-08-19 14:40:48 -07:00
Seth Hillbrand
b6b8a6d465 All junction dots to be placed on overlaps 2025-08-19 14:39:47 -07:00
Seth Hillbrand
81ceb8d123 selectionTool can be null
need to guard the dereference

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21514
2025-08-19 14:39:18 -07:00
Seth Hillbrand
c995d47c87 Force overlapping wires to share labels
Crossing wires with pathological label in the center are actually
connected for the netlist.  This is an ERC error but we should keep
things consistent.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21494
2025-08-19 13:19:00 -07:00
Jeff Young
e841ca1906 Add spacing for Mac file dialog custom controls. 2025-08-19 12:52:21 +01:00
Jeff Young
ddcd1ade28 Minor tidy-up (missing colon). 2025-08-19 11:29:24 +01:00
jean-pierre charras
3021d0241c Fix compil warnings: missing include 2025-08-19 09:16:08 +02:00
Seth Hillbrand
c715a1c574 Properly sequence checks 2025-08-18 19:31:30 -07:00
Jeff Young
a0940b10d4 Always provide a SCH_SCREEN to SCH_COMMIT.
Fixes KICAD-YKY
2025-08-18 22:09:21 +01:00
JamesJCode
91139fe24f Fix sausage-fingers in comment 2025-08-18 20:36:01 +01:00
JamesJCode
ee9e94df04 Don't assume SCH_SYMBOLs have a LIB_SYMBOL when resolving embedded files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21497
2025-08-18 20:30:33 +01:00
Jeff Young
6f389fd320 Tighten parent/child undo/redo architecture.
Always look for pre-existing undo/redo record.  Checking for IsNew()
is less robust and should be avoided.  Also moves the checking to a
location where it will be easier to ensure that it's uniform.

Push get-undo-level-item processing down a level so it is uniformly
called.

Make sure tables & labels are uniformly handled.

Remove incorrect usage of Get/SetGroupId() for storing lastPin
(which we don't use anyway).

Lists of deleted and changed items MUST include the screen pointer.
An item could be changed on one screen but not on another.

Also tightens handling of PCB_NETINFO_T items, which are not in the
view.

Also fixes a bug where there is no increment parameter if you assign
the base increment command to a hotkey.
(This was discovered while testing the above changes.)

Also fixes a bug where delete during a move in PCB Editor did an
undo instead of a delete.
(Again, found while testing above.)

An experiment was also run to collapse shared parts of SCH_EDIT_FRAME
and SYMBOL_EDITOR_FRAME into SCH_BASE_EDIT_FRAME.  However, sharing the
undo code actually increased complexity, and there was very little else
of value in SCH_BASE_EDIT_FRAME (other than the Increment() routines).
2025-08-18 19:20:09 +01:00
Jeff Young
30637e65b0 Move dirtyConnectivity up a level. 2025-08-18 19:20:09 +01:00
Jeff Young
c2f953e3f7 Fix copy/pasta. 2025-08-18 19:20:09 +01:00
Jeff Young
bf8809c841 Repair deficiencies in swapData. 2025-08-18 19:20:09 +01:00
jean-pierre charras
54085c4e50 Eeschema: Reset m_ercRun flag when cleaning all markers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21113
2025-08-18 17:30:46 +02:00
jean-pierre charras
614f4ddc05 Minor fix: Remove a useless include in .h files, costing compilation time. 2025-08-18 15:02:04 +02:00
dsa-t
1af8722b0f Disable ibeam cursor setter for search fields on non-OSX.
The ibeam cursor gets stuck on MSW when mouse leaves the field.


(cherry picked from commit 47381f3d90f08ca832dd1152d02fdaa01dc3a52a)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-08-18 15:56:06 +03:00
Mark Roszko
e4aa8278c5 Make new SCHEMATIC objects instead of reusing them between loads 2025-08-18 01:08:45 -04:00
Seth Hillbrand
90e10a2910 Properly invert logic for printing
I meant to gate this for MSVC/MacOS/Linux but missed the mark
2025-08-17 07:31:20 -07:00
Seth Hillbrand
23c1a68da8 Make printing consistent with plotting.
How you ask?  Plot first -> then read the PDF and print directly to the
platform-specific printers.  Roundabout?  Yes.  Better than wx printing?
Darnbetcha.

Also allows multi-size page printing and proper margins and print
preview

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1831
2025-08-16 20:07:45 -07:00
Seth Hillbrand
9f2b04c7e2 Prevent autosave error from cluttering the screen
Once per session, per editor we can show the error.  After that, assume
that the designer has seen and knows about the issue.

Fixes https://gitlab.com/kicad/code/kicad/issues/21464
2025-08-16 13:49:32 -07:00
jean-pierre charras
2ff3f1fac1 Eeschema, DXF plotter: allows dxf unit selection (inch/mm) like in Pcbnew
Fix other minor issues in DIALOG_PLOT_SCHEMATIC.
Previously the export was always in inch (and in mm in Pcbnew)
kicad-cli always export in mm (like in Pcbnew)
2025-08-16 17:24:10 +02:00
Seth Hillbrand
ddae938aa4 Allow grouping tuning pattern with tracks
Any object that shares a name should be able to be handled in a group
2025-08-15 10:54:23 -07:00
Jeff Young
33c73d7db4 Fix crashes when settings manager doesn't exist yet. 2025-08-14 11:33:25 +01:00
Seth Hillbrand
e97fab9aee Fixup live junction display
We were a bit aggro with how we removed junctions after finishing.  Now,
we can avoid this by removing moved junctions and re-adding when needed

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21480
2025-08-13 13:53:30 -07:00
Mark Roszko
8d37fc8e80 Fix driver candidates sort not enforcing ordering if two buses have identical members 2025-08-12 20:27:02 -04:00
Seth Hillbrand
188ffda029 Add a 90°-only mode for polygon creation
Sometimes, you don't want those 45° corners in your nice, clean zones.
This adds an additional mode that can be selected, cycling through
free-angle, 45° angle and 90° angle constraints
2025-08-12 16:48:36 -07:00
Seth Hillbrand
5375e27415 Fix qa for eeschema
Need to note bus entry position even if we don't care about the junction
2025-08-12 16:21:57 -07:00