Compare commits

...

2406 Commits

Author SHA1 Message Date
Seth Hillbrand e808544c20 Revert "Replace glew with epoxy"
This reverts merge request !2217
2025-04-22 15:16:45 -07:00
Michal Suchánek 0c36e16292 Replace glew with epoxy
Glew has the problem that it has to be selected at build time if GLX or
EGL is supported by the library, and this in not encoded in the library
name, nor ABI, nor anything.

Then it's easy to get into the situation that a binary is built but
cannot run because glew supports an API different from the one used by
wxWidgets, or the binary fails to link in the end after all objects are
compiled.

epoxy can support both with the same library avoiding this problem.

epoxy is not initialized explicitly, replaced initialization with
version check where one was not done already.

It seems to be available as vcpkg https://vcpkg.link/ports/libepoxy

There are problems related to GL context switching on Windows which does
not seem to be used in kicad
https://github.com/anholt/libepoxy#known-issues-when-running-on-windows
There is also a problem related to multithreaded rendering on Windows
https://github.com/anholt/libepoxy/pull/265 It's harder to tell if
threading is used for rendering but it does not look like kicad is doing
anything complex enough to warrant using multiple rendering threads.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20630
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12543
2025-04-22 12:54:39 -07:00
John Beard d2307fdcaa PCB array tool: make it easier to skip renumbering entirely
This was already possible by setting a 0-sized step, but that's
a bit clunky - provide an obvious way to do it via a
"do/do not renumber at all" checkbox.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20470
2025-04-23 00:00:00 +08:00
John Beard 1b1623885c PCB array tool: don't count array source pad as reserving its number
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20722
2025-04-23 23:32:20 +08:00
jean-pierre charras 874fad4846 QA test: Update issue11814.kicad_pcb by removing old teardrops
These teardrops created by a old plugin have all the same priority.
Overlapping zones must avoid using the same priority.
Now replaced by teardrops created by Pcbnew.
2025-04-22 15:46:29 +02:00
Jeff Young a53a639523 Formatting. 2025-04-22 13:15:03 +01:00
Jeff Young 5573dce448 Fix various errors in intersecting zones test.
Also gives a clearer error message, and better
descriptions of named zones.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20718
2025-04-22 13:15:03 +01:00
jean-pierre charras 57102b87ce PCB_PAINTER, mirrored view, texts on non paired layers: keep position
Depending on their horizontal justification, the texts wee moved when
flipping the board view.
2025-04-22 09:28:47 +02:00
JamesJCode 8ef54c3651 Remove delay_profile API parameter until design matures 2025-04-22 00:08:04 +01:00
JamesJCode bd1f6e505c PCB Calcs: Reset default units along with values 2025-04-21 21:28:00 +01:00
Mike Williams f51c5c396f sch groups: add swap data fix
Copied from 199a7a34ea for board items
2025-04-21 15:02:35 -04:00
Mike Williams 9cb0d100e5 sch design blocks: block illegal characters before creation failure
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20676
2025-04-21 14:59:31 -04:00
Seth Hillbrand 9d1142839a After removing items from the conn list, check valid
When cancelling, we mark elements invalid if they are removed from the
connectivity list.  Be cause when iterating through the list again.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20566
2025-04-21 11:44:30 -07:00
Jeff Young 199a7a34ea Don't leak PCB_GROUP internals into BOARD_COMMIT.
(This also fixes a potential bug where the image
group's children didn't get the image as a parent.)
2025-04-21 18:24:30 +01:00
Jeff Young c1b1c689ad Don't double-add/remove items from connectivity.
BOARD::Add()/Remove() already do this.
2025-04-21 18:20:52 +01:00
Jeff Young 519b29472f Remove temporary debugging code. 2025-04-21 17:40:28 +01:00
John Beard 207199fd80 PCB_PICKER_TOOL: avoid popping a dismabiguation menu after point selection completes
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20680
2025-04-22 00:27:25 +08:00
jean-pierre charras 7c56b04436 DIALOG_CREATE_ARRAY_BASE: fix better size of dlg in fp editor.
A panel was set as stretchable (which was not useful) thus creating
a very large dialog in FP editor.
2025-04-21 15:45:39 +02:00
Jeff Young 5a3b2cc8fd Temporary debugging code. 2025-04-21 14:42:41 +01:00
Jeff Young 072932df80 Don't process all items in a move individually. 2025-04-21 14:42:41 +01:00
Damjan af11746cc4 pcbnew and eeschema: Table and textbox rotation / text justification fix 2025-04-21 13:32:46 +00:00
Mike Williams 54681278c5 sch groups: don't double move on paste 2025-04-21 09:28:27 -04:00
Mike Williams 82043e374a sch groups/lines: correctly handle view lifetime and drawing in group 2025-04-21 09:28:27 -04:00
Mike Williams 6a24c5c5a4 sch groups: add delete support 2025-04-21 07:50:05 -04:00
Alex Shvartzkop f72d5c43f3 Update translations 2025-04-21 13:43:28 +03:00
dsa-t 81e2e4e8d2 Translated using Weblate (Russian)
Currently translated at 96.3% (9878 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-04-21 12:42:53 +02:00
ZbeeGin e6c8618386 Translated using Weblate (Polish)
Currently translated at 100.0% (10256 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-21 12:42:53 +02:00
ZbeeGin f3392b5c99 Translated using Weblate (Polish)
Currently translated at 100.0% (10256 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-21 12:42:53 +02:00
Pferd O 7a38e3bf1e Translated using Weblate (German)
Currently translated at 99.0% (10154 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-04-21 12:42:53 +02:00
Pferd O 254ba394f1 Translated using Weblate (German)
Currently translated at 98.8% (10136 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-04-21 12:42:53 +02:00
Ivan Chuba 396b7b0054 Translated using Weblate (Estonian)
Currently translated at 3.7% (383 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/et/
2025-04-21 12:42:53 +02:00
Ivan Chuba ef594d7bb2 Translated using Weblate (Ukrainian)
Currently translated at 73.7% (7564 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-04-21 12:42:53 +02:00
Henrik Kauhanen a43956a87b Translated using Weblate (Swedish)
Currently translated at 99.5% (10213 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-04-21 12:42:53 +02:00
Ettore Atalan cfd5846f4e Translated using Weblate (German)
Currently translated at 98.8% (10133 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-04-21 12:42:53 +02:00
Henrik Kauhanen 6d22d32f46 Translated using Weblate (Swedish)
Currently translated at 99.5% (10205 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-04-21 12:42:53 +02:00
Henrik Kauhanen 64d2fef703 Translated using Weblate (Swedish)
Currently translated at 99.4% (10204 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-04-21 12:42:53 +02:00
Henrik Kauhanen 95b8e1241f Translated using Weblate (Swedish)
Currently translated at 99.0% (10160 of 10256 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-04-21 12:42:52 +02:00
Alex Shvartzkop 8051904211 Un-translate layer names in 3D appearance panel.
(cherry picked from commit 33fad39cf4)
2025-04-21 13:40:59 +03:00
Alex Shvartzkop 4239e706ea LTspice import: don't fail if some symbols are missing.
(cherry picked from commit c2d3c9b292)
2025-04-21 05:42:30 +03:00
Alex Shvartzkop c737bd392e LTspice import: adapt label spin when multiple wires connected
(cherry picked from commit 37103c6e15)
2025-04-21 05:42:30 +03:00
Alex Shvartzkop 496fc3b6bf LTspice import fixes:
- Support UTF-16 LE file encoding
- Support Invisible text justification
- Make added SCH_FIELD invisible by default, like in 8.0
- Adjust label orientations based on wire placements
- Fix arc windings in symbols
2025-04-21 05:42:30 +03:00
Jeff Young 5371312c6f Make auto text thickness active. 2025-04-20 19:59:05 +01:00
JamesJCode b23bd0ed92 Remove files from other branch 2025-04-20 18:00:50 +01:00
JamesJCode 2483ab4d7a Add calculation of unit propagation delay to PCB calculator 2025-04-20 13:04:04 +01:00
jean-pierre charras 1af76a9bef Pad properties dlg: Clearing thermal relief override (gap/spoke) does not work
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20709
2025-04-20 11:05:21 +02:00
jean-pierre charras 86b17f46de QA tests: fix missing initialization. 2025-04-20 10:28:42 +02:00
Alex Shvartzkop 6afedab205 OCCT 3D model export: parallelize fusing shapes and subtracting holes.
(cherry picked from commit aab730abc1)
2025-04-20 02:05:55 +03:00
Alex Shvartzkop 97be2d1ce0 OCCT 3D model export: fix missing soldermask shape when there's no polygons.
(cherry picked from commit ee513f7a8b)
2025-04-20 02:05:46 +03:00
Alex Shvartzkop 80373e90eb OCCT 3D model export: use per-net fusing to improve performance.
It's now possible to export bigger boards without running out of memory (and time).

STEP video -components +silk +mask +all copper:
- this commit: 9 minutes (most of it is STEP transfer)
- 9.0.0: 28 minutes
2025-04-20 02:05:30 +03:00
Alex Shvartzkop ad12fbd2f9 OCCT 3D model export: support different line styles for graphics.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18873
2025-04-20 01:59:45 +03:00
Lucas Gerads 16b4ee92bb Schematic: Fix Ltspice import with minor version number
- Files that contained a minor version number failed
- Now both works "Version X.X" and "Version X"
2025-04-19 19:43:14 +02:00
Wayne Stambaugh f0f6b5a09b Use schematic editor default font setting for plot job.
When the user does not define a font on the CLI or when plotting from a
job set, use the current schematic editor default font setting rather than
always defaulting to the "KiCad Font".

Set the --default-font CLI setting to an empty string so the the schematic
editor default font setting will be used.  Setting the --default-font CLI
option will override the schematic editor default font setting.
2025-04-19 12:56:39 -04:00
Jeff Young f102298eeb Use link icon instead of refresh icon. 2025-04-19 16:53:23 +01:00
jean-pierre charras b5a913e582 Fix a non-existing bitmap issue.
the bitmap BITMAPS::calculator, although in bitmaps_list.h, does not exists.
A suitable bitmap can be BITMAPS::icon_pcbcalculator_24.
So it is now used in ACTIONS::showCalculatorTool()
2025-04-19 16:52:33 +02:00
jean-pierre charras fd2822fb15 French translation update 2025-04-19 14:28:44 +02:00
jean-pierre charras a90e83a699 FOOTPRINT_WIZARD_FRAME: fix tools missing in toolbar (i.e. fix TODO items)
These TODO were to convert missing tools to actions.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20694
2025-04-19 14:14:14 +02:00
Jeff Young 49e04d3327 Remove accidental debug code. 2025-04-19 11:31:55 +01:00
Jeff Young 61986ab7c8 Load appearances presets to render job.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20660
2025-04-19 11:08:54 +01:00
JamesJCode 8229d2e915 Remove delay profile cache check only used on board load 2025-04-19 00:54:22 +01: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 80a25764eb Don't allow creation of delay via override if no profiles created 2025-04-19 00:06:36 +01:00
JamesJCode 0331ecb173 Fix stale data crash when updating delay profile data 2025-04-18 23:57:06 +01:00
Jeff Young 846ffa5659 Remove duplicate handling for grid checkboxes.
Also corrects logic of otherRow loop.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18843
2025-04-18 15:26:51 -07:00
Jeff Young ec6af4a5b4 Move Execute() to COMMON_CONTROL.
Also fixes other apps coming up in background.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20426
2025-04-18 13:41:19 -07:00
Jeff Young 920173a197 Make dialog spacing consistent. 2025-04-18 13:41:19 -07:00
Jeff Young 53e509326c Don't put null value in map as a side-effect of using []. 2025-04-18 13:41:19 -07:00
Jeff Young 24cef6d165 ADDED: calculator tools to Tools menu.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20426
2025-04-18 13:41:19 -07:00
Jeff Young f9011e9e35 Update sample script.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20538
2025-04-18 13:41:18 -07:00
Jeff Young 046f1c916b Reset colors on Reset to Default Settings.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20624
2025-04-18 13:41:18 -07:00
Jeff Young 8113824f7c Don't conflate generated fields (${DNP}) and fields with variable references.
They're not quite the same thing as the later
can have un-applied values which require expanding.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20417
2025-04-18 13:41:18 -07:00
JamesJCode c2df0951f9 Time domain tuning UI improvements 2025-04-18 13:41:18 -07:00
Alex Shvartzkop 8814d452fe Update translations 2025-04-18 03:09:55 +03:00
Ivan Chuba 30912470cd Translated using Weblate (Estonian)
Currently translated at 3.7% (379 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/et/
2025-04-18 02:07:57 +02:00
Ivan Chuba 15d88aed92 Translated using Weblate (Ukrainian)
Currently translated at 73.8% (7552 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-04-18 02:07:57 +02:00
Marco Ciampa 27910d0228 Translated using Weblate (Italian)
Currently translated at 99.9% (10216 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-04-18 02:07:57 +02:00
ZbeeGin 00d756ea66 Translated using Weblate (Polish)
Currently translated at 100.0% (10226 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-18 02:07:57 +02:00
2tama3 a088ddd693 Translated using Weblate (Japanese)
Currently translated at 98.3% (10060 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-04-18 02:07:57 +02:00
ZbeeGin fc8e41a0de Translated using Weblate (Polish)
Currently translated at 98.1% (10033 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-18 02:07:57 +02:00
Tokita, Hiroshi 3724789249 Translated using Weblate (Japanese)
Currently translated at 98.1% (10041 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-04-18 02:07:57 +02:00
CloverGit fc158d5d4b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.4% (10174 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-04-18 02:07:57 +02:00
rsr.private 109c15d22f Translated using Weblate (Catalan)
Currently translated at 41.2% (4217 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-04-18 02:07:56 +02:00
2tama3 b12a4b2650 Translated using Weblate (Japanese)
Currently translated at 98.1% (10037 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-04-18 02:07:56 +02:00
Adolfo Jayme Barrientos ccdb4e7f18 Translated using Weblate (Spanish)
Currently translated at 85.8% (8775 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-04-18 02:07:56 +02:00
Adolfo Jayme Barrientos 8f2707c663 Translated using Weblate (Catalan)
Currently translated at 41.0% (4202 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-04-18 02:07:56 +02:00
CloverGit 661437ba5b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.4% (10171 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-04-18 02:07:56 +02:00
Adolfo Jayme Barrientos c0e31e278f Translated using Weblate (Spanish)
Currently translated at 85.8% (8775 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-04-18 02:07:56 +02:00
Adolfo Jayme Barrientos c20165b13f Translated using Weblate (Catalan)
Currently translated at 41.0% (4194 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-04-18 02:07:56 +02:00
pominglee e873b85cd2 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.9% (10224 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-04-18 02:07:56 +02:00
Adolfo Jayme Barrientos f96372f100 Translated using Weblate (Catalan)
Currently translated at 40.7% (4168 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-04-18 02:07:56 +02:00
ZbeeGin 7fe235cd27 Translated using Weblate (Polish)
Currently translated at 98.0% (10024 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-18 02:07:56 +02:00
ZbeeGin 24f5e1c53a Translated using Weblate (Polish)
Currently translated at 97.7% (10000 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-18 02:07:55 +02:00
Pferd O 7158a9a693 Translated using Weblate (German)
Currently translated at 99.4% (10173 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-04-18 02:07:55 +02:00
Wellington Terumi Uemura 6f7c98d7d9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (10226 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-04-18 02:07:55 +02:00
co8 j 2d644aedbe Translated using Weblate (Japanese)
Currently translated at 98.0% (10026 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-04-18 02:07:55 +02:00
CloverGit 04feb955ef Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.4% (10170 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-04-18 02:07:55 +02:00
pominglee be167c021b Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.9% (10224 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-04-18 02:07:55 +02:00
CloverGit 1f1e98a7cf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.3% (10163 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-04-18 02:07:55 +02:00
Henrik Kauhanen 75f369ece9 Translated using Weblate (Swedish)
Currently translated at 99.5% (10182 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-04-18 02:07:55 +02:00
ZbeeGin d60a0cc27c Translated using Weblate (Polish)
Currently translated at 97.7% (9992 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-04-18 02:07:55 +02:00
Pferd O 1df9195de5 Translated using Weblate (German)
Currently translated at 99.1% (10134 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-04-18 02:07:55 +02:00
pominglee 6b59655102 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.7% (10205 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-04-18 02:07:55 +02:00
Anonymous a4ff701e7a Translated using Weblate (Korean)
Currently translated at 96.2% (9839 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-04-18 02:07:55 +02:00
Pferd O 2ee6c6b133 Translated using Weblate (German)
Currently translated at 98.8% (10104 of 10226 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-04-18 02:07:54 +02: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
Jeff Young 0820e90c73 Fix button sizing.
Hack appears to be no longer needed, and is causing
the side and bottom to clip (at least on MacOS).
2025-04-17 14:37:16 +01:00
Jeff Young c5093a5df0 ADDED: path info to job destination panel. 2025-04-17 14:37:16 +01:00
Jeff Young 70cbdbff89 ADDED: appearance preset selection to Render Jobs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20682
2025-04-17 14:37:16 +01:00
Damjan df8250fd70 pcbnew: Text box dialog doesn't have -Update Thickness According to Text Size- button 2025-04-17 11:06:55 +00:00
jean-pierre charras e6240f9fbf Fix kicad-cli pcb export gerbers --output argument type in help.
It is a directory name, not a filename

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20298
2025-04-17 11:26:27 +02:00
Jeff Young 194ee9ef25 Move Use45Limit processing to VIEWER_TOOLS.
(We need it for the ruler in footprint preview
widgets.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20668
2025-04-16 18:09:56 +01:00
Jeff Young 6bc9653029 Make sure footprint chooser has correct board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20669
2025-04-16 18:09:56 +01:00
JamesJCode 1c8e20b61f Further chasing of non-standard std::char_traits implementations 2025-04-16 17:48:46 +01:00
Jeff Young f66f2e522f Fix logic error in checking IsErrorLimitExceeded().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20671
2025-04-16 13:02:38 +01:00
Jeff Young 5279cc8767 Use EDA_COMBINED_MATCHER more consistently.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20678
2025-04-16 12:20:15 +01:00
Jeff Young 69bf9894e9 Fields don't currently have any metadata to search. 2025-04-16 11:41:56 +01:00
Jeff Young 0a8d5ea78b Fields don't currently have any metadata to search. 2025-04-16 11:33:16 +01:00
Jeff Young 6befe4badf Toolbars & SetConditions for SCH groups. 2025-04-16 11:31:56 +01:00
Alexander Boehm 70af60c930 multi-channel tool: do not duplicate uuids
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20665
2025-04-16 03:20:04 -04: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
JamesJCode 2ee66ccfac Fix compiler warning 2025-04-15 20:40:56 +01:00
Andrej Valek 9364bcdc9e SCH_EDITOR_CONTROL(paste): fix wrong cut behaviour
There was a missing behaviour when explicit removed annotation via specialpaste was requested. Add there a variable to compare the paste options.
2025-04-15 09:38:48 -07:00
wh201906 6d2b728fb1 Exclude brackets at the end of a URL in LinkifyHTML()
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20347
2025-04-15 09:37:23 -07:00
Dmitry Rezvanov a3fae053c4 pcbnew: Add sorting functionality for netclass assignments
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18819
2025-04-15 09:32:16 -07:00
Alexander Boehm 4bc099429c repeat layout: fixup net names of copied vias
When replicating a layout with the multichannel tool
the net names of vias are now updated to reflect the
potentially different connections in the target area.

Fixes https://gitlab.com/kicad/code/kicad/issues/20334
2025-04-15 09:28:27 -07:00
Mike Williams e64eeb0161 sch groups: make copy/paste work
Need to expand selection on copy
2025-04-15 10:19:40 -04:00
Mike Williams a57cd8a207 sch: don't remove/add items to selection while iterating
Likely needs backport
2025-04-15 10:19:40 -04:00
Mike Williams b9013b87d0 sch groups: add test case for loading from file 2025-04-15 10:19:40 -04:00
Mike Williams fd4b18140f group tool: make sure frame specific commits are created 2025-04-15 10:19:40 -04:00
Mike Williams 6ebadf9fbe sch groups: add load/save support 2025-04-15 10:19:40 -04:00
Mike Williams cdac27b2bc sch groups: implement rotate/mirror 2025-04-15 10:19:40 -04:00
Mike Williams 82ec293907 CW rotation: add missing default hotkey in sch/3d to match pcb editor hotkeys 2025-04-15 10:19:40 -04:00
Mike Williams 5eee8f1c5f sch_view: update to handle items with children 2025-04-15 10:19:39 -04:00
Mike Williams 0ba6882c47 commit: when deleting extra copy of double staged item, remove group 2025-04-15 10:14:40 -04:00
Mike Williams 5db091fc79 sch groups: clear group membership on destruction, add tests 2025-04-15 10:14:38 -04:00
Mike Williams 718bf40807 sch groups: add to API 2025-04-15 10:13:52 -04:00
Mike Williams 027b01750c sch view: mark some layers as display only 2025-04-15 10:13:52 -04:00
Mike Williams 05f3c47b4f groups: make selection tool work with groups 2025-04-15 10:13:50 -04:00
Mike Williams 8c9f4e7832 groups: tools/dialogs need commit screens for schematic 2025-04-15 09:59:38 -04:00
Mike Williams d6e7970738 sch: add group tool 2025-04-15 09:59:38 -04:00
Mike Williams f483fcd2d9 schematic: add groups support to undo/redo/commit 2025-04-15 09:59:38 -04:00
Mike Williams fa02c70604 schematic: draw groups 2025-04-15 09:59:38 -04:00
Mike Williams 0c0dbc6271 groups: commonize group tool 2025-04-15 09:59:38 -04:00
Dhineshkumar S fa517a0429 Fix missing change that ensures text is auto-completed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13508
2025-04-14 19:50:40 -07:00
Damjan c4ff42cb54 Adds dedicated anchor points for table
Allows snapping and easier alignment first tables



Fixes https://gitlab.com/kicad/code/kicad/-/issues/20184
2025-04-14 19:47:35 -07:00
Jeff Young d421af6e4d Rebuild connectivity after append board.
Append board reads the BOARD_ITEMs directly onto
the board and so pushes the commit with CHT_DONE
flags.  However, this means the added items aren't
added correctly to the connectivity system.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20314
2025-04-14 21:38:01 +01:00
Jeff Young adc5523f43 Bounds-check unit and body style from prop inspector.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20649
2025-04-14 21:36:19 +01:00
Jeff Young 10af2f04d3 Make test use the solder-mask healing algo. 2025-04-14 15:38:18 +01:00
Jeff Young ac265926b1 Restore bounds checking (even though its a performance hit). 2025-04-14 15:38:18 +01:00
Damjan 2d2f443aa4 pcbnew: Multi-line text in table cell 2025-04-14 14:07:36 +00:00
Damjan f4107fa4d6 pcbnew: flipping tables makes them walk 2025-04-14 14:06:06 +00:00
Jeff Young 38c822db9c Use individual silk/mask collision checking if solder mask min width is 0.
Using the combinde solder mask doesn't deal well
with exclusions since almost any change will affect
the combined mask.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17429
2025-04-14 14:05:35 +01:00
Jeff Young 8827323361 Remove Help menu hacks which appear to no longer be necessary.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10124
2025-04-14 11:52:07 +01:00
Jeff Young 2a2a73a1e9 Don't allow auto-conversion from double to EDA_ANGLE.
We have no idea if the double is in radians or
degrees.
2025-04-14 11:52:04 +01:00
dsa-t e6c76c6e21 Fix too small angle increment when stroking arcs.
The previous angle increment was about 0.0087 degrees.
Change it to 0.5 degrees.


(cherry picked from commit c5771d8874)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-14 06:45:32 +03:00
dsa-t 352e0035cf OCCT 3D model export: fix copper fusing issues on StickHub GND and #20515
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20515


(cherry picked from commit 2cebea3b04)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-14 00:16:31 +03:00
Jeff Young 8b19777d5d Revert part of name change that affects settings files. 2025-04-13 21:09:07 +01:00
dsa-t 4faa00e262 OCCT 3D model export: don't skip pads with duplicate pad numbers for pad points data.
(cherry picked from commit dfb66e2fdb)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-13 22:42:39 +03:00
dsa-t 6cb690fe6b Remove annoying tooltips in DRC/ERC dialogs.
(cherry picked from commit 58a76a2617)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-13 21:13:04 +03:00
Jeff Young 2d69b6e8ba Update pads connected to any connected tracks.
(Not just those selected.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20628
2025-04-13 18:23:52 +01:00
Jeff Young eece18f4a8 Formatting. 2025-04-13 18:23:52 +01:00
Jeff Young 57d0fa6f2d Handle ref & value proxies as if they were refs and values.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20613
2025-04-13 18:23:52 +01:00
jean-pierre charras 66a7abca09 DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE: use a better position for the marker.
It was put at arc center. Now put on arc middle.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20636
2025-04-13 18:01:44 +02: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
Jeff Young f1718370c4 Tests assume {0,0} sized table cells. 2025-04-13 12:04:14 +01:00
Jeff Young e90a3112f8 "Other" refers to fields other than refdes and value.
It has nothing to do with text items.

Also fixes some breakage with the introduction of
a separate scope item for dimensions.

Also rearranges the dialog a bit to make it fit
on smaller screens.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20633
2025-04-13 11:42:47 +01:00
Jeff Young 191327f7e8 Formatting. 2025-04-13 11:42:47 +01:00
dsa-t 9111a65302 OCCT 3D model export: don't show fusing errors for non-copper pads.
(cherry picked from commit 09da370512)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-13 08:18:55 +03:00
Matt Kosman 0890d3f1cb remove text angle reset when rotating multiple fields
The fields were properly rotated by field->rotate and don't need additional setting of the text angle.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19366
2025-04-12 16:11:05 -07:00
Seth Hillbrand 6f54b11431 Remove schematic view size limitation
We don't need to worry about scrollbar button sizes anymore, so we don't
need to limit the viewport size based on the page

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

(cherry picked from commit ff6bee400e)
2025-04-12 14:11:35 -07:00
Andrej Valek 069954fa31 SCH_EDITOR_CONTROL(paste): make the annotation working again
The pasteMode was enforced to UNIQUE_ANNOTATIONS and not respecting the
value in settings. Basically revert the old behavior with respecting the
KIID generation.

Fixes kicad/code/kicad#19828
2025-04-12 14:06:13 -07:00
Jeff Young 159302063a Move board characteristics and stackup to PCB_TABLEs. 2025-04-12 20:41:01 +01:00
Wayne Stambaugh aa1dbcba34 Fix broken label position algorithm in Eagle schematic importer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20593
2025-04-12 11:05:49 -04:00
Seth Hillbrand 7d195b73b2 Don't set board layers without board
When loading footprints, we may have undefined layers, they should not
be set unless we have a board

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20625
2025-04-11 15:12:55 -07:00
Wayne Stambaugh 9228369617 Code clean up of board GenCAD exporter. 2025-04-11 09:33:44 -04:00
Jeff Young a24f7121d8 Don't show mandatory fields in chooser.
Those we want are already accounted for in the
scoring algorithm.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20541
2025-04-11 12:23:47 +01:00
Jeff Young 598d446a38 Simplify libTree scoring algorithm.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20610
2025-04-11 12:23:47 +01:00
jean-pierre charras a661deb0ad BOARD_NETLIST_UPDATER: fix crash related to fields handling.
The crash happened when removing and deleting fields in footprint no
longer existing in netlist.
Crash due to a std::deque<PCB_FIELD*> modified during parsing, invalidating pointer.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20607
2025-04-11 11:16:25 +02:00
Wayne Stambaugh c810ef716d Actually prevent recursion when building connection sub-graph.
Propagating to neighboring connections when not a net will cause an
infinite recursion crash.  Use the wxCHECK2 instead of wxASSERT to
prevent this.

Add a bunch of question comments where the use of wxASSERT is questionable.
2025-04-10 16:31:59 -04:00
Jeff Young 45abc90885 Be explicit about table highlight colors.
(Unsurprisingly, the previous hack had side effects.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20606
2025-04-10 17:32:00 +01:00
Wayne Stambaugh 66fad52331 Update QA JSON files to prevent modified status after running QA test. 2025-04-10 11:47:33 -04:00
Wayne Stambaugh 4ae07d1122 Fix GenCAD arc track export when using board offset. 2025-04-10 10:11:00 -04:00
Brian Lu ea4b2b73bb Pcbnew: VRML Export: Footprint-relative 3D Models
CHANGED: Provide the footprint base path as the working directory to the
3D shape cache such that 3D models relative to the footprint may be
correctly resolved when exporting a PCB as VRML.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14505
2025-04-10 06:55:26 -07:00
Jeff Young 65a49cc3ba Resolve fonts for tablecells.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20605
2025-04-10 14:13:07 +01:00
jean-pierre charras e57bc3304f DIALOG_SIM_MODEL: fix possible crash when no lib loaded (null pointer)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20599
2025-04-10 13:17:30 +02:00
Jeff Young 7232a98b65 Remove redundant performance changes.
(Alex had already moved these to const char, which
avoids wxString's c'tor.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-04-10 11:40:37 +01:00
jean-pierre charras 065e9dbf46 PANEL_FP_EDITOR_FIELD_DEFAULTS: Fix incorrect default layer when adding a field
When adding a default field, the associated defaut layer was the layer used by
the previous default field. But it does not work for the first added field.
2025-04-10 09:03:21 +02:00
jean-pierre charras f29c19ef02 DIALOG_RULE_AREA_PROPERTIES: fix incorrect tool-tip
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20592
2025-04-10 09:00:26 +02:00
jean-pierre charras 945c990a53 pcb_group.i: add missing include to use PCB_GROUP. 2025-04-10 08:57:53 +02:00
Wayne Stambaugh 7ce2b2b85f Fix broken GenCAD arc tracks export. 2025-04-09 14:39:55 -04:00
Jeff Young 1d45de0d1d Performance.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-04-09 18:21:15 +01:00
Jeff Young 98ec2d7ba2 ADDED: metadata searching.
Symbol and footprint search panels can now optionally
search library links, descriptions and keywords.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10602
2025-04-09 17:46:07 +01:00
Jeff Young ec6bc85a29 No requirement to UNGROUP when we're recording entire parent FP.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20589
2025-04-09 12:18:26 +01:00
Jeff Young 702d802b22 Show library info for components in search panels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19721
2025-04-09 11:56:42 +01:00
Julien Serin f381c6e846 Feat add table selection with shift+click
ADDED now user can use shift+click to select multiple cell in a table with two click

Fixes https://gitlab.com/kicad/code/kicad/issues/19878
2025-04-08 11:57:35 -07:00
Jeff Young 60364a9062 Performance improvements for hatched fills (round 2)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20570
2025-04-08 17:35:35 +01:00
Jeff Young ee68280b27 Uninitialised member var. 2025-04-08 17:35:35 +01:00
Wayne Stambaugh cb1e6b62e9 Update QA test json files with latest changes. 2025-04-08 08:17:12 -04:00
Wayne Stambaugh 1176ff4a15 Use symbol line width schematic setting when printing and plotting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20574
2025-04-08 08:11:28 -04:00
Seth Hillbrand 3d29fae7a9 Remove TreeControl call from thread
On Windows, this may use SendMessageW, forcing a wait for UI in the
thread

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20572
2025-04-07 17:05:54 -07:00
Lucas Gerads 82003c8660 Simulator: Error checks for parsing ngspice intermediate file
- verify that the string "Values:" is actually found
- catch exceptions while parsing
- error messages
2025-04-07 15:48:34 -07:00
Alex Shvartzkop c5b132dd27 Altium PCB: fix 3D model opacity variable type.
See https://gitlab.com/kicad/code/kicad/-/issues/20507

(cherry picked from commit de1257abdf)
2025-04-07 23:24:09 +03:00
Alex Shvartzkop f4695081c1 Altium PCB: support 3D models import with duplicate filenames.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20507

(cherry picked from commit 3d36d41ea7)
2025-04-07 23:24:09 +03:00
Alex Shvartzkop 5d70b07c99 Altium PCB: fix padstack shapes import on F.Cu.
(cherry picked from commit 2c74d46d79)
2025-04-07 23:24:09 +03:00
Jeff Young 43aa63c1ec De-duplicate find results.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20569
2025-04-07 21:11:46 +01:00
Jeff Young 845cdb1b25 Performance optimisations for hatching. 2025-04-07 21:11:46 +01:00
Seth Hillbrand bccf365380 Isolate thread pool loops
Now that we are threading things in different frames, we need to watch
that we are not waiting for a process to complete in one frame while
working in another.  To accomplish this, we only wait for our own loop
results

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20572
2025-04-07 12:17:11 -07:00
Jeff Young f0ebf0a7cc Don't assume existence of default FP text items. 2025-04-07 18:19:10 +01:00
Jeff Young 3def4afaec ADDED: menu item to control searching of hidden fields.
Applies to both PCBNew & Eeschema search panels.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20370
2025-04-07 17:00:48 +01:00
Jeff Young 0659290417 Simplify hatch damage/rebuild and move it out of view.
There should be far fewer hatched objects than other
objects, so we're spending too much effort finding
all the possible damage when we probably should
just be auto-regenerating all the hatching.

This also moves it out of being done during redraw,
which was proving problematic.  Plus the refill
zones architecture does it during commit, and has
a lot more miles behind it.
2025-04-07 11:46:02 +01:00
Wayne Stambaugh c5ff61ba9c GenCAD board exporter fixes.
Strip leading zeros from copper layer mask string so the unique pad and
pad stack names are not 128 characters long.

Try a different fix for broken arc track orientations.
2025-04-06 17:53:49 -04:00
jean-pierre charras 848a6b6930 Pcbnew, DIALOG_SHAPE_PROPERTIES: fix an issue noticeable with POLY shapes.
After editing a polygon, the pointers m_parent and m_group where cleared.
They are now restored (like for other shapes).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20564
2025-04-06 14:45:42 +02:00
Jeff Young ac616b8c19 Restore visibility editing for fields.
(It got accidentally thrown out with visibility
for text items.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20560
2025-04-05 22:18:17 +01:00
Jeff Young 7a9db0f8c1 Formatting. 2025-04-05 22:18:17 +01:00
Jeff Young 2745945894 Improve thermal reliefs for hatched zones. 2025-04-05 22:18:17 +01:00
Jeff Young 860f52800e Performance. 2025-04-05 22:18:17 +01:00
Jeff Young 96491132ce Performance. 2025-04-05 22:18:17 +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
jean-pierre charras 12c82149bf DIALOG_SHAPE_PROPERTIES: fix wxWidgets debug alert. 2025-04-05 18:11:38 +02:00
jean-pierre charras 91d9863cc3 kicad-cli export gerbers: avoid incorrect behavior with a broken layer list.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20555
2025-04-05 12:03:29 +02:00
Jeff Young d4cc91f17a Via needs a parent for formatting. 2025-04-04 22:45:52 +01:00
Jeff Young 8b33b25e83 Use thermal reliefs to guarantee connection to hatched zones.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20447
2025-04-04 22:45:52 +01:00
Jeff Young 2c9c607b95 Fix thermal spokes for pad stacks. 2025-04-04 22:45:52 +01:00
Alex Shvartzkop 82f94e9185 Improve GetAppSettings performance.
There's no need to construct a wxString first.

(cherry picked from commit a6d81d019f)
2025-04-04 23:28:02 +03:00
Alex Shvartzkop 7a04389ac2 Improve pan performance when showing a large amount of TH pads.
See https://gitlab.com/kicad/code/kicad/-/issues/20506

(cherry picked from commit a1a710dfed)
2025-04-04 22:49:05 +03:00
Wayne Stambaugh 11edaa6e4a Use arc mid point for footprint library parity DRC testing.
The arc center is a pseudo coordinate which is calculated for drawing
purposes.  This mid point is fixed unless the arc is modified which
should result in more reliable arc parity footprint library DRC testing.

Also change EDA_SHAPE::Compare() to use the arc mid point.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15917
2025-04-04 15:30:44 -04:00
Wayne Stambaugh 642e4d37bc Include arc tracks when exporting to GenCAD. 2025-04-04 13:20:59 -04:00
jean-pierre charras 91dda80530 Pcbnew, printing vias: always print the via hole, even for small holes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20546
2025-04-04 16:40:53 +02:00
Jeff Young 200c4a9eae Be explicit about default anchor shape.
(Otherwise it doesn't work for padstack overrides.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20551
2025-04-04 13:28:27 +01:00
Jeff Young 7151d21f0b Performance optimisation.
Reduces board loading for #17820 from 15 seconds
to about 6.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17820
2025-04-04 13:28:27 +01:00
jean-pierre charras 9eea670617 SCH_TEXTBOX: Do not plot twice the textbox shape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20545
2025-04-04 13:03:07 +02:00
Wayne Stambaugh cf3dae0bb9 Fix assertions when exporting board to GenCAD.
Calling PCB_VIA::Width() without a layer will raise and assertion.  Check
if track is via when looping through a list of tracks and use the correct
width call.
2025-04-03 18:16:51 -04:00
Sean Mollet 380b5160d6 GENCAD export: Fixes to footprint hashing 2025-04-03 13:34:28 -04:00
Jeff Young cf96295fa1 Clipper2 is much faster at intersecting layers for drawing vertical walls.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9202
2025-04-03 16:57:45 +01:00
Sean Mollet 185491f2b8 GENCAD Export only produces a single pad - Fix 2025-04-03 11:30:03 -04:00
Jeff Young 661d002234 CHANGED: moved footprint lock shadows to children.
A full bounding hull wash gets overwhelming on
boards with lots of mechanically-constrained
objects.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14007
2025-04-03 14:38:14 +01:00
Jeff Young 2e556d0abc Plot tables in footprints. 2025-04-03 14:38:14 +01:00
jean-pierre charras f8ec23db00 WX_PT_ENTRY_DIALOG: enhancements: fix min size and add reset button.
It is used to enter a point position and a grid origin.
The new button (only in grid origin dialog) allows reset the position.
2025-04-03 13:19:20 +02:00
Mike Williams 40058ebe80 actions: move all basic selection operations to common actions 2025-04-02 12:02:01 -04:00
Jeff Young 8ff0aafbb8 Handle groups in footprints when filtering selection. 2025-04-02 16:22:21 +01:00
Jeff Young a0ec7f59c4 When pulling children out of footprints don't format them wrong.
If we leave a footprint parent pointer then we'll
format as fp_line, fp_arc, etc. instead of gr_line,
gr_arc, etc.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20537
2025-04-02 13:22:40 +01:00
Jeff Young 901ad3064d Remove assert that fires when applying preset.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20467
2025-04-02 13:06:40 +01:00
Jeff Young db911c0d91 Improve debugging. 2025-04-02 13:06:40 +01:00
Jeff Young 967bf1d0a1 m_root is not guaranteed to be non-null. 2025-04-02 13:06:40 +01:00
Mike Williams 05e9772d54 groups: extract common class methods into EDA_GROUP base class 2025-04-01 14:34:20 -04:00
Mike Williams 8b69ec4761 dialog_group_properties: move to common 2025-04-01 14:34:20 -04:00
Mike Williams 5fd294cad2 eda frame: hoist FocusItem calls up a layer
Prep for SCH_GROUPs
2025-04-01 14:34:20 -04:00
Mike Williams f40b24d04a groups: move actions to common actions 2025-04-01 14:34:20 -04:00
Mike Williams 43e432f9ad sch_group: add basic class implementation + test 2025-04-01 14:34:20 -04:00
jean-pierre charras 76929808d3 PCB_TEXTBOX:: Rotate: fix size change for rotation by not 90deg
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20529
2025-04-01 19:55:53 +02:00
Jeff Young 7f9a277594 Remove unsafe C-style casts. 2025-04-01 18:04:33 +01:00
Jeff Young 0573a32f36 Fix first tab having no effect after changing grid value. 2025-04-01 16:27:35 +01:00
Jeff Young a1fe0f7faf Don't process grid-change events when we're rebuilding the grid.
The selection has already changed and it's too
late to update any values.

Also regularises the event.Skip() handling from
8a1347d2c8.
2025-04-01 15:26:56 +01:00
Jeff Young 6f6ef8e626 Reset status popup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20489
2025-04-01 14:36:02 +01:00
Jeff Young 5e0beb97ee Nullptr safety.
KICAD-7DX
2025-04-01 12:19:56 +01:00
Jeff Young 7b76aa4992 Move HasMessageOfSeverity to base class.
KICAD-HPP
2025-04-01 12:19:53 +01:00
Jeff Young 2ce7535318 Stack objects should not have parents or groups.
KICAD-KXY
2025-04-01 12:19:50 +01:00
Jeff Young 22769b9159 Once the selection has changed, we can't commit changes.
KICAD-6Y9, among others.
2025-04-01 12:19:46 +01:00
JamesJCode 9920751eb7 Fix net inspector thaw location to not break selection on MSW 2025-03-31 21:06:52 +01:00
JamesJCode 1202838135 Freeze net inspector data view when rebuilding the list of nets
Attempt to fix #20521 but it is very hard to reproduce

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20521
2025-03-31 20:47:03 +01:00
Jeff Young 6e566b2819 Remove shadowed type (DRILL_MARKS).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20522
2025-03-31 20:00:16 +01:00
Steven A. Falco 688448f9ab Fedora 43 will need python 3.14 support 2025-03-31 19:46:55 +01:00
Wayne Stambaugh ef5cd6bb28 Merge PAD::addPadPrimitivesToPolygon() into PAD::MergePrimitivesAsPolygon().
It was only used in MergePrimitivesAsPolygon() and it was only a few lines
long.
2025-03-31 14:25:01 -04:00
jean-pierre charras c8b57c50dc DIALOG_SYMBOL_FIELDS_TABLE: fix a ugly look issue specific to wxMSW
The recent change use a two lines title in a widget. It works fine on Linux
and MAC, but is not supported on Windows.
So, on Windows, a one line title is used.
2025-03-31 18:46:47 +02:00
Jeff Young 822e188d55 Knockout entire hatched shape when filling zones.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20510
2025-03-31 17:31:35 +01:00
Wayne Stambaugh d52d0d0aad Don't clobber SCH_SCREEN paths when adding new sheet from existing file.
The screen path will always be the correct absolute path.  Otherwise it
would not be possible to load it.

Don't reset the first sheet file path to relative if the user did not
request it.

Don't use results of a failed call to wxFileName::MakeRelative() to set
sub-sheet file paths.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20502
2025-03-31 11:22:33 -04:00
Jeff Young 9b71102dd8 Don't presume there are at least two footprint text
defaults.

Yes, we ship that way, but a user could delete one
or edit their json file.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20398
2025-03-31 15:34:46 +01:00
Jeff Young 14ca6e7b08 Clearer column titles.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20509
2025-03-31 15:14:59 +01:00
Jeff Young 4ae4f9ea87 Wait for wxWidgets to destroy window. 2025-03-31 15:14:59 +01:00
JamesJCode 141097549c Fix incorrect iterator container comparison
Fixes Coverity warning CID 548258
2025-03-31 14:39:28 +01:00
Jeff Young 582aef0220 Don't assume a hypertext link is a cross-sheet reference.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20511
2025-03-30 21:55:28 +01:00
Wayne Stambaugh 2b0d082df5 Move all PAD object methods to into PAD object source file.
No functional changes.  Just make it easier to find all of the PAD object
methods.
2025-03-30 11:35:06 -04:00
jean-pierre charras d729b34986 Eeschema, DIALOG_FIELD_PROPERTIES: fix a strange bug specific to wxMSW.
wxStyledTextCtrl, SetExtraAscent() + SetExtraDescent() methods, when set
to a value not 0 generate a strange bug: the text is not always shown
(when enter a char, once the text is shown, once the text is not shown)
(Perhaps a wxMSW bug) and this call is not needed on WXMSW
2025-03-30 17:29:03 +02:00
Jeff Young 9066ad3620 Report global physical_clearance issues before moving on to layers.
Also fixes a bug in reading m_LayerSource.

Also simplifies Edge_Cuts handling to better match
actual DRC checks.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20498
2025-03-30 14:22:56 +01:00
Carsten Presser 33ee9e99fe Improve rectifier demo
This demo project used old symbols that don't match the current style of
the library. Replace them with the correct ones.
But also move them to the project library again.
Add a workbook that has the simulation traces selected.
2025-03-30 06:53:21 -04:00
jean-pierre charras 79fbae00ce FP editor preferences: Fix crash when closing (by OK) the dialog if no FP loaded.
After opening the PANEL_FP_EDITOR_FIELD_DEFAULTS panel, due to a null pointer
when no FP loaded in FP editor, closing the dialog by OK button crashed Pcbnew.
2025-03-30 11:19:37 +02:00
jean-pierre charras 97e1c107c9 PANEL_FP_EDITOR_FIELD_DEFAULTS: fix incorrect behavior.
One could not change the default layers for new fp texts

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20505
2025-03-30 11:19:37 +02:00
JamesJCode 906c24bc6d Unify length calculation between router, board / frame, and DRC 2025-03-30 09:18:41 +01:00
Jon Evans 12861345d3 API: Brute-force fix for footprint modifications 2025-03-29 23:53:55 -04:00
JamesJCode 7a4325e610 Net inspector groups should be case insensitive 2025-03-30 00:04:37 +00:00
Jeff Young 60a26308ae COMMIT lifetime safety.
If we pass a COMMIT to a posted action, the COMMIT
may no longer exist when the action is run.
Equally problematic, if another COMMIT is pushed
in between we'd probably also run into trouble.

We still allow the API to do this because we don't
have a better solution at present.  But we need
one.
2025-03-29 21:24:08 +00:00
Jeff Young 4f115b12a4 Fix format string. 2025-03-29 21:24:08 +00:00
Jeff Young b62f00912e Remove debug assert that's clogging up Sentry. 2025-03-29 21:24:08 +00:00
Jeff Young 408d3a0170 Code clarity. 2025-03-29 21:24:08 +00:00
Jeff Young baaf341d0d Remove debug assert.
Yes, it does indeed fire (a lot, as Sentry can
tell us).
2025-03-29 21:24:08 +00:00
Jeff Young 4783bc4cfd Don't respond to net navigator events while we're updating the wxTreeCtrl. 2025-03-29 21:24:08 +00:00
Jon Evans 31f3c44520 API: Clear footprint caches when making changes 2025-03-29 16:47:13 -04:00
jean-pierre charras 313cc15fd3 French translation update 2025-03-29 12:54:43 +01:00
Jon Evans dc9fa2e2ac More functional fix for IPC API item modifications
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206
2025-03-28 20:27:45 -04:00
Jon Evans 3bac9344d2 Revert "Switch to operator= for item updates"
This reverts commit d0b22d21bb.
2025-03-28 20:27:45 -04:00
Seth Hillbrand 6d0e0312b2 Update translations 2025-03-28 16:28:56 -07:00
pominglee 175a326307 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.0% (10100 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-03-29 00:27:42 +01:00
Adolfo Jayme Barrientos a4ad5dc773 Translated using Weblate (Spanish)
Currently translated at 85.3% (8704 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-29 00:27:42 +01:00
pominglee 1437e66741 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 98.3% (10031 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-03-29 00:27:42 +01:00
Adolfo Jayme Barrientos 7f32b2452d Translated using Weblate (Spanish)
Currently translated at 85.2% (8701 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-29 00:27:42 +01:00
Wellington Terumi Uemura 1bed76bed8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (10201 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-03-29 00:27:42 +01:00
CloverGit 3990c61ea8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.6% (10170 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-29 00:27:42 +01:00
Henrik Kauhanen 11ba582d87 Translated using Weblate (Swedish)
Currently translated at 99.5% (10156 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-29 00:27:41 +01:00
CloverGit e6f4b02e9c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.6% (10163 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-29 00:27:41 +01:00
Adolfo Jayme Barrientos 560e91880e Translated using Weblate (Spanish)
Currently translated at 85.0% (8675 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-29 00:27:41 +01:00
pominglee c187c098ae Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 88.7% (9051 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-03-29 00:27:41 +01:00
Adolfo Jayme Barrientos be4b25026d Translated using Weblate (Spanish)
Currently translated at 85.0% (8673 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-29 00:27:41 +01:00
Ettore Atalan 286518e926 Translated using Weblate (German)
Currently translated at 99.1% (10116 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-29 00:27:41 +01:00
Marco Ciampa 49b145a6a0 Translated using Weblate (Italian)
Currently translated at 99.9% (10191 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-29 00:27:41 +01:00
lylythechosenone 8f9a6fde98 Translated using Weblate (Spanish (Mexico))
Currently translated at 83.9% (8559 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es_MX/
2025-03-29 00:27:41 +01:00
yanzhen zhu 5107bd43e7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.2% (10126 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-29 00:27:41 +01:00
Pferd O 01936b1683 Translated using Weblate (German)
Currently translated at 99.1% (10113 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-29 00:27:41 +01:00
Henrik Kauhanen 5d49f4a3e9 Translated using Weblate (Swedish)
Currently translated at 98.5% (10054 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-29 00:27:41 +01:00
dsa-t 7c5ce03a93 Translated using Weblate (Russian)
Currently translated at 97.4% (9936 of 10201 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-29 00:27:41 +01:00
Seth Hillbrand deb14110aa Remove accident call to default SSHKey
The sshkey should not be reset when changing to https protocol.
2025-03-28 16:25:32 -07:00
Jeff Young 629a12ab2e Don't obliterate user data when syncing copper layer count.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20484
2025-03-28 19:24:58 +00:00
Michael712 d59f624001 Don't use transform coordination for height/width property display of rectangles
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20468
2025-03-28 16:38:12 +00:00
Ian McInerney fd94488289 Mark ODB++ as export-only
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20493
2025-03-28 15:32:03 +00:00
Jeff Young 151cb01795 Mirror pad numbers when appropriate.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20459
2025-03-27 23:28:30 +00:00
Mike Williams 659c783e5e API: unbreak the build (SwapData -> SwapItemData) 2025-03-27 14:11:06 -04:00
Jeff Young 7ba07a3bb0 Use action to change current sheet.
That way it gets into the navigation hierarchy,
the current zoom gets saved, etc.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20466
2025-03-27 17:56:53 +00:00
Mike Williams c67924ccac schematic: convert RunOnChildren to also take recursion mode argument
Prepping for SCH_GROUPS, making consistent with the PCB code.
2025-03-27 13:16:09 -04:00
Mike Williams a90b8ec57a pcb: merge RunOnChildren/Descendants into one function with a mode 2025-03-27 13:16:09 -04:00
Mike Williams 7cf699bc9d eeschema: move SwapData to SwapItemData/swapData paradigm
Used by BOARD_ITEM to support groups, which we are adding to the
schematic. Also adds an unused group pointer for now.
2025-03-27 13:16:09 -04:00
Jeff Young 79924b5dfd Don't gate drill mark plotting on unenabled copper layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20460
2025-03-27 16:57:10 +00:00
Quentin Freimanis 78b6ca8256 clear itemByIdCache in IncrementTimestamp 2025-03-27 11:50:54 -04:00
Jeff Young 8076bfa3c7 Use std::optional to better flag presence of arguments.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20460
2025-03-27 13:58:11 +00:00
Jeff Young 96835cbfcf Job layersets come in already parsed.
Only CLI argments need parsing at the handler level.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20460
2025-03-27 12:01:22 +00:00
Jeff Young 07eda5d57e ADDED: report copper area for current selection.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20439
2025-03-27 10:14:30 +00:00
Jeff Young d16a5bf87d Formatting. 2025-03-27 10:14:30 +00:00
Seth Hillbrand 937f225df0 Update tree based on elements not map
Rather than updating the tree with all elements in the map (some of
which may have changed), we iterate over the tree and set those elements
that we find in the map.  This ensures that all elements updated in the
tree exist there

(cherry picked from commit 579c08155f)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20464
2025-03-26 13:11:58 -07:00
Seth Hillbrand 22e1f70a7e Remove requirement for name
Name is not needed for new git repos and is hidden, so can't be set
2025-03-26 12:36:31 -07:00
Jeff Young 88267c4a47 Formatting. 2025-03-26 16:49:36 +00:00
jean-pierre charras 99e65afa1f Pcbnew, plot F&B Fab: ensure the DNP mark is plotted only on the right layer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20458
2025-03-26 16:26:30 +01:00
Jeff Young 01c1ff47ad Don't generate hatched fills for connectivity, etc.
(And in particular, don't regenerate them from
within the multi-threaded connectivity algo.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20451
2025-03-26 14:50:34 +00:00
Jeff Young 2ca09457b0 Formatting. 2025-03-26 14:50:34 +00:00
jean-pierre charras 3dfd164e2b Fix typo 2025-03-26 14:55:25 +01:00
jean-pierre charras 3e51b2c647 Pcbnew, performance fix: rebuild the pad view only when mandatory.
The LAYER_PAD_HOLEWALLS shape needs a rebuild only when the zoom level changes.
So keep trace of the last GAL zoom level to rebuild the shape, and only rebuild
the view when needed
2025-03-26 13:19:00 +01:00
jean-pierre charras 7bd4fa3fa6 Fix a Coverity and a compil minor warning 2025-03-26 13:19:00 +01:00
Jeff Young 34f12dc4be ADDED: fieldname template reordering.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20420
2025-03-26 11:11:09 +00:00
Tomasz Wlostowski 5f620f0fa1 router: don't try to lock the first vertex of a zero-vertex line. Might crash (sometimes).
Fixes https://gitlab.com/kicad/code/kicad/issues/20440
2025-03-26 00:12:43 +01:00
Seth Hillbrand 2dfe4d4716 Cleanup noisy assert
When undoing the addition of a symbol to the schematic, the symbol does
not originally have a parent, so we can't find the current sheet in
order to find the correct pins.  But we know the sheet in the undo list,
so we can just pass it in
2025-03-25 16:02:31 -07:00
Mike Williams cdbf71a562 eeschema: remove old source file 2025-03-25 14:06:37 -04:00
Jeff Young da05ad93ac Fix being able to delete custom layer names.
(Or anything in a PARAM_MAP, but layer names appear
to be the only current use of it.)
2025-03-25 18:06:00 +00:00
Jeff Young 3380afd9fd Auto-enable user layers that have custom FPEditor names. 2025-03-25 17:34:43 +00:00
Wayne Stambaugh 1b40ddaba5 Update default schematic when creating a new project.
Adding the missing default page number ("1") allows the CLI plotting and
printing by page number to work correctly even if the schematic hasn't been
saved in the schematic editor.

This also adds a default new schematic UUID and embedded font setting.

Use the fancy new file formatting style.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20448
2025-03-25 11:13:33 -04:00
Tomasz Wlostowski 1638322649 KIGIT: fix crash when the repo has no remote set 2025-03-25 16:06:52 +01:00
Wayne Stambaugh 69f758dbcd Update QA configuration files to the latest changes.
This prevents having to revert the changes to these files every time the
QA tests are run.
2025-03-25 10:56:33 -04:00
Wayne Stambaugh 7bc1404956 Fix broken Eeschema QA test when building jumper connectivity.
Don't attempt to access the library symbol jumper pin information when the
symbol doesn't have a valid library symbol reference.
2025-03-25 10:44:30 -04:00
Jeff Young b5cd5d2e27 Remove performance disclaimers from Render Job Options. 2025-03-25 13:25:00 +00:00
Jeff Young 6181fa5a91 Code clarity. 2025-03-25 13:22:24 +00:00
Jeff Young 4cd007cb6d Don't cover STL types. 2025-03-25 13:09:14 +00:00
Jeff Young 6e2914b990 Update terminology. 2025-03-25 12:05:54 +00:00
Jeff Young ab43c3c6b5 Process non-copper keepouts in footprints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20405
2025-03-25 11:52:34 +00:00
Jeff Young e48ad06cab Footprint editor doesn't need grid overrides for tracks/vias. 2025-03-25 11:13:13 +00:00
Jeff Young 9a7b82a8c0 MOVED: fp editor layer names to Display Options.
(It was on Footprint Defaults, which didn't make
any sense.  Probably just ended up there because
there was similar code there.)

Also fixed a bug with accepting the dialog with
a grid cell editor open.

Also fixed a bug where the number of copper layers
would get set back to 2.

Also fixed a bug where the layer names weren't
getting updated in the Appearances tab.
2025-03-25 10:34:01 +00:00
Jon Evans 1c83f0a70b Implement jumpers for footprints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558
2025-03-24 22:17:46 -04:00
Jon Evans 805ca0c791 ADDED: Jumpers for symbols
Support explicit jumper symbols, defined either by a
flag that all pins with the same number are connected,
or by explicit groups of jumpered pins

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558
2025-03-24 22:08:46 -04:00
Seth Hillbrand cf93cdf13f Respect user preference for rebase/merge 2025-03-24 15:40:25 -07:00
Seth Hillbrand 074b511fab Adjust OBJECT_DEPENDS for MacOS
It appears that MacOS only sees the last key/value for the
source_file_property whereas Linux/Windows see all depends.  This works
around the different by getting the value first, accumulating in the
loop and setting once at the end
2025-03-24 14:07:23 -07:00
Jeff Young d2b3f8ba28 ADDED: some individual flags for render jobs.
Also fixes bug where error code wasn't returned.

Also fixes bug where user's preferences were being
overwritten with each job.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20436
2025-03-24 20:00:13 +00:00
Seth Hillbrand 9113651076 Update translations 2025-03-24 12:08:07 -07:00
Håvard Syslak 5422cff30b Translated using Weblate (Norwegian Bokmål)
Currently translated at 40.1% (4078 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nb_NO/
2025-03-24 19:59:32 +01:00
Viktor Döme 2fb0fd8de1 Translated using Weblate (Hungarian)
Currently translated at 5.8% (597 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-03-24 19:59:32 +01:00
Adolfo Jayme Barrientos d8f37ff86a Translated using Weblate (Spanish)
Currently translated at 85.1% (8654 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:32 +01:00
Pferd O b57d1f9ab5 Translated using Weblate (German)
Currently translated at 99.5% (10119 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-24 19:59:32 +01:00
Adolfo Jayme Barrientos 09e34d2b58 Translated using Weblate (Catalan)
Currently translated at 41.0% (4172 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-24 19:59:32 +01:00
Adolfo Jayme Barrientos 65e1e12eaf Translated using Weblate (Spanish)
Currently translated at 84.5% (8589 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:32 +01:00
co8 j 51ddfa359f Translated using Weblate (Japanese)
Currently translated at 98.8% (10046 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-24 19:59:32 +01:00
Adolfo Jayme Barrientos 6f0350c761 Translated using Weblate (Spanish)
Currently translated at 84.4% (8578 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:32 +01:00
Adolfo Jayme Barrientos 7562f6a804 Translated using Weblate (Catalan)
Currently translated at 40.9% (4165 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-24 19:59:32 +01:00
ZbeeGin 3eef769de5 Translated using Weblate (Polish)
Currently translated at 98.3% (9993 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-03-24 19:59:32 +01:00
Marco Ciampa ea62ece5a4 Translated using Weblate (Italian)
Currently translated at 99.9% (10153 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:32 +01:00
Marco Ciampa e167bd8782 Translated using Weblate (Italian)
Currently translated at 99.2% (10083 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:31 +01:00
Marco Ciampa fccddf8330 Translated using Weblate (Italian)
Currently translated at 98.7% (10040 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:31 +01:00
Marco Ciampa 63d5b2bea9 Translated using Weblate (Italian)
Currently translated at 98.5% (10020 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:31 +01:00
Marco Ciampa ef76fbbd94 Translated using Weblate (Italian)
Currently translated at 97.8% (9946 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:31 +01:00
CloverGit 4ab1964a1c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.6% (10123 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-24 19:59:31 +01:00
Adolfo Jayme Barrientos 84d6ee94c7 Translated using Weblate (Spanish)
Currently translated at 83.5% (8492 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:31 +01:00
Pferd O 95f99c2731 Translated using Weblate (German)
Currently translated at 99.5% (10117 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-24 19:59:31 +01:00
Adolfo Jayme Barrientos 60f331862a Translated using Weblate (Spanish)
Currently translated at 83.5% (8491 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:31 +01:00
ZbeeGin 67b8226960 Translated using Weblate (Polish)
Currently translated at 98.1% (9979 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-03-24 19:59:31 +01:00
Adolfo Jayme Barrientos b678e73e71 Translated using Weblate (Spanish)
Currently translated at 83.3% (8468 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:31 +01:00
co8 j 750956da7b Translated using Weblate (Japanese)
Currently translated at 98.8% (10044 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-24 19:59:30 +01:00
Tokita, Hiroshi 30fc350550 Translated using Weblate (Japanese)
Currently translated at 98.8% (10043 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-24 19:59:30 +01:00
Adolfo Jayme Barrientos 0ee47a3492 Translated using Weblate (Spanish)
Currently translated at 82.7% (8414 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-03-24 19:59:30 +01:00
Marco Ciampa b618cd353b Translated using Weblate (Italian)
Currently translated at 97.8% (9943 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:30 +01:00
Marco Ciampa cfc3364b58 Translated using Weblate (Italian)
Currently translated at 97.1% (9875 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-24 19:59:30 +01:00
co8 j 66f670ca18 Translated using Weblate (Japanese)
Currently translated at 98.7% (10039 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-24 19:59:30 +01:00
Tokita, Hiroshi ab27d41dfe Translated using Weblate (Japanese)
Currently translated at 98.7% (10039 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-24 19:59:30 +01:00
Wellington Terumi Uemura 8dc2733a33 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (10163 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-03-24 19:59:30 +01:00
Niyazi 76eee9be4a Translated using Weblate (Turkish)
Currently translated at 65.0% (6606 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-24 19:59:30 +01:00
Pferd O ba782e5bed Translated using Weblate (German)
Currently translated at 98.6% (10026 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-24 19:59:30 +01:00
Henrik Kauhanen c5804bebde Translated using Weblate (Swedish)
Currently translated at 98.9% (10056 of 10163 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-24 19:59:30 +01:00
Seth Hillbrand f83e607e6e Enable/disable git tracking in user prefs
Don't require advanced config for people who want to disable
2025-03-24 11:52:50 -07:00
Mike Williams 6d0a8cd346 pcb design blocks: fix net code mismatch when saving selection 2025-03-24 10:21:27 -04:00
Jeff Young 9c375581ff Don't assert (or crash) on shutdown.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20433
2025-03-24 12:36:44 +00:00
Jeff Young 0a4533703c Performance. 2025-03-24 10:28:41 +00:00
Jon Evans d205a136a9 Ignore KiCad lock files 2025-03-23 20:08:05 -04:00
Jon Evans 8921824128 Mark pad as dirty when changing layerset
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20435
2025-03-23 20:08:05 -04:00
Ethan Chien 52514e1bfe Update CMake presets to version 9 and enhance build configurations for Windows 2025-03-23 03:51:38 +08:00
Seth Hillbrand 36366e254d Ignore autogenerated files 2025-03-22 08:04:31 -07:00
Seth Hillbrand ea36110980 Trying again to fix Mac build 2025-03-21 17:07:28 -07:00
Seth Hillbrand b65ceb60b2 Fix builds for newer libgit2 (1.8.0 and newer) 2025-03-21 17:03:28 -07:00
Seth Hillbrand faf6243d1a Fix build on Windows 2025-03-21 14:42:52 -07:00
Seth Hillbrand b8225ba2d6 Fix some regressions in git handling
Set default to rebase for pull
Update error string on auth failure
Improve trace logging
2025-03-21 11:55:44 -07:00
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 5e61a5193f Fix misleading cast. 2025-03-21 13:49:07 +00:00
Seth Hillbrand e6843cde64 Don't re-read tokens on error
If the data were empty, there is no token, so curTok will represent the
right paren, not the next token

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

(cherry picked from commit d2550138bc)
2025-03-20 13:12:44 -07:00
Mike Williams e11cf94a3e design blocks: add PCB design blocks behind advanced config
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2508
2025-03-20 15:13:52 -04:00
JamesJCode e64239969a Fix compiler warnings 2025-03-20 18:42:20 +00:00
Jeff Young 9a1e42f228 Autocomplete for Execute Command job.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19735
2025-03-20 16:59:40 +00:00
Wayne Stambaugh f5cae044d0 Fix Coverity issue #545159 and all related issues.
Don't use fmt::format() when formatting wxString objects.  It will throw
an exception on an argument type mismatch which isn't handled in most
code paths.

This also prevents the conversion of the fmt::format() arguments from
wxString to std::string and the result from std::string back to wxString
for the return value.

https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=545159
2025-03-20 11:16:02 -04:00
Seth Hillbrand b567532af7 Add minimum libgit2 version
Crashes have been reported with libgit2 1.3.2 and ssh key handling

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20204
2025-03-20 06:56:34 -07:00
Jeff Young 59e77e977e Don't use net/netclass colors for label graphic shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19589
2025-03-20 13:52:21 +00:00
Jeff Young 1b7f92f4c5 Refresh search when showing pane.
(Events will have been ignored while it is
hidden.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20009
2025-03-20 12:25:58 +00:00
Jeff Young b366204824 Handle home dir shortcut in jobset destinations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20032
2025-03-20 10:45:53 +00:00
Brendan Hickey 33a8cd942f Increase GerbView max DCode Id to 2^31-1
I (charrasjp) fixed the compil issues of the Brendan Hickey's initial work and some other minor issues.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20323
2025-03-20 11:27:53 +01:00
Jeff Young 86e1d4c684 Shorten opt-in text and improve Yes/No button labels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20027
2025-03-20 10:24:02 +00:00
Jeff Young 5ec526fe4f Don't write out empty footprint filters.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20394
2025-03-20 10:02:26 +00:00
Jeff Young d3f57fac5a Must assign extension to keep from stripping last '.' section.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20065
2025-03-20 09:48:08 +00:00
Jeff Young 0aa4f11970 Fix format string. 2025-03-20 09:48:08 +00:00
jean-pierre charras 21725eeef3 ~EDA_DRAW_PANEL_GAL(): Fix crash: ensure a onShowEvent is not fired.
Due to changes in EDA_DRAW_PANEL_GAL (a wxEVT_SHOW event was added) when
destroyed a dialog using it (namely the PAD editor) a wxEVT_SHOW event was fired
during Dtor process (at least on Windows). It is now disabled in Dtor.
2025-03-20 10:12:59 +01:00
Mike Williams a648fccbb3 schematic editor: remove 10ms OnShow timer to reduce CPU load
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20385
2025-03-19 15:05:54 -04:00
Jeff Young 19d1b6ec52 Don't let legacy overbar processing mess up empty-string test. 2025-03-19 18:14:30 +00:00
Jeff Young eb4a52f372 Remove debugging code accidentally left in. 2025-03-19 17:44:17 +00:00
Jeff Young f0c81e972f Fix accidental ingoring of rotation angle.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20271
2025-03-19 17:16:55 +00:00
Jeff Young 7e046e6c8b Remove '~' == empty_string.
It has long outlived its usefulness (which was
to preserve token sequence in pre-sexpr files).

This will no doubt turn up latent issues....
2025-03-19 17:16:55 +00:00
Wayne Stambaugh bc4a40de76 Fix Coverity issue #543091.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=543091
2025-03-19 12:38:50 -04:00
Wayne Stambaugh 4cb234862c Fix Coverity issue #542006.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=542006
2025-03-19 12:07:05 -04:00
Mike Williams 18010b1104 selection: sort box selection by rows and columns by default
Some tools can take a selection order and it is nice to provide a
sane human-oriented default sorting when box selecting.
2025-03-19 10:25:35 -04:00
Mike Williams 7578439b0c PCB editor: extend create array functionality to arrange existing items
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19919
2025-03-19 10:23:15 -04:00
jean-pierre charras b7fd26e026 PANEL_DESIGN_BLOCK_CHOOSER: use the same draw engine type as in main frame.
This is not always the Opengl GAL_TYPE

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20386
2025-03-19 11:33:53 +01:00
Jeff Young 8994f6abd7 Leave navigation controls active.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20378
2025-03-19 10:20:43 +00:00
Jeff Young 3328dc48be Don't leave dangling event handler.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20380
2025-03-19 10:14:24 +00:00
Jeff Young b4640cdc55 Search all fields, hidden or not.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20370
2025-03-19 08:55:32 +00:00
Jeff Young 0a3ddd33ee Use ERROR_INSIDE for knockout text (and a 0 gap). 2025-03-19 08:55:32 +00:00
Jeff Young 824c7ecfa7 Improve readability.
Also drops a parameter that hasn't been implemented
since early 2022.
2025-03-19 08:55:32 +00:00
JamesJCode 983d14d371 Fix compiler warning 2025-03-18 23:46:09 +00:00
JamesJCode 0f1f6b23a8 Test symbol outline collisions for rule areas, not just bounding boxes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20383
2025-03-18 23:04:48 +00:00
JamesJCode 24a8c2a684 Ensure PNS length tuning calculation uses correct layer ID context
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20372
2025-03-18 12:37:16 +00:00
Jon Evans 4ef0d3554e Handle duplicate entries in BOM presets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20342
2025-03-17 18:37:52 -04:00
Jon Evans 2ef123d9e1 Code style 2025-03-17 18:27:33 -04:00
Wayne Stambaugh 7645f05962 Change code formatter configuration files from 100 to 120 characters. 2025-03-17 17:34:15 -04:00
Jeff Young 6307f0aee8 Use board layer names when available.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20360
2025-03-17 21:23:56 +00:00
Jeff Young 142f8265c5 Simplify (and fix) plated copper differentiation.
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
Jeff Young 683444733a Formatting. 2025-03-17 20:11:20 +00:00
Wayne Stambaugh cf4369a2ef Fix Coverity issue #545180.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=545180
2025-03-17 15:16:49 -04:00
Wayne Stambaugh 19b0ac6ec4 Revert "Fix Coverity issue #545181."
This reverts commit 31d3c17d99.
2025-03-17 15:12:48 -04:00
Wayne Stambaugh 31d3c17d99 Fix Coverity issue #545181.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=545181
2025-03-17 15:09:30 -04:00
Wayne Stambaugh 8fa48c7be2 Fix Coverity issue #514495.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=514495
2025-03-17 14:43:43 -04:00
Wayne Stambaugh 62cb67d854 Fix Coverity issue #541995.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=541995
2025-03-17 14:04:40 -04:00
Jeff Young 5094f750df Adjust GTK STC margins. Yes, again.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16685
2025-03-17 17:33:23 +00:00
Wayne Stambaugh dd806aa902 Fix Coverity issue #542006.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=542006
2025-03-17 13:30:41 -04:00
Wayne Stambaugh 5783623c50 Add code to test if schematic file belongs to another project. 2025-03-17 13:12:35 -04:00
Jeff Young 858f6b0fc2 Adjust GTK STC margins.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16685
2025-03-17 17:00:25 +00:00
Wayne Stambaugh f53d1a5356 Fix Coverity issue #543084.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=543084
2025-03-17 12:55:54 -04:00
Wayne Stambaugh 47984b6793 Coding policy house keeping. 2025-03-17 12:45:25 -04:00
Wayne Stambaugh 4131089260 Fix Coverity issue #544154.
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=543084
2025-03-17 12:21:02 -04:00
Wayne Stambaugh b364f5dbde Properly prevent duplicate sheet names on paste.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20357
2025-03-17 12:02:01 -04:00
JamesJCode 4a99a3060d Add new DRC expression function isMemberOfSheetOrChildren
This allows the multichannel tool to search for footprints that are in nested
hierarchical sheets.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20339
2025-03-17 15:55:59 +00:00
Alex Shvartzkop d0518c96b2 Update translations 2025-03-17 18:42:55 +03:00
Marco Ciampa 32e3570758 Translated using Weblate (Italian)
Currently translated at 96.7% (9749 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-17 16:42:09 +01:00
Pferd O 1dfc09a39d Translated using Weblate (German)
Currently translated at 99.2% (10000 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-17 16:42:09 +01:00
ZbeeGin 2230fd2518 Translated using Weblate (Polish)
Currently translated at 98.8% (9962 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-03-17 16:42:09 +01:00
Jan Straka 3e838bce5b Translated using Weblate (Czech)
Currently translated at 76.8% (7737 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-03-17 16:42:09 +01:00
Pferd O b6b5c4be54 Translated using Weblate (German)
Currently translated at 99.2% (9999 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-17 16:42:09 +01:00
Marco Ciampa 6fdad6c799 Translated using Weblate (Italian)
Currently translated at 96.3% (9708 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-17 16:42:09 +01:00
Marco Ciampa a06fd8a97e Translated using Weblate (Italian)
Currently translated at 96.3% (9706 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-17 16:42:09 +01:00
Ertuğrul Reisoğlu 5a732b7b9f Translated using Weblate (Turkish)
Currently translated at 65.0% (6556 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-17 16:42:09 +01:00
Henrik Kauhanen 2ac2bffa9e Translated using Weblate (Swedish)
Currently translated at 99.7% (10047 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-17 16:42:09 +01:00
NAXSISFLYBY df02aec8a5 Translated using Weblate (Turkish)
Currently translated at 65.0% (6548 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-17 16:42:09 +01:00
NAXSISFLYBY 627d9e5e50 Translated using Weblate (Turkish)
Currently translated at 65.0% (6548 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-17 16:42:09 +01:00
NAXSISFLYBY 36255b90e4 Translated using Weblate (Turkish)
Currently translated at 64.9% (6546 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-17 16:42:09 +01:00
dsa-t 25f883cf63 Translated using Weblate (Russian)
Currently translated at 98.4% (9920 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-17 16:42:08 +01:00
Jan Straka 403c9055ed Translated using Weblate (Czech)
Currently translated at 75.4% (7605 of 10073 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-03-17 16:42:08 +01:00
Jeff Young 17712ba321 Improve text alignment in grids and one-line Scintilla controls.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16685
2025-03-17 13:56:10 +00:00
Jeff Young 6c97a40b8c Attempt to fix lack of initialisation on GTK/MSW.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20050
2025-03-17 11:42:11 +00:00
jean-pierre charras 60f65e68c1 Step export: handle castellated pads.
Only pads having the fab property "Castellated" are handled.
2025-03-17 11:14:53 +01:00
Jeff Young 1848401d5b Update layer per page.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20352
2025-03-17 09:51:53 +00:00
Jeff Young dd921354fc Cleanup. 2025-03-17 09:50:06 +00:00
Jeff Young 413d6747c5 Collapse SCH_TABLE border drawing into shared code.
Also pushes GetCornersInSequence() into EDA_SHAPE
so it can be shared between SCH_TABLE and PCB_TABLE.

Also fixes bug in drawing column rulings over the
right external border.

Also fixes a bug with dialog control enabling.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20350
2025-03-16 20:21:49 +00:00
Jeff Young 1333c4c305 Move layer arg parsing up so we can handle user-defined layer names.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18773
2025-03-16 17:28:44 +00:00
Jon Evans 77747aa41e Use UI order for drill report stackup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20069
2025-03-16 11:13:14 -04:00
Jon Evans fe22166d9f Use stable sort ordering in ERC reports
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20333
2025-03-16 10:25:29 -04: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 533551f014 Don't bleed settings between 3D viewer and 3D footprint preview.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17353
2025-03-16 11:52:56 +00:00
Seth Hillbrand 676dd4ceec Fix inheritance for git_common
Avoids repo type pointer issues when casting from void
2025-03-15 13:05:45 -07:00
Jeff Young f4a5404e0a Resolve variables in hrefs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20340
2025-03-15 19:31:46 +00:00
Jeff Young f9b19bbb5b Fix is-same logic in updateFootprintParameters.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19988
2025-03-15 18:42:02 +00:00
Jeff Young f33f10bb38 User-defined layers for 3D viewer. 2025-03-15 16:14:33 +00:00
Alex Shvartzkop 29c0c35f5f Update translations 2025-03-15 19:00:51 +03:00
Marco Ciampa 13c295e141 Translated using Weblate (Italian)
Currently translated at 96.3% (9684 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-15 16:58:21 +01:00
İclal Gör d9a0c001b2 Translated using Weblate (Turkish)
Currently translated at 65.1% (6544 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-15 16:58:21 +01:00
Marco Ciampa e526c5b988 Translated using Weblate (Italian)
Currently translated at 96.3% (9681 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-15 16:58:21 +01:00
İclal Gör 6df678a227 Translated using Weblate (Turkish)
Currently translated at 65.0% (6540 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-15 16:58:21 +01:00
Marco Ciampa e5a275038d Translated using Weblate (Italian)
Currently translated at 96.2% (9675 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-15 16:58:21 +01:00
İclal Gör e6200bb5eb Translated using Weblate (Turkish)
Currently translated at 63.0% (6342 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-15 16:58:21 +01:00
Shuwn Hsu c7bfe02382 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 89.8% (9031 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-03-15 16:58:20 +01:00
Pferd O 6ddd5ae050 Translated using Weblate (German)
Currently translated at 99.3% (9988 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-15 16:58:20 +01:00
Henrik Kauhanen da267aed7e Translated using Weblate (Swedish)
Currently translated at 99.9% (10047 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-15 16:58:20 +01:00
dsa-t dfd81c7521 Translated using Weblate (Russian)
Currently translated at 98.6% (9913 of 10051 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-15 16:58:20 +01:00
JamesJCode ede5faee72 Implement dynamic assignment of component classes 2025-03-15 14:33:47 +00:00
aris-kimi bb62444fe9 Fix a git2 related crash when closing KiCad
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20202
2025-03-14 20:00:17 -07:00
Seth Hillbrand de09403b10 Fix mistake in arc circle collision
Need to test nearest point from the circle center to the arc.  Add QA to
prevent regression

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20336
2025-03-14 18:06:09 -07:00
Seth Hillbrand 2c52f98da4 Add ability for git to negotiate with agents
Updates the git connection dialog to reflect default agentic behavior,
followed by default keys and only then reverting to a custom selection
if the user desires

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20204
2025-03-14 17:01:03 -07:00
Seth Hillbrand 26c331a837 Adjust git handling
- Utilize scoped deletion for individual git_*_free() calls
- Protect against multiple usage when updating icons
- Reduce frequency of git update calls
2025-03-14 17:01:03 -07:00
JamesJCode 078a01976f Include child SCH_PINs in SCH_RULE_AREA item caches
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20332
2025-03-14 20:57:17 +00:00
Jeff Young 10237c4270 Remove extraneous parameter and fix error dialog title.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20061
2025-03-14 20:00:43 +00:00
Jeff Young 1ee3131e4a Check silk/soldermask collisions in FP checker.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19707
2025-03-14 19:45:26 +00:00
Jeff Young be183c94c0 Make sure color gets set on background layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20241
2025-03-14 15:35:05 +00:00
Jeff Young 8894c470ef Don't modify selection in the middle of a move/drag.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20239
2025-03-14 14:52:49 +00:00
jean-pierre charras 7f1b412203 plot mask layers: do not skip mask on track when solder mask min web is not 0
When solder mask min web is not 0, PlotSolderMaskLayer() uses GenerateLayerPoly(),
that skipped tracks (not updated since tracks can be on a mask layer)
2025-03-14 15:17:04 +01:00
jean-pierre charras 2210fc3518 minor compil warning fix 2025-03-14 15:01:01 +01:00
jean-pierre charras d3c05c7ccd minor additional fix to commit ddd27f28 2025-03-14 14:58:58 +01:00
Jeff Young 521b411090 Init checkboxes after reading prefs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20309
2025-03-14 13:26:55 +00:00
Jeff Young 3c32f4d31d Refresh preview after rotate/flip/mirror during move.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19561
2025-03-14 13:17:52 +00:00
Lucas Gerads 313232c9f3 Simulator: Fix line offset in intermediate ngspice file
- Fixes issue #20268
- Replace the hard coded line numbers
- Search for "Value:" string instead
2025-03-13 18:29:56 -04:00
Seth Hillbrand 54be62b8fa Allow unprintable characters in LIB_ID
We were allowing people to paste lower-level ASCII characters into a
symbol name, but not load them.  The characters don't print but they
don't break anything either, so allowing them is the most compatible
method
2025-03-13 11:39:11 -07:00
Jeff Young 2304d10879 Fix failure to increment job number.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20034
2025-03-13 16:37:27 +00:00
Jeff Young e48a2b5ee4 Don't report non-meeting line-pairs.
We're called on each line pair, so a rect would otherwise
always report to failures for the two pairs of opposite
sides.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20326
2025-03-13 16:32:25 +00:00
dsa-t 18b5046fae Fix Eagle PCB layers handling after v9 layer changes.
(cherry picked from commit 2bf369793c)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-03-13 17:48:56 +03:00
Jeff Young f3f9730f2c Render tables & their borders to 3D view.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19981
2025-03-13 14:04:31 +00:00
Jeff Young 93ea523eec De-duplicate table border drawing code.
Also cleans up a misconception about table header borders,
and renames the getter/setter to be clearer.

Also makes sure that table cells are updated when the table
layer changes.

And another bug where we were writing the grey color value
back to the cell for hidden cells.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20319
2025-03-13 13:15:47 +00:00
Jeff Young 5996cffabc EE -> SCH (no functional changes) 2025-03-13 13:15:47 +00:00
Alex Shvartzkop d5f02ba7bc Update translations 2025-03-13 15:25:56 +03:00
Marco Ciampa 61a89f1c83 Translated using Weblate (Italian)
Currently translated at 96.1% (9661 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-13 13:23:25 +01:00
co8 j f8a1de4945 Translated using Weblate (Japanese)
Currently translated at 99.0% (9950 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-13 13:23:25 +01:00
Pferd O 7167faaab6 Translated using Weblate (German)
Currently translated at 99.4% (9989 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-13 13:23:25 +01:00
dsa-t 1ac75d2c04 Translated using Weblate (Russian)
Currently translated at 98.6% (9913 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-13 13:23:25 +01:00
İclal Gör df1c7802d7 Translated using Weblate (Turkish)
Currently translated at 59.9% (6026 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:25 +01:00
İclal Gör 7c8187cb56 Translated using Weblate (Turkish)
Currently translated at 59.8% (6013 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:25 +01:00
İclal Gör 37dca5b2e6 Translated using Weblate (Turkish)
Currently translated at 58.3% (5862 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:24 +01:00
Argeolog 423ea8deae Translated using Weblate (Turkish)
Currently translated at 57.7% (5802 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:24 +01:00
2tama3 dc8ad32e92 Translated using Weblate (Japanese)
Currently translated at 99.0% (9948 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-13 13:23:24 +01:00
co8 j 02c9336de1 Translated using Weblate (Japanese)
Currently translated at 99.0% (9948 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-13 13:23:24 +01:00
Marc de Miguel 6fdd2cc119 Translated using Weblate (Catalan)
Currently translated at 41.2% (4148 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-13 13:23:24 +01:00
Ahmet Saygın ÖĞÜLMÜŞ fd4871409b Translated using Weblate (Turkish)
Currently translated at 57.7% (5803 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
Marc de Miguel 37249d0fd1 Translated using Weblate (Catalan)
Currently translated at 41.0% (4127 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-13 13:23:23 +01:00
İclal Gör 087cd06deb Translated using Weblate (Turkish)
Currently translated at 57.6% (5791 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
Marc de Miguel d6cfd3e41c Translated using Weblate (Catalan)
Currently translated at 40.9% (4119 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-13 13:23:23 +01:00
dsa-t 48fc765a38 Translated using Weblate (Turkish)
Currently translated at 56.8% (5715 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
İclal Gör 8c700eac1b Translated using Weblate (Turkish)
Currently translated at 56.8% (5715 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
Marc de Miguel 62fc117473 Translated using Weblate (Catalan)
Currently translated at 40.9% (4115 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-13 13:23:23 +01:00
İclal Gör 039b03cd7a Translated using Weblate (Turkish)
Currently translated at 54.7% (5505 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
Argeolog 487afaad96 Translated using Weblate (Turkish)
Currently translated at 54.4% (5471 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
İclal Gör 442fa8f511 Translated using Weblate (Turkish)
Currently translated at 54.4% (5471 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:23 +01:00
CloverGit f6d4815c8a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (10028 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-13 13:23:22 +01:00
CloverGit 3a087b5baf Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 89.8% (9027 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-03-13 13:23:22 +01:00
CloverGit ed29c73763 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.6% (10010 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-13 13:23:22 +01:00
Ahmet Saygın ÖĞÜLMÜŞ 9cdaa7848a Translated using Weblate (Turkish)
Currently translated at 54.3% (5459 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:22 +01:00
Henrik Kauhanen fc264aaa60 Translated using Weblate (Swedish)
Currently translated at 99.9% (10047 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-13 13:23:22 +01:00
Ettore Atalan 9a04c1ce37 Translated using Weblate (German)
Currently translated at 99.3% (9982 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-13 13:23:22 +01:00
Pferd O ea0a26b8a8 Translated using Weblate (German)
Currently translated at 99.3% (9982 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-13 13:23:22 +01:00
dogukansahil 76243ef2c9 Translated using Weblate (Turkish)
Currently translated at 53.9% (5423 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:21 +01:00
Ahmet Saygın ÖĞÜLMÜŞ 99adcbb1ed Translated using Weblate (Turkish)
Currently translated at 53.9% (5423 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-13 13:23:21 +01:00
dsa-t d5ad5f7c81 Translated using Weblate (Russian)
Currently translated at 98.6% (9913 of 10048 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-13 13:23:21 +01:00
jean-pierre charras ddd27f2869 Eeschema printing: ensure the flag "is first page" is correctly set.
It is mainly used to draw page layouts having different objects drawn on
first page and other pages.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20318
2025-03-13 11:01:06 +01:00
Seth Hillbrand de4d7882e6 Fix compile 2025-03-12 18:34:22 -07:00
Zenn Geeraerts d31eeb5c1b Use case insensitivity when loading Altium files
Altium is case insensitive, so our match for internal names should be also
2025-03-12 18:23:01 -07:00
JamesJCode 7d8b385a72 Fix compiler warning 2025-03-12 20:03:32 +00:00
Seth Hillbrand 1c245ad01e Be sure to clear hit cache
When re-running the DRC creepage check, we need to ensure that the
element-element hittest set is cleared to report the same errors again

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20048
2025-03-12 11:48:21 -07:00
Seth Hillbrand 96794e94e3 Correct layerset calls
The Board layerset (because BOARD is a BOARD_ITEM) should return the
layers that the board contains instead of just the F.Cu.  This assigns
the common function to map to the board-specific functions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20317
2025-03-12 11:48:21 -07:00
jean-pierre charras dd604361d3 LISTBOX_TRICKS::listBoxDeleteSelected(): fix crash when trying to remove 0 entries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20320
2025-03-12 16:03:01 +01:00
Jeff Young 6df9c90440 Add textOnEdgeCuts to global DRC items list.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20308
2025-03-12 11:30:48 +00:00
Jeff Young e5bedd937c Formatting. 2025-03-12 10:21:59 +00:00
Jeff Young 63435df77d Don't wait for mouse move to draw selection shadows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20309
2025-03-12 09:41:10 +00:00
jean-pierre charras ccc396a6c2 BOARD::BulkRemoveStaleTeardrops(): fix bug that prevent removing a teardrop.
When a teardrop is the first zone (or the only one) in list (i.e. last tested)
it was ignored, and therefore not removed.
2025-03-12 09:44:45 +01:00
Jon Evans 95e6ca44c6 Don't use size events for persistence
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20060
2025-03-11 22:36:46 -04:00
Jon Evans 5774338af2 Fix build with protobuf 30
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20300
2025-03-11 17:33:17 -04:00
Jeff Young b7ef57a97d Apply Damjan's rotated table fixes to PCB_TABLE::GetEffectiveShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20143
2025-03-11 20:12:32 +00:00
Jeff Young 459cf030b8 Don't disable first internal layer in footprint editor.
It's used as a proxy for all internal layers.

Also fixes LAYER_RANGE_ITERATOR so that it works with an odd
number of copper layers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20246
2025-03-11 19:11:11 +00:00
Seth Hillbrand a6fbf4bbdb Don't write empty data tags
Also avoid throwing if a data stream is empty so that you can still read
the schematic/pcb/library

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20301
2025-03-11 09:44:58 -07:00
Jeff Young 31b788c04f Add a bit of protection from integer overflows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19660
2025-03-11 15:11:31 +00:00
Jeff Young 4a64aa9816 Fix wrapping of text in infobar.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19171
2025-03-11 14:47:26 +00:00
Jeff Young d527ce92ca Formatting. 2025-03-11 11:02:27 +00:00
Jeff Young 7401b57fcb Warning messages for simulation tuning.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20274
2025-03-11 11:02:20 +00:00
Jeff Young b11b1a6f72 Ease in a bit more fmt::format(). 2025-03-11 10:08:04 +00:00
Jeff Young b569d919ea No more invisible (non-field) text. 2025-03-10 21:58:30 +00:00
Jeff Young 9ac851b314 Fixes for CLI input and output directories.
Plot functions use an output directory.

Those functions that support an input directory also support
input files.
2025-03-10 20:11:39 +00:00
Jeff Young 567da3de91 Tables support for router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20295
2025-03-10 15:45:42 +00:00
Jeff Young 6ac64d290b Check parent footprint as well for component class.
Also output more descriptive text when checking inherited
rules on parent footprint.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20281
2025-03-10 13:34:01 +00:00
Alex Shvartzkop c4655da4e6 Don't translate wxFileDialog "All Files" filter.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20297
2025-03-10 16:05:56 +03:00
Lucas Dumont 3ddaa24775 Change deleting for-range loop to while loop
It seem that the iterator may be invalidated in the loop.
By always taking the first element and looping until empty, we avoid the issue

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20283
2025-03-09 19:34:13 -07:00
Tomasz Wlostowski c05cc345f3 multichannel: possible fix for ghosting footprints when using grouping 2025-03-09 23:36:54 +01:00
Tomasz Wlostowski b1bf5127fa connectivity: treat empty FPIDs as matching in TOPO_MATCH 2025-03-09 23:36:54 +01:00
Tomasz Wlostowski 8192ba73d9 connectivity: TOPO_MATCH now orders reference components by the lowest matching candidate count.
This heuristic seems to make the algorithm reject non-isomorphic mappings much earlier on and converges faster on a solution for typical circuits.
2025-03-09 23:36:53 +01:00
Tomasz Wlostowski 91ee987cfe connectivity: TOPO_MATCH now prioritizes component candidates by the ratio of matching pad nets.
This improves cloning of circuits with numerous of matching component mappings (e.g. LED matrices) by
taking preference for mappings with same order of net connections.
2025-03-09 23:36:27 +01:00
Jeff Young a468c486eb DRC for tables. (And some fixes for dimensions.) 2025-03-09 17:59:32 +00:00
Jeff Young 4b38932129 Group members are still children of the board (not
the group).
2025-03-09 17:59:32 +00:00
Alex Shvartzkop b13318b854 Update translations 2025-03-09 19:04:34 +03:00
dsa-t e72c5e9e82 Translated using Weblate (Turkish)
Currently translated at 53.0% (5330 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-09 17:04:08 +01:00
Argeolog f5629f04e3 Translated using Weblate (Turkish)
Currently translated at 53.0% (5331 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-09 17:04:08 +01:00
Argeolog 8caa051e8b Translated using Weblate (Turkish)
Currently translated at 52.8% (5312 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-09 17:04:07 +01:00
Argeolog cd0cbb5acb Translated using Weblate (Turkish)
Currently translated at 52.7% (5304 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-09 17:04:07 +01:00
Wellington Terumi Uemura e674827255 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (10047 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-03-09 17:04:07 +01:00
Argeolog c6fee328e2 Translated using Weblate (Turkish)
Currently translated at 52.7% (5303 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-03-09 17:04:07 +01:00
Ettore Atalan 569d38c39e Translated using Weblate (German)
Currently translated at 99.3% (9977 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-09 17:04:07 +01:00
ZbeeGin b47b04b795 Translated using Weblate (Polish)
Currently translated at 98.9% (9945 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-03-09 17:04:07 +01:00
Pferd O 2335fa7708 Translated using Weblate (German)
Currently translated at 99.2% (9974 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-09 17:04:07 +01:00
Rigo Ligo 97753e8208 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.4% (9995 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-09 17:04:07 +01:00
CloverGit 456e2e18b4 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.4% (9995 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-09 17:04:07 +01:00
co8 j 2d81ba665a Translated using Weblate (Japanese)
Currently translated at 98.8% (9936 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-09 17:04:07 +01:00
Marco Ciampa a7b9d1cabe Translated using Weblate (Italian)
Currently translated at 96.1% (9664 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-09 17:04:07 +01:00
Henrik Kauhanen 35eaef151c Translated using Weblate (Swedish)
Currently translated at 99.9% (10046 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-09 17:04:07 +01:00
Henrik Kauhanen 6de078ffad Translated using Weblate (Finnish)
Currently translated at 97.8% (9829 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-03-09 17:04:06 +01:00
CloverGit 17eb1f0558 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.3% (9977 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-09 17:04:06 +01:00
dsa-t 7e7b78707d Translated using Weblate (Russian)
Currently translated at 98.6% (9913 of 10047 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-09 17:04:06 +01:00
Jeff Young 2ed2d733c3 Revert 1f620e9cca.
(A group member is still a child of the board; it's just
also a member of the group.)
2025-03-09 16:01:08 +00:00
Alex Shvartzkop dc961d37ad Optimize SHAPE_LINE_CHAIN_BASE::EdgeContainingPoint. 2025-03-09 16:27:07 +03:00
Alex Shvartzkop b91e005277 Pre-fetch segments in SHAPE_LINE_CHAIN::SelfIntersecting. 2025-03-09 16:27:04 +03:00
Alex Shvartzkop a82916f4db Improve performance of SEG::Contains. 2025-03-09 16:27:01 +03:00
Alex Shvartzkop 18d836ef8b Reduce CSegment calls in SHAPE_LINE_CHAIN::SelfIntersecting. 2025-03-09 16:26:57 +03:00
Jeff Young 0a3f14c855 Sync selection & selection flags after replacing fields. 2025-03-09 11:47:31 +00:00
Jeff Young 1f620e9cca forAllGeometryItems must account for PCB_GROUP descendants. 2025-03-09 11:47:31 +00:00
Jeff Young e163c40e54 Formatting. 2025-03-09 11:47:31 +00:00
JamesJCode 85e6978aa2 Mirror netclass DRC expression semantics for component classes
With this change, "A.Component_Class == 'SOME_CLASS'" will return
true if either SOME_CLASS exists in the list of component classes
attached o the footprint, or if SOME_CLASS is the full component
class name.
2025-03-08 22:18:22 +00:00
Jeff Young 50174ec528 Beware of infinite recursion on colliding hatched shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20264
2025-03-08 21:23:14 +00:00
Marek Roszko ab6ee168cf Convert PDF_PLOTTER to fmtlib 2025-03-08 14:29:20 -05:00
Jeff Young 241962a84d When following board or plot settings, write results to current config.
Also adds migration from older layer numbers to strings.
This may require users to dump their 9.0 settings files
(which will have the wrong layer numbers in them), but
those files are often useless anyway as they'll already
have messed up colours if they were migrated from 8.0.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18709
2025-03-08 19:11:23 +00:00
jean-pierre charras 6729e313a5 Pcbnew, DIALOG_DRC: fix incorrect behavior of Shaw All checkbox. 2025-03-08 18:23:08 +01:00
jean-pierre charras 4ef627edb9 GERBER_PLOTTER: fix missing separator (comma) after ADDxxOutlinexP
It was missing after commit 2cdc1ed8
2025-03-08 16:36:49 +01:00
Marek Roszko 2cdc1ed88e Move GERBER_PLOTTER to fmtlib 2025-03-08 07:56:54 -05:00
jean-pierre charras 9a1cf81ca6 Pcbnew: remove dead code.
The export SVG dialog was removed some time ago (merged with plot svg).
But some settings of this removed dialogs were not removed.
2025-03-08 10:09:47 +01:00
jean-pierre charras 9d1b320896 Fix compil warnings 2025-03-08 09:40:23 +01:00
Seth Hillbrand 641e06e67c Removed shared_ptr circular references
When A references B and B references A, the shared pointer reference
count will never go to zero by just removing the parent container.  We
need to explicitly clear the shared pointer references when we are done

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20272
2025-03-07 17:31:02 -08:00
Seth Hillbrand 4ef81ee3ea Revert "Remove prototype zone fill option"
This reverts commit 3f17aabcd0.
2025-03-07 15:25:13 -08:00
Seth Hillbrand 4f6a73d83c Prevent ERC error with NC pin+NC marker
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20222
2025-03-07 15:24:30 -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
Damjan bded181ad0 pcbnew: table rotation: table jumps if rotation ends at 180° 2025-03-07 20:38:56 +00:00
Jeff Young 95d8634401 Fix drawing of selected/highlighted local power port labels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20262
2025-03-07 20:33:19 +00:00
Jeff Young eedd811c0a Fix bad static_cast. 2025-03-07 18:42:45 +00:00
Jeff Young 880442e8ed Propagate damage from footprint children. 2025-03-07 17:52:53 +00:00
Jeff Young b532a849b8 Don't attempt to knockout self from hatching. 2025-03-07 17:52:53 +00:00
Seth Hillbrand b401505259 Fix previous commit 2025-03-07 08:42:35 -08:00
Seth Hillbrand 1157b5b0b3 Add missing arch directory to appimage plugin 2025-03-07 08:42:12 -08:00
Seth Hillbrand 2b557c5497 Revert "Allow a no-connect to connect to a single pin (but not multiple pins)."
This reverts commit ee4a6127c6.
2025-03-07 08:10:04 -08:00
Jeff Young 0fae6a0db0 Initialize field ordinals for LIB_SYMBOLs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20263
2025-03-07 15:52:31 +00:00
Jeff Young 727fc9bd06 Fix merge mess-up. 2025-03-07 13:23:57 +00:00
Marek Roszko dd4c9af265 Move HPGL_PLOTTER to fmtlib 2025-03-07 08:02:13 -05:00
Jeff Young 877c6bce89 Printing is not zoom-specific.
(Some of these items don't currently get printed, but
there's no sense in leaving a latent bug around in case
we ever change our minds.)
2025-03-07 13:01:00 +00:00
Jeff Young ce5469b95e Support ctrl-delete for delete word forward.
(On non-Macs, anyway.  Mac doesn't appear to use this
paradigm.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20248
2025-03-07 13:01:00 +00:00
Marek Roszko a1e897c245 Move PS_plotter to fmtlib
Also we wrote %Page but the postscript standard wants %%Page
2025-03-07 07:05:13 -05:00
Seth Hillbrand 7558b49afd Ensure all via layers are printed 2025-03-06 17:57:34 -08:00
Seth Hillbrand ca51b0f37d Ensure imported schematic sheet names are unique
Altium doesn't require sheet names to be unique but KiCad does, so we
disambiguate the names when importing

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19281
2025-03-06 16:08:04 -08:00
Seth Hillbrand 81fcc16cc9 Fix multi-unit symbol import in Altium sch
Set the library symbol equal to total unit count so that we can assign
elements to the correct unit in the SCH_SYMBOL
2025-03-06 15:18:51 -08:00
JamesJCode 54540f9e82 Don't dereference null COMPONENT_CLASS in testFootprintSelector
This can happen when running standalone, where component classes
have not been resolved.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20235
2025-03-06 21:43:52 +00:00
Seth Hillbrand c24832f72b Fix IsEffectiveLine calculation
We sometimes represent circles as 360° arcs.  These are approximately
colinear but are definitely not a line
2025-03-06 12:45:10 -08:00
JamesJCode 57952a7a86 Fix Specctra export for multiple netclasses 2025-03-06 20:24:56 +00:00
Seth Hillbrand 8e048d0c42 Printing should never hide small elements
Since it is effectively infinite resolution, pass the vectors to the
printer and let it decide if there should be a dot there or not.  Hiding
based on perspective is a screen optimization

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20226
2025-03-06 12:18:38 -08:00
Wayne Stambaugh a1b78d170d Use case insensitive comparison in symbol footprint filter match DRC.
This keeps the DRC test in line with the ERC test which is also case
insensitive.
2025-03-06 15:12:57 -05:00
Jeff Young 413468cd04 Resolve hotkey conflicts.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18201
2025-03-06 16:53:11 +00:00
Seth Hillbrand 8ee263b341 Ensure that layers are set prior to assigning nets
Zones will have their net code cleared if they are non-copper items, so
we need to ensure that the zone exists on a copper layer

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20219
2025-03-06 08:49:25 -08:00
Seth Hillbrand 4b07565d35 Remove debug printing 2025-03-06 08:13:57 -08:00
JamesJCode 68b6c2d1da Add Orientation DRC property QA check 2025-03-06 15:56:39 +00:00
Jeff Young 52648497b2 Formatting. 2025-03-06 15:47:18 +00:00
Jeff Young 5c91a7fa3a Don't treat version-bumped file as modified.
But do allow Save to still work.
2025-03-06 15:37:18 +00:00
Jeff Young 124eccb710 Move arrow direction to more appropriate section.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20208
2025-03-06 14:26:25 +00:00
JamesJCode 671d84562b Enable use of double properties in DRC rules expression parser
Also removes previous special-casing of FOOTPRINT Orientation
property as this is now supported natively

Also fixes name clash with Orientation property for footprints
2025-03-06 14:24:47 +00:00
JamesJCode 3d41eca856 Fix use of footprint Orientation property in DRC expression parser 2025-03-06 13:08:03 +00:00
Marek Roszko c92014f759 Move DXF_PLOTTER to fmtlib 2025-03-06 07:26:47 -05:00
Alex Shvartzkop c6ccb195a1 Update translations 2025-03-06 13:54:17 +03:00
Marco Ciampa f104ded1d5 Translated using Weblate (Italian)
Currently translated at 96.0% (9646 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-06 11:53:12 +01:00
Marco Ciampa c738bc9f37 Translated using Weblate (Italian)
Currently translated at 95.6% (9605 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-06 11:53:12 +01:00
CloverGit 95dd38c3e8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.3% (9978 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-06 11:53:12 +01:00
Henrik Kauhanen 985a62aad2 Translated using Weblate (Swedish)
Currently translated at 99.9% (10039 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-06 11:53:12 +01:00
Henrik Kauhanen f6aa8a0e3d Translated using Weblate (Finnish)
Currently translated at 97.9% (9830 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-03-06 11:53:12 +01:00
Kliment 02b603af50 Translated using Weblate (Finnish)
Currently translated at 97.9% (9830 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-03-06 11:53:11 +01:00
Henrik Kauhanen 72a832175e Translated using Weblate (German)
Currently translated at 99.3% (9973 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-06 11:53:11 +01:00
Pferd O 378e1765a0 Translated using Weblate (German)
Currently translated at 99.3% (9973 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-06 11:53:11 +01:00
Kliment 8907937e94 Translated using Weblate (German)
Currently translated at 99.3% (9973 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-06 11:53:11 +01:00
Henrik Kauhanen de49ba63c1 Translated using Weblate (Swedish)
Currently translated at 99.9% (10039 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-06 11:53:11 +01:00
Kliment fdfc28c034 Translated using Weblate (Finnish)
Currently translated at 97.5% (9790 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-03-06 11:53:11 +01:00
Kliment 80753f2f6e Translated using Weblate (German)
Currently translated at 99.3% (9970 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-06 11:53:11 +01:00
Wellington Terumi Uemura 727bae947a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (10040 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-03-06 11:53:11 +01:00
CloverGit cff5888751 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.3% (9978 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-06 11:53:11 +01:00
Henrik Kauhanen 22f4b6bad5 Translated using Weblate (Swedish)
Currently translated at 99.9% (10039 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-06 11:53:11 +01:00
co8 j c22ed9aa39 Translated using Weblate (Japanese)
Currently translated at 98.8% (9927 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-06 11:53:11 +01:00
Pferd O f80c52f0af Translated using Weblate (German)
Currently translated at 99.2% (9964 of 10040 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-06 11:53:11 +01:00
Jeff Young ee4a6127c6 Allow a no-connect to connect to a single pin (but not multiple pins).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20222
2025-03-06 10:27:11 +00:00
Jeff Young 38cf86cb09 Don't flag double no-connect annotations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20222
2025-03-06 10:27:07 +00:00
jean-pierre charras e54c73b516 SCH_IO_MGR::GuessPluginTypeFromLibPath(): fix issue for new .kicad_sym files
GuessPluginTypeFromLibPath() was previously testing the type, but also the
existence of the lib file of *.kicad_sym filename, but when creating a new lib,
its existence obviously must not be tested
2025-03-06 09:52:26 +01:00
jean-pierre charras af3aba3c46 Revert "SCH_IO_MGR::GuessPluginTypeFromLibPath(): fix incorrect behavior"
This reverts commit 3051a40376.
It was incorrect for non Kicad lib files.
2025-03-06 08:18:57 +01:00
Marek Roszko 086b9907c2 Convert fputs to fmt::print to get exceptions on io fail 2025-03-05 21:28:56 -05:00
Marek Roszko 237953fd55 Move SVG_PLOTTER to {fmt} to punt locale issues 2025-03-05 19:03:25 -05:00
Seth Hillbrand ff6eb9c091 Apparently, despite documentation, this was missing
Only APPDIR is set.  We also set some APPRUN_* variables that we could
use if this ends up being too similar to other elements
2025-03-05 15:35:31 -08:00
Jon Evans 984041f57e Fix accidental removal of properties pane 2025-03-05 17:44:47 -05:00
Seth Hillbrand 4a3b33df4e Map a full hierarchy during PDF plotting
Re-create the schematic hierarchy in PDF plots to ease navigation
relative to the on screen schematic

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12154
2025-03-05 13:28:01 -08:00
JamesJCode f0e287a87b Check for constituent netclasses in DRC netclass equality checks
This reverts previous behaviour whereby 'A.Netclass == x' compared
the full name of an effective netclass (e.g. 'Class1,Default'). This
was found to be unexpected behaviour to users, who were expecting
the equality to compare single netclasses. The equality check now
first checks for a constituent class with the given name, and then
falls back to a check of the full class name.

Inequality requires the netclass name being tested to not be a
constituent netclass and to not be the full class name.
2025-03-05 20:30:54 +00:00
Seth Hillbrand c108b20616 Cleanup unused code 2025-03-05 11:33:38 -08:00
JamesJCode a091b6c1c9 Fix incorrect inequality in component class expression evaluation 2025-03-05 19:10:48 +00:00
JamesJCode c7cec5f21a Fix broken placement of SCH_DIRECTIVE_LABELs 2025-03-05 19:10:48 +00:00
Seth Hillbrand 8e10c539f5 Remove dependency on Visual lib for OCC 2025-03-05 11:03:07 -08:00
Jeff Young 9856cb2210 An arbitrary layer flip can not be done without the board.
(User-defined layers can be sided or not.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20169
2025-03-05 17:59:22 +00:00
Jeff Young 305bb6302b User layer bug fixes.
1) Don't set user layer count right after we've
cleared the enabled user layers.  (It will
always be 0 by then.)

2) Allow un-enabled layers in some layer
selectors.  (Currently this is just the private
layers selector.

3) Reset the appearance panel layers each time a
footprint is loaded.  Also, auto-enable any user
layers that the footprint already has.

4) Footprint editor layer visibility is stored in
the view, not in the boars (as is usual).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20022
2025-03-05 17:59:22 +00:00
jean-pierre charras 3051a40376 SCH_IO_MGR::GuessPluginTypeFromLibPath(): fix incorrect behavior
GuessPluginTypeFromLibPath() was previously testing the tye, but also the
existence of the lib file, but we only need to know the plugin type of
the given file, regardless it exists or not.
2025-03-05 18:24:37 +01:00
jean-pierre charras b0c42362b6 French translation update 2025-03-05 18:20:42 +01:00
Jon Evans 50507212fd Fix pad edit fighting with active group
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20129
2025-03-05 00:04:47 -05:00
Marek Roszko 4f4ece61bb Move the fp svg cli to more similar plot code 2025-03-04 23:01:00 -05:00
Seth Hillbrand fdcfa8f354 Add additional OCCT search path 2025-03-04 20:00:40 -08:00
Jon Evans a6ef2d97fb Improve 259e249a for macOS 2025-03-04 22:56:24 -05:00
Jon Evans 259e249aed Improve default sizes of right panels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19965
2025-03-04 21:54:31 -05:00
Jon Evans 32b5cf6221 Fix broken build 2025-03-04 21:32:42 -05:00
Jon Evans d0b22d21bb Switch to operator= for item updates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206
2025-03-04 21:12:21 -05:00
Seth Hillbrand 49a4699d5a ADDED: Local power symbol option
Local power symbols work like regular power symbols except that they are
scoped only the the sheet in which they are instantiated

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2075
2025-03-04 17:07:46 -08:00
Jeff Young 699fd2b3ac Implement severity checking for CLI_REPORTER. 2025-03-05 00:12:08 +00:00
Jeff Young 9be7464681 Keep user-defined common layers order.
(And use it when plotting.)

(And don't shadow it with a second variable.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20214
2025-03-04 23:39:19 +00:00
Marek Roszko 4248fba976 Add back custom add_choices function to argparse 2025-03-04 18:31:53 -05:00
Marek Roszko 9eb2b13833 Update argparse to latest 2025-03-04 18:31:53 -05:00
Mark Roszko 7a7dfdc043 Edit CODEOWNERS 2025-03-04 23:23:45 +00:00
Tomasz Wlostowski 6a0efe6883 IO_BASE: don't try to modify the case of a temporary string in-place, work on a copy 2025-03-05 00:23:04 +01:00
Wayne Stambaugh 251a6ea8cb Update GitLab CODEOWNERS information. 2025-03-04 14:54:09 -05:00
Jeff Young d9c952d90c Don't add CONSTRUCTION_GEOM to the selection.
We'll crash later after it gets freed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20211
2025-03-04 14:12:54 +00:00
Jeff Young b0e2e9e35e Report errors from jobset plotting.
Also fixes an out-of-scope smart-pointer access.
2025-03-04 13:27:31 +00:00
Jeff Young ea9cece5fe Button margins.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20207
2025-03-04 13:26:46 +00:00
Wayne Stambaugh 001d3dfd88 Test full LIB_ID in symbol footprint filter match DRC.
Apparently newer symbol libraries are using the library nickname in the
footprint filter string.  The symbol footprint filter match DRC was only
checking the footprint name against the new filter which would always
fail.  A test against the full LIB_ID string is now performed when the
filter string contains the library separator character ':'.  The ERC test
already performed this check.
2025-03-04 07:59:45 -05:00
Damjan b419058df3 pcbnew: Plotting tables with non-90 degree rotation angles is not working 2025-03-04 12:08:18 +00:00
Jeff Young c61b6b8bdd Initialize props of fields created by BOM table.
We use the same algorithm as the Symbol Properties
dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20212
2025-03-04 11:57:24 +00:00
Jeff Young f00947266f Don't render thickness walls of text we're not going to draw.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20200
2025-03-04 11:29:05 +00:00
Marek Roszko b6743653f3 Restore the page size mode behavior
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20014
2025-03-03 23:15:32 -05:00
Alex Shvartzkop 28ce3c2e7d Update translations 2025-03-04 06:36:23 +03:00
Pferd O 56997e75e9 Translated using Weblate (German)
Currently translated at 99.7% (9970 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-04 04:35:51 +01:00
Arnau Llovet Vidal 8e5d2e18e7 Translated using Weblate (Catalan)
Currently translated at 41.0% (4106 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-03-04 04:35:51 +01:00
Henrik Kauhanen 0f92164f29 Translated using Weblate (Swedish)
Currently translated at 99.9% (9990 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-04 04:35:51 +01:00
Pferd O 48e5de1a50 Translated using Weblate (German)
Currently translated at 99.6% (9956 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-04 04:35:51 +01:00
Henrik Kauhanen 9f4b242713 Translated using Weblate (Swedish)
Currently translated at 99.7% (9971 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-04 04:35:51 +01:00
Henrik Kauhanen 16b8649969 Translated using Weblate (Swedish)
Currently translated at 99.3% (9929 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-04 04:35:51 +01:00
dsa-t 60889bebd4 Translated using Weblate (Russian)
Currently translated at 99.1% (9907 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-04 04:35:51 +01:00
Pferd O 51ee5c97ff Translated using Weblate (German)
Currently translated at 99.5% (9946 of 9991 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-04 04:35:51 +01:00
Seth Hillbrand aff0ad971f Update search dialog
Allow regular expression in search and replace
Allow searching netnames including nets contained in buses

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17102
2025-03-03 16:57:49 -08:00
Seth Hillbrand 1e9cf4e3d7 Add ability to quickly move through nets
After highlighting a net (`), press Tab to quikcly move to the next item
on the net and Shift-Tab to move to the previous

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10911
2025-03-03 14:02:43 -08:00
Jeff Young 7cfa826c9a Put non-sided layers on front, not back of board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20201
2025-03-03 21:38:14 +00:00
Jeff Young 3960480819 Fix SCH plot to PDF for jobsets.
(Fix for CLI bug #19522 broke it for jobsets.)
2025-03-03 21:38:14 +00:00
Jeff Young 92b4b7187e Fix job run-log sizing issues.
wxLIST_AUTOSIZE_USEHEADER doesn't work on
some
platforms, and using OnSize was having seizures
on Mac.
2025-03-03 21:38:14 +00:00
Jeff Young 1808fcec78 Fix job run log sizing issues.
wxLIST_AUTOSIZE_USEHEADER doesn't work on
several platforms, and dynamic sizing of the
list columns falls apart on Mac.
2025-03-03 21:38:14 +00:00
JamesJCode d9ab3a6228 Fix unused variable compiler warning 2025-03-03 20:51:03 +00:00
Seth Hillbrand 2afa67f946 Allow AppImages to pick out different location
Don't assume that libraries are located in the CMAKE lib install
directory as AppImage will relocate them based on the mount point
2025-03-03 12:34:31 -08:00
jean-pierre charras a32c0a8687 Fix compil issue on mingw (missing change from OUTPUT to DESTINATION) 2025-03-03 20:02:28 +01:00
Jeff Young d8cdb69831 Jobset Output -> Destination. 2025-03-03 18:34:33 +00:00
Seth Hillbrand 6f6ca2a35f Allow multi label input
This is a re-implementation of 39c2745f55
that was removed by e5089d783d

This implementation works in the tool, containing side effects
(hopefully) better than the initial implementation.  The multiple labels
are input as multiple lines instead of labels with spaces, allowing for
copy/paste between spreadsheets of labels

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10950
2025-03-03 09:03:02 -08:00
Jeff Young afa4ebcc84 Handle exporting symbols into libraries already under LIB_MGR.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17840
2025-03-03 14:00:57 +00:00
Jeff Young 6b146874c1 Restore "Export Symbol".
The workflow turns out to be slightly different
than a Save As to a new library.

(We don't assume it goes in a library table; we
flatten the symbol; and we pre-load the library
name.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20070
2025-03-03 12:37:36 +00:00
Jeff Young 1c48e97cd7 Formatting. 2025-03-03 12:31:33 +00:00
Jeff Young d0e86cad7c Disable multi-via dragging.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20150
2025-03-03 11:01:33 +00:00
Jeff Young 46378dc760 Dirty hatching from SwapShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20180
2025-03-03 10:35:05 +00:00
Jeff Young bb074f73aa Fix alignment issues in Track & Via properties. 2025-03-03 10:35:05 +00:00
Kreijstal c2685ef76f Fix compilation on mingw 2025-03-03 01:56:30 +00: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
Jeff Young b0eef3ee28 Persist some missing jobset arguments.
Also adds some missing CLI arguments.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20116
2025-03-02 19:27:15 +00:00
Jeff Young 3fc87a841d Yet another static line issue. 2025-03-02 18:43:12 +00:00
Jeff Young 559a966ef7 Yet another static line issue. 2025-03-02 18:43:09 +00:00
Jeff Young 164eff1a3b Handle circular holes with y==0.
(Because legacy code assumed this.)
2025-03-02 17:51:44 +00:00
Jeff Young 7d9dd50b08 Remove extra divider from Pad Properties. 2025-03-02 17:28:44 +00:00
Jeff Young dc12fdfc33 Remove extra divider from Pad Properties. 2025-03-02 17:25:44 +00:00
Jeff Young f5d2b40c9e Compiler warnings. 2025-03-02 17:12:05 +00:00
Jeff Young 163a26111a Introduce lambda to improve readability. 2025-03-02 16:05:35 +00:00
Jeff Young b1a4b77291 Solid fill mode is FILL_T::FILLED_WITH_COLOR for SCH_SHAPE.
(It can also be FILL_T::FILLED_WITH_BACKGROUND_COLOR
for symbol items, but those have their own getters/
setters.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20168
2025-03-02 16:05:35 +00:00
Jeff Young 833bcba06c Simplify background colour handling. 2025-03-02 16:05:35 +00:00
jean-pierre charras 925f2f9bc1 class TOOLBAR_ITEM_TYPE: replace GROUP by TB_GROUP (collision with a Windows header) 2025-03-02 14:49:03 +01:00
jean-pierre charras b0fe4df3c5 More fixes about use of IN versus INCH 2025-03-02 13:59:25 +01:00
jean-pierre charras 2890500f4c PANEL_TOOLBAR_CUSTOMIZATION: fix sizer issues. 2025-03-02 12:53:59 +01:00
jean-pierre charras 0acdabd1eb Fix other places where "IN" is used instead of INCH (mainly QA tests) 2025-03-02 12:52:16 +01:00
Jeff Young 1a10b5fb64 Don't generate -1 width non-filled splines.
They serve no purpose, and will get replaced with
default-line-width non-filled splines.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20138
2025-03-02 11:34:21 +00:00
Jeff Young 8d096590dc Windows compiler doesn't like the trailing ','? 2025-03-02 11:34:21 +00:00
jean-pierre charras 5694c90ae9 Fix a compil issue on msys2 / gcc 14.2.0 2025-03-02 11:36:38 +01:00
jean-pierre charras eaa1e6d594 Fix a collision with a Windows define and our use of the same var name.
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young 307798ac92 Deprecate (instead of remove) --plot-invisible-text
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20171
2025-03-01 21:58:31 +00:00
Jeff Young f951497a4f Code brevity. 2025-03-01 21:58:31 +00:00
Jeff Young 481e467968 Formatting; code brevity. 2025-03-01 21:58:31 +00:00
Jeff Young ef75f63f10 Consistent spacing. 2025-03-01 21:58:31 +00:00
Jon Evans 547a063981 Make sure to fully repaint pads when loading a board
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19896
2025-03-01 16:54:27 -05:00
Jeff Young 8b541f03e9 Edit CODEOWNERS 2025-03-01 21:53:29 +00:00
Seth Hillbrand b21814b973 Global labels are labels too
And without knowing that they are labels, we might accidentally think
that they are text items, crashing KiCad.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20174
2025-03-01 13:34:32 -08:00
JamesJCode 93549a649b Fix unused variable compiler warnings 2025-03-01 18:32:18 +00:00
Daniel Treffenstädt 3768221d9c ADDED: Support for IPC-4761 Via protection features
Fixes https://gitlab.com/kicad/code/kicad/-/work_items/18837
2025-03-01 18:02:54 +00:00
jean-pierre charras 5bdeb40d66 French translation update 2025-03-01 17:45:33 +01:00
Jon Evans 10cb0592ee Fix SCH_SHEET field layer settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20128
2025-03-01 11:19:47 -05:00
jean-pierre charras 00dca4edb3 Pcbnew, hatched fill shapes: fix 2 issues:
- Ensure the hatched fill polygon is fractured in all cases
- ensure the filled polygon only, not the outline, is drawn
2025-03-01 16:59:09 +01:00
Jon Evans 49a5b44220 Fix usage of CmpNoCase in SymbolNameInUse
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20165
2025-03-01 10:56:13 -05:00
Jon Evans e44eed6e6b Remove unused CN_ITEM m_visited
Visited flag should not be stored in the item itself
since these items are used in parallelized code and
the visited state should remain local to the thread
2025-03-01 10:43:04 -05:00
Jon Evans 51f56ab31c Fix inadvertent logic bug in SearchClusters
The safety changes in 3d526edc introduced a subtle
bug where aExcludeZones was not actually excluding
zones anymore because its behavior depended on the
item visited flag being set to true by a previous
call to the function.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20090
2025-03-01 10:39:35 -05:00
Alex Shvartzkop 8762f7e5e6 Update translations 2025-03-01 18:34:32 +03:00
Henrik Kauhanen c5c368af6c Translated using Weblate (Swedish)
Currently translated at 99.9% (9947 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-03-01 16:32:43 +01:00
co8 j a3b5c209d8 Translated using Weblate (Japanese)
Currently translated at 99.8% (9940 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-03-01 16:32:43 +01:00
ZbeeGin e8aad579ec Translated using Weblate (Polish)
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-03-01 16:32:43 +01:00
Pferd O 72a2ae5fa1 Translated using Weblate (German)
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-01 16:32:43 +01:00
Wellington Terumi Uemura 2f7a4518b6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-03-01 16:32:43 +01:00
Marco Ciampa 6d7f958026 Translated using Weblate (Italian)
Currently translated at 96.2% (9578 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-03-01 16:32:43 +01:00
CloverGit 344d501d82 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9939 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-03-01 16:32:43 +01:00
dsa-t 8050cb614d Translated using Weblate (Russian)
Currently translated at 99.7% (9922 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-03-01 16:32:43 +01:00
Pferd O 3d43e026af Translated using Weblate (German)
Currently translated at 99.8% (9937 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-03-01 16:32:43 +01:00
109247019824 92eb945a46 Translated using Weblate (Bulgarian)
Currently translated at 8.2% (823 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-03-01 16:32:43 +01:00
Jon Evans 99cdb6238c Mark the entire file as optional 2025-03-01 09:48:10 -05:00
Jon Evans 47b955b187 Add CODEOWNERS file for suggesting MR reviewers 2025-03-01 09:44:51 -05:00
Fabien Corona 81428e14a6 iec60664-1 : preferred values 2025-03-01 08:27:42 +01:00
Jeff Young c0e4c6a865 Persist generate-gerber-job-file setting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20158
2025-02-28 22:10:24 +00:00
Dhineshkumar S 6e66b22a13 Fix cell selecting instead of table dragging in schematic editor
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17380
2025-02-28 19:14:56 +00:00
Jeff Young 7f935e290a Fracture hatched fill polygon.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20125
2025-02-28 18:52:56 +00:00
Jeff Young 2aa0c15b41 FOOTPRINT::GetBoundingHull(): don't crash on non-copper layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20124
2025-02-28 18:49:41 +00:00
Jeff Young 26871b56f0 Provide easier on-ramp for jobsets.
1) Perform initial save of new jobset.
2) Add default output folder to new jobset.
2025-02-28 18:49:26 +00:00
Seth Hillbrand 18ac99d838 Prevent fetch without repo
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20152
2025-02-28 08:34:24 -08:00
jean-pierre charras 75bed91789 BRDITEMS_PLOTTER::PlotFootprintTextItems(): fix a typo about Value layer.
The typo was using the reference layer to plot the value field

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20144
2025-02-28 09:42:07 +01:00
Ian McInerney e202b00a74 Rework the toolbar settings storage and panel
This format is more extendable in the future, should separator and
spacer support be added to groups.

Also, this now has a working UI for modifying the toolbars.
2025-02-28 02:05:50 +00:00
Ian McInerney 18e5a16040 Improve the toolbar customization UI 2025-02-28 01:57:37 +00:00
Ian McInerney 85810510f4 Tweak toolbar settings a bit
* Manage the settings using the settings manager for better lifetimes
* Better architect the internals and JSON to make it easier to identify
  the various tool types
2025-02-28 01:57:37 +00:00
Ian McInerney ab114c4159 Put preferences panes for toolbars, but hide behind an advanced config
There is still more work to do to make this feature actually
user-friendly and make it so people can't break their UI config too
easily.
2025-02-28 01:57:37 +00:00
Ian McInerney e53c155b8c Initial dialog work 2025-02-28 01:57:37 +00:00
Ian McInerney 548334b4e2 Load toolbar configuration from settings 2025-02-28 01:57:37 +00:00
Ian McInerney caa03ab59e Add setting for custom toolbar and read custom toolbar config 2025-02-28 01:57:37 +00:00
Ian McInerney 7e2a81da15 Initial JSON work 2025-02-28 01:57:37 +00:00
Ian McInerney 29c62e9d9a Move project manager actions to the tool framework 2025-02-28 01:57:37 +00:00
Ian McInerney ea2f8a63c1 Actionize more PCB actions 2025-02-28 01:57:37 +00:00
Ian McInerney 784246575b Move footprint viewer/cvpcb actions to tool framework 2025-02-28 01:57:37 +00:00
Ian McInerney 04ab369a49 Make the PCB layerbox not needed in pcbcommon 2025-02-28 01:57:37 +00:00
Ian McInerney 9e9db8bd4d Make tool framework assert more useful 2025-02-28 01:57:37 +00:00
Ian McInerney c18bc2472b Actionize more 3D viewer actions 2025-02-28 01:57:37 +00:00
Ian McInerney 384ca6bf98 Actionize more toolbar items 2025-02-28 01:57:37 +00:00
Ian McInerney fc6f3f2332 Formatting tweak 2025-02-28 01:57:37 +00:00
Ian McInerney f0a76f62b6 Cleanup PCB/fpeditor layer box handling 2025-02-28 01:57:37 +00:00
Ian McInerney 7ad1103f55 Move toolbars to a serializable storage format 2025-02-28 01:57:37 +00:00
Ian McInerney df15db3236 Initial toolbar reconfigurability settings 2025-02-28 01:57:37 +00:00
Ian McInerney c24dbc17bf Move toolbar setup flags into the action definition
This makes them centrally defined, and removes the need to specify them
when creating the toolbar.
2025-02-28 01:57:37 +00:00
Jan Wichmann 7eb07c00a2 Fix MSVC build error for VC 17.13+ 2025-02-27 23:41:08 +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
Dhineshkumar S 46db959074 Add autocomplete for label names in label properties dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13508
2025-02-27 22:56:02 +00:00
Tomasz Wlostowski b4d29a98f9 router: refine the endpoint moving logic so that it doesn't block shoving 2025-02-27 23:51:12 +01:00
Ethan Chien 007db5f957 Improve string clarity in Zone Manager and DIALOG_COPPER_ZONE for "Minimum island size"
- Renamed "Minimum island size" to "Area limit" in Zone Manager and DIALOG_COPPER_ZONE to align with terminology used in the dropdown.
- The change aims to make the connection between the dropdown choice and the field more intuitive, reducing ambiguity for users.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17255
2025-02-27 22:45:58 +00:00
aris-kimi e80780d3ad Added more simulation cursors at will.
Added m_signalsGrid context menu entries, Create a new cursor from every cell but Delete only from Cursor 3 and above

New entries are saved into their *.wbk files. Loading of current files should not be affected, as tested,
and on save they get the new property added.

Updates *.wbk file version to "7".

If the tab has more cursors than the loaded file, extra cursors should not be affected, otherwise new cursors shown up.
CursorD left hopefully untouched and kept the legacy behavior close to Cursors 1 & 2.

No more known bugs. It is now working as expected as tested on win11 and Debian 12.

m_cursorsGrid events also work.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15211
2025-02-27 22:42:11 +00:00
Daniel Treffenstädt 5e467a969d Added check for custom thermal spoke count
When using custom thermal spoke templates, the user can create templates with fewer, or more, thermal spokes than 4.
2025-02-27 22:40:40 +00:00
Seth Hillbrand e81956f292 Import Altium Projects
Handle Altium project file format

Parse individual schematic files and layout files
Create top-level schematic file
Link imported UUIDs between schematic symbol and footprints based on
refdes
Create KiCad project
Map Altium layout layers between KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2117
2025-02-27 14:36:24 -08:00
Jeff Young 320a298394 Clarifying comments. 2025-02-27 17:53:06 +00:00
jean-pierre charras a414cb0a17 EDA_SHAPE: fix crash when trying to create a hatch pattern inside a circle. 2025-02-27 18:03:24 +01:00
Damjan 230a976742 pcbnew: Drag-selecting while creating a Text breaks PCB editor tools
CHANGED: drawing_tool.cpp: DRAWING_TOOL::PlaceText method ignores events when mouse drag is detected.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20010
2025-02-27 16:47:21 +00:00
Jeff Young 144e660684 Treat changes in solder mask like a width change.
Also in theory keeps from losing tenting properties
on vias that are shoved, though I can't get via
shoving to work at all right now.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20085
2025-02-27 15:24:30 +00:00
Jeff Young 8e461941c0 Formatting. 2025-02-27 15:24:30 +00:00
Wayne Stambaugh a9cea9fbb7 Show the correct footprint name on footprint filter mismatch ERC warning.
The lower case variant used for internal comparison was being used which
is confusing because it doesn't match the footprint name capitalization.
2025-02-27 09:48:13 -05:00
jean-pierre charras ba85c54f81 Eeschema: fix incorrect plot of SCH_TABLE items. 2025-02-27 13:59:24 +01:00
Seth Hillbrand 9211136953 Fix windows build 2025-02-26 18:15:17 -08:00
Seth Hillbrand 5027a562e4 Adjust git timing parameters
Move most of the update firing to the file system watcher (except for
windows network shares that still need timed updated).  Gate the repo
status for sync

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20133
2025-02-26 15:56:38 -08:00
Jon Evans 52e86303c0 Fix export SVG mode logic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20089
2025-02-26 17:31:18 -05:00
Dhineshkumar S 20c72504c3 Eeschema: Import and auto place all sheet pins
https://gitlab.com/kicad/code/kicad/-/issues/6736
2025-02-26 21:24:02 +00:00
Jeff Young 797de67c6c Apply EEschema fixes to PCBNew and Footprint Editor.
(Symbol Editor doesn't have the issue of the properties
being overwritten.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20066
2025-02-26 20:06:30 +00:00
Jeff Young f510cce2da Apply List Hotkeys fix to Edit Hotkeys.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19989
2025-02-26 19:17:53 +00:00
Jeff Young 53e784caef Better alignment betweeen controls in Pad Properties. 2025-02-26 19:17:53 +00:00
Jeff Young 500962b3a4 There is no support (as yet) for layer-specific soldermask expansions.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20053
2025-02-26 19:17:53 +00:00
Jeff Young 23528425ef Formatting. 2025-02-26 19:17:53 +00:00
Wayne Stambaugh f538908f62 Fix git clone project dialog layout issues.
Use enable/disable instead of show/hide to prevent large areas of blank
space in the dialog.

Set the minimum dialog size after the initial launch to prevent controls
from being cut off when resizing dialog to less than the initial size.

Fix static and dialog title bar string capitalization.

Add colons (:) to the end of description static text controls as is done
elsewhere in KiCad.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20045
2025-02-26 14:04:50 -05:00
jean-pierre charras 7c067e25d9 PCB_DIM_XXX::updateGeometry(): protect against re-entrance.
After calling updateText(), updateGeometry() was sometimes re-run before the
current updateGeometry() was finished, thus creating a incorrect geometry
(duplicate items)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20076
2025-02-26 20:01:29 +01:00
Alex Shvartzkop 7faee6acc2 Update translations 2025-02-26 20:12:47 +03:00
An Nguyen ef9fc7841a Translated using Weblate (Vietnamese)
Currently translated at 24.0% (2387 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/vi/
2025-02-26 18:12:30 +01:00
CloverGit 50d976be35 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9936 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-26 18:12:30 +01:00
Marco Ciampa f13f8f788f Translated using Weblate (Italian)
Currently translated at 95.8% (9524 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-26 18:12:30 +01:00
Marco Ciampa caf99cc3b4 Translated using Weblate (Italian)
Currently translated at 95.5% (9490 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-26 18:12:30 +01:00
Wellington Terumi Uemura c2bcb36369 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9936 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-26 18:12:30 +01:00
ZbeeGin f2205e0c83 Translated using Weblate (Polish)
Currently translated at 100.0% (9936 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-26 18:12:30 +01:00
Henrik Kauhanen 638d6bbf2a Translated using Weblate (Swedish)
Currently translated at 99.9% (9935 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-02-26 18:12:30 +01:00
dsa-t 0ae37c0f60 Translated using Weblate (Russian)
Currently translated at 100.0% (9936 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-26 18:12:30 +01:00
co8 j b7401a5087 Translated using Weblate (Japanese)
Currently translated at 99.9% (9934 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-26 18:12:29 +01:00
Pferd O e029537739 Translated using Weblate (German)
Currently translated at 100.0% (9936 of 9936 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-26 18:12:29 +01:00
Jeff Young b85c5eb8cc Fix wxWidgets assertion.
(I also increased the spacing between the left
and right columns at the top.)
2025-02-26 13:06:51 +00:00
Jeff Young fde4aac075 Don't exit DRC when one test passes.
Also adds handling for table cells.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20049
2025-02-26 12:50:57 +00:00
Jeff Young 956875e2f4 DRC_LAST is the last index, not the size.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20049
2025-02-26 12:50:49 +00:00
Jeff Young 6ccacd232e Formatting. 2025-02-26 12:16:51 +00:00
Jeff Young 20f40c1030 Replace GetConnectedItems() type list with an EXCLUDE_ZONES flag.
The type list kept atrophying when various new
items were added (arcs, shapes).

And god knows what the purpose of putting PCB_FOOTPRINT_T
in some of them was.  As far as I can tell a CN_ITEMs
parent can never be a footprint.

(Also moves IGNORE_NETS to a flag so that we don't
end up with two booleans and the potential to have
them out-of-order.)
2025-02-26 11:02:10 +00:00
Jeff Young 888cbf8e7a Don't use connectivity system for Track & Via Properties dialog.
It will propagate through zones, and since we haven't
yet done a refill it will pick up a bunch of false
stuff any time the track was widened more than the
clearance.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20084
2025-02-26 11:02:10 +00:00
Jeff Young 931b1b0231 Cleanup. 2025-02-26 11:02:10 +00:00
Eric 92cdca69b3 ODB++:Fix date format in misc/info file
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20103
2025-02-26 15:30:36 +08:00
Jon Evans de160e4af6 Add missing change from previous commit
See b6aac93
2025-02-25 23:42:00 -05:00
Marek Roszko 9d5e143d08 ADDEDL: gencad job support to jobsets 2025-02-25 22:44:24 -05:00
Seth Hillbrand aa1baec062 Fix git flicker on Windows 2025-02-25 19:38:01 -08:00
Jon Evans b6aac9369e Fix creation of Altium compound files from IntLibs
A previous change introduced an invalid cast from
base to derived class.  To clean this up, changed
DecodeIntLibStream to have an out param and allow
two-step initialization of ALTIUM_COMPOUND_FILE

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20099
2025-02-25 22:34:26 -05:00
Jon Evans 41f5750be7 Fix logic in via high contrast LOD calculation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20093
2025-02-25 20:59:26 -05:00
Jon Evans 5cec2fac9d API: Add board origin setter/getter
See https://gitlab.com/kicad/code/kicad-python/-/issues/20
2025-02-25 20:13:16 -05:00
Seth Hillbrand 72411af9de Update fp properties even when can't update fp
When updating the footprint, we may encounter a missing footprint.  We
should still modify the netlist against the existing footprint (if one
does exist) to match the netlist.  This matches the behavior of updating
the netlist when fp are not selected for update

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18249
2025-02-25 17:03:52 -08:00
Seth Hillbrand 0877467384 Don't worry about generated spice files 2025-02-25 16:56:15 -08:00
Marek Roszko 59b297dcdc Fix missing change 2025-02-25 19:29:22 -05:00
Seth Hillbrand 2c54ab277b Thread git checks
Push the git checks from the main thread into child threads to prevent
resource contention in some cases where Windows machines might have many
files in git that are _also_ being managed by Google Drive

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20078
2025-02-25 16:07:19 -08:00
Marek Roszko 42e448dbf6 Elems clear should be private 2025-02-25 18:03:26 -05:00
dsa-t 71fdc9b199 Simplify layer list update in PANEL_SETUP_LAYERS.
(cherry picked from commit bdd4a88127)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-02-25 20:44:07 +00:00
dsa-t d2edf6796c Fix scrollbars not appearing in Appearance layers panel after board import.
(cherry picked from commit f60313367c)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-02-25 20:40:27 +00:00
dsa-t 62b208e0a5 Fix scrollbars not appearing initially in PANEL_SETUP_LAYERS.
(cherry picked from commit a4e2d54221)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-02-25 20:23:27 +00:00
dsa-t b6a0a7cd14 Auto-size PANEL_SETUP_LAYERS_BASE.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20106


(cherry picked from commit 8ef8ca4d39)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-02-25 20:23:17 +00:00
Marek Roszko bc5fca1daa Make schematic and project inherit from PROJECT::ELEM
Just to see if anything weird happens first.
2025-02-24 22:22:56 -05:00
Marek Roszko dbab601c0a Bump cmake minimum
This is so we can use the ENVIRONMENT_MODIFICATION feature across all platforms and simplify some QA cmake. Right now MSVC is special cased to use it since the other PATH variable editing doesn't work due to semicolon/colon issues in cmake parsing.
2025-02-24 19:48:58 -05:00
Jon Evans c4c1842bc4 API: Add new user layers
See https://gitlab.com/kicad/code/kicad-python/-/issues/23
2025-02-24 19:27:13 -05:00
Jon Evans f928b6b7e0 Fix typo that broke simulation field extraction 2025-02-24 19:12:44 -05:00
Jeff Young 8f40feedbb m_ordinal has no meaning for mandatory fields.
... but it should still be initialised.
2025-02-24 23:42:56 +00:00
Seth Hillbrand 141d50f0c1 Initialize m_orginal 2025-02-24 15:11:08 -08:00
Jeff Young 7db3ccd98a Better algorithm for knocking out footprints.
(Though anything would have been as the previous
one didn't work at all.)
2025-02-24 23:01:07 +00:00
Tomasz Wlostowski 78fc95fd6d router: fix regression in post-shove optimization
Note to self: we keep track of the formerly pushed vias in the line stack, but pruning one from the optimizer queue should not prune the lines attached to it.
2025-02-24 23:45:19 +01:00
Tomasz Wlostowski 9e4947ed36 router: prevent assertion fail in MULTI_DRAGGER
Fixes https://gitlab.com/kicad/code/kicad/issues/20075
2025-02-24 23:42:20 +01:00
Tomasz Wlostowski 29a4ec0fde router: prevent disconencting via fanout traces when shoving
Note to self: move-endpoints fallback mode must check for vias connected at the obstacle LINE's ends - fallback is only applicable for unconnected ends.
2025-02-24 23:42:20 +01:00
Tomasz Wlostowski bfbdfcf872 router: improved shove litter fix
Note to self: managing the shove stack is quite challenging and there were a few corner cases
where reverse via/segment collisions would cause a head segment (or a via) to have multiple clones in the stack.
As SHOVE::removeHeads() took only complete head lines, sometimes it resulted with stray vias/segments.

Fixes https://gitlab.com/kicad/code/kicad/issues/19045
2025-02-24 23:42:20 +01:00
Jon Evans 6be2468e05 Fix uninitialized member in non-user fields 2025-02-24 17:39:38 -05:00
Seth Hillbrand 3b24b5b74b Fix SWIG QA 2025-02-24 14:13:36 -08:00
Seth Hillbrand ea520da1c8 Protect search from mis-attributed LIB/SCH instance
The parent of fields might be a LIB_SYMBOL, not SCH_SYMBOL.  We need to
watch for and avoid these in the search/replace for schematics

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20079
2025-02-24 10:13:38 -08:00
Jeff Young 907f21e739 Hatching knockout fixes. 2025-02-24 17:35:43 +00:00
Jeff Young 0de8d75dec Fixup parent after blasting it. 2025-02-24 17:35:43 +00:00
Jeff Young f5cee2ee0a Formatting. 2025-02-24 17:35:43 +00:00
Jeff Young 86e9f47875 Minor cleanup to table dialogs, take 2. 2025-02-24 17:35:43 +00:00
jean-pierre charras ddcf3f9855 Fix compil warning and issue. 2025-02-24 14:35:10 +01:00
Jeff Young 8fd175dd22 Minor cleanup to table dialogs. 2025-02-24 11:53:50 +00:00
Jeff Young 29b8066473 Minor dialog cleanup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20047
2025-02-24 11:08:29 +00:00
Jeff Young 562ff37314 Mirror location of textbox.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20021
2025-02-24 11:08:29 +00:00
Jeff Young 1691d8d2b2 Fix plot dialog layout. 2025-02-24 11:08:29 +00:00
Jeff Young 3f15b0d75b ADDED: hatched fills for shapes. 2025-02-24 11:08:29 +00:00
Jeff Young 59d6152cf0 Cleanup stale comment. 2025-02-24 11:08:29 +00:00
Jeff Young 34db9ed245 Better namespacing.
Also fixes a bug with calculating eagle annular
ring sizes.
2025-02-24 11:08:29 +00:00
Jeff Young 01a19bf3d0 Filled shapes can still have a border width. 2025-02-24 11:08:29 +00:00
Jeff Young 7b80e93a4b 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-24 11:08:29 +00:00
Jeff Young 675624b926 ADDED: Knockout text boxes. 2025-02-24 11:08:29 +00:00
Jeff Young 7583c0e69d Retire DIALOG_FOOTPRINT_CHOOSER. 2025-02-24 11:08:29 +00:00
Jeff Young c5bb59468d Get rid of assumptions about field order. 2025-02-24 11:08:29 +00:00
Jeff Young 9d901188cb Use specific thickness for mask layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19024
2025-02-24 11:08:29 +00:00
Jeff Young f2da0c791f Retire non-cairo printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19323
2025-02-24 11:08:29 +00:00
Jeff Young f9c41d70d1 No-connect pins aren't endpoints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18316
2025-02-24 11:08:29 +00:00
Jeff Young e7652685f0 Always report all track keepout violations.
(Regardless of report-all-errors-per-track setting.
There's no clear rule here, but to do otherwise just
feels wrong.  Keepout areas are distinct, it's not
like tracks too close together reporting lots of
clearance errors.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13219
2025-02-24 11:08:29 +00:00
Jeff Young 79eeb1492c Improve grid settings layout. 2025-02-24 11:08:29 +00:00
Jeff Young 3a4aec7267 Account for solder mask thickness from board stackup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19024
2025-02-24 11:08:29 +00:00
Jeff Young 28684cfeba Formatting. 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 aaca66351e Case-insensitive collision detection for symbol names.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19370
2025-02-24 11:08:29 +00:00
Jeff Young 85c4319185 Formatting. 2025-02-24 11:08:29 +00:00
Jeff Young b74c2791f4 Allow context menus in footprint chooser when called from Eeschema.
Also moves several RAII utility classes (some of which
were duplicated in open code) to a common header file.
2025-02-24 11:08:29 +00:00
Jeff Young 9d051d096e Add tool framework to fp preview widget.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17107

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19651
2025-02-24 11:08:28 +00:00
Jeff Young 97a0ec504b Search Panel hint in Find Dialogs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19722
2025-02-24 11:08:28 +00:00
Jeff Young 3b3fd95430 MOVED subtract-mask-from-silk to general section.
(Was Gerber-specific.)
2025-02-24 11:08:28 +00:00
Jeff Young 0c9f08742c REMOVED force-plot-invisible-items.
It's dangerous as the router and DRC will have been
run without regard to invisible items.

(See #19420.)
2025-02-24 11:08:28 +00:00
Jeff Young e483c48fe6 Re-balance file sizes. 2025-02-24 11:08:28 +00:00
Damjan 76a3d1c845 Eeschema and pcbnew: Table Cell Properties 2025-02-24 11:07:58 +00:00
Damjan 5771467ca3 pcbnew: Table Rotation 2025-02-24 11:00:29 +00:00
Jon Evans 4123f75d5a Re-add accidentally removed increment
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20069
2025-02-23 22:41:44 -05:00
Seth Hillbrand 03af293683 Unify embedded file writing
For unknown reasons, one method of writing was not working on Windows.
This is an attempt to write using the common wxFFileOutputStream to see
if that results in better output for Windows clients

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20006
2025-02-23 15:38:39 -08:00
Jon Evans 3525731a4e PCM: Prompt to enable IPC API when required
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20062
2025-02-23 18:07:02 -05:00
Dmitry Rezvanov 58d2b34304 Prevent overwriting alias members when adding new rows in panel setup.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20040
2025-02-23 22:21:28 +00:00
Damjan 9c6ebb44b6 pcbnew: Table Cell Text Justification 2025-02-23 21:27:57 +00:00
Jon Evans bacb6bf40f Clear render cache for hole walls on zoom change 2025-02-23 13:03:54 -05:00
Jon Evans 0e8934f887 Do not persist canvas type fallback due to OpenGL failure
If the user wants to always use fallback,
they can set this option explicitly
2025-02-23 12:50:43 -05:00
Graham Keeth 89a5fadcdc improve tooltips in sync sheet pins dialog 2025-02-22 23:16:39 +00:00
Seth Hillbrand 157c7422b0 Allow sim models to reference embedded files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20024
2025-02-22 14:53:59 -08:00
Seth Hillbrand b02a449be8 Limit the size of the PTH hole walls
Should always be at least 2px thick but no larger than the minimum
thickness of the pad (walls do not extend beyond the pad itself)
2025-02-22 14:53:59 -08:00
Graham Keeth c57088a60c Add ellipses for sheet/sheet pin actions 2025-02-22 21:33:24 +00:00
Graham Keeth 812a3ff83e Add ellipses in net inspector menus 2025-02-22 21:33:24 +00:00
Graham Keeth 2e7db39751 Add ellipsis for zone manager 2025-02-22 21:33:24 +00:00
Jon Evans d29025ef78 API: Refresh screen after changing selection
Required on Linux/Windows

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20008
2025-02-22 16:00:40 -05:00
Connor Goss 5a5759c41a Add IPC-D-356 Export to kicad-cli
ADDED: Added IPC-D-356 exporting to kicad-cli.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13951
2025-02-22 21:00:54 +00:00
Wayne Stambaugh 4e4ebe536e Fix zone manager dialog layout issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20046
2025-02-22 15:48:00 -05:00
Jon Evans 5abfdac639 Remove accidentally-added tree 2025-02-22 14:43:49 -05:00
Jon Evans 8082d6ffa9 Remove debug output 2025-02-22 14:02:52 -05:00
Jon Evans 78d117bf3b Attempt a better fix for CI paths in kicad-cli tests
Also check in other default configs
2025-02-22 13:37:48 -05:00
Jon Evans 8d7d769bb6 Prevent assertion running on wx 3.3 2025-02-22 12:15:46 -05:00
Jon Evans cc1f513a6e Add some env debug output to kicad-cli tests 2025-02-22 12:01:35 -05:00
jean-pierre charras fc9795e95d pcb_calculator, STRIPLINE: fix incorrect formula for conductor loss. 2025-02-22 17:02:09 +01:00
Eli Hughes e972fb42ee Seeding a simple python script to create a test server for http libs. 2025-02-22 15:47:56 +00:00
Dmitry Rezvanov c7aaf8b6e1 Enhance library pinning functionality to support pin/unpin multiple libraries in the library editor 2025-02-22 15:41:35 +00:00
Jon Evans ca21a35bfc Improvements to kicad-cli test repeatability 2025-02-22 10:35:27 -05:00
JamesJCode 1e84d1e496 Fix m_zoneLayerOverrides data race in pad.h
From Coverity issue 542093
2025-02-22 14:58:11 +00:00
Dmitry Rezvanov ee614161d7 Added enum COL_ORDER for jobset panel's columns 2025-02-22 14:07:08 +00:00
Dmitry Rezvanov 0c2a5b72ec Fixed description column number in PANEL_JOBSET::OnGridCellChange.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20030
2025-02-22 14:07:08 +00:00
Daniel Treffenstädt 255f4aee76 Make sure drill layer pairs are created in odb++
fixes #20039
2025-02-22 10:58:14 +01:00
Seth Hillbrand 878cf768d6 Quiet down the Exclude from Sim marks in Schematic
The big grey X and dimming the component made it look like the component
was no longer a part of the circuit, rather than just being excluded for
a single purpose.

The changes the display to make a more subtle grey outline with an icon
in the corner to indicate that this refers to simulation.
2025-02-21 12:38:23 -08:00
Seth Hillbrand 2e93fb7a24 Prevent crash when importing over existing project
If the hierarchy navigator is open and expanded, we have references to
the existing sheets.  These need to be cleared when importing a new
sheet over top

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20004
2025-02-21 10:34:25 -08:00
Graham Keeth ac9f41baaa Embedded files: standardize on "embedded reference" 2025-02-21 12:46:43 -05:00
jean-pierre charras aafe6157e2 kicad-cli pcb export SVG: ensure the "C" locale is used.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20023
2025-02-21 17:44:02 +01:00
jean-pierre charras 22a2cca312 PANEL_FP_EDITOR_FIELD_DEFAULTS: fix hang when creating the panel (Windows only)
PANEL_FP_EDITOR_FIELD_DEFAULTS::loadFPSettings() was trying to add 0 rows to a
table which hang on Windows (but not on linux)
2025-02-21 17:08:22 +01:00
Graham Keeth 68869f6439 capitalize Git in display strings 2025-02-21 15:18:16 +00:00
Jeff Young 0885d48d6b parseMaybeAbsentBool's param is the naked token value, not the absent value.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20017
2025-02-21 11:17:45 +00:00
jean-pierre charras a9fb475cf2 PCB_TABLE: fix incorrect plot of tables rotated +-90 (missing segments).
This change was missing in commit 276029ee

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19985
2025-02-21 09:47:45 +01:00
Jon Evans b932487f2e API: Add serialization of footprint mounting style
See https://gitlab.com/kicad/code/kicad-python/-/issues/19
2025-02-20 17:46:23 -05:00
Jeff Young a8a1b08013 Make sure protobuf API stays consistent. 2025-02-20 17:47:40 +00:00
Jeff Young 9ca9d7120a Cleanup. 2025-02-20 17:47:40 +00:00
jean-pierre charras 1748c3c893 PANEL_PREVIEW_3D_MODEL_BASE: fix opacity slider.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19990
2025-02-20 18:21:24 +01:00
jean-pierre charras 8a5b71a01b Print dlgs: add panel printer to select the current printer. Windows only
Other platforms show the available printers in print dialog.
2025-02-20 17:04:47 +01:00
Alex Shvartzkop 0201e7286c Vertically center text in cells in jobsets table. 2025-02-20 14:23:35 +03:00
John Beard f24c8d7410 Pcbnew: add a tooltop for always-on layers 2025-02-06 22:45:32 +08:00
Marek Roszko 3d15317282 Add missing demo installs 2025-02-19 23:07:10 -05:00
Ian McInerney 0954f8ff76 Ensure vme-wren demo is installed 2025-02-20 03:00:10 +00:00
Jeff Young 6b3d01ead9 Load actions from frame's actionmanager, not from singleton.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19989
2025-02-19 23:43:53 +00:00
Jeff Young a00aeb7876 Fix comment. 2025-02-19 23:43:53 +00:00
Jeff Young e018a33628 Formatting. 2025-02-19 23:43:53 +00:00
Jeff Young 61efe5be18 Resolve field references in symbol text items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19983
2025-02-19 23:43:53 +00:00
Jeff Young bf34fe625c Reduce cover types.
Also, don't use _ITEM for things that aren't EDA::ITEMs.
2025-02-19 23:43:53 +00:00
Jeff Young fea659a002 Remove prohibition from clearing Value field in Symbol Fields Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19745
2025-02-19 23:43:53 +00:00
Jeff Young 426ac96bb7 ADDED: 'Name' property for fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19706
2025-02-19 23:43:53 +00:00
Jeff Young be58dddcab Don't special case output directory label for jobsets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19868
2025-02-19 23:43:53 +00:00
Jeff Young 6a3f52dbaf Ignore negative layers when exporting Gerbers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16871
2025-02-19 23:43:53 +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 c136df247f Better way of determining if we're reporting from the footprint editor. 2025-02-19 23:43:53 +00:00
Jeff Young 006d8b290a Save copy of AUI config before applying it.
(It's going to do a bunch config saves, which
will otherwise overwrite all the user's preferences
with the defaults.)
2025-02-19 23:43:53 +00:00
Jeff Young 072d8d55fe ADDED: support naked hyperlinks in tablecells and textboxes.
Also fix flickering due to IS_ROLLOVER flag getting
nuked.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18832
2025-02-19 23:43:53 +00: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
Jeff Young 4e08afd517 Improve control spacing. 2025-02-19 23:43:53 +00:00
Jeff Young 1ff0dfb052 No connections AND no-net is not an error
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19737
2025-02-19 23:43:53 +00:00
Jeff Young c28039556d Check for duplicate footprints.
Also fixes a bug where we were running Validate()
twice.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19857
2025-02-19 23:43:53 +00:00
Jeff Young 42acb62f6e Don't disable line styles on filled shapes.
It's too much trouble to figure out what the
user wants, and not always right even then.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19946
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 d921a4e916 Switch to using unit names in property inspector. 2025-02-19 23:43:53 +00:00
Jeff Young 56b8fec74b Update instance reference from property inspector.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19932
2025-02-19 23:43:53 +00:00
Jeff Young 1c848bb9fb Improve code clarity.
(No functional change.)
2025-02-19 23:43:53 +00:00
Jeff Young 80e7698131 MOVED subtract-mask-from-silk to general section.
(Was Gerber-specific.)
2025-02-19 23:43:53 +00:00
Jeff Young 4fa02690f8 REMOVED force-plot-invisible-items.
It's dangerous as the router and DRC will have been
run without regard to invisible items.

(See #19420.)
2025-02-19 23:43:53 +00:00
Jeff Young b44261c2bd Handle clipping silk to mask when there is more than one layer. 2025-02-19 23:43:53 +00:00
Jeff Young 4959b480c3 Cleanup stale comments. 2025-02-19 23:43:53 +00:00
Jeff Young 9c0214afc0 Cleanup. 2025-02-19 23:43:53 +00:00
Jeff Young 281aa74f30 Performance improvements for teardrop regeneration.
Avoid O(n^2) behaviour when deleting many
zones from the board zones list.
2025-02-19 23:43:53 +00:00
Jeff Young 5edae8250d Finish eradication of visibility flag on text items.
Import/read previously-hidden symbol/footprint
text items as hidden fields.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19875
2025-02-19 23:43:52 +00:00
Jeff Young 40daacbeeb IPC-2581 has a hyphen in it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19770
2025-02-19 23:43:52 +00:00
Jeff Young 3fff89820d Fix inconsistent capitalisation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19770
2025-02-19 23:43:52 +00:00
Jeff Young cedb97c4c3 Formatting. 2025-02-19 23:43:52 +00:00
Jeff Young 759bfbca99 Don't allow creation of design blocks in recently used tree node. 2025-02-19 23:43:52 +00:00
Jeff Young 2a1b93a254 Fix bugs in library existence checking, and add for symbol libs. 2025-02-19 23:43:52 +00:00
Jeff Young 4a35468301 LIB_TREE_MODEL_ADAPTER is not symbol-specific. 2025-02-19 23:43:52 +00:00
Andrej Valek 5e64f56d54 KiwayPlayer(FRAME_FOOTPRINT_CHOOSER): set window parent
The FRAME_FOOTPRINT_CHOOSER dialog is always a modal window, so it
requires to have an parent. Set parent in dialog_field_properties.
2025-02-19 18:16:55 +00:00
lucas 2559ac50a3 Simulator: Bug fix quoting netnames for user defined signals
- Fixes issue: #18598
- Netnames that contained other netnames weren't quoted correctly
- E.g. /out1 and /out were in conflict in previous method
- Fixed formatting afted review
2025-02-19 18:15:57 +00:00
Dmitry Rezvanov 663f00da25 Add "Route Selected From Other End" action to edit context menu 2025-02-19 18:12:04 +00:00
Seth Hillbrand cf2827c6ec Properly handle Altium harnesses
Altium harnesses are imported as buses in KiCad, using bus aliases to
represent the harness elements

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16852
2025-02-19 18:06:57 +00:00
Seth Hillbrand 9781da51e1 Speed up the time it takes to GeneratePaths
The loop processes nodes but skips those nodes that share the same
parent.  Because of this, we can get strong performance improvement from
caching gains by sorting the vector first by the parents so that the
inner loop is able to skip ahead without invalidating its cache
2025-02-19 18:05:07 +00:00
Seth Hillbrand d2f780dfb4 Prevent image duplication
Duplicate ancillary clipboard needs to be tested with the existence of
an image when pasting

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19973
2025-02-19 18:02:27 +00:00
Wayne Stambaugh ef49d83bc1 Begin version 10 development. 2025-02-19 11:01:40 -05:00
Wayne Stambaugh e9bb55ab8a Begin version 9.0.1 development. 2025-02-19 10:51:49 -05:00
Wayne Stambaugh 286b0611fe Tag stable version 9.0.0 release. 2025-02-19 10:49:49 -05:00
Seth Hillbrand 1b5c97d464 Remove partially translated languages <50% 2025-02-19 07:35:06 -08:00
Alex Shvartzkop 1e0b765ab4 Update translations 2025-02-19 17:09:29 +03:00
김랑기 f64a52980e Translated using Weblate (Korean)
Currently translated at 100.0% (9934 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-19 14:13:33 +01:00
Seth Hillbrand d14146c888 Translated using Weblate (Ukrainian)
Currently translated at 75.6% (7516 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-02-19 14:13:33 +01:00
Seth Hillbrand d9b9649e40 Translated using Weblate (Spanish (Mexico))
Currently translated at 86.5% (8595 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es_MX/
2025-02-19 14:13:33 +01:00
Seth Hillbrand 837ed40de6 Translated using Weblate (Turkish)
Currently translated at 53.5% (5320 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-02-19 14:13:33 +01:00
Seth Hillbrand 59640aa865 Translated using Weblate (Slovak)
Currently translated at 56.1% (5573 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sk/
2025-02-19 14:13:33 +01:00
Seth Hillbrand c7230d0590 Translated using Weblate (Portuguese)
Currently translated at 93.1% (9258 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt/
2025-02-19 14:13:33 +01:00
Seth Hillbrand 3c8997d0a4 Translated using Weblate (Dutch)
Currently translated at 89.8% (8924 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nl/
2025-02-19 14:13:33 +01:00
Seth Hillbrand a382c2941b Translated using Weblate (Finnish)
Currently translated at 98.9% (9832 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-02-19 14:13:33 +01:00
Seth Hillbrand bcca6cb516 Translated using Weblate (Spanish)
Currently translated at 84.7% (8421 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-02-19 14:13:33 +01:00
Seth Hillbrand e0bc859996 Translated using Weblate (Greek)
Currently translated at 87.5% (8695 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-02-19 14:13:33 +01:00
Jan Straka 189d84cd0c Translated using Weblate (Czech)
Currently translated at 76.8% (7637 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-02-19 14:13:32 +01:00
Seth Hillbrand 5ca7abf2c1 Add vme-wren demo 2025-02-18 16:49:00 -08:00
Alex Shvartzkop cf2a98c05a Jobsets: make Execute Command job dialog usable for long strings.
Using a dummy string to keep decent sizing on high-DPI monitors.
2025-02-18 23:07:20 +03:00
Alex Shvartzkop a019626719 Restore some strings. 2025-02-18 22:25:00 +03:00
Alex Shvartzkop d2477b3125 Jobsets: fix copying directories using Copy Files job. 2025-02-18 22:15:50 +03:00
Alex Shvartzkop 3f62ff25d2 Jobsets: expand environment variables in Copy Files job source. 2025-02-18 22:15:50 +03:00
Seth Hillbrand f6c507bff9 Fix git issue with file separators
In some cases, GetPath will not return the trailing `/` leading to
inability to commit any files in git
2025-02-18 10:00:54 -08:00
jean-pierre charras 276029ee03 SCH_TABLE and PCB_TABLE: fix incorrect plot of tables rotated 90 or -90 deg.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19985
2025-02-18 17:56:19 +01:00
Alex Shvartzkop 6ecac5d2e6 Update translations 2025-02-18 19:16:29 +03:00
Marco Ciampa f98a4793ae Translated using Weblate (Italian)
Currently translated at 95.4% (9486 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-18 17:05:47 +01:00
CloverGit b9d62a9097 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9934 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-18 17:05:47 +01:00
dsa-t 7f554eda9d Translated using Weblate (Korean)
Currently translated at 99.9% (9926 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-18 17:05:47 +01:00
co8 j fd643bc12a Translated using Weblate (Japanese)
Currently translated at 99.9% (9932 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-18 17:05:47 +01:00
Henrik Kauhanen de3c3615cf Translated using Weblate (Swedish)
Currently translated at 99.9% (9933 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-02-18 17:05:47 +01:00
dsa-t 1c3109997e Translated using Weblate (Russian)
Currently translated at 100.0% (9934 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-18 17:05:47 +01:00
ZbeeGin e6b3706615 Translated using Weblate (Polish)
Currently translated at 100.0% (9934 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-18 17:05:47 +01:00
Pferd O 84b8d002bd Translated using Weblate (German)
Currently translated at 100.0% (9934 of 9934 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-18 17:05:47 +01:00
Wayne Stambaugh 7f84e24ac5 Update demos to V9 file formats except simulations. 2025-02-18 09:24:23 -05:00
Jeff Young 4e3175b244 Fix use of wrong variable.
The passed in footprint is a filter, not the current
footprint from the iterator.

Also cleaned up confusion and bad reporting over
temp file usage, and need to const cast for
updating embedded fonts.
2025-02-18 14:12:08 +00:00
jean-pierre charras cbccf6f027 Eeschema: fix incorrect 180 deg arcs of some old symbol libraries
Some libs (2021 versions) encoded an arc with start, end, center points,
start, end angles. Since the Y axis was reversed in symbol editor,
180 deg arcs were not correctly converted.
This is now fixed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19970
2025-02-18 11:59:57 +01:00
Alex Shvartzkop 6a0cd5cd22 Fix master pad default corner radius. 2025-02-18 13:15:10 +03:00
Alex Shvartzkop 66246798c1 Fix attribute writing in ODB++.
A space has to be put before the first ";", otherwise it can't be read correctly.
2025-02-18 11:18:47 +03:00
Alex Shvartzkop b9606b8d38 Don't return 1-point bounding hulls from some footprints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19967
2025-02-18 11:18:47 +03:00
Seth Hillbrand 9b56b8d89a Add royalblue54L feather demo 2025-02-17 13:18:47 -08:00
Eric 1968716542 ODB++: fix format error caused by empty PKG name when some AD projects import 2025-02-17 17:44:54 +08:00
jean-pierre charras d53bf5d6cf French translation update 2025-02-17 08:29:55 +01:00
Alex Shvartzkop c64869de23 Update translations 2025-02-17 08:10:09 +03:00
Luca Mattii 733de91938 Translated using Weblate (Italian)
Currently translated at 94.9% (9429 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-17 05:32:40 +01:00
dsa-t 5911ae3d42 Translated using Weblate (Russian)
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-17 05:32:40 +01:00
Temuri Doghonadze e553f0b270 Translated using Weblate (Georgian)
Currently translated at 10.3% (1032 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ka/
2025-02-17 05:32:40 +01:00
Wellington Terumi Uemura 4e1f8168b4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-17 05:32:40 +01:00
Henrik Kauhanen a8a5813703 Translated using Weblate (Swedish)
Currently translated at 99.9% (9928 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-02-17 05:32:40 +01:00
dsa-t 52f33ae9a3 Translated using Weblate (Russian)
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-17 05:32:40 +01:00
ZbeeGin 199057858f Translated using Weblate (Polish)
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-17 05:32:40 +01:00
2tama3 431e52d85a Translated using Weblate (Japanese)
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-17 05:32:40 +01:00
CloverGit 95b9d119b5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-17 05:32:39 +01:00
Pferd O 646ffdcd17 Translated using Weblate (German)
Currently translated at 100.0% (9929 of 9929 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-17 05:32:39 +01:00
Connor Goss 9aec923862 Set output filename in GenCad CLI job from the --output parameter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19968
2025-02-16 23:34:35 +00:00
Alex Shvartzkop 0594a43cfa Let wx auto-close streams in compressed IPC-2581 export.
Removing the temp file was not possible if it's still open.
2025-02-16 18:32:19 +00:00
Alex Shvartzkop 8f7b692720 Translate column names in DIALOG_MULTICHANNEL_GENERATE_RULE_AREAS. 2025-02-16 20:02:40 +03:00
Seth Hillbrand 5e176798c9 Correct new tooltip string 2025-02-16 08:04:53 -08:00
Alex Shvartzkop ea5514725c Make some multi-channel tooltips translatable. 2025-02-16 16:54:06 +03:00
Alex Shvartzkop 83fc5ff793 Allow severity specifiers to be translated in ERC/DRC items. 2025-02-16 16:36:04 +03:00
Alex Shvartzkop 017a26df69 Internationalize DIALOG_DESIGN_BLOCK_PROPERTIES_BASE. 2025-02-16 16:33:42 +03:00
jean-pierre charras ea1498b39b GenIPC2581File(): close a temporary file before trying to delete it. 2025-02-16 10:43:34 +01:00
Jon Evans a1f0adcc11 CLI: Set correct flag for DXF plotter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19966
2025-02-15 17:22:00 -05:00
Jeff Young e9ee5c2efe Comments. 2025-02-15 20:29:12 +00:00
Eli Hughes fa75fb40be Fix crash in HTTP libraries if server doesn't return a description
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19963
2025-02-15 19:32:21 +00:00
Alex Shvartzkop 4d3b2c0cca Fix path comparison in design blocks on Windows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19950
2025-02-15 22:14:26 +03:00
Jon Evans 667bafc8bb Restore accidentally-removed schematic parity code from CLI
This will need a better fix later

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19929
2025-02-15 12:52:59 -05:00
jean-pierre charras df8f6f5cc0 PCB_IO_KICAD_SEXPR::formatTeardropParameters(): fix missing parenthesis
Fortunately, it did not break loading .kicad_pcb files

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19964
2025-02-15 17:31:01 +01:00
jean-pierre charras 744c296f14 Pcbnew: ensure LAYER_NON_PLATEDHOLES Gal layer is always visible 2025-02-15 11:48:26 +01:00
Alex Shvartzkop b5c6361a05 Fix build error on Windows. 2025-02-15 13:40:07 +03:00
Alex Shvartzkop 0ee195bab0 Default to High Quality Antialiasing for OpenGL GAL. 2025-02-15 10:41:39 +03:00
Jon Evans 9930911de6 Jobsets: Fix a few issues with BOM exporter
Correctly handle hidden fields
Avoid taking reference to temporary

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19961
2025-02-14 22:20:21 -05:00
Jon Evans 0ca9791577 Fix some GCC build warnings 2025-02-14 22:20:20 -05:00
Alex Shvartzkop ca63d1ae38 Update translations 2025-02-15 06:04:55 +03:00
2tama3 3c5ced8aa5 Translated using Weblate (Japanese)
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-15 04:04:17 +01:00
109247019824 6bbbd766af Translated using Weblate (Bulgarian)
Currently translated at 8.2% (821 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-02-15 04:04:17 +01:00
CloverGit 232f414ef3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-15 04:04:17 +01:00
Marco Ciampa f6644d1981 Translated using Weblate (Italian)
Currently translated at 94.9% (9451 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-15 04:04:17 +01:00
co8 j 35e113242f Translated using Weblate (Japanese)
Currently translated at 99.9% (9947 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-15 04:04:17 +01:00
reimu105 dec284c3e4 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.4% (9102 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-02-15 04:04:17 +01:00
dsa-t d2f1cddb04 Translated using Weblate (Russian)
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-15 04:04:16 +01:00
Seth Hillbrand b8b7c59a50 Better protect against long Eagle values
Long strings may overflow our integer receptacle, so use 64-bit instead
and don't allow negative signes in the fraction part of the number.  if
the number of fraction digits is bigger than our pre-calculated array
(this in and of itself smacks of premature optimization), don't use the
same array to trim it, instead calculate the actual denominator

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19958
2025-02-14 12:55:36 -08:00
Ian McInerney 5cfa946cda Provide both app IDs in our linux metainfo
FlatHub uses org.kicad.KiCad and everyone else uses org.kicad.kicad,
which leads to two entries in the Gnome Software search list for kicad.
To unify this into one entry, have each just provide the other app ID to
link them together.
2025-02-14 18:06:22 +00:00
Seth Hillbrand 633aaff654 Revert "Improve curved teardrop shapes for roundrect pads."
This reverts commit 4556ace032.
2025-02-14 08:01:56 -08:00
jean-pierre charras 1439ac0c31 Geographical reannotation: Fix "Exclude list" not working correctly
Also update dialog_board_reannotate_base.fbp using the latest wxFormBuilder

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19927
2025-02-14 14:46:17 +01:00
Alex Shvartzkop ef5a7841b6 Fix icons in board constraints panel on GTK. 2025-02-14 09:08:08 +03:00
Jon Evans 1c85751bf0 PNS: Use HasHole to check if an item has a hole
Just checking Hole() for nullptr isn't valid

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19948
2025-02-13 21:53:59 -05:00
Seth Hillbrand 9e4204340f Fixup net-tie caching and add QA for netties
When building a net tie, all elements in the footprint that belong to
the net tie can be arbitrarily close to one another.  outside of the
footprint, connected items can be arbitrarily close to the tie element
but must respect the clearance values for elements that have nets
assigned to them

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

(cherry picked from commit bff819edb0)
2025-02-13 14:45:40 -08:00
jean-pierre charras 2093c014c5 Pcbnew, DIALOG_PRINT_PCBNEW: fix right enabled/disabled layers to print.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19940
2025-02-13 20:10:08 +01:00
Alex Shvartzkop ea44283963 Restore icon sizes to 24dp in PCB design constraints panel. 2025-02-13 20:34:26 +03:00
Alex Shvartzkop 9ea3e1c3b7 Add "Single-sided" checkbox for skew in tuning pattern defaults dialog. 2025-02-13 16:40:22 +03:00
Alex Shvartzkop 4024869771 Don't exit out of length tuning tool on first cancel.
Otherwise you cannot use same settings on multiple tracks.

(cherry picked from commit 6b31bbe9f3)
2025-02-13 14:39:44 +03:00
Marek Roszko 4565331b78 Turn on ssh for vcpkg libgit2 inclusion 2025-02-12 20:22:46 -05:00
Seth Hillbrand ba208fd5c9 Suppress git remove if not at head
Don't offer to remove the .git directory if we are not looking at the
base of the git repository for safety

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19889
2025-02-12 14:43:08 -08:00
Seth Hillbrand 088a90cf68 Prevent committing bad files
Avoid backup, lock, autosave files
Avoid files that are not visible to KiCad (outside of the project
directory/sub-directories)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19891
2025-02-12 13:44:08 -08:00
Seth Hillbrand 7edacd4fb8 Fix git push for some configurations
Reset ssh test keys prior to pushing.  Specify head reference
2025-02-12 13:00:46 -08:00
Seth Hillbrand 38359fe568 Rebalance the schematic editor display options
One side was extending past the display height and the other was short.
Moving some options from right to left helps balance the dialog
2025-02-12 12:04:48 -08:00
Jeff Young 32fd79c708 Check dirty tracks when removing teardrops.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19871
2025-02-12 11:32:43 +00:00
Alex Shvartzkop f5186da1e5 Fix loading old (2007) symbol cache library files. 2025-02-12 14:18:58 +03:00
Alex Shvartzkop b7293f1d77 Fix layers when loading legacy board files after v9 changes. 2025-02-12 14:18:58 +03:00
Seth Hillbrand 82ca303d4d Update git modified icon with more padding 2025-02-11 16:50:30 -08:00
Jon Evans 078703111b PNS: Check if either permutation is a keepout in collideSimple
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19923
2025-02-11 19:28:15 -05:00
Seth Hillbrand d51363df40 Do better at de-duping Altium symbols
Symbols with the same name but different source libraries may, in fact,
be different.  Keep track of the source library to properly dedup them
when adding.  This is probably insufficient for corner cases but will
catch the vast majority of usage

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19625
2025-02-11 14:50:42 -08:00
Ian McInerney 1825ab689f Remove duplicate data tag in drawing sheet format
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19931
2025-02-11 19:58:46 +00:00
jean-pierre charras 7e0d2f2ef4 Eeschema, DESIGN_BLOCK_PANE: ensure the panel is shown before saving its size.
Otherwise, incorrect config saving happens, and not only for this panel.
2025-02-11 20:10:23 +01:00
Seth Hillbrand 7911165294 Prevent overplotting copper layers
68fa45dea0 wanted to ensure that drill
marks were visible even when plotting non-copper layers.  However, this
had the effect of changing the plot order depending on whether drill
marks were shown or not.  The current solution is to overplot drill
marks if both copper and non-copper layers are shown.

This remains a sub-optimal solution as buried vias will be overplotted
along with through holes.  It may be a better long-term solution to gate
the plotting of covering pad layers' drill marks to the plot options
that include copper layers on the same page
2025-02-11 11:01:20 -08:00
Seth Hillbrand 31a3a7d406 Make cli obey its own options
--erd and --ev are cli options to prevent plotting of the reference
designator and the value.  These need to be passed to plot options in
order to be obeyed
2025-02-11 10:57:21 -08:00
Seth Hillbrand 0144352132 Remove unused captures 2025-02-11 09:50:23 -08:00
Seth Hillbrand 7717c1e7d9 Fix menu display of symbol attributes
Menu should display the current attribute of the selection and allow
changes, rather than three different options on set/unset/toggle.
2025-02-11 09:24:49 -08:00
Jon Evans 3bdf82aea7 Python: switch to arg arrays for launch
Fixes Python when there are spaces in interpreter path
2025-02-11 12:14:25 -05:00
Jeff Young e741d46770 Implement min pen width for SCH plotting jobs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19398
2025-02-11 17:06:02 +00:00
Alex Shvartzkop dc4708cdb7 Hide "Unable to load repository url" message when repository fetching is cancelled.
(cherry picked from commit 020376937e)
2025-02-11 18:57:17 +03:00
Jeff Young add6705e98 Don't copy built-in presets to user list.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19885
2025-02-11 15:48:16 +00:00
Jeff Young 7c118c02f1 Don't space out buttons on large screens.
Also a better sash pos for ultra-high DPI screens.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19913
2025-02-11 14:46:59 +00:00
Alex Shvartzkop e021cf4575 Connect first/last shapes within tolerance when building board outline.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19901
Also see https://gitlab.com/kicad/code/kicad/-/issues/18125
2025-02-11 05:07:18 +03: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 7d689e0c61)
2025-02-10 19:20:56 -05:00
Seth Hillbrand 21ae2b833e Update translations 2025-02-10 15:21:52 -08:00
Seth Hillbrand d2b97c80d1 Translated using Weblate (Italian)
Currently translated at 94.5% (9410 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-11 00:21:22 +01:00
Seth Hillbrand 2b222e1590 Translated using Weblate (Tamil)
Currently translated at 15.7% (1568 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ta/
2025-02-11 00:21:22 +01:00
Seth Hillbrand 3e5216a740 Translated using Weblate (Ukrainian)
Currently translated at 75.5% (7521 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-02-11 00:21:22 +01:00
Seth Hillbrand f41f98a28c Translated using Weblate (Arabic)
Currently translated at 1.1% (110 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ar/
2025-02-11 00:21:22 +01:00
Seth Hillbrand 0e761ca522 Translated using Weblate (Spanish (Mexico))
Currently translated at 86.5% (8616 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es_MX/
2025-02-11 00:21:22 +01:00
Seth Hillbrand 0e59c29067 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-11 00:21:21 +01:00
Seth Hillbrand b1c8f27d03 Translated using Weblate (Vietnamese)
Currently translated at 23.9% (2387 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/vi/
2025-02-11 00:21:21 +01:00
Seth Hillbrand dff2c0b10d Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.2% (9085 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-02-11 00:21:21 +01:00
Seth Hillbrand f0a23496aa Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (9948 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-11 00:21:21 +01:00
Seth Hillbrand 8719d75770 Translated using Weblate (Swedish)
Currently translated at 99.9% (9945 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-02-11 00:21:21 +01:00
Seth Hillbrand a60341a5c3 Translated using Weblate (Russian)
Currently translated at 99.9% (9949 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-11 00:21:21 +01:00
Seth Hillbrand 097da456b9 Translated using Weblate (Portuguese)
Currently translated at 93.2% (9280 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt/
2025-02-11 00:21:21 +01:00
Seth Hillbrand cc71f8bfa6 Translated using Weblate (Polish)
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-11 00:21:21 +01:00
Seth Hillbrand c6b0bac24d Translated using Weblate (Korean)
Currently translated at 99.9% (9948 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-11 00:21:21 +01:00
Seth Hillbrand 315a935fcf Translated using Weblate (Japanese)
Currently translated at 99.9% (9945 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-11 00:21:21 +01:00
Seth Hillbrand 15d5b34163 Translated using Weblate (Finnish)
Currently translated at 99.0% (9854 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-02-11 00:21:21 +01:00
Seth Hillbrand 017161b490 Translated using Weblate (Spanish)
Currently translated at 84.8% (8442 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-02-11 00:21:21 +01:00
Seth Hillbrand f0718dcc72 Translated using Weblate (Greek)
Currently translated at 87.5% (8716 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-02-11 00:21:21 +01:00
Seth Hillbrand afa9de2f1b Translated using Weblate (German)
Currently translated at 100.0% (9951 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-11 00:21:21 +01:00
Seth Hillbrand 7644567a6b Translated using Weblate (Catalan)
Currently translated at 41.2% (4106 of 9951 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-02-11 00:21:20 +01:00
Jon Evans 914c015494 Fix compile warnings 2025-02-10 17:55:24 -05:00
Jon Evans 290dc417d9 API: Change macOS raise mechanism
Other mechanism didn't work universally
2025-02-10 17:55:24 -05:00
Seth Hillbrand 74308f26f6 Update translations 2025-02-10 14:43:25 -08:00
Robin Janssens 8e3cf77337 Translated using Weblate (Dutch)
Currently translated at 89.9% (8944 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nl/
2025-02-10 23:42:49 +01:00
aris-kimi a06fefc775 Translated using Weblate (Greek)
Currently translated at 87.5% (8713 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-02-10 23:42:49 +01:00
Pferd O 539b9953d0 Translated using Weblate (German)
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-10 23:42:49 +01:00
Marco Ciampa 742fbe525e Translated using Weblate (Italian)
Currently translated at 94.5% (9407 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-10 23:42:49 +01:00
Wellington Terumi Uemura b3dc1d05c8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-10 23:42:49 +01:00
Henrik Kauhanen 069eceeac2 Translated using Weblate (Swedish)
Currently translated at 99.9% (9942 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-02-10 23:42:49 +01:00
2tama3 5a91221a36 Translated using Weblate (Japanese)
Currently translated at 99.9% (9942 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-10 23:42:49 +01:00
Henrik Kauhanen 99da8dc27b Translated using Weblate (Finnish)
Currently translated at 99.0% (9851 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-02-10 23:42:48 +01:00
Henrik Kauhanen d0124b0e15 Translated using Weblate (German)
Currently translated at 99.9% (9947 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-10 23:42:48 +01:00
ZbeeGin 8dea31906f Translated using Weblate (Polish)
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-10 23:42:48 +01:00
aris-kimi a0f7525fc5 Translated using Weblate (Greek)
Currently translated at 87.4% (8701 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-02-10 23:42:48 +01:00
Pferd O 2e8cd36a14 Translated using Weblate (German)
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-10 23:42:48 +01:00
Seth Hillbrand d0077cceb3 Update reported name for teardrop areas
When reporting DRC, teardrops are treated as tracks but reported as
zones.  This causes confusion for designers using specific keepouts.
This changes the reported name to "Teardrop" for consistency
2025-02-10 14:36:14 -08:00
Alex Shvartzkop 63e0e01ec9 Allow embedding multiple files at once. 2025-02-11 00:10:56 +03:00
Alex Shvartzkop 3929c3c463 Fix trying to erase m_files end when removing an embedded file. 2025-02-11 00:08:39 +03:00
Seth Hillbrand 564710b232 Move default place via hotkey to Ctrl-Shift-X
Remove this hotkey from "toggle show cursor always" as this is a more
global option, not as needed (probably) in hotkeys.

Also re-arranged MD_SHIFT + MD_CTRL+ <key> to  MD_CTRL + MD_SHIFT + <key>
in order to standardize and help searches in the future

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19903
2025-02-10 11:22:35 -08:00
Jeff Young b64733e76b No hypertext for textboxes. 2025-02-10 16:15:14 +00:00
Ian McInerney e240d57e28 pcb calculator: Cleanup remanents of the tool framework on close 2025-02-10 14:46:40 +00:00
Wayne Stambaugh 09f54c6b94 Restore previous screen and sheet filename when canceling a failed load.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19881

(cherry picked from commit 4ed1954b4b)
2025-02-10 08:19:18 -05:00
JamesJCode b7b28e555e Fix potential data race (from Coverity warning 533646) 2025-02-10 12:24:19 +00:00
Marek Roszko 79a7849894 Fix correct path not being used
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19784
2025-02-10 07:19:23 -05:00
Jeff Young 6f38709a1c Prevent assert when saving design block. 2025-02-10 11:36:10 +00:00
Jeff Young bf4c10923f Save search & design block panel heights/widths.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19845
2025-02-10 11:22:57 +00:00
Ian McInerney 62f9355180 Fix writing pad layer information to the board file
Pads should write that they exist on all layers using the wildcard and
then not also enumerate the copper layers (in this case, enumerating the
copper layers that were not enabled on the board).
2025-02-10 00:00:50 +00:00
Ian McInerney 97b725fb42 Add Route Selected to the context menu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19571
2025-02-09 23:00:26 +00:00
Ian McInerney a15becf032 Remove arguments that aren't actually used by the gencad exporter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19785
2025-02-09 21:06:32 +00:00
Jeff Young 72258ca524 Schematic tables don't need mirrored or visible.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19877
2025-02-09 19:41:58 +00:00
JamesJCode d1ba3c6402 Fix compiler warning 2025-02-09 17:27:36 +00:00
JamesJCode 2f9bf31529 Add bulk change optimisation to composite update in net inspector 2025-02-09 16:46:18 +00:00
JamesJCode 6bc77195bd Move net inspector bulk update threshold to advanced config 2025-02-09 16:46:18 +00:00
JamesJCode e6cead5218 Fix incorrectly named bulk board update argument 2025-02-09 16:46:18 +00:00
Jon Evans 2ad958c97b Thread safety for TRACKS_CLEANER cache 2025-02-09 10:33:47 -05:00
Jon Evans 2dc6175fcd HTTP libraries: follow redirects from server 2025-02-09 10:27:25 -05:00
Jon Evans 3d526edc8a More thread safety for TRACKS_CLEANER
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19884
2025-02-09 09:18:18 -05:00
Ian McInerney 9b184afb43 Change pin repitition to be a positive step in the positive direction
This seems to not have been updated after the Y axis was flipped for the
symbols, so it was stepping in the wrong direction compared to the
desired value and also the v8 behavior.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19840
2025-02-09 01:49:31 +00:00
Jon Evans f047b66cb8 Guard against multi-threaded access to connectivity rebuild
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19884
2025-02-08 20:27:49 -05:00
Ian McInerney 7bf40b82d0 Use correct bitmap for body style menu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19416
2025-02-09 00:58:16 +00:00
Jon Evans 8af6defafe Git: allow making the first commit in a branch 2025-02-08 17:30:55 -05:00
Jon Evans c6b9ab174d Git: suppress error message when loading brand new repo 2025-02-08 17:09:48 -05:00
Jon Evans f59c5a9a26 Git: handle new-but-already-staged files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19893
2025-02-08 17:03:42 -05:00
Jon Evans 172b77039f Git: fix error message formatting 2025-02-08 16:49:56 -05:00
Jon Evans df70ce72b4 Git: do not try to get branch info if there isn't a repo 2025-02-08 16:34:08 -05:00
Jon Evans 04387dd42f Git: safety for calling KIGIT_COMMON with no repo 2025-02-08 16:32:48 -05:00
Jon Evans d4815534bf Fix lifetime of git_reference in handleFastForward
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19890
2025-02-08 14:40:11 -05:00
JamesJCode 71517dfa24 Fix persistence of expanded groups in PCB net inspector panel
Ensures expanded groups are maintained while:
- Handling bulk board updates
- When loading a new project / board
2025-02-08 18:08:39 +00:00
JamesJCode 9896511485 Show net statistics for groups in PCB net inspector panel 2025-02-08 14:10:53 +00:00
Jon Evans 66cbc8127b Use open to launch actions on macOS
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19859
2025-02-07 20:40:24 -05:00
Wayne Stambaugh cd23dca90a Tag stable version 9.0.0 release candidate 3. 2025-02-07 16:35:35 -05:00
Alex Shvartzkop 7b6f87467d Update translations 2025-02-08 00:06:52 +03:00
Wellington Terumi Uemura 9a92d4cb0b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-07 22:06:21 +01:00
ZbeeGin 9cf886ee35 Translated using Weblate (Polish)
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-07 22:06:21 +01:00
Pferd O 7674857c41 Translated using Weblate (German)
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-07 22:06:21 +01:00
jean-pierre charras 3ab7f9940d French translation update 2025-02-07 20:17:58 +01:00
jean-pierre charras dc1ecea4bc OUTSET_ROUTINE::ProcessItem(): handle an exception thrown for incorrect prm.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19880
2025-02-07 19:47:48 +01:00
JamesJCode 5fda0d02e1 Delay resolution of component classes when pasting footprints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19862
2025-02-07 17:47:51 +00:00
Ian McInerney a6fffb15ff Forgot to remove the file from CMake... whoops. 2025-02-07 14:13:06 +00:00
Ian McInerney 78a935c315 Remove unused files 2025-02-07 14:02:13 +00:00
Jon Evans 1911cfe61b Fix footprint defaults setting storage after layer ID changes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19873
2025-02-07 08:40:43 -05:00
Marek Roszko 1ecf1d97ae Start all toolbar bitmapbundles at the selected size 2025-02-06 20:44:39 -05:00
Marek Roszko 79d48c94f9 Fix ODB output not resolving vars
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19861
2025-02-06 20:35:32 -05:00
Alex Shvartzkop 83dffb865a Update translations 2025-02-07 02:35:31 +03:00
dsa-t 916e7e7b8c Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (9945 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-07 00:35:13 +01:00
dsa-t a27b3636ed Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (9945 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-07 00:35:13 +01:00
dsa-t 6e5a29f89f Translated using Weblate (Russian)
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-07 00:35:13 +01:00
dsa-t 4b19f9df19 Translated using Weblate (Polish)
Currently translated at 99.9% (9945 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-07 00:35:13 +01:00
dsa-t 5d061b7f5f Translated using Weblate (Korean)
Currently translated at 99.9% (9945 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-07 00:35:13 +01:00
dsa-t a550996aac Translated using Weblate (Japanese)
Currently translated at 99.9% (9938 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-07 00:35:13 +01:00
dsa-t 03a4733ba6 Translated using Weblate (German)
Currently translated at 99.9% (9945 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-07 00:35:13 +01:00
Marek Roszko 69a7dc95c5 Probably fix the bitmap button painting more
Testing on platforms shows we don't need this differentiated case between toolbar and non toolbar icons. Since we don't start with an small base bundle icon for the icons that probably had issues before.
2025-02-06 18:25:53 -05:00
Alex Shvartzkop c74165d58f Update translations 2025-02-07 01:15:10 +03:00
dsa-t a66f5a052b Translated using Weblate (Russian)
Currently translated at 100.0% (9945 of 9945 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-06 23:13:30 +01:00
Jan Straka f25bc191d8 Translated using Weblate (Czech)
Currently translated at 76.4% (7605 of 9945 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-02-06 23:13:30 +01:00
Alex Shvartzkop 421a76c4f7 Translate "Padstack is questionable". 2025-02-07 00:30:23 +03:00
Seth Hillbrand 1e6e555164 Cache based on sub/subscript
Prevents the case where we cache a font in one scale and try to use
another.  This could be contained in scaleFactor but we don't currently
prescale, so hashing on the boolean is probably easier
2025-02-06 13:26:04 -08:00
Wayne Stambaugh f45915ba93 Eeschema folder housekeeping. 2025-02-06 09:47:00 -05:00
jean-pierre charras 69c6412b43 Revert "fix commit 4ef2853a on non Windows platforms"
This reverts commit e587e5029c.

Revert "Print dlgs: add panel printer to select the current printer. Windows only"

This reverts commit 4ef2853ae5.
2025-02-06 14:27:30 +01:00
jean-pierre charras e587e5029c fix commit 4ef2853a on non Windows platforms 2025-02-06 13:33:06 +01:00
jean-pierre charras 4ef2853ae5 Print dlgs: add panel printer to select the current printer. Windows only
Other platforms natively show the available printers.
2025-02-06 12:29:18 +01:00
John Beard 466ee6fac8 Pcbnew: keep alway-on layer checkboxes visible but disabled
THese layers can't be disabled, but hiding the checkboxes
can be misunderstood as the layers are missing, rather than forced on.

E.g.: https://gitlab.com/kicad/code/kicad/-/issues/18756#note_2315214661
2025-02-05 22:01:46 +08:00
John Beard 14cbce5d0f Pcbnew: fix bad layer maths in stackup dialog
F_Cu | B_Cu is not the same as LSET( F_Cu ) | LSET( B_Cu),
so you cannot do some_lset |= F_Cu | B_Cu (or rather you can, but
it is not what you expect).

F_Cu and B_Cu are just ints, so 0 | 2 == 2. This isn't the
same as setting *bit indices* 0 and 2. OR-ing with 2 is setting
bit index 1, which is F_Mask.

You can set them one by one with lset.set( F_Cu ) or OR with
LSET::ExternalCuMask() helper. But actually, we're trying to set all 'n'
copper layers, and LSET has AllCuMask and we can save all the hassle
in this function.

Thanks to @aris-kimi for finding the problematic code lines and
providing the foundation of this fix.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19855
2025-02-06 13:00:33 +08:00
Seth Hillbrand 3018d7af09 Enable git by default 2025-02-05 20:52:47 -08:00
John Beard 986312e612 Revert "Pcbnew: reduce snap timeout a fraction"
Now the updating is fixed in d90862b444,
the hover timeout is shorter because it's not mistakenly waiting a
random-ish time for the next mouse movement. So this adjustment is not
required. In fact, if anything, it may be better to go the other way.

This reverts commit 7080d99464.
2025-02-06 11:31:51 +08:00
Jon Evans ea8a6e305d Fix parsing of tenting tag in pads
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19851
2025-02-05 19:58:30 -05:00
Alex Shvartzkop 2f1efd151c Update translations 2025-02-05 21:38:51 +03:00
dsa-t a3c04ee36d Translated using Weblate (Russian)
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-05 19:36:43 +01:00
dsa-t 36ff8cabb6 Translated using Weblate (Russian)
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-05 19:30:03 +01:00
dsa-t 823f34f1e4 Translated using Weblate (Russian)
Currently translated at 100.0% (9946 of 9946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-05 19:30:03 +01:00
Alex Shvartzkop d16a5b1ea3 Fix a design block string. 2025-02-05 19:06:15 +03:00
Alex Shvartzkop dd6c19304b Update translations 2025-02-05 18:25:23 +03:00
Alex Shvartzkop 3b6b73a8ef Revert tooltip string in plot dialog.
See bef63fe76b b2de4cf40a
2025-02-05 18:24:18 +03:00
Mark Roszko 4861f2ea85 Revert wxpython removal 2025-02-05 12:09:22 +00:00
Jon Evans a429afe4e9 Fix a few more cases where migrated project files were being saved implicitly 2025-02-04 18:37:31 -05:00
Alex Shvartzkop c20cbc8857 Update translations 2025-02-05 02:27:56 +03:00
ZbeeGin f3acf6068a Translated using Weblate (Polish)
Currently translated at 100.0% (9947 of 9947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-05 00:26:20 +01:00
Marco Ciampa 3aeea06c4a Translated using Weblate (Italian)
Currently translated at 93.9% (9347 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-05 00:26:20 +01:00
Wellington Terumi Uemura b2b7c01a22 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9947 of 9947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-05 00:26:20 +01:00
reimu105 0bdcf15910 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.3% (9085 of 9947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-02-05 00:26:20 +01:00
CloverGit 3487921cd7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9947 of 9947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-05 00:26:20 +01:00
dsa-t a2fb1666f7 Translated using Weblate (Russian)
Currently translated at 100.0% (9949 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-05 00:26:20 +01:00
김랑기 3d55750554 Translated using Weblate (Korean)
Currently translated at 100.0% (9947 of 9947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-05 00:26:19 +01:00
Pferd O 2a76879fe7 Translated using Weblate (German)
Currently translated at 100.0% (9947 of 9947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-05 00:26:19 +01:00
Anonymous 2da1b6b0ff Translated using Weblate (Italian)
Currently translated at 93.2% (9277 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-05 00:26:19 +01:00
Marco Ciampa 65432b92c7 Translated using Weblate (Italian)
Currently translated at 93.2% (9277 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-05 00:26:19 +01:00
Anonymous 950f2913f2 Translated using Weblate (Romanian)
Currently translated at 23.1% (2301 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ro/
2025-02-05 00:26:19 +01:00
Anonymous bb1a44b206 Translated using Weblate (Turkish)
Currently translated at 53.5% (5325 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-02-05 00:26:19 +01:00
Anonymous 1f913eba31 Translated using Weblate (Norwegian Bokmål)
Currently translated at 41.1% (4093 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nb_NO/
2025-02-05 00:26:19 +01:00
Anonymous 28c7bf67d3 Translated using Weblate (Russian)
Currently translated at 99.4% (9893 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-05 00:26:19 +01:00
Anonymous 816985dcb9 Translated using Weblate (Hungarian)
Currently translated at 6.0% (605 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-02-05 00:26:19 +01:00
Anonymous 949772cf0a Translated using Weblate (Spanish)
Currently translated at 84.8% (8442 of 9949 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-02-05 00:26:19 +01:00
Anonymous e3d8617a71 Translated using Weblate (Italian)
Currently translated at 93.0% (9260 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-05 00:26:19 +01:00
Anonymous 87dc463dfe Translated using Weblate (Romanian)
Currently translated at 23.1% (2301 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ro/
2025-02-05 00:26:19 +01:00
Anonymous e5e0ec0ba1 Translated using Weblate (Turkish)
Currently translated at 53.5% (5325 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-02-05 00:26:19 +01:00
Anonymous d65f10e6c7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 41.1% (4093 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nb_NO/
2025-02-05 00:26:19 +01:00
Anonymous 1cc078475f Translated using Weblate (Russian)
Currently translated at 99.4% (9893 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-02-05 00:26:18 +01:00
Anonymous 7d6a29f2ee Translated using Weblate (Hungarian)
Currently translated at 6.0% (605 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-02-05 00:26:18 +01:00
Anonymous dd88b605d2 Translated using Weblate (Spanish)
Currently translated at 84.8% (8442 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-02-05 00:26:18 +01:00
Ian McInerney e4ea479cf0 Don't show hidden models in raytracing view
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19836
2025-02-04 15:53:20 +00:00
Jon Evans 55e5596cda Fix more field fallout
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19832
2025-02-03 21:40:09 -05:00
Jon Evans ec405f02f8 Fix build on linux 2025-02-03 20:48:25 -05:00
Jon Evans 29b2c79f0a API: Clean up orphaned sockets 2025-02-03 18:56:55 -05:00
Jon Evans 0682d319fb API: Don't check for busy when not needed
see https://gitlab.com/kicad/code/kicad-python/-/issues/11
2025-02-03 18:02:46 -05:00
Jeff Young b2de4cf40a Fix typo. 2025-02-03 22:57:49 +00:00
Jeff Young f724dab4b2 Fix build. 2025-02-03 22:15:56 +00:00
Jeff Young bef63fe76b More accurate tooltip for Gerber knockout of solder mask.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19744
2025-02-03 22:04:20 +00:00
Jeff Young ec649593ae Fix layout issues in print dialog controls. 2025-02-03 21:41:03 +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
Seth Hillbrand 28b2e656e5 Work around (maybe) wx wrapping issue
wx infobar generic will wrap text, changing the stored label data on
instantiation.  Since we might expand the infobar later, this presents
an issue as the newlines are then baked into the string.

We do two things here: keep a copy of the original string to make sure
that we can reset it on update and do a hard calculation of the minimum
height for the infobar to ensure we are displaying the full text string

Fixes https://gitlab.com/kicad/code/kicad/issues/19799
2025-02-03 13:31:24 -06:00
Alex Shvartzkop b46bce8f8f Update translations 2025-02-03 19:59:03 +03:00
Marco Ciampa 8b5cd26dc7 Translated using Weblate (Italian)
Currently translated at 93.1% (9268 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-03 17:58:10 +01:00
CloverGit 1bf44150b1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-03 17:58:10 +01:00
CloverGit c7b4da3ef9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-03 17:58:10 +01:00
김랑기 c24192108d Translated using Weblate (Korean)
Currently translated at 99.1% (9865 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-03 17:58:10 +01:00
Marco Ciampa c07f83b06b Translated using Weblate (Italian)
Currently translated at 92.6% (9213 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-03 17:58:10 +01:00
CloverGit 716c899a6b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-02-03 17:58:10 +01:00
김랑기 e1810c9835 Translated using Weblate (Korean)
Currently translated at 99.1% (9865 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-03 17:58:09 +01:00
Elek Zoltán 9f18dc3cbf Translated using Weblate (Hungarian)
Currently translated at 6.1% (607 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-02-03 17:58:09 +01:00
Marco Ciampa f1d69af419 Translated using Weblate (Italian)
Currently translated at 91.9% (9148 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-02-03 17:58:09 +01:00
Henrik Kauhanen 708c6cca63 Translated using Weblate (Swedish)
Currently translated at 99.6% (9911 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-02-03 17:58:09 +01:00
co8 j 8d9ae99258 Translated using Weblate (Japanese)
Currently translated at 99.9% (9942 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-02-03 17:58:09 +01:00
Henrik Kauhanen 9bc6fde2f6 Translated using Weblate (Finnish)
Currently translated at 99.1% (9859 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-02-03 17:58:09 +01:00
Henrik Kauhanen 1ef0a5e22b Translated using Weblate (German)
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-03 17:58:09 +01:00
김랑기 6c356aa21c Translated using Weblate (Korean)
Currently translated at 96.9% (9645 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-03 17:58:09 +01:00
109247019824 69cf4fb6ef Translated using Weblate (Bulgarian)
Currently translated at 8.2% (817 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-02-03 17:58:08 +01:00
김랑기 3adf9f0c82 Translated using Weblate (Korean)
Currently translated at 96.9% (9645 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-02-03 17:58:08 +01:00
iamPeter 777860d520 Translated using Weblate (Hungarian)
Currently translated at 5.9% (591 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-02-03 17:58:08 +01:00
109247019824 1a510a297e Translated using Weblate (Bulgarian)
Currently translated at 8.1% (815 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-02-03 17:58:08 +01:00
reimu105 d65d41286f Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.3% (9086 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-02-03 17:58:08 +01:00
ZbeeGin b40d42696a Translated using Weblate (Polish)
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-02-03 17:58:08 +01:00
109247019824 3e25689be7 Translated using Weblate (Bulgarian)
Currently translated at 7.3% (733 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-02-03 17:58:08 +01:00
Wellington Terumi Uemura cad5a2722c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-02-03 17:58:08 +01:00
Pferd O a673970435 Translated using Weblate (German)
Currently translated at 100.0% (9948 of 9948 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-02-03 17:58:08 +01:00
Mike Williams 45ba00ac22 design blocks: point to new lib table on project change
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19783
2025-02-03 10:26:30 -05:00
Tomasz Wlostowski 8d858fe998 router: prevent shove endpoint-in-hull fallback code from making non-45 degree tracks
Fixes https://gitlab.com/kicad/code/kicad/issues/19760
2025-02-03 13:24:27 +01:00
Tomasz Wlostowski 232b286793 router: comment out some excessive debug calls
Too much PNS_DBG() calls make the debug tool very sluggish, even in release mode.
2025-02-03 13:24:27 +01:00
Tomasz Wlostowski 60b40579cb router: reenable diff pair placement in shove mode
Fixes https://gitlab.com/kicad/code/kicad/issues/19547
2025-02-03 13:24:27 +01:00
Tomasz Wlostowski 3ba87b9d08 router: fix 'litter' tracks issue
The commit adds missing calls to unwindLineStack() and fixes the logic of the method.
2025-02-03 13:24:27 +01:00
Tomasz Wlostowski 849e3d2f18 qa: fix setting of router mode (single/diff) in pns_log_viewer 2025-02-03 13:24:27 +01:00
Tomasz Wlostowski 9f2eade5f5 router: dump NODE overrides debug method 2025-02-03 13:24:27 +01:00
Jeff Young 857d4f3803 Cleanup. 2025-02-03 11:54:57 +00:00
Jeff Young 5f06f0d863 Indentation fixes for controls in print dialog. 2025-02-03 11:54:57 +00:00
Jeff Young 9b7b923e34 Consistency with library browsers & symbol fields table. 2025-02-03 11:54:57 +00:00
Jeff Young d551b0b949 Formatting. 2025-02-03 11:54:56 +00:00
Ian McInerney 59a4cc2e4b Default to 4 user defined layers 2025-02-02 23:09:08 +00:00
Jeff Young 9ab4fef369 Remove duplicate short-form argument.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19798
2025-02-02 19:58:56 +00:00
Jeff Young 8024555323 Icon spacing. 2025-02-02 18:25:08 +00:00
Jeff Young d209dddcc6 Correctly initialise mandatory fields array.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19819
2025-02-02 18:10:44 +00:00
Jeff Young 96022ee169 Correctly handle mandatory fields when adding/removing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19819
2025-02-02 17:55:07 +00:00
Seth Hillbrand 4eb0e70ddf Fix issue preventing printing on some platforms
Linux printing for some systems blanked the printouts when the gal
screensize was set here.  Restoring the screensize after clearing
ensures that the view redraw is properly scaled

Fixes https://gitlab.com/kicad/code/kicad/issues/19807
2025-02-02 09:44:10 -06:00
Jeff Young 879e76b28e Make notifications stand out from parent, and fix focus & focus-loss events on Mac. 2025-02-02 15:00:52 +00:00
Jeff Young 72a59c547c Formatting and better use of common code. 2025-02-02 15:00:52 +00:00
Ethan Chien d96479dd34 Windows: Add post-build script for installation and file copying 2025-02-02 07:55:11 +08: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 ada1a9b054 Formatting. 2025-02-01 17:39:24 +00:00
Seth Hillbrand 56ca054c0d Add new table icon
Replace a couple uses of the old spreadsheet
2025-02-01 09:53:12 -06:00
Jeff Young 5dc8e9a5de Formatting. 2025-02-01 11:38:07 +00:00
jean-pierre charras 91d5238f4c DIALOG_XXX_JOB_XXX: fix min size and other minor fix.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19811
2025-02-01 10:44:25 +01:00
jean-pierre charras bc25044e78 Eeschema, advanced_config: enable Cairo to export to clipboard by default. 2025-01-31 19:31:43 +01:00
John Beard 30affcd7a1 QA: side-step wxSize printer not working for some
Not sure what it is that caused it to break (reported by
Seth on Linux, but works for me and on the CI).

Rather than trying to be clever at this point, just do the dumb
thing (and remove the boost_test_print_type for wxSize to prevent
someone using it for the time being).
2025-02-01 00:35:13 +08:00
Mark Roszko a7f5fc45e7 Widths in WX_GRID_AUTOSIZER should account for dpi scaling 2025-01-31 11:14:40 -05:00
Mark Roszko 88a404580a Fix DPI scaling on Configure Paths 2025-01-31 11:10:39 -05:00
Mark Roszko 29311393a5 Set a min size on the layer pair grid or else it bugs out when the first entry is added 2025-01-31 11:04:35 -05:00
Mark Roszko e765ad0c2f Kill unused var warning 2025-01-31 11:00:07 -05:00
Mark Roszko d9809fb816 Partially fix the DIALOG_LAYER_SELECTION_BASE 2025-01-31 10:59:42 -05:00
Mark Roszko 50e2a12e17 Fix palette icon scaling on Windows, also extend KiBitmapBundle because we use bundles wrong
wxBitmapBundle assumes the smallest bitmap added is the intended "original" size for a particular use case.
And generally that is probably true. However, we re-use icons in some places where we intend for them to start at 16
or start at 24. This is problematic when GetPreferredBitmapSizeFor is called for calculations because it'll return the
16*scale number instead of 24*scale number. So let's just allow passing in a min height restriction to KiBitmapBundle
for when we reuse bitmaps.
2025-01-31 10:37:00 -05:00
John Beard 636c6c4efb Eeschema/pcbnew: fix pasted image saving
The m_imageData buffer in the BITMAP_BASE is an
internal implementation - the public API to persist the
data to a stream appears to be SaveImageData - so use that,
which hides the implementation (and generates the image data
"live" when needed).

Remove the public access to the m_imageData buffer as it isn't
needed for public use, and also is misleading.

Also break out the formatting of the data into KICAD_FORMAT,
as it's currently replicated in eeschema/pcb/pagelayout
formatting code.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19772
2025-01-31 23:01:07 +08:00
Roberto Fernandez Bautista c5120b9090 Add fake-autoroute to context menus (router and edit) 2025-01-31 15:49:27 +01:00
Seth Hillbrand 8955e33e80 Update grid icons
Adds a new grid override icon.  In the process, I noticed that the other
grid icons were not pixel aligned.  So this also updates all of the grid
icons to align the points
2025-01-31 08:44:23 -06:00
Mark Roszko 4037894b99 Complete the hi-dpi fixes, woops 2025-01-31 08:32:13 -05:00
Mark Roszko 74b174e4f0 Add "source" field for jobsets to discern SCH & PCB jobs 2025-01-31 08:16:26 -05:00
Mark Roszko 062a813139 Make EDA_LIST_DIALOG more hi-dpi friendly 2025-01-31 08:15:07 -05:00
Mark Roszko afb61b3b4e Disable C4746 2025-01-31 03:48:29 -05:00
jean-pierre charras 9e510759b8 FP_LIB_TABLE_ROW::LibraryExists(): ensure environment variables are expanded
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19800
2025-01-31 09:14:42 +01:00
Seth Hillbrand d4c9e1f069 Adjust LayerDepthFactor to account for layer size
We need to draw all layers on top of the layer behind us, the factor is
rather arbitrary but needs to ensure that the step is still below 0 when
subtracted using the full layer size

Fixes https://gitlab.com/kicad/code/kicad/issues/19795
2025-01-30 16:35:05 -06:00
Jeff Young ccb39fb775 Formatting. 2025-01-30 18:16:42 +00:00
Jeff Young a5d643cbaa Formatting. 2025-01-30 13:02:07 +00:00
Jeff Young 9083c9e6ab Remove dead code. 2025-01-29 20:54:33 +00:00
Jeff Young 0c4ff6b640 No inheritance for table ruling line styles. 2025-01-29 20:54:33 +00:00
Jeff Young 8bdc7f108b Report errors when library is missing. 2025-01-29 20:54:33 +00:00
Ian McInerney 4cf8274b2b Silence errors from file watchers when adding files
The file watcher can throw errors on Linux that are very cryptic and
actually not very useful to users, so let's hide them since there isn't
really any problem that comes from this.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15717
2025-01-29 19:34:00 +00:00
jean-pierre charras 799ea8317d spread_footprints.cpp, SpreadFootprints(): fix incorrect conversion int to uint64
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19780
2025-01-29 19:43:17 +01:00
Alex Shvartzkop 3baa6cd791 Update translations 2025-01-29 19:59:04 +03:00
John Beard 12dc00b8d8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (9974 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-29 17:58:42 +01:00
John Beard 09c8ac2038 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.6% (9142 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-29 17:58:42 +01:00
ZbeeGin 36e155ee58 Translated using Weblate (Polish)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-29 17:58:42 +01:00
Pferd O 4ec8aee7d8 Translated using Weblate (German)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-29 17:58:42 +01:00
109247019824 25a49a64a6 Translated using Weblate (Bulgarian)
Currently translated at 7.3% (737 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-01-29 17:58:41 +01:00
Seth Hillbrand c436207659 Update new bitmaps
Forgot to commit the bitmap_info previously
Updated the jobset to be usable for new and open forms
Added remaining icon references
2025-01-29 09:33:31 -06:00
Seth Hillbrand 3260aa2213 Utilize libpopcnt
We need to be sure to reference the include when pulling in
dynamic_bitset
2025-01-29 08:18:46 -06:00
Seth Hillbrand 94444adb54 Don't take references to casts
We don't really save cycles and this can lead to unexpected behavior
when the compiler decides that the sizes of the two types are different
2025-01-29 08:17:27 -06:00
Seth Hillbrand 683be91b60 Adding new icons 2025-01-29 05:42:57 -06:00
Jeff Young 3078d82bd5 Don't wait for mouse-move to update screen.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19771
2025-01-29 11:23:56 +00:00
Jeff Young fb87ea6837 Nothing wrong with a NPTH pad with no layers.
Also fixes PTH anchor layer warning to mention "outer".

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19752
2025-01-29 10:32:58 +00:00
Seth Hillbrand 112e8e7ccb Remove a few more crashers
Need to check SYM_LIB_TABLE_ENTRY for null but need to check
FP_LIB_TABLE_ENTRY for throwing
2025-01-29 00:00:11 -06:00
Seth Hillbrand 9beca90185 Ensure that new text objects are "new"
Setting the new object flag ensures that we do not commit changes in the
dialog, before the object is placed on the canvas

Fixes https://gitlab.com/kicad/code/kicad/issues/19778
2025-01-28 23:16:46 -06:00
Damjan 46ada43166 Eeschema: Import sheet pins: sort pin names intelligently 2025-01-29 04:16:35 +00:00
Damjan c6e049df2a Pcbnew: isDrag detection in Table creation tool
Drag breaks the UI when in the create table action

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19767
2025-01-29 01:25:37 +00:00
Ian McInerney 088e0e80a1 Fix layer writing/reading for copper zones
* Always enumerate layers - never use the wildcards
* Keep fills on layers the zone is actually on when loading

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19775
2025-01-29 00:31:28 +00:00
Seth Hillbrand 3f90cfb0ca Fix up git warning 2025-01-28 12:22:39 -08:00
Seth Hillbrand 81fbaacae2 Keep track of user layer mapping for footprints
Footprints in orgs have standard naming.  We need to allow designers to
keep their standard namings outside of boards where they are fixed.
This belongs in the preferences as a set-once for local standards
2025-01-28 12:22:39 -08:00
Seth Hillbrand ff820bd809 Keep AllCuLayers as base for number of copper layers 2025-01-28 12:22:39 -08:00
Seth Hillbrand e316b33a08 Update mask in grid box helper when showing
Masks are not permanent depending on the editor, so make sure that the
value is kept up to date
2025-01-28 12:22:39 -08:00
Seth Hillbrand 7ea6206126 dynamic_bitset requires both sets to be same size 2025-01-28 12:22:39 -08:00
Seth Hillbrand f34f962455 Fix switch branch for rapid change
Was missing a handler for the rapid switch IDs
2025-01-28 12:22:39 -08:00
Seth Hillbrand 919931f0f0 Get embedded files panel working for lib_symbol
The symbol library embedded files were implicit, which made them hard to
work with.  Adding the panel makes it clearer and setting the panel
correctly to the callback ensures that the structure is updated on
close.

Adds some copy/move semantics for EMBEDDED_FILES to take advantage of
how the multiple copies are handled in the library editor

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18935
2025-01-28 12:22:39 -08:00
Seth Hillbrand 0d86b88008 Unify embedded files handling btw editors
Each editor needs the embedded files tab in the
schematic/pcb/symbol/footprint settings.  But the footprint may add an
embedded file from the 3d models tab and symbols/footprints may add
embedded files from the grid.  This should be immediately visible in the
embedded files tab.  Additionally, removing the reference to an embedded
file in the grid or 3d models now removes the embedded file as well.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18934
2025-01-28 12:22:39 -08:00
Seth Hillbrand 1641878af7 Don't create a repository before the dialog
The user might cancel a dialog, leaving a broken repo.  We use a temp
repo to test the connection

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16263
2025-01-28 12:22:39 -08:00
Seth Hillbrand f871255005 Clean and unify pad/fp rotations
IPC2581 classifies pad rotation as clockwise from the top layer looking
down.  Which means that if you have the exact same footprint with
rotated pads on the top layer and bottom layer, then that will need two
different packages because one package will have the pads rotated one
way, the other will have the pads rotated in the opposite direction.
The IPC committee clearly was too smart for its own good here.  So we
hash the footprints based on layer as well and then introduce the
rotation into the pad.  This increases the number of packages but keeps
the code compact

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19703
2025-01-28 12:22:39 -08:00
Seth Hillbrand 6c2a559cbe Set base user layer count
Default colors cycle through repetition for unknown layers.  Allows
importing from complex Altium/CADSTAR boards with more than 10
documentation layers
2025-01-28 12:22:39 -08:00
Alex Shvartzkop 33a8425d3d Update translations 2025-01-28 19:42:48 +03:00
reimu105 17af30d26f Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.6% (9143 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
Wellington Terumi Uemura 5aa8f1841f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-28 17:39:42 +01:00
reimu105 c9985f02cf Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.5% (9130 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
Marco Ciampa 37e74c9614 Translated using Weblate (Italian)
Currently translated at 92.1% (9195 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-28 17:39:42 +01:00
reimu105 23fff95362 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.5% (9130 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 5ff079fb3f Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 91.3% (9113 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
co8 j 8220f72db0 Translated using Weblate (Japanese)
Currently translated at 99.9% (9970 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-28 17:39:42 +01:00
reimu105 5ab146aa7b Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.1% (8990 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 90229d0129 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.1% (8989 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 05c7900363 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.1% (8988 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 1c13ab4dc9 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8987 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 cb6be36969 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8986 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 4b20b9bf92 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8985 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:42 +01:00
reimu105 0786b005b3 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8984 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 22afe8c060 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8983 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 d395091899 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8982 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 001962c8b7 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8982 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 3191ba4d70 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8982 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 da94a9127d Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 8bf308573a Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 5139cbb0ab Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 8a6c9bd395 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 fe19b02ea3 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 a51173d017 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 b6be36f7ef Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 f039378bde Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 493db877c9 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 04ca6e6d5c Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 dc20d120eb Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 40e8a573f0 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8981 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:41 +01:00
reimu105 342217478b Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8980 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:40 +01:00
reimu105 1d928ea1b0 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8979 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:40 +01:00
reimu105 981fb67d57 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 90.0% (8978 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:40 +01:00
reimu105 d49059be91 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 89.7% (8956 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:40 +01:00
reimu105 b00a7e294f Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 89.7% (8956 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:40 +01:00
Marco Ciampa 9cb500654b Translated using Weblate (Italian)
Currently translated at 90.5% (9034 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-28 17:39:40 +01:00
reimu105 3ce858e88d Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 89.7% (8956 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:40 +01:00
Marco Ciampa e23777e826 Translated using Weblate (Italian)
Currently translated at 90.1% (8993 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-28 17:39:40 +01:00
CloverGit 1cd9929b15 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-28 17:39:40 +01:00
CloverGit 39d87c339b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (9969 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-28 17:39:40 +01:00
KK0571 dc8cb076c6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (9969 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-28 17:39:40 +01:00
ZbeeGin d361e58da9 Translated using Weblate (Polish)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-28 17:39:39 +01:00
Pferd O bec82d1951 Translated using Weblate (German)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-28 17:39:39 +01:00
John Beard 1a00405a87 Translated using Weblate (Italian)
Currently translated at 89.9% (8977 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-28 17:39:39 +01:00
Marco Ciampa 1082aa2861 Translated using Weblate (Italian)
Currently translated at 89.9% (8977 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-28 17:39:39 +01:00
John Beard 9f685ddec8 Translated using Weblate (Ukrainian)
Currently translated at 76.0% (7586 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-01-28 17:39:39 +01:00
John Beard 202833aa8d Translated using Weblate (Spanish (Mexico))
Currently translated at 87.0% (8682 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es_MX/
2025-01-28 17:39:39 +01:00
John Beard fdb3401ec1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (9974 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-28 17:39:39 +01:00
John Beard 812e2983a5 Translated using Weblate (Thai)
Currently translated at 62.1% (6199 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/th/
2025-01-28 17:39:39 +01:00
John Beard bebe0216f9 Translated using Weblate (Danish)
Currently translated at 42.8% (4273 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/da/
2025-01-28 17:39:39 +01:00
John Beard 0a13094913 Translated using Weblate (Vietnamese)
Currently translated at 23.9% (2389 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/vi/
2025-01-28 17:39:39 +01:00
John Beard 1159ff2735 Translated using Weblate (Turkish)
Currently translated at 54.0% (5389 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-01-28 17:39:39 +01:00
John Beard 37db18b249 Translated using Weblate (Norwegian Bokmål)
Currently translated at 41.8% (4172 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nb_NO/
2025-01-28 17:39:38 +01:00
John Beard 4b19a6d33a Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 89.0% (8885 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2025-01-28 17:39:38 +01:00
John Beard 014df49c4f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (9968 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-28 17:39:38 +01:00
John Beard 7d532e4502 Translated using Weblate (Swedish)
Currently translated at 99.0% (9885 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-01-28 17:39:38 +01:00
John Beard 3aca721bb4 Translated using Weblate (Slovenian)
Currently translated at 0.4% (48 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sl/
2025-01-28 17:39:38 +01:00
John Beard f4e65c54cf Translated using Weblate (Slovak)
Currently translated at 56.5% (5645 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sk/
2025-01-28 17:39:38 +01:00
John Beard cfaf70c0a4 Translated using Weblate (Russian)
Currently translated at 99.8% (9965 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-28 17:39:38 +01:00
John Beard 9399f2ba7d Translated using Weblate (Portuguese)
Currently translated at 93.7% (9348 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt/
2025-01-28 17:39:38 +01:00
John Beard 94c3f05bd7 Translated using Weblate (Polish)
Currently translated at 99.9% (9974 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-28 17:39:38 +01:00
John Beard 07d7cddafb Translated using Weblate (Dutch)
Currently translated at 90.2% (9006 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/nl/
2025-01-28 17:39:38 +01:00
John Beard c9a06ca564 Translated using Weblate (Lithuanian)
Currently translated at 43.7% (4364 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/lt/
2025-01-28 17:39:38 +01:00
John Beard ab3d2e4c60 Translated using Weblate (Korean)
Currently translated at 97.3% (9710 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-01-28 17:39:37 +01:00
김랑기 641070db7c Translated using Weblate (Korean)
Currently translated at 97.3% (9710 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-01-28 17:39:37 +01:00
John Beard c71ea22e7d Translated using Weblate (Japanese)
Currently translated at 99.9% (9969 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-28 17:39:37 +01:00
John Beard ea6e527063 Translated using Weblate (Finnish)
Currently translated at 99.4% (9923 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-28 17:39:37 +01:00
John Beard 57c9120c20 Translated using Weblate (Spanish)
Currently translated at 85.2% (8507 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es/
2025-01-28 17:39:37 +01:00
John Beard ee4dd37ad1 Translated using Weblate (Greek)
Currently translated at 87.7% (8758 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-01-28 17:39:37 +01:00
John Beard 9c3b246c36 Translated using Weblate (German)
Currently translated at 99.9% (9974 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-28 17:39:37 +01:00
John Beard 6903f6c71c Translated using Weblate (Czech)
Currently translated at 76.6% (7646 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-01-28 17:39:37 +01:00
John Beard 6077f467ec Translated using Weblate (Catalan)
Currently translated at 41.7% (4164 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2025-01-28 17:39:37 +01:00
Marco Ciampa 31863bb266 Translated using Weblate (Italian)
Currently translated at 89.1% (8888 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-28 17:39:37 +01:00
Wellington Terumi Uemura 5dd563f2db Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-28 17:39:37 +01:00
Hanna Breisand 863b460d09 Translated using Weblate (Swedish)
Currently translated at 99.1% (9886 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-01-28 17:39:36 +01:00
dsa-t 2e1029fc53 Translated using Weblate (Russian)
Currently translated at 99.9% (9966 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-28 17:39:36 +01:00
dsa-t 4dccffa153 Translated using Weblate (Ukrainian)
Currently translated at 76.0% (7586 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-01-28 17:39:36 +01:00
Henrik Kauhanen d5ebe0f6f6 Translated using Weblate (Swedish)
Currently translated at 99.1% (9886 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-01-28 17:39:36 +01:00
dsa-t 088e2f96ee Translated using Weblate (Polish)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-28 17:39:36 +01:00
ZbeeGin eca0bf6f0b Translated using Weblate (Polish)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-28 17:39:36 +01:00
dsa-t 6209b3b23a Translated using Weblate (Japanese)
Currently translated at 99.9% (9970 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-28 17:39:36 +01:00
co8 j 7824f1d650 Translated using Weblate (Japanese)
Currently translated at 99.9% (9970 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-28 17:39:36 +01:00
dsa-t dfa8bc2adc Translated using Weblate (Finnish)
Currently translated at 99.4% (9924 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-28 17:39:36 +01:00
Henrik Kauhanen 16eda46396 Translated using Weblate (Finnish)
Currently translated at 99.4% (9924 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-28 17:39:36 +01:00
dsa-t 785edc3247 Translated using Weblate (German)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-28 17:39:36 +01:00
Pferd O c912250b0d Translated using Weblate (German)
Currently translated at 100.0% (9975 of 9975 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-28 17:39:36 +01:00
Damjan 0ba7f0e766 Eeschema: Default value for line style combo box in Graphic properties dialog window is Combo! 2025-01-28 15:21:27 +00:00
Mike Williams 19708d2a75 design blocks: add error message when necessary 2025-01-28 10:12:10 -05:00
Mike Williams d16c28911e design blocks: move settings save out of destructor 2025-01-28 10:12:09 -05:00
Mike Williams e94052ccb3 sch design block preview: fix order of preview destruction 2025-01-28 10:10:01 -05:00
Jeff Young e8e0b07223 Honour on-the-fly language changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19773
2025-01-28 15:09:11 +00: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 80303b4caa.
2025-01-27 22:23:03 -05:00
John Beard d90862b444 Pcbnew: fix snapping view update after hover delay
Te update didn't refresh, so the snap extensions sometimes only
appeared after the _next_ mouse move, which was annoying when the
mouse was very still (e.g. when deliberately hovering over an item).

Use a wxTimer to put all the callbacks in the UI thread which is also
much simpler. Also the update function needs to call a canvas refresh
as well as the item update.
2025-01-28 08:50:31 +08:00
Jon Evans 28a4ca2d80 Mark string for translation 2025-01-27 19:04:32 -05:00
Jon Evans 8a7bf78b38 Fix color theme load logic in jobs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19754
2025-01-27 19:00:35 -05:00
Jon Evans e417b209a0 Don't paint clearance layers as copper
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19764
2025-01-27 18:16:58 -05:00
Alex Shvartzkop 6e54b88fe0 EasyEDA Pro import: set 3D model rotation for other axes as well.
(cherry picked from commit fbad7ae602)
2025-01-28 01:25:43 +03:00
JamesJCode 00e4d72d4b Move ownership of listener cleanup to BOARD itself
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19736
2025-01-27 21:55:11 +00:00
Jeff Young 25379b3094 Honour hover selections. 2025-01-27 20:30:45 +00:00
Jeff Young e530bab396 Don't report "shorting nets" when one pad has no net.
(Fall back to clearance violation instead.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19752
2025-01-27 19:08:35 +00:00
Jeff Young a9500de3f8 Ignore invisible copper text in router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19420
2025-01-27 18:41:36 +00:00
Jeff Young e21ec0558e DEFAULT no longer a legal LINE_STYLE for graphic lines.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19766
2025-01-27 18:25:39 +00:00
jean-pierre charras 32673a0ead Pcbnew, router: fix crash when trying to create a blind via without a track
Using PnS router, when trying to create a blind/buried or micro via with layer
selection with no track in progress, the router crashed because the starting
layer was not defined.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19750
2025-01-27 18:29:54 +01:00
Jeff Young fccb661487 More MANDATORY_FIELDS work.
Also fixes a crasher when Cancelling a FIELDS_GRID
dialog with one of the grid editors currently open.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19762
2025-01-27 17:02:17 +00:00
Ethan Chien c9001cc187 Sync Sheet Pins: Refactor button enable logic to use selected row count for synchronization models
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19738
2025-01-28 00:53:16 +08:00
Wayne Stambaugh 048669eced Compare SCH_SHAPE UUIDs after comparing shape object coordinates.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19716
2025-01-27 10:34:01 -05:00
jean-pierre charras b2ef81808b Pcbnew, DIALOG_PLOT: store B&W/Color option for PDF and SVG formats
Previously, the dialog started withB&W option.
2025-01-27 16:03:17 +01:00
Marek Roszko 68b3f66cd3 Bump vcpkg mainline 2025-01-26 20:55:46 -05:00
Marek Roszko 76728ab748 Bump vcpkg for wxpython ducktape 2025-01-26 20:55:46 -05:00
Jon Evans 8903a82c50 Fix design block panel trampling symbol chooser settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19190
2025-01-26 18:32:00 -05:00
jean-pierre charras e487f19260 QA api test: ensure the "C" locale is used in tests.
Fix also a compatibility with current code in drc_proto.cpp
2025-01-26 11:47:18 +01:00
Jon Evans 42b9a9604b Fix several data races triggered by parallel library loading 2025-01-25 11:44:15 -05:00
John Beard 7080d99464 Pcbnew: reduce snap timeout a fraction
This is subjective but 500ms just seems a hair too long.
2025-01-25 23:57:38 +08:00
John Beard c120254aa4 Pcbnew: snap to object faster if no objects activated
Otherwise it's annoying to snap to the first item you get to
if you have to wait every time.
2025-01-25 23:57:38 +08:00
Jeff Young 66df840353 Attempt to fix CLI test. 2025-01-25 15:00:00 +00:00
Jon Evans 9cf4dd05b3 Fixes to build with wxWidgets 3.3 2025-01-24 22:33:00 -05:00
Wayne Stambaugh 4e80c6fdc1 Revert "Do not use schematic object UUID comparisons when UUIDs are mutable."
This reverts commit 1dfe3ebc54.
2025-01-24 15:30:25 -05:00
Wayne Stambaugh 1dfe3ebc54 Do not use schematic object UUID comparisons when UUIDs are mutable.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19716
2025-01-24 14:01:02 -05:00
Jeff Young 60c2469c75 Don't use dynamic_cast across compile boundaries.
(Especially not after we've already tested the
filenames explicitly so that we don't have to.)
2025-01-24 16:54:52 +00:00
John Beard 6f2a3582ae SCH_PIN: defer to lib pin for menu image
Otherwise we try to look up the icon for INHERIT,
which is an assertion.

This can be hit when long-clicking  no-connect on a pin.
2025-01-25 00:35:00 +08:00
John Beard 86394b7598 Eeschema: more useful assert msg on pin type lookup failure 2025-01-25 00:35:00 +08:00
Jeff Young 59f20cdedc Fix Mac build. 2025-01-24 16:06:22 +00:00
John Beard fb6d3c1808 Pcbnew: don't let axes hide construction geometry 2025-01-24 21:47:28 +08:00
Wayne Stambaugh 9eaefa3301 Fix crash when importing Eagle schematics with multiple module levels.
Fix annotation when importing Eagle schematic modules.  Apparently Eagle
uses hard coded module name prefixing scheme to generate module symbol
references by prefixing module name separated by a colon.  Even though
this results in references that are incompatible with KiCad, they are
used so that the board and schematic can be synchronized by references
on import.

https://gitlab.com/kicad/code/kicad/-/issues/19718
2025-01-24 07:35:31 -05:00
John Beard 0011586372 Position relative: don't run with no selection 2025-01-24 20:26:57 +08:00
John Beard 43be371f83 Kimath: don't access aActual unless set
Avoids at least one test failure in qa_pcbnew
due to uninitialised access.
2025-01-24 20:26:31 +08:00
John Beard d9a243d98c QA: Use data-driven tests in a few places
This means that you can run just a single case from the command line,
for example:

   `qa_pcbnew -t DRCCopperSliver/_0`

The case is also automatically printed as context.

This means that when isolating a specific defect in one case,
you can run only that one case, which is useful under debuggers
and also when using slow tools like valgrind.

Not all possibe tests are doing this, but they're easy to do
when needed (i.e. when you want to run just one case)
2025-01-24 20:13:19 +08:00
JamesJCode 09bbaa5813 Attempt to fix broken Windows build 2025-01-24 02:40:21 +00:00
JamesJCode b25cc8eb02 Set new symbol fields to default to hidden
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19727
2025-01-24 02:17:07 +00:00
JamesJCode 38054953d1 Set read-only color swatches on first use 2025-01-24 01:11:08 +00:00
Jeff Young b7592db2b3 Fix latent error in annotator uncovered by tests. 2025-01-23 23:47:30 +00:00
Jon Evans 877e197fec Fix another footprint field fallout
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19729
2025-01-23 18:25:07 -05:00
John Beard de7f735856 Pcbnew: fix extension snaps for initial persistent items
Specifically, do not race the delay against the proposal
cancellation for the initial items, but just accept them
immediately.
2025-01-24 03:46:58 +08:00
John Beard 5b07bb4f6a Pcbnew: fix snapping to reference image anchor points
Otherwise it's impossible to accurately place an image
using a corner or origin.
2025-01-24 03:46:58 +08:00
John Beard 954ef70a8a QA: add a library-mode footprint load/test/save test
This is not only a useful place to hang regression tests,
but also allows to catch defects specific to loading or
saving footprints.

For example, it would catch:

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/19713
2025-01-24 02:11:06 +08:00
Jeff Young 469d2176dd Use m_numRefStr when converting back to string.
(It main contain leading zeroes.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19724
2025-01-23 17:40:40 +00:00
Jeff Young 4c65085fa5 Search within symbols' draw items as well. 2025-01-23 14:54:10 +00:00
Jeff Young 7f307afb04 Adjust layout of Find dialogs. 2025-01-23 11:09:10 +00:00
Jeff Young a9ddcf4287 Fix positions of popup menus when plotting in mirrored mode.
[Resolve conflicts with JP's fix to same.  I'm not sure if we support !m_mirrorIsHorizontal, but
it was in other code, so I left it in just to be
safe....]

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19717
2025-01-23 10:55:11 +00:00
John Beard 48b32f781e Add ellipsis to 'Derive from Existing Symbol' 2025-01-23 17:04:29 +08:00
jean-pierre charras e9269e59f7 Pcbnew, PDF plot: fix property popup locations when plotting mirrored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19717
2025-01-23 09:48:08 +01:00
Marek Roszko dc5276c1df Add Zc:inline for msvc 2025-01-22 20:23:32 -05:00
Marek Roszko 90465d6261 Add windows runtime copy with install step under msvc 2025-01-22 20:20:46 -05:00
Marek Roszko df1b5dd62c Move 2 warn flags to same place as the rest 2025-01-22 19:43:13 -05:00
Jeff Young 8fe8637297 Fix yet more assumptions about field IDs and order.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19710
2025-01-22 18:17:18 +00:00
Jeff Young d562336760 Always start kicad mgr with the apps page.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19711
2025-01-22 18:01:00 +00:00
jean-pierre charras 0748a1ca34 PANEL_SETUP_LAYERS: fix broken init of copper layer types.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19715
2025-01-22 18:59:15 +01:00
Alex Shvartzkop 88b56413d5 Fix crash when closing project manager during KiCad update check.
Also: allow to terminate the KiCad update check.
Also: update the status label when jobs are removed.
(cherry picked from commit 19890b7f99)
2025-01-22 20:56:03 +03:00
Jeff Young e19bce2f93 Reduce reliance on MANDATORY_FIELDS and their implied order. 2025-01-22 17:51:57 +00:00
jean-pierre charras be38fa5cac Pcbnew: footprint editor: fix crash when saving a footprint in lib
The crash was due to a footprint member (m_board) that is null in some
cases in footprint editor (renaming, saving, duplicate a Fp).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19713
2025-01-22 17:24:18 +01:00
jean-pierre charras 9a57f7d573 Fix a minor compil warning 2025-01-22 17:18:26 +01:00
John Beard 95a1d17603 Eeschema: init variable in SCH_FIELD 2025-01-22 21:03:42 +08:00
John Beard 84f4f7f724 Lib editors: avoid bogus overwrite prompt when renaming to self
Just accept the dialog and then early-return.
2025-01-22 19:35:54 +08:00
John Beard 78cf47bd00 Eeschema: avoid double entries after renaming to exisiting names
Also handles the case when the overwritten symbol is the current
one (i.e. select symbol Bar, then rename the unselected symbol
Foo to Bar).

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19709
2025-01-22 19:33:50 +08:00
Alex Shvartzkop 8f60a47a81 Don't wait for background tasks before closing the project manager frame.
Cancels the curl transfer if the reporter was cancelled.
2025-01-22 13:52:28 +03:00
Alex Shvartzkop 0c694de209 Protect against calling curl_easy_cleanup after curl_global_cleanup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17103
Fixes KICAD-7DP
2025-01-22 13:52:28 +03:00
Alex Shvartzkop 4eaadcae5c Fix PCM logger format string usage. 2025-01-22 13:52:28 +03:00
Alex Shvartzkop 76849b05a7 Make controls of grid cell editors mostly invisible on creation.
The controls were visible momentarily when clicking on cells, at least on MSW.

The wxStyledTextCtrl is still visible, but is not multi-line with scrollbars.
2025-01-22 13:52:28 +03:00
Alex Shvartzkop 2278ee070f Fix warning C4296: '>=': expression is always true. 2025-01-22 13:52:28 +03:00
jean-pierre charras c0e2acc8cb French translation update 2025-01-22 11:01:46 +01:00
Seth Hillbrand 0281bfe05e Fix missing display pads on MacOS
The distance from any point in the negative quadrant to
std::numeric_limits::max will be larger than std::numeric_limits::max,
meaning that if we take the square of this value, we will overflow the
extended_type.  Overflows are undefined behavior when dealing with
signed integers (c.f. C99 §3.4.3/1) so while most compilers retain a
positive value, Apple, in release mode, overflows into the sign bit,
resulting in a negative number for the squared distance.

This prevented us from displaying certain shapes in the negative
quadrant on MacOS, only in release mode builds

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19424
2025-01-21 20:05:25 -08:00
Jon Evans 4118c14d97 API: Add selection handling 2025-01-21 19:53:03 -05:00
Jon Evans 71353b11f1 API: Make sure socket is cleaned up 2025-01-21 19:53:02 -05:00
Seth Hillbrand 988d229bbf Clean up unused var
Turns out we didn't need that one
2025-01-21 16:21:27 -08:00
Jeff Young dac7c9d4d7 Convert cross-references in Table Properties dialogs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19705
2025-01-22 00:16:44 +00:00
Seth Hillbrand 5a57e5cfd4 Handle SSH keys better
OpenSSH will iterate through a series of keys.  Additionally, there may
be a key specified in the ssh/config file that we need to account for.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18864
2025-01-21 15:59:07 -08:00
Jeff Young 4fe05bfe47 Remove some more usages of MANDATORY_FIELDS. 2025-01-21 23:38:55 +00:00
Jeff Young 27755ac317 Calc mandatoryRows on the fly to prevent initialization order issues. 2025-01-21 17:00:19 +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 d21eeb4249 Nullptr safety when called from test framework. 2025-01-21 14:21:10 +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
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
Alex Shvartzkop a71b7e14d4 Update translations 2025-01-21 01:58:03 +03:00
dsa-t eb24b18f0a Translated using Weblate (Russian)
Currently translated at 99.8% (9962 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:47 +01:00
CloverGit 7171713315 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (9972 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-20 23:57:47 +01:00
Sárkány Lőrinc aa960e661b Translated using Weblate (Hungarian)
Currently translated at 6.0% (601 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-01-20 23:57:46 +01:00
CloverGit 0cd67e3c66 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9961 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-20 23:57:46 +01:00
Sárkány Lőrinc 56c19a9257 Translated using Weblate (Hungarian)
Currently translated at 5.7% (571 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-01-20 23:57:46 +01:00
Jan Straka f54de9181d Translated using Weblate (Czech)
Currently translated at 76.7% (7654 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-01-20 23:57:46 +01:00
Sárkány Lőrinc 1f90c17f39 Translated using Weblate (Hungarian)
Currently translated at 5.5% (556 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-01-20 23:57:46 +01:00
Toni Laiho 15652dd1a7 Translated using Weblate (Finnish)
Currently translated at 99.5% (9928 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-20 23:57:46 +01:00
Ulices e2db63236e Translated using Weblate (Spanish (Mexico))
Currently translated at 87.1% (8688 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es_MX/
2025-01-20 23:57:46 +01:00
Wellington Terumi Uemura 3b943ad079 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9972 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-20 23:57:46 +01:00
Rigo Ligo 56a19c5e1e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9961 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-20 23:57:46 +01:00
Дмитрий Михирев 1cbcab4208 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:46 +01:00
Toni Laiho 40c8dc7e8e Translated using Weblate (Finnish)
Currently translated at 99.5% (9925 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-20 23:57:46 +01:00
Дмитрий Михирев 2867b28a24 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:46 +01:00
Дмитрий Михирев 0e8c04888d Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:46 +01:00
Дмитрий Михирев 6dde23a1d2 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:46 +01:00
Дмитрий Михирев dd14092d5f Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:46 +01:00
Дмитрий Михирев 1da00b7d1e Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев ba1b65cf69 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев 058d99f236 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев b7ca7163f9 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев ed662c3f1f Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев b2c8c9c302 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев 196b3d100b Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев b891860c25 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев 056b8d668a Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев 9143ab47c1 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:45 +01:00
Marco Ciampa e8adb46e59 Translated using Weblate (Italian)
Currently translated at 88.0% (8780 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-20 23:57:45 +01:00
Ivan Chuba 910a5d2483 Translated using Weblate (Ukrainian)
Currently translated at 76.1% (7592 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-01-20 23:57:45 +01:00
Ulices 6c794b85fd Translated using Weblate (Spanish (Mexico))
Currently translated at 87.1% (8687 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/es_MX/
2025-01-20 23:57:45 +01:00
CloverGit 4efa78abc9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9961 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-20 23:57:45 +01:00
Дмитрий Михирев 3702f73de9 Translated using Weblate (Russian)
Currently translated at 99.2% (9897 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-20 23:57:44 +01:00
ZbeeGin fc54a2615e Translated using Weblate (Polish)
Currently translated at 100.0% (9972 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-20 23:57:44 +01:00
2tama3 8c4e2f1577 Translated using Weblate (Japanese)
Currently translated at 100.0% (9972 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-20 23:57:44 +01:00
Ricky Tigg 239f200b2d Translated using Weblate (Finnish)
Currently translated at 98.5% (9823 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-20 23:57:44 +01:00
Pferd O 613be802b9 Translated using Weblate (German)
Currently translated at 100.0% (9972 of 9972 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-20 23:57:44 +01:00
JamesJCode 6af44c8ffa Show full component class string in pcb properties panel
Currently, the human-readable component class is shown in the info
bar. For multiple component classes, this means that not all will
be readable. Showing the formal ordered string in the properties
panel mitigates this issue.
2025-01-20 22:56:26 +00:00
Alex Shvartzkop 0216b186aa Disable Bezier and Table tools when no footprint is loaded. 2025-01-21 01:15:22 +03:00
Seth Hillbrand abbdea4412 Correct rotations for flipped parts
Rotation is always seen as clockwise from the top of the board in 2581

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19675
2025-01-20 12:09:56 -08:00
Alex Shvartzkop 689441ebab Fix image size in Layer selector in Properties panel on hidpi.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13105

(cherry picked from commit 8b24496b79)
2025-01-20 22:15:52 +03:00
Jeff Young 062a03c3aa Only test existing layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19694
2025-01-20 18:28:33 +00:00
Jeff Young 8a0bff7351 Improved naming. 2025-01-20 18:28:33 +00:00
jean-pierre charras ca5f867957 F3D viewer: fix incorrect code in commit becaba53 2025-01-20 17:47:34 +01:00
jean-pierre charras becaba531b 3D Viewer: fix incorrect render of platted copper of texts.
Previously, with option "Use bare copper color for unplated copper", the
plated area of texts were drawn using their bounding box.
2025-01-20 17:15:49 +01:00
Jeff Young 240a745aa7 Hack-fix for paste into std dialog search box.
It's hard to know how widely this fix needs to be
applied, but this should at least get most of the
cases.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19684
2025-01-20 12:58:00 +00:00
Wayne Stambaugh db877e6a00 Fix Eagle schematic import issue.
Handle duplicate symbol library names with Eagle URN notation.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19666
2025-01-20 07:28:25 -05:00
Jeff Young 5e6795a774 Ellipsis for Edit Table Properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19682
2025-01-20 11:39:50 +00:00
Jeff Young 44840c7df2 Don't expose Default Font selection in PCBNew. 2025-01-20 11:30:46 +00:00
Jeff Young 6b6729284c Remove default line styles from all items except eeschema wires and buses. 2025-01-20 11:30:46 +00:00
Jeff Young c50ce416f2 Consistency in panel layout. 2025-01-20 11:30:45 +00:00
Jon Evans dd20d464f3 Turn KICAD_USE_CMAKE_FINDPROTOBUF on for old containers 2025-01-19 23:58:07 -05:00
Seth Hillbrand 867e6858c8 Handle paste special case when converting bitmap
Library export to file requires a library container but when pasting, we
paste into an existing library, so we need to skip the library header.

Long term solution would be to allow pasting library with multiple
symbols into existing library

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19688
2025-01-19 17:46:54 -08:00
Seth Hillbrand 1abfc13755 Get Autoplace tool to skip locks
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19690

(cherry picked from commit 614b327d23)
2025-01-19 17:29:57 -08:00
Seth Hillbrand f226287360 Minor adjustments to autoplace
Don't use FP bbox with text when placing footprints
Don't do unneeded poly calculation when initial work is only with
bounding box

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

(cherry picked from commit e0c57b7f20)
2025-01-19 17:29:57 -08:00
Alex Shvartzkop 775b768833 Fix VRML layer Z positions after v9 layer changes.
https://gitlab.com/kicad/code/kicad/-/issues/19608
2025-01-20 03:30:38 +03:00
Alex Shvartzkop 0118d7fb38 Raytracing: use all lights in preview mode.
It's not significantly slower, but looks much better.

Related: https://gitlab.com/kicad/code/kicad/-/issues/17354
2025-01-19 23:52:02 +03:00
Alex Shvartzkop 6b3396ea2d Raytracing: convert from linear RGB to sRGB in preview mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17354
2025-01-19 23:52:02 +03:00
Alex Shvartzkop 87c42db898 Raytracing: fix orthogonal camera frustum normal calculations.
Normal values were very close to 0 in orthogonal camera projection,
causing issues on the arm64/macOS platform.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18207
2025-01-19 23:52:02 +03:00
Jeff Young e85f1bea0c Fix bugs in SyncPinMode.
In particular an errant else, and calling ChangeLength()
after SetPosition().

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18566
2025-01-19 13:07:10 +00:00
Alex Shvartzkop e0c61e6069 Fix error with ARG_LIGHT_SIDE_ELEVATION in CLI. 2025-01-19 02:44:10 +03:00
Jeff Young f0d1052547 Check for missing courtyards in footprint checker.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19678
2025-01-18 20:51:24 +00:00
Wayne Stambaugh d53ed205f2 CvPcb and Eeschema part 1 housekeeping. 2025-01-18 14:31:15 -05:00
Jon Evans 975fe32fa7 Add a mechanism for using a mock config dir for QA tests 2025-01-18 13:40:38 -05:00
Jeff Young b582f178dd nullptr safety 2025-01-18 16:13:32 +00:00
John Beard 6423571349 Account for origin transforms in WX_PT_ENTRY_DIALOG
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19673
2025-01-19 00:08:20 +08:00
Jon Evans 7993daecf0 Don't use stdout monitor for actions 2025-01-18 10:23:10 -05:00
Jon Evans 6122fca858 Change default for KICAD_USE_CMAKE_FINDPROTOBUF 2025-01-18 10:23:10 -05:00
lucas e6eff2ce27 Simulator: Fix live view (regression)
- Fixes regression from commit 1fc3068d
- Traces were not updated while simulation was running
2025-01-18 15:11:02 +00:00
Jeff Young 24ec25a24c Update layer infrastructure in Image Converter.
(Also cleans up the interface a little.)
2025-01-18 14:33:03 +00:00
Jeff Young 3a3e2fe835 Clear status at start of jobset run. 2025-01-18 14:33:03 +00:00
Jon Evans d74744596e Fix application of component class to memberOfFootprint
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19663
2025-01-18 09:14:28 -05:00
Jon Evans cd403a27a9 SWIG: re-wrap LSET::FmtHex and co
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19546
2025-01-18 09:04:25 -05:00
jean-pierre charras 8557deec54 job export pos Gerber X3: fix incorrect filename of back side.
Fix also a shadowed var.
2025-01-18 10:43:35 +01:00
Seth Hillbrand a1fa0bdb0b Make newly added symbol fields invisible
Also place them coincident with the symbol

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19671
2025-01-17 17:46:44 -08:00
Seth Hillbrand c16d403dd0 Do not iterate over lists you are modifying
The iterator changes when you modify the list, leading to unpredictable
results.  Using the count, working from the back ensures that our list
is stable when removing fields.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19672
2025-01-17 17:40:35 -08:00
Seth Hillbrand 7972ba84fa Be sure to update the ODB++ filename when loading
Otherwise, we get .zip extension but uncompressed file handling
2025-01-17 17:05:12 -08:00
Seth Hillbrand 1259e6057a Correct ODB++ attribute output
System attributes should be prefixed by the . while user-defined
attributes can be freeform ASCII

Adds DNP & Component Type for footprints to ODB++ export
2025-01-17 15:46:55 -08:00
Jeff Young b933d3228f Reduce warnings. 2025-01-17 22:07:07 +00:00
Jeff Young a1fbff35e8 Formatting. 2025-01-17 22:07:07 +00:00
Wayne Stambaugh 8d20cf454b Tag stable version 9.0.0 release candidate 2. 2025-01-17 15:13:54 -05:00
Jeff Young 044fe24293 Remove ability to specify fp sides for position file jobs. 2025-01-17 19:37:12 +00:00
John Beard a8582e9054 Eeschema: when shadows are in fill-shapes mode, also draw the strokes
Otherwise, stright lines have no shadow at all. The alternative is
to special case stright lines, which means that some graphics
get stroke shadows and some don't and it looks inconsistent.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19662
2025-01-18 00:52:02 +08:00
Jeff Young dd180aabdd Let JOBSET_OUTPUT_REPORTER trim temp paths. 2025-01-17 16:02:57 +00:00
Jeff Young c30f8626d6 Generating footprint positions if one file at a time for jobs.
(The GUI can create separate files for front and
back, or one file for both.  A job always creates
a single file, though it can have front, back, or
both in it.)
2025-01-17 15:58:22 +00:00
Jeff Young 232542f42b Re-work filtering of temp-dir messages in jobset outputs.
(Also rationalises some of the output reporting
for consistency.)
2025-01-17 15:58:21 +00:00
Jeff Young f7295eefdb Jobset output path includes the filename.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19659
2025-01-17 15:58:21 +00:00
Jeff Young 692f19358b Jobset output path includes the filename.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19659
2025-01-17 15:58:21 +00:00
Jeff Young 630da8bed6 Formatting. 2025-01-17 15:58:21 +00:00
jean-pierre charras 7243281756 QA test: ensure qa_common uses the "C" locale to convert doubles to strings. 2025-01-17 15:44:04 +01:00
jean-pierre charras 82414f5e80 French translation update 2025-01-17 14:57:27 +01:00
Marek Roszko d82242a602 Fix target name added earlier 2025-01-17 07:33:07 -05:00
jean-pierre charras 8528151a2b Fix incorrect format for a message 2025-01-17 11:54:14 +01:00
Seth Hillbrand bc12591449 Use proper indexing for board poly
In rare cases the fracture call will reduce the outline count, leading
to crashes when we dereference them.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19664
2025-01-16 20:26:53 -08:00
Marek Roszko e7bb7592a2 Kill the MRU in pcb plot when jobing 2025-01-16 21:31:15 -05:00
Marek Roszko b1eaa52e08 Add missing ensure paths called for gerbers job
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19653
2025-01-16 21:26:55 -05:00
Seth Hillbrand 3a5eeef9df Auto update list of fonts when embedding files
Get the list of currently used fonts to populate the list of embedded
files when the user checks the "embed fonts" checkbox
2025-01-16 18:07:07 -08:00
Marek Roszko 6a92e5f02d Fix drc/erc back to using info severity.
These aren't some sort of critical error, error severity gets sent to stderr in cli.
2025-01-16 19:21:52 -05:00
Seth Hillbrand 6d40bf049e Hold fp data constant
We cache arc data to ensure that we know if it has changed since
loading, however footprints perform transformation (displacement +
rotation) on their internal elements, so we need to provide the same
transformation to the cache in order to assure it matches when writing
to disk, otherwise, the arc midpoint will be recalculated leading to
instability

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19648
2025-01-16 16:05:23 -08:00
Seth Hillbrand 5c0973f980 One more time ... metdata
The local validator is apparently a different process than the CI
validator, so respond to their errors
2025-01-16 14:59:52 -08:00
Seth Hillbrand 8c1f9d0b7e Stick with older information in metadata
Grr... appstream-util will error in strict mode for unknown tags and it
has no way of getting new tag information because there is no DTD
published.  Just a flippin C-lang program that will "validate" your
file.  So awesome that they are using XML!  Definitely the best
representation when you are going to hard-code your requirements, not
version your data
2025-01-16 13:19:43 -08:00
JamesJCode 45bce316ed Prefer static_cast over C style casts 2025-01-16 21:09:24 +00:00
Alex Shvartzkop 216b639279 Update translations 2025-01-16 23:16:16 +03:00
Ricky Tigg 160d5ea74b Translated using Weblate (Finnish)
Currently translated at 98.5% (9837 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-16 21:15:10 +01:00
Marco Ciampa b179b2f486 Translated using Weblate (Italian)
Currently translated at 88.0% (8797 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-16 21:15:10 +01:00
김랑기 e12af67708 Translated using Weblate (Korean)
Currently translated at 95.2% (9508 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-01-16 21:15:10 +01:00
Marco Ciampa 3e19c9e8bc Translated using Weblate (Italian)
Currently translated at 87.8% (8769 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-16 21:15:10 +01:00
Erkan 4c3b738ff2 Translated using Weblate (Turkish)
Currently translated at 54.1% (5404 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/tr/
2025-01-16 21:15:10 +01:00
김랑기 a0bada62ca Translated using Weblate (Korean)
Currently translated at 95.2% (9507 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-01-16 21:15:10 +01:00
2tama3 e286a86b4d Translated using Weblate (Japanese)
Currently translated at 100.0% (9986 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-16 21:15:10 +01:00
co8 j 78a1b37ce1 Translated using Weblate (Japanese)
Currently translated at 100.0% (9986 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-16 21:15:10 +01:00
Pferd O 019e2fb8a4 Translated using Weblate (German)
Currently translated at 100.0% (9986 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-16 21:15:10 +01:00
Marco Ciampa 3038114034 Translated using Weblate (Italian)
Currently translated at 87.3% (8726 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2025-01-16 21:15:10 +01:00
CloverGit 1ea693d776 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9975 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-16 21:15:10 +01:00
Tokita, Hiroshi a5a5b227a1 Translated using Weblate (Japanese)
Currently translated at 99.1% (9905 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-16 21:15:10 +01:00
co8 j ee53f41276 Translated using Weblate (Japanese)
Currently translated at 99.1% (9905 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-16 21:15:10 +01:00
aris-kimi d2eba72f65 Translated using Weblate (Greek)
Currently translated at 87.8% (8774 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-01-16 21:15:09 +01:00
CloverGit 1b27263cbb Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9968 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-16 21:15:09 +01:00
CloverGit 408ffc277c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9968 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-16 21:15:09 +01:00
CloverGit d8c0c5a752 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (9969 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-16 21:15:09 +01:00
CloverGit f4f8fb59ce Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.7% (9957 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-16 21:15:09 +01:00
CloverGit 16049090ae Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.7% (9957 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-16 21:15:09 +01:00
Seth Hillbrand c5256c1781 Update linux metadata
Add some system requirements.

Correct the component type (apparently supposed to be
desktop-application according to freedesktop)

Add some more URLs
2025-01-16 11:17:00 -08:00
Seth Hillbrand 8289923c98 Update metadata
Too many categories is messy on some distros.  We are primarily
electronics or engineering.  Electricity and Science are related but
more of a stretch
2025-01-16 11:01:43 -08:00
Seth Hillbrand 561fc967a3 Add additional stackup information to 2581 output
Some parsers like the stackup def and this gets additional information
about the materials/colors into the output

Also fixes an issue where we could get missing pads in unusual cases.

Also fixes an issue were we generated invalid contours when footprints
had split courtyards

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16665
2025-01-16 10:45:06 -08:00
Jeff Young 0d6a2f1c47 SynchronizeProperties after (potentially) changing text vars.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19658
2025-01-16 18:37:10 +00:00
Jeff Young 6eaeacfe79 Return wxID_OK from plot dialog. 2025-01-16 17:18:14 +00:00
Jeff Young 6f32ecafe5 Include project in output path text resolver.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19659
2025-01-16 17:06:59 +00:00
Wayne Stambaugh e09b095533 Common folder housekeeping part 3. 2025-01-16 11:50:08 -05:00
Jeff Young af38f76f01 Don't double-create new folders in project tree. 2025-01-16 16:47:58 +00:00
Jeff Young 89706aedae Resolve some variables from the project. 2025-01-16 15:59:51 +00:00
Jeff Young 413fe65bd8 Resolve fonts in library symbols.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19641
2025-01-16 15:41:41 +00:00
Jeff Young fdb460441f Give EDA_LIST_DIALOG a larger size for longer lists. 2025-01-16 13:12:25 +00:00
Jeff Young b6d03255f0 Don't report filepath messages for jobs.
(They'll just point to temp files anyway.)

Also moves schematic netlist fetching to
MAIL_SCH_GET_NETLIST.
Eeschema's generateSchematicNetlist() hasn't
worked in some time.

Also suppresses parity error counts when parity
not run due to failure to find or load schematic.

Also writes out ERC/DRC reports even when they're
set to fail the job.

Also improves adding/removing netlist exporters to
select an appropriate tab in the dialog (either
the newly-created one or the one preceeding the
deleted one).
2025-01-16 13:12:25 +00:00
Jeff Young d1411e2c69 Don't report filepath messages for jobs.
(They'll just point to temp files anyway.)

Also moves schematic netlist fetching to
MAIL_SCH_GET_NETLIST.
Eeschema's generateSchematicNetlist() hasn't
worked in some time.

Also suppresses parity error counts when parity
not run due to failure to find or load schematic.

Also writes out ERC/DRC reports even when they're
set to fail the job.
2025-01-16 13:12:25 +00:00
Jeff Young 3b07401912 Formatting. 2025-01-16 13:12:25 +00:00
Jeff Young 5f45c2c0d1 Nullptr fixes. 2025-01-16 13:12:25 +00:00
Jeff Young 2cc39bc2be Remove paths from job-success status messages.
(They only point to the temp directory anyway.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19635
2025-01-16 13:12:25 +00:00
Jeff Young 705f8ddd90 Formatting (and avoid dynamic_cast across kiway). 2025-01-16 13:12:25 +00:00
Jeff Young 2af80d2fc8 Refresh project tree after generating outputs. 2025-01-16 13:12:25 +00:00
John Beard a997dab769 Position interactive: add re-entrancy guard 2025-01-16 20:48:04 +08:00
John Beard e392b7b52d Position interactive: don't allow status popup over the dialog 2025-01-16 20:42:13 +08:00
John Beard 040fe379d0 Position interactive: don't leave stale ruler after edits
Any non-mouse action, just clear the ruler.
2025-01-16 20:41:12 +08:00
John Beard ba5bdfaca6 Pcbnew tool: fix inconsistent selection after creation
If the point selection was used for the circualr array, one of the items
would be unselected, which is different to the grid array and annoying
if you want to pick up/edit props for the new items.
2025-01-16 19:43:15 +08:00
John Beard 6e7b22904e Array tool: when changing axis numbering, default to valid numbering
Otherwise, when you change the axis numbering type, and don't update
the start offset string, you get an error on dialog save. Instead,
if the number isn't valid, change it to a valid one.
2025-01-16 19:43:15 +08:00
John Beard d677b84de1 Array dialog: if validation fails, don't close - allow user to fix it 2025-01-16 19:43:15 +08:00
John Beard 7116ed6917 Pcbnew array dialog: adjust padding
Also remove some debug.
2025-01-16 19:43:15 +08:00
jean-pierre charras 2a143a63e5 Build on MSYS2: use shobjidl.h, instead of shobjidl_core.h
shobjidl_core.h is not available on mingw
2025-01-16 09:59:12 +01:00
Marek Roszko 337ec6d862 Add a version_header depend, not ideal 2025-01-15 21:27:08 -05:00
Jon Evans f5339648d2 Don't assume a username for macos ci 2025-01-15 20:40:26 -05:00
Marek Roszko a0b50622dd Implement AppUserModelID for windows 2025-01-15 20:36:15 -05:00
Seth Hillbrand e32815003f Don't depend on the enum ordering for units
They are not always going to line up with the dropdown ordering

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19643
2025-01-15 11:33:32 -08:00
Alex Shvartzkop d9dcd9e854 EasyEDA Pro schematic: import text with null angle.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19640
2025-01-15 22:04:57 +05:00
Alex Shvartzkop 3a0df97dbf Optimize SHAPE_LINE_CHAIN::Segment slightly. 2025-01-15 18:07:57 +05:00
Marek Roszko 41ef767676 Tweak the odb job pathing again 2025-01-14 21:23:25 -05:00
Marek Roszko 9dc0bb2c89 Avoid rebuilding the bitmap tar every single build by cheesing cmake targets 2025-01-14 20:45:22 -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 1d8ed071b8 Respect recursion depth limit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19633
2025-01-15 00:08:08 +00:00
Seth Hillbrand c7c1748920 Keep the scoped copy of LSET
Attempting to fix an unknown windows crash

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19488
2025-01-14 15:27:42 -08:00
Seth Hillbrand a77c9463e4 Fix memory leak in DRC_TEST_PROVIDER_CLEARANCE_BASE
We really shouldn't be getting the colors here (they need to be when
drawn) but if we do, we shouldn't allocate a whole new palette for each
object.
2025-01-14 15:27:42 -08:00
JamesJCode baa0beec4d Update some pcbnew QA files to remove warning messages 2025-01-14 22:49:21 +00:00
JamesJCode 83f03b10ff Further netclass name method cleanup 2025-01-14 21:16:43 +00:00
Seth Hillbrand 5cd9e319d3 Handle more arc degeneracies 2025-01-14 13:08:45 -08:00
Seth Hillbrand bfb3875a68 Add additional handling for arc collisions
Provides nearest point calculation for circles, segments and rects

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18203
2025-01-14 13:08:45 -08:00
Seth Hillbrand bcebc694b8 Implement MTV for arcs 2025-01-14 13:08:45 -08:00
Seth Hillbrand b73481dd49 Update SHAPE_ARC::IntersectionPoints()
Force it to handle a number of edge cases from Arc-Arc collision test.
Unify and simplify the Collide Arc-Arc.  Add additional arc collision
QA test
2025-01-14 13:08:45 -08:00
Seth Hillbrand 4d40ea2586 Allow Arc conversion to-from tracks-graphics 2025-01-14 13:08:45 -08: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
Jeff Young 7bf0d36057 Store/fetch sheetpath along with symbol UUID.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19623
2025-01-14 18:32:09 +00:00
John Beard 5b1fdbe645 Symbol editor: use a default name when deriving a symbol
A blank field is always an error, and it's quite likely the name
will be somewhat similar to the parent symbol.
2025-01-15 02:29:09 +08:00
Jeff Young 21fb208d52 Fix a bad format stmt argument type. 2025-01-14 17:38:24 +00:00
John Beard 62095306d0 Eeschema: sort parents in symbol properties dialog combobox 2025-01-15 01:17:36 +08:00
John Beard d55877ce27 Increment tool: use parent commit when appropriate, avoid double preview
Cloning the item into the previewe means that if we later increment
it, the preview clone doesn't update. Use the non-owning preview
interface to use the item directly in the preview.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19433
2025-01-15 00:26:09 +08: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 77a524fa22 Fix slicing operator.
(Also a minor performance improvement.)
2025-01-14 12:41:16 +00:00
Jeff Young d30f507fd8 Cache bboxes for all lines.
(Otherwise iterating over them makes the cache useless.)

Also fixes two bugs where the cache pos wasn't copied.
2025-01-14 12:24:24 +00:00
Jeff Young 9c757a4417 Naming conventions. 2025-01-14 12:24:24 +00:00
Seth Hillbrand 6769efc807 Contain the unescaped netnames to XML output
Kicad netlists branch off the xml, so keep their output stable.  Only
use XML-based escaping for XML files
2025-01-13 19:48:13 -08:00
Marek Roszko 97787778eb Fix path processing for odb job 2025-01-13 21:42:27 -05:00
Seth Hillbrand 6beeabd5d2 Ensure netlist netnames are readable
We don't need name escaping here because XML has a standard escaping
paradigm (HTML-like) that will be applied to the strings when written to
the file
2025-01-13 16:49:01 -08:00
Seth Hillbrand 7728d5eccf Keep effective netclass data in XML output
Tagging nets allows downstream processors to more effectively handle
KiCad outputs

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13240
2025-01-13 16:39:12 -08:00
Seth Hillbrand 3e8791b88d Fixup multiple issues with DP checks
Handle arcs properly even when not exactly concentric.  Properly check
for interfering elements that would prevent coupling.  Avoiding those
that are directly connected

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17967
2025-01-13 16:11:16 -08:00
Jeff Young ce483c848a Remove previous version of disable-previews-when-menu-open.
(It had been rendered inoperative by the fix for
#16844.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19117
2025-01-13 19:45:49 +00:00
Jeff Young c52c41a1d5 Make doubly sure net inspector settings are saved.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19449
2025-01-13 19:28:08 +00:00
Jeff Young 4a3f69e518 Fix dialog layout.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19622
2025-01-13 19:14:25 +00:00
Jeff Young 95b872f074 Formatting. 2025-01-13 19:14:25 +00:00
Seth Hillbrand f24dba97f4 Block preview while menus are shown
When the user is navigating a drop down menu, they don't want the
preview window to pop over their screen.  This glues between the
LIB_TREE and the frame to block these preview events

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19117
2025-01-13 10:22:26 -08:00
Jeff Young 577c1dd332 Also limit the number of search terms (as well as their length)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19464
2025-01-13 16:22:37 +00:00
Jeff Young e7a79216ab Add non-title-block var resolution to jobset outputs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19357

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19618
2025-01-13 12:49:15 +00:00
jean-pierre charras af366a78b3 Eeschema: fix correct background area size when plotting a sheet.
If a sheet is bigger than the page size selected in the plotter (PC, PDF , SVG)
(i.a a A3 sheet plotted scaled to A4 page) the background area size actually plotted
was to small.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19611
2025-01-13 11:04:16 +01:00
Seth Hillbrand d7f89c6576 Respect DXF origin on graphics import if possible
We only need to adjust the DXF import box location if the graphics
imported do not fit on our drawing area

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18523
2025-01-12 19:55:47 -08:00
Seth Hillbrand becbf82390 Keep FP Properties dialogs as quasimodal
The dialogs will launch their own quasi modal dialogs, which reparent
themselves to the TLW.  When closing, on GTK, they will focus the TLW,
leading to events being handled while the initial quasi modal dialog is
still showing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19385
2025-01-12 19:37:05 -08:00
Seth Hillbrand e4d2dbb7a7 Strip extra library data when importing Altium
Altium stores (or can store) full information about the absolute
location of libraries for each footprint in their board files.  Since
KiCad only stores an alias, we have no place to keep the full path.
Just keeping the filename should be enough for most cases and still
allows the user to disambiguate manually after import without crowding
the UI.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15593
2025-01-12 17:07:49 -08:00
Maciej Małecki 82c1118679 pcbnew: disable Zone Manager thermal relief configuration when not needed 2025-01-13 00:43:59 +00:00
Seth Hillbrand 1fc3068de6 Don't ask for data before running
If the sim hasn't run, we don't have data and ngspice will complain.
It's a harmless message but new users don't know this and it sounds
problematic.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19600
2025-01-12 16:14:40 -08:00
Jeff Young a7c130b82d Hook up TITLE_BLOCK resolver to jobs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19471
2025-01-12 22:31:09 +00:00
Jeff Young 62041fdb69 Naming consistency. 2025-01-12 20:24:33 +00:00
Jeff Young 9322397933 Cleanup. 2025-01-12 20:24:33 +00:00
Wayne Stambaugh 5c8f4697ca Common folder housekeeping part 1. 2025-01-12 12:06:45 -05:00
Seth Hillbrand 4ba1c0130c Use layer numbers in Eagle importer
The layer names may be translated but the numbers are invariant.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19597
2025-01-12 08:53:55 -08:00
Marek Roszko 6ec00f879c Add PROJECTNAME resolution into project's resolver 2025-01-12 11:43:10 -05:00
Maciej Małecki 2c330e07be pcbnew: disable dialog thermal relief configuration when not needed 2025-01-12 16:39:30 +00:00
Marek Roszko 4c97d52f2c Fix typo in last plot fix attempt 2025-01-12 10:21:41 -05:00
Jeff Young 08677d3cb6 Attempt to fix non-clang (or maybe just MSW) builds. 2025-01-12 14:14:35 +00:00
Jeff Young 4049b622f9 Fix writing/parsing of pdf plot params.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19446
2025-01-12 13:43:33 +00:00
Jeff Young e3e7a4c97a More consistent file/class naming. 2025-01-12 12:47:00 +00:00
Jeff Young b7cdbbba9f Front Kicad manager frame after running job(s). 2025-01-12 12:47:00 +00:00
Jeff Young ab571be525 Don't depend on knowing the lifetime of a wxWindow. 2025-01-12 12:47:00 +00:00
Ethan Chien ad48ce1147 Sync Sheet Pins: Refactor SHEET_SYNCHRONIZATION_MODEL to use GetCount() for item count management
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19592
2025-01-12 17:32:03 +08:00
Marek Roszko a12496a04b Fix sch plot output directory creation 2025-01-11 23:27:30 -05:00
Seth Hillbrand 8ab5d95d1b Handle GTK themes that don't use the revealer 2025-01-11 19:56:42 -08:00
Marek Roszko db56d51838 Fix output paths for jobs again 2025-01-11 19:05:45 -05:00
Marek Roszko 4cfd6f71e5 Fix plot job paths not saving 2025-01-11 19:05:44 -05:00
Marek Roszko 47fb4686c3 Add text var expansion in output paths 2025-01-11 19:05:44 -05:00
Jon Evans 37a3c6f8cf Infobar close buttons also need to react to theme changes 2025-01-11 18:53:58 -05:00
Seth Hillbrand 1bce0b733e Make infobar sensitive to color changes 2025-01-11 15:39:06 -08:00
Jeff Young 8c363411e0 Implement fixed pin name/number sizes for Eagle.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16980
2025-01-11 22:32:46 +00:00
Marek Roszko 06a61e773f Fix bg/fg fed to GetInfoBarColours 2025-01-11 16:26:02 -05:00
Seth Hillbrand 8ccf8c1138 Speed up creepage
Make sure of sets where possible
Don't do checks in nested loops -- prune first
Thread when possible
Ensure we are updating the dialog as we go
Fix some coding convention issues

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19488
2025-01-11 13:18:29 -08:00
Seth Hillbrand ae4ef7c062 Allow display of each new phase
KeepRefreshing is gated so if we get a bunch of phases in a row, they
won't be shown until you get past a slower phase.  By yielding here, we
ensure that the dialog is updated and the user knows which phase of DRC
they are on.
2025-01-11 13:18:29 -08:00
JamesJCode 8746313ce3 Fix class-d simulation demo 2025-01-11 20:55:14 +00:00
JamesJCode 65918b8bad Fix up-down-counter simulation demo 2025-01-11 20:53:03 +00:00
lucas b06727d295 Eeschema sim dialog: Fix kicad crash when spice model corrupted 2025-01-11 18:48:00 +00:00
Jon Evans 17c746c00a Make Windows hacks dependent on using KiCad-shipped interpreter 2025-01-11 12:24:44 -05:00
Jon Evans 25e7b29ad1 Fixup 37d0d5f1 to pass env vars correctly 2025-01-11 12:24:44 -05:00
Tomasz Wlostowski b54235262a router: fix assertion in multidragger (link count out of range)
Fixes https://gitlab.com/kicad/code/kicad/issues/19587
2025-01-11 18:11:29 +01:00
Alex Shvartzkop 0748cd03be Update translations 2025-01-11 20:07:34 +03:00
Ivan Chuba a2ceaf2621 Translated using Weblate (Ukrainian)
Currently translated at 75.9% (7586 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2025-01-11 18:07:12 +01:00
Wellington Terumi Uemura e068ff415f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9986 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-11 18:07:12 +01:00
CloverGit 8c20154227 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.7% (9957 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-11 18:07:12 +01:00
2tama3 72a654a8fd Translated using Weblate (Japanese)
Currently translated at 98.3% (9826 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-11 18:07:12 +01:00
aris-kimi fbfddc22bc Translated using Weblate (Greek)
Currently translated at 87.7% (8767 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/el/
2025-01-11 18:07:12 +01:00
CloverGit b93137177d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.6% (9953 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-11 18:07:12 +01:00
ZbeeGin 87ca831fc1 Translated using Weblate (Polish)
Currently translated at 100.0% (9986 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-11 18:07:12 +01:00
2tama3 403f2726e3 Translated using Weblate (Japanese)
Currently translated at 98.3% (9826 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-11 18:07:11 +01:00
Pferd O c0bfa7a833 Translated using Weblate (German)
Currently translated at 99.7% (9961 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-11 18:07:11 +01:00
109247019824 8697c70f81 Translated using Weblate (Bulgarian)
Currently translated at 7.1% (711 of 9986 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-01-11 18:07:11 +01:00
Jon Evans 37d0d5f118 Use PYTHON_MANAGER to launch actions and capture trace output 2025-01-11 11:47:08 -05:00
Marek Roszko 92c804b1f3 Bump wxwidgets for trace patch 2025-01-11 11:22:44 -05:00
Jeff Young edd59c6ead Allow normal close action of dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19596
2025-01-11 15:17:28 +00:00
Jeff Young d83a2a90cb Ignore line comments in pin defs and param defs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19584
2025-01-11 13:30:45 +00:00
Jon Evans 2f96dfd5cb Do not call Select on an empty combobox
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19594
2025-01-11 08:25:04 -05:00
Wayne Stambaugh 42a1d1cf0b Include folder and 3D viewer code housekeeping. 2025-01-11 07:25:14 -05:00
Jon Evans 30d43c30b7 Prefer using pythonw on Windows 2025-01-10 22:41:35 -05:00
Marek Roszko 2123c03fa1 Shift gerber job to lseq instead 2025-01-10 22:24:28 -05:00
Marek Roszko 6692f39d6f Save layer job params using canonical name arrays instead of layer id ints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19532
2025-01-10 22:23:45 -05:00
Jon Evans 4279672876 Fix incorrect signature 2025-01-10 21:59:51 -05:00
Jon Evans d9e1d3725e Do not try to install source packages in python environments 2025-01-10 21:51:49 -05:00
Jon Evans 54e8233b36 Don't scan for API plugins if server is disabled 2025-01-10 21:46:51 -05:00
Jon Evans eb4220bd29 Use an exception formatting function that works in Python <3.10 2025-01-10 21:46:50 -05:00
Seth Hillbrand e8167f33d7 Grab GTK default colors for infobar
This implements the wxWidgets fix for KiCad.  We can't wait for distros
to update their wx libs so until then, we'll roll our own.

Nicely, this also implements the MacOS setting that was an ifdef
previously

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19506
2025-01-10 17:32:51 -08:00
Alex Shvartzkop 8d25a4c09d Update translations 2025-01-11 03:57:53 +03:00
2tama3 9de733da85 Translated using Weblate (Japanese)
Currently translated at 98.2% (9809 of 9987 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-11 01:56:53 +01:00
CloverGit 189f61a42b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.3% (9925 of 9987 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-11 01:56:53 +01:00
ZbeeGin 3d425bf40e Translated using Weblate (Polish)
Currently translated at 100.0% (9987 of 9987 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-11 01:56:53 +01:00
Pferd O 9875029557 Translated using Weblate (German)
Currently translated at 99.8% (9977 of 9987 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-11 01:56:53 +01:00
Tomasz Wlostowski 4ee52a21d0 router: take overlapping segments/arcs into account when syncing board state to router state
Fixes https://gitlab.com/kicad/code/kicad/issues/19581
2025-01-11 01:36:49 +01:00
JamesJCode 9a63662844 Multichannel: Update UI strings 2025-01-10 23:54:20 +00:00
Seth Hillbrand 7516e3a190 Update docs link
Instead of the hard-coded docs website, we use the redirect container to
keep the links valid and do forward-planning (e.g. 9.99)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19570
2025-01-10 15:19:21 -08:00
Seth Hillbrand 8e23fcab08 Keep text angles normalized
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19591
2025-01-10 13:53:44 -08:00
Seth Hillbrand 3f2fa3178c Remove Python console button from schematic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19590
2025-01-10 13:08:47 -08:00
Seth Hillbrand 65d8af4483 Font caches need to account for size
Fonts are rendered from FT into a scaled output before being
triangulated.  If the original scaled output is very small, the cache
ends up being a distorted scaling when expanded to larger font sizes

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18870
2025-01-10 13:03:47 -08:00
Seth Hillbrand 875580fe2c Thou shalt not modify RTree while iterating over it 2025-01-10 10:16:14 -08:00
John Beard 3b490cdd3b Eeschema: yeet wire-with-plus icon
This icon was only used for auto-starting a wire, which was
inconsistent with auto-starting a bus or graphic line.

Also the plus sign is a little confusing as it could also be
interpreted as the origin marker (which is really bottom left),
which is also plus-shaped.
2025-01-11 00:34:48 +08:00
jean-pierre charras c77c921297 Eeschema, BOM exporter dialog: Fix empty fields other than references
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19557
2025-01-10 17:31:21 +01:00
jean-pierre charras 52759d7bfb French translation update 2025-01-10 17:31:20 +01:00
Alex Shvartzkop 129e37f63d Drag footprints only in non-hover selections. 2025-01-10 21:14:13 +05:00
Jeff Young 234e4a2ae3 Rehash sheetpaths when changing sheet uuids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19583
2025-01-10 16:01:12 +00:00
Jeff Young 40871a6a08 Naming clarity. 2025-01-10 15:12:03 +00:00
Jeff Young 2922d508de Don't ever draw hierarchical label shape in bus colour.
(We do still draw the text in bus colour if it's
connected to a bus.  This makes it consistent
with what we do for global labels.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19564
2025-01-10 15:12:03 +00:00
Tomasz Wlostowski bf64e74188 router: fix regression in simplifyNewLine() causing unnecessary segments to be added to board (forming loops)
(note to self: OPTIMIZER now unlinks the in-place-optimized LINEs)
2025-01-10 16:01:19 +01:00
John Beard 3b035c279d Eeschema: fix missing global label dangling indicators 2025-01-10 22:59:06 +08:00
John Beard f4e5f60a63 Eeschema: Allow global lablels to start buses
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19563
2025-01-10 22:59:06 +08: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
JamesJCode ccca044a58 Multichannel: Reserve hidden strings, re-order placement options 2025-01-10 11:26:43 +00:00
JamesJCode 5cad4ad8d0 Multichannel: Don't include footprints outside of reference area 2025-01-10 11:23:56 +00:00
Marek Roszko 16d10dc76e Squash the pdf handling for the old path into the new like dxf/svg 2025-01-09 23:43:40 -05:00
Marek Roszko afe7c893d5 Squash dxf job path for single/multi like svg 2025-01-09 23:43:40 -05:00
Jon Evans 0ba869465c API: switch to Distance type for thermal settings 2025-01-09 21:25:15 -05:00
Marek Roszko ecfc868832 Combine/move svg plot job to single path 2025-01-09 21:21:09 -05:00
Jon Evans 4dfcbc6d2a API: make thermal spoke settings optional 2025-01-09 20:55:50 -05:00
JamesJCode 0f6669a68c Improve multichannel UI strings 2025-01-10 00:49:00 +00:00
JamesJCode 35172fe402 Guard against null m_part in erc TextVar checks
Also removes duplication of LIB_SYMBOL dummy() construction methods

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19575
2025-01-10 00:13:53 +00:00
Seth Hillbrand 229507ee43 Cleanup a couple routines in the last MR
Simplify and clean the functions
2025-01-09 15:42:58 -08:00
Dhinesh e02b6be4c9 Fix error-marker highlighting for multiple markers at the same location
Previously, if multiple error markers were placed at the same location,
the selected marker was not visually differentiated from the unselected
ones, even if one was at the top of the stack. To fix this, Need to pass
overlapping markers to the FocusOnItems() function instead of calling
FocusOnItem() with only the selected marker.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9778
2025-01-09 23:41:02 +00:00
Sam Schweigel 373d9c9281 Disable touch events on OSX only, allowing them on GTK and Windows
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14374
2025-01-09 23:00:53 +00:00
Jon Evans c13af4ed36 Remove warning severity override
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19573
2025-01-09 17:34:57 -05:00
Seth Hillbrand 79419ef2f0 Update QA check for 8883
This actually has a redundant track that was not caught before
2025-01-09 14:28:34 -08:00
Seth Hillbrand 8f9b7ca757 Hide the AUI notebook tabs if we only have 1 2025-01-09 13:39:41 -08:00
Seth Hillbrand 00de67eea8 Properly handle cleanup for multiple collinear tracks
When we have multiple tracks that share a single anchor, they are
technically a node but should still be cleaned as they are collinear.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19574
2025-01-09 12:10:23 -08:00
Jeff Young dd7c076bc9 Use std::optional for pad connection overrides.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19555
2025-01-09 17:32:05 +00:00
Marek Roszko 1ebcd24944 Forward declarations are your friends
Why leak gl headers into most of kicad
2025-01-09 09:03:08 -08:00
Seth Hillbrand 09e30adbb1 Move GL_CONTEXT_MGR into PGM_BASE singleton
This is the second try at 5326c36a5f.  The difference here is that we
have moved GL_CONTEXT_MGR into kicommon first which will hopefully
address some of the Windows linkage issues

The GL context lock needs to be shared across kifaces.  Otherwise, we
can end up blocking the lock from one kiface.  Unfortunately, I can't
find the issue in GitLab right now for where the footprint viewer shows
a blank screen after opening too many contexts.  But that's what this
fixes.
2025-01-09 09:03:08 -08:00
Seth Hillbrand d48c40ba26 Move GL_CONTEXT_MANAGER to kicommon 2025-01-09 09:03:08 -08:00
Seth Hillbrand 452e69de85 Move thread pool into true singleton
Thread pool needs to be stored in a single location for all of KiCad
otherwise each kiface will spin up its own pool of persistent threads
2025-01-09 09:03:08 -08:00
jean-pierre charras 6c0e5508a9 Pcbnew: ensure footprint courtyard caches are rebuilt after rotation or flip
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19561
2025-01-09 17:59:05 +01:00
Alex Shvartzkop 7677c71fdb Initialize some members in PCB_EDIT_FRAME. 2025-01-09 19:16:38 +05:00
Jon Evans 6858561731 Fixes for building against recent wxWidgets 3.3 2025-01-09 08:38:49 -05:00
Wayne Stambaugh af540bbb9a Header folder housekeeping. 2025-01-09 07:44:11 -05:00
Jeff Young 1b5bdbbbf0 Improve rotated text in Eagle import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18490
2025-01-09 11:43:19 +00:00
Jeff Young fba91a2f6b De-clutter export pos file dialog. 2025-01-09 11:42:58 +00:00
Jeff Young 03c54018e6 De-clutter export pos file dialog. 2025-01-09 11:42:58 +00:00
Jeff Young b0a8cb2678 De-clutter export ODBC dialog. 2025-01-09 11:42:58 +00:00
jean-pierre charras 89e80586cd Gerber export to pcb: handle rect aperture to draw lines on non copper layers
On copper layers, all lines are exported as tracks, so they always use a round
aperture.
Note also rect aperture to draw lines and arcs are deprecated since 2020

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19553
2025-01-09 11:02:15 +01:00
Seth Hillbrand 4a22570e87 Clean layer parsing
NameToLayer will automatically return -1 on unrecognized layer names.
We don't need to gate this on a version
2025-01-08 16:00:46 -08:00
Seth Hillbrand 066380ffeb Clean up a few gerbview export to pcbnew layers
There's a lot of hard coded stuff in gerbview.  This removes a few
duplicated functions and gets the layer export back into working shape

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19552
2025-01-08 16:00:44 -08:00
jean-pierre charras 162d87f271 Gerber export to pcb fixes: update to use recent changes in Pcbnew V9
Use new layers id, arcs in tracks, and some recent changes in Sexpr
2025-01-08 20:32:53 +01:00
Wayne Stambaugh f74d97d2e1 Revert "Header folder housekeeping."
This reverts commit d1898aab47.
2025-01-08 12:27:15 -05:00
Seth Hillbrand 954e194f77 Add default paste special hotkey
Most applications will define paste special as Ctrl-Shift-V
2025-01-08 09:23:34 -08: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
Wayne Stambaugh d1898aab47 Header folder housekeeping. 2025-01-08 11:38:44 -05:00
Jeff Young 0d1fcd2c54 Cleanup. 2025-01-08 15:50:08 +00:00
Jeff Young a797f4ce95 Remove fairy dust from copyfiles. 2025-01-08 15:39:47 +00:00
Jeff Young 5524ff3770 Formatting. 2025-01-08 15:39:47 +00:00
John Beard c19a1718de PNS log viewer: fix loading via relative paths
This means you can run like this:

  ./qa/tools/pns/pns_debug_tool replay ../qa/data/pcbnew/pns_regressions/simple_shove1/pns.log
2025-01-08 22:14:36 +08:00
John Beard ce140faf2d CI: let KICAD_RUN_FROM_BUILD_DIR work from archived CI build environments 2025-01-08 21:58:55 +08: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
John Beard 302ceeb14e Clang format: remove BreakConstructorInitializersBeforeComma
This was gone by Clang 5, which was released in 2017,
and we already set BreakConstructorInitializers.
2025-01-08 20:23:31 +08:00
John Beard d0d4c4065b Make run from build dir work for debug executables
When using KICAD_RUN_FROM_BUILD_DIR, at least on Linux, not all
executables can assume executable/.. is the build directory - instead
iterate upwards until a CMakeCache.txt file in encountered.

Without this, for example, the PNS log viewer complains about missing
JSON schema files.
2025-01-08 20:23:31 +08:00
John Beard 51606e80d5 Scripting: a little bit more detail when failing to get wxPython version info
Print:

* the returned wx version string
* the Python sys version string, which can be a good pointer if the
  wrong interpreter has been picked up by the PyBind11 Cmake
* Exception output if any
2025-01-08 20:23:31 +08:00
Alex Shvartzkop 4ab9badcf2 Update translations 2025-01-08 14:32:32 +03:00
Wellington Terumi Uemura 4092865146 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9997 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-08 12:30:29 +01:00
co8 j d8aef48dd6 Translated using Weblate (Japanese)
Currently translated at 98.5% (9852 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-08 12:30:29 +01:00
CloverGit 40fe300144 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9951 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:29 +01:00
CloverGit af0b257682 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9951 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:29 +01:00
CloverGit 704c7b2f67 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9950 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:29 +01:00
CloverGit e3ef1d4292 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9950 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
CloverGit 3e23f4ede7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9950 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
CloverGit b87fcd7ed9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9950 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
CloverGit 55467d6af9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9950 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
CloverGit 73d9804f4c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9948 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
Pferd O 296654e258 Translated using Weblate (German)
Currently translated at 100.0% (9997 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-08 12:30:28 +01:00
CloverGit 2cb0e35105 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.3% (9832 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
Rigo Ligo 5e7947b0ce Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.3% (9832 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-08 12:30:28 +01:00
2tama3 a16333960c Translated using Weblate (Japanese)
Currently translated at 98.4% (9841 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-08 12:30:28 +01:00
Pferd O e187b783a8 Translated using Weblate (German)
Currently translated at 99.9% (9994 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-08 12:30:28 +01:00
தமிழ்நேரம் 49b117b1a5 Translated using Weblate (Tamil)
Currently translated at 98.9% (9889 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ta/
2025-01-08 12:30:28 +01:00
ZbeeGin cb5436fb71 Translated using Weblate (Polish)
Currently translated at 98.9% (9893 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-08 12:30:28 +01:00
Alex Shvartzkop d3f53db3eb EAGLE import: allow more lines before <eagle> tag.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19528

(cherry picked from commit 603a500bc0)
2025-01-08 16:24:54 +05:00
Alex Shvartzkop 883b615fef Cancel "Fetching repository" job properly when PCM is opened. 2025-01-08 15:29:27 +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
Marek Roszko fdfeda7b72 Ensure mkdir with bom export job
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19520
2025-01-08 00:07:26 -05:00
Jon Evans 018af2b6cd Pad properties: Update props book after changing edit layer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19529
2025-01-07 21:45:58 -05:00
Marek Roszko c931f2e16a Fix output paths for sch plots again
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19522
2025-01-07 20:29:37 -05:00
Jon Evans 31cce8930a Fix conflict with Windows API 2025-01-07 19:22:10 -05:00
Seth Hillbrand 5e4c5c969a Freeze ERC action before deleting
Each deletion of a marker adjusts the tree model and comes with a
possibility of a repaint, which can trigger a full screen repaint.
Keeping the dialog frozen prevents these updates

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19531
2025-01-07 15:54:21 -08:00
Jeff Young ed12e1ee79 Set grid cursor as well as selection row.
I haven't a clue why this is required.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19509
2025-01-07 23:33:43 +00:00
Jon Evans bd47692bf2 API: Include custom layer names in stackup 2025-01-07 18:28:07 -05:00
Seth Hillbrand 19e5ca3430 Flip schematic paste/paste special behavior
Be default, we want to keep the existing data for a symbol that is cut
when pasting it back into the sheet.  This should keep both the KIID and
the reference designator as this will ensure that the symbol remains
connected to the footprint in the layout

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19301
2025-01-07 14:54:47 -08:00
Jeff Young f665760a8e Don't skip every other jobset when closing. 2025-01-07 18:04:21 +00:00
Jeff Young 83b26cfbd0 Modernize IPC2581 dialog. 2025-01-07 18:04:21 +00:00
Jeff Young 102997d6d8 Slightly less busy layout for embedded files. 2025-01-07 18:04:21 +00:00
Mark Roszko 3fecde47e9 switch back to debug buulds for windows ci 2025-01-07 17:56:24 +00:00
Daniel Treffenstädt 0dd80c2975 Fix thermal spoke template edge case behaviour
For certain custom pads, need need to adjust the overlap between spoke and pad to ensure a connection
2025-01-07 17:51:15 +00:00
Jeff Young 37a948fa69 Make sure we open all outlines before running distance test.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19521
2025-01-07 17:25:39 +00:00
Jeff Young b916dfa03a Cleanup construction vs TransferDataToWindow.
Also fixes capitalization of private member functions.
2025-01-07 17:09:17 +00:00
Seth Hillbrand 6c7c531a5f Add generic op amp sim demo 2025-01-07 08:51:08 -08:00
jean-pierre charras 7a29ed6815 Fix demo simulation/subsheets (add a .kicad_pro file, and fix ERC) 2025-01-07 17:44:13 +01:00
jean-pierre charras 337217ccb2 Demo update 2025-01-07 16:15:00 +01:00
Jeff Young c2818dcb29 Disable pad-hole-not-fully-inside-copper for board-level testing.
Also fixes the error string for it.
2025-01-07 14:50:16 +00:00
Jeff Young a41a9ea51f Simplify testing of multiple pads with same number.
We now test each hole against the combined copper of all pads
with the same number minus the other holes.

Also fixes a bug with "handled" flag not getting reset between
layers of padstacks.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19521
2025-01-07 14:50:16 +00:00
Alex Shvartzkop db601c58cc Don't lose reference designators when importing EasyEDA Pro/Std, LTspice, CADSTAR schematics.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19490

(cherry picked from commit 644c4f8c0a)
2025-01-07 19:15:51 +05:00
John Beard 4765d17d0c Show UUIDs in msg panel with an advanced config
This is useful when confirming matches for items in the
debugger or from a file without having to carefully check
individual parameters.
2025-01-07 20:01:44 +08:00
Jeff Young e94449df81 Modernize board setup formatting panel. 2025-01-07 11:54:48 +00:00
Jeff Young a4754eef5d Modernize drill map dialog. 2025-01-07 11:11:37 +00:00
Alex Shvartzkop 8a059c05cb Slightly reduce row height in LIB_TREE on GTK. 2025-01-07 13:53:28 +03:00
Alex Shvartzkop d989a3ec69 Focus on OK button in update check prompt. 2025-01-07 14:17:33 +05:00
John Beard d072b37dd9 Pcbnew: only get shape lengths for shapes that support it
Avoids asserts when selecting graphical rectangles, circles and
polygons.
2025-01-07 15:45:13 +08:00
Mark Roszko 4ecbbd48da Test out tweaked set of build params for windows CI 2025-01-07 03:44:37 +00:00
Marek Roszko ffdfa09024 Stop setting the default step export path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19512
2025-01-06 22:41:06 -05:00
JamesJCode 7e1d10a019 Remove ill-formed ki_any test 2025-01-07 00:37:06 +00:00
Jon Evans 08f866fae1 Hide console on Windows when launching actions 2025-01-06 18:13:05 -05:00
JamesJCode 77448f032b Improve placement rule areas UI 2025-01-06 22:24:38 +00:00
Jeff Young 17157b82b0 Blacklist for project file copying.
Also fix it to use the output path, if specified.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19479
2025-01-06 21:28:55 +00:00
Jeff Young d4865899c5 Handle wildcards AND case-insensitivity in pin_type comparisons.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19513
2025-01-06 20:04:28 +00:00
Jeff Young 2f5cbfe57d Formatting. 2025-01-06 19:50:38 +00:00
Jeff Young 2118850bca Add handler for grid cell change.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19509
2025-01-06 19:11:17 +00:00
Wayne Stambaugh 3755b77b92 Dialog string capitalization and layout fixes. 2025-01-06 14:01:00 -05:00
John Beard 29f3637d4d FP editor: add datasheet toolbar icon
As this action is available in the FP editor, make it
discoverable in the same was as in the symbol editor.
2025-01-07 02:42:34 +08:00
Ian McInerney 1dfb7ecbd2 Unify terminology for items to be anchor instead of origin
The "anchor" is the point on items that are their local (0,0), and
origin is on the coordinate system.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19290
2025-01-06 16:59:57 +00:00
Jeff Young 56aacbd661 Go back to row selection mode for jobs list.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19502
2025-01-06 15:36:57 +00:00
Alex Shvartzkop 7afa6a086e Show "Selected 2D Length" for tracks and shapes in message panel.
Useful to verify length-matching.

Also show Length for arc shapes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19339
2025-01-06 18:45:28 +05:00
Jon Evans baef502f94 Archive schemas from build in CI 2025-01-06 08:19:02 -05:00
Ian McInerney 8a706f204d Make GAL_DISPLAY_OPTIONS have virtual destructor
This is needed to allow proper deletion of derivative objects using this
as a base class.
2025-01-06 12:08:34 +00:00
Jeff Young 8481eb8cf5 Export comma-delimited values instead of "-- mixed values --".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17912
2025-01-06 11:56:51 +00:00
Jeff Young c2a3bfa477 Formatting. 2025-01-06 11:56:51 +00:00
Ian McInerney ac7ebdd94d Add std::optional<int> support to property validators
The properties using units seem to return std::optional<int> values,
so the validators need to properly handle these to unwrap them.
2025-01-06 11:46:01 +00:00
Ian McInerney 660f5bad21 Attach zone min width validator to correct property 2025-01-06 11:46:01 +00:00
jean-pierre charras 8097b69b1f Kicad manager, jobset: Ensure save changes when closing kicad are made.
After made changes on a jobset, when closing Kicad, the dialog asking for
save changes was not honored when the save changes was accepted after a
yes answer.
Fix also a minor compil warning.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19450
2025-01-06 12:41:46 +01:00
Mark Roszko b92bef8eee Remove quotes in cache key on windows 2025-01-06 04:43:54 +00:00
Ian McInerney fe1c1862d1 Move project archiver to be fully a directory traverser 2025-01-06 02:06:06 +00:00
Jon Evans 4bf852e6b9 Be slightly more restrictive in actions schema 2025-01-05 20:53:00 -05:00
Jon Evans d64226f144 Add some more descriptions to plugin schema 2025-01-05 20:47:40 -05:00
Marek Roszko 5029c2e0e8 Add lost cvpcb addition 2025-01-05 20:43:31 -05:00
Marek Roszko ec261b8472 Add cvpcb path/artifact to qa on linux 2025-01-05 20:34:28 -05:00
Marek Roszko fb81883582 Move windows ci to ltsc2022 2025-01-05 18:23:59 -05:00
Jan Wichmann 473b43994c Fixed severity ERC local and global labels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18814
2025-01-05 22:10:47 +00:00
Jon Evans 3f7e459d62 API: add a schema for plugin config files
Also flip the dependence between json_schema_validator and kicommon,
and create a shared JSON_SCHEMA_VALIDATOR so that we don't have to
copy/paste the schema loading code as much
2025-01-05 17:08:33 -05: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
Wayne Stambaugh 2cac5d29a1 Setup and settings panels layout improvements. 2025-01-05 16:42:53 -05:00
Jeff Young 1cdb54f45e Allow editing of Private flag through Symbol Properties. 2025-01-05 21:23:25 +00:00
Jeff Young 5c80f6c7d8 Honour private flag in Symbol Fields Table. 2025-01-05 20:48:49 +00:00
Jeff Young c7af744bc2 Formatting. 2025-01-05 20:48:49 +00:00
Jeff Young 189e0688be Don't allow a "private" marking on a mandatory field. 2025-01-05 20:48:49 +00:00
Jeff Young 089bf75492 Exclude private fields from Update/Change Symbols dialog.
We currently always update them to keep them from getting out
of sync.  I have no idea if that's the right answer or not.
2025-01-05 20:48:49 +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
Jeff Young 612b0a09dc Hide private fields from Symbol Properties dialog in schematic editor. 2025-01-05 20:48:48 +00:00
Jeff Young 35b2f36759 Cleanup. 2025-01-05 20:48:48 +00:00
Seth Hillbrand be492af55f Update metadata for v9 2025-01-05 11:33:16 -08:00
Alex Shvartzkop da01fa188f Update translations 2025-01-05 22:18:16 +03:00
Toni Laiho c8fa8c31cb Translated using Weblate (Finnish)
Currently translated at 99.1% (9912 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-05 20:11:07 +01:00
dsa-t 612ec4aff9 Translated using Weblate (Russian)
Currently translated at 99.9% (9990 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-05 20:11:07 +01:00
Toni Laiho 71cf4e6036 Translated using Weblate (Finnish)
Currently translated at 98.8% (9885 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/fi/
2025-01-05 20:11:07 +01:00
Pferd O 0c6e076043 Translated using Weblate (German)
Currently translated at 99.2% (9927 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 20:11:07 +01:00
Jan Straka fe9aaecc1d Translated using Weblate (Czech)
Currently translated at 76.7% (7670 of 9997 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/cs/
2025-01-05 20:11:07 +01:00
Alex Shvartzkop d625ce2e63 Specctra SES: support unquoted path with spaces in <session_id> 2025-01-05 23:40:31 +05:00
Marek Roszko 39ab530db3 Fix single pdf plot
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19501
2025-01-05 13:21:19 -05:00
Marek Roszko 82c7736087 Don't save mru for step export https://gitlab.com/kicad/code/kicad/-/issues/19499 2025-01-05 13:14:56 -05:00
jean-pierre charras 45c7dfa857 Pcbnew, zone manager dialog: fix Update Displayed Zones button not working
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19494
2025-01-05 17:36:16 +01:00
jean-pierre charras d0033f91ce French translation update. 2025-01-05 17:36:16 +01:00
Marek Roszko 9e2122d1f2 qa_api bypasses the normal pgm setup, test for gui using wxtheapp 2025-01-05 11:21:27 -05:00
Maciej Małecki b03eff1ec7 cli: add --drill-shape-opt to pcb export dxf
ADDED: add support for specifying drill shape ("drill marks" in the UI)
on the CLI when exporting DXF files of PCBs.

This standarizes on "actual size" for the drill marks, as do PDF and SVG
exporters, while the current, undefined and undocumented default,
appears to be "small marks".

Oddly enough, this option appears to only have effect in `--mode-new`.
I would appreciate guidance on what to do about this fact.
2025-01-05 16:01:35 +00:00
Marek Roszko d03a59de4c Use newer ngspice port to fix arm64 build 2025-01-05 09:53:40 -05:00
Jon Evans 84e90525ed Code style 2025-01-05 08:54:57 -05:00
L0laapk3 2764e23d3e Add specctra import qarc support 2025-01-05 13:46:16 +00:00
Alex Shvartzkop ac0ce1db36 Update translations 2025-01-05 12:46:40 +03:00
தமிழ்நேரம் 8e6722277d Translated using Weblate (Tamil)
Currently translated at 3.4% (342 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ta/
2025-01-05 10:38:23 +01:00
Gergo Kamaras 6911171d37 Translated using Weblate (Hungarian)
Currently translated at 3.4% (348 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/hu/
2025-01-05 10:38:23 +01:00
Wellington Terumi Uemura 90373fc91d Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9955 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2025-01-05 10:38:23 +01:00
CloverGit 28c0fdbf20 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.2% (9885 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-05 10:38:23 +01:00
김랑기 d5f89640a4 Translated using Weblate (Korean)
Currently translated at 96.2% (9579 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ko/
2025-01-05 10:38:23 +01:00
Pferd O e10fd589e3 Translated using Weblate (German)
Currently translated at 100.0% (9955 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 10:38:23 +01:00
ZbeeGin 0cd44564f5 Translated using Weblate (Polish)
Currently translated at 100.0% (9955 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-05 10:38:23 +01:00
2tama3 c101c358a2 Translated using Weblate (Japanese)
Currently translated at 98.8% (9840 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2025-01-05 10:38:22 +01:00
Pferd O 07c213498e Translated using Weblate (German)
Currently translated at 99.9% (9946 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 10:38:22 +01:00
Ettore Atalan 72551d3564 Translated using Weblate (German)
Currently translated at 99.9% (9946 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 10:38:22 +01:00
Henrik Kauhanen e848b4f4eb Translated using Weblate (Swedish)
Currently translated at 99.3% (9890 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-01-05 10:38:22 +01:00
Pferd O 84e9458f15 Translated using Weblate (German)
Currently translated at 99.5% (9915 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 10:38:22 +01:00
Henrik Kauhanen 085c21ccc9 Translated using Weblate (Swedish)
Currently translated at 98.9% (9847 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2025-01-05 10:38:22 +01:00
Pferd O 8a974022a6 Translated using Weblate (German)
Currently translated at 99.3% (9895 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 10:38:22 +01:00
109247019824 d87ba203e0 Translated using Weblate (Bulgarian)
Currently translated at 7.1% (711 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2025-01-05 10:38:22 +01:00
HalfSweet 39f14dc83c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.9% (9852 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2025-01-05 10:38:22 +01:00
dsa-t fd0ad5549d Translated using Weblate (Russian)
Currently translated at 100.0% (9955 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2025-01-05 10:38:22 +01:00
ZbeeGin 770b26067d Translated using Weblate (Polish)
Currently translated at 99.7% (9934 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2025-01-05 10:38:22 +01:00
Pferd O 360f830451 Translated using Weblate (German)
Currently translated at 99.3% (9889 of 9955 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2025-01-05 10:38:22 +01:00
Alex Shvartzkop 9a3d7594d9 Add pivot/pan/rotation/lights controls to PCB render dialog. 2025-01-05 11:42:58 +05:00
Ian McInerney 3add0afdff Restore current index counter in plot dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19454
2025-01-05 04:38:05 +00:00
Marek Roszko ae0dc97929 Add qa for cli sch erc 2025-01-04 22:32:53 -05:00
Marek Roszko 02b3d03c23 Fix ctest for windows with env shim that is disabled for non windows, for now.
Also stuff a dummy fontconfig file to silence the dumb error on stdout, which interferes with testing
2025-01-04 22:08:58 -05:00
Marek Roszko cb948302e2 Guard the cwd change for gui only 2025-01-04 19:25:05 -05:00
Marek Roszko 4dfedf4fb4 Set the cwd to the active project path 2025-01-04 19:22:29 -05:00
Marek Roszko adf7c7a456 Show the pcb/sch windows because macOS can't handle keeping them invisible
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19462
2025-01-04 18:18:01 -05:00
Jeff Young 32b7fe7ae9 Pencil -> gear. 2025-01-04 22:56:43 +00:00
Jon Evans 2e6080298e Include footprint fields in undefined layers rescue
See https://gitlab.com/kicad/code/kicad/-/issues/19489
2025-01-04 17:28:51 -05:00
Ian McInerney 43a7868994 Fix reading old plot layer settings into new layer IDs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19475
2025-01-04 21:38:37 +00:00
Ian McInerney 42a7aa452e Give virtual destructor to the base SEARCH_HANDLER class 2025-01-04 21:37:26 +00:00
Jon Evans 7db75e4f50 API: expand board stackup serialization 2025-01-04 15:15:51 -05:00
Marek Roszko ee7323dc42 Update vcpkg for ngspice 44 2025-01-04 14:45:17 -05:00
Tomasz Wlostowski 8275292032 router: minor cleanup and commenting 2025-01-04 20:06:54 +01:00
Tomasz Wlostowski be48ea216b router: hopefully a fix for the disappearing head segments issue
fixes: https://gitlab.com/kicad/code/kicad/-/issues/19047

(note: it would trigger only in shove mode when the head overlaps exactly an existing trace - removeHeads() would consider the segments already present in the PCB
as belonging to the current head, erasing them for good from subsequent shove iterations)
2025-01-04 20:06:53 +01:00
Tomasz Wlostowski 95df6d8ef2 router: multiple fixes in shove algorithm:
- allow small modifications for LINE's ends as a fallback scenario in case of shove failure
- make sure unwindLineStack() won't remove tadpole vias with pending collisions on layer other than the current head line

fixes: https://gitlab.com/kicad/code/kicad/-/issues/19082
fixes: https://gitlab.com/kicad/code/kicad/-/issues/19045

(note to self: it often happens on boards imported from foreign tools of when the clearance has been subtly changed, the router would fail
if the start/end of a LINE is inside a hull of another LINE).
2025-01-04 20:03:24 +01:00
Tomasz Wlostowski b75245749f router: fix regression in handling NPTH holes
(note to self - was causing intermittent/occasional ignoring of NPTHs depending on the layer of the head track)
2025-01-04 19:57:33 +01:00
Tomasz Wlostowski 3ab59dfa67 router: fix regression in optimization of head lines 2025-01-04 19:57:12 +01:00
Tomasz Wlostowski 58f5e61186 router: pass current routing mode to rhWalkBase() so that it knows what kinds of board primitives to walk around 2025-01-04 19:57:12 +01:00
Jon Evans 722ffa1c66 Update magic_enum to v0.9.7 2025-01-04 13:40:11 -05:00
Jon Evans 5ef9537364 Update {fmt} to 11.1.1 2025-01-04 13:40:11 -05:00
Wayne Stambaugh 34fcda224c Minor dialog layout improvements. 2025-01-04 12:34:32 -05:00
JamesJCode ad07923af1 Supress some false asserts in debug builds 2025-01-04 17:22:26 +00:00
Marek Roszko 9a08519a38 Load color theme correctly for job pdf export
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19455
2025-01-04 12:02:49 -05:00
Andrea Greco ee255fb389 ADDED: Default font option to cli schematic plot exports 2025-01-04 16:51:09 +00:00
Ethan Chien fd34750c4b Zone Manager: Add freeze/thaw around zone selection change to improve UI responsiveness 2025-01-05 00:48:44 +08:00
jean-pierre charras 7f114d737e Fix missing switch to "C" locale before plotting board files. 2025-01-04 17:28:49 +01:00
Jeff Young fcf546516a Copyfiles job needs a cwd (at least on OSX).
Also, don't infinitely recurse when given "*".
2025-01-04 15:41:05 +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
Jon Evans 1fa432b029 API: add GetKiCadBinaryPath 2025-01-04 10:14:17 -05:00
Marek Roszko 154634b1f6 Remove dynamic portions of execute/copyfiles description 2025-01-04 10:06:26 -05:00
Jon Evans a557c23576 API: Add board file management
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16774
2025-01-04 09:47:36 -05:00
Wayne Stambaugh 89db935910 Housekeeping in include path sub-folders. 2025-01-04 09:21:11 -05:00
Alex Shvartzkop feb56ff6b5 Center cell text vertically in jobs panel grid. 2025-01-04 16:55:17 +03:00
Jon Evans 3bebf24015 Add another SWIG wrapper for BOX2I
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19485
2025-01-04 08:42:01 -05:00
Jeff Young 59b99c4b27 Adjust borders (again). 2025-01-04 13:41:31 +00:00
Jeff Young 043fb29589 Don't open a non-existant jobset. 2025-01-04 13:39:36 +00:00
Jeff Young 32a575d3ad Fix vertical alignment of jobset output buttons on GTK. 2025-01-04 13:35:19 +00:00
Jeff Young befacdd113 Fix Generate button alignment and gap between outputs.
Also applies Mark's MSW hack for borders to Simulation Tuners.
2025-01-04 13:29:50 +00:00
Jeff Young 5564f4d316 Fix Generate button alignment and gap between outputs. 2025-01-04 13:29:50 +00:00
Ethan Chien 7c86768f16 Zone Manager: Refactor zone selection logic to streamline activation process 2025-01-04 21:12:42 +08:00
Marek Roszko 1efc4544c9 Show output path in special execute after reopening
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19468
2025-01-04 08:10:20 -05:00
Marek Roszko afd2406adc Fix erc/drc output paths in cli
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19474
2025-01-04 08:10:20 -05:00
Marek Roszko 2ee3ee341a Fix sch plot output path handling
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19483
2025-01-04 08:10:20 -05:00
Jeff Young d31103846f Naming conventions and split some dlgs out of panel_jobs_base.fbp. 2025-01-04 13:07:04 +00:00
Jeff Young 115800b158 Make <return> work in a couple of jobset dialogs. 2025-01-04 13:07:04 +00:00
Ethan Chien ddb91eb387 Zone Manager: Update layer handling to use UIOrder instead of Seq
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19482
2025-01-04 20:53:51 +08:00
Jon Evans 4177cfb93a Remove leftover AC key 2025-01-04 07:28:10 -05:00
Jarrett Rainier d01c939e49 Moved scrollwheel anchor pads to centre-band 2025-01-04 09:44:43 +00:00
Alex Shvartzkop 9cac8725fa Fix build error. 2025-01-04 11:30:33 +05:00
Alex Shvartzkop 1be6ecd972 Fix --background option in kicad-cli pcb render. 2025-01-04 11:21:45 +05:00
Seth Hillbrand 074e6df3bc Revert "Move thread pool to singleton class"
This reverts commit 361f61a023.
2025-01-03 21:22:44 -08:00
Seth Hillbrand d4d0189157 Revert "Add Advanced Config parameter for thread count"
This reverts commit 2e0f688b97.
2025-01-03 21:22:43 -08:00
Seth Hillbrand f38e661a02 Revert "Move GL Context into Singleton class"
This reverts commit 5326c36a5f.
2025-01-03 21:22:37 -08:00
Jon Evans 1d1b4bf60f Use fill, not stroke, for holewall painting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19473
2025-01-03 20:35:30 -05:00
Seth Hillbrand 5326c36a5f Move GL Context into Singleton class
The GL context lock needs to be shared across kifaces.  Otherwise, we
can end up blocking the lock from one kiface.  Unfortunately, I can't
find the issue in GitLab right now for where the footprint viewer shows
a blank screen after opening too many contexts.  But that's what this
fixes.
2025-01-03 17:26:23 -08:00
Marek Roszko 02d1c12a4b #if platform the border style on panel_job_output 2025-01-03 19:52:55 -05:00
JamesJCode 4b9bdc58c5 Reserve "Tune Skew" before string freeze 2025-01-03 22:42:45 +00:00
Jon Evans 1a1120435f Rework how Python processes are launched
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19465
2025-01-03 17:21:03 -05:00
Seth Hillbrand 2e0f688b97 Add Advanced Config parameter for thread count
Allows us to limit the threading state manually without recompiling
2025-01-03 14:00:07 -08:00
Seth Hillbrand 361f61a023 Move thread pool to singleton class
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started.  Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.

The singleton class can be extended to provide single instance
guarantee for any element across kifaces
2025-01-03 13:51:11 -08:00
Jeff Young beda29856d Hide DesignBlock Migrate Libraries button (for now).
There aren't (yet) any legacy libraries to migrate.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19360
2025-01-03 21:28:19 +00:00
Jeff Young 0c54106bfd Tone down output borders a bit. 2025-01-03 18:49:07 +00:00
Jeff Young 21ee64d8f0 (Slightly) better de-bouncing of grid cell editing. 2025-01-03 18:33:39 +00:00
Jeff Young e73bec504e Separate Edit/Delete buttons for jobset outputs. 2025-01-03 18:33:39 +00:00
JamesJCode 0c76b723b4 Add ERC QA for wire bus entry unconnected / off grid 2025-01-03 18:13:30 +00:00
Graham Keeth 6c335b9804 Update Solder Mask/Paste design rule tooltips 2025-01-03 16:28:16 +00:00
Ian McInerney e845db1977 Implement dnagling wire to bus entry ERC
Also, rename the dangling flag/getter to match the flag in SCH_LINE for
consistency.
2025-01-03 14:58:57 +00:00
Ian McInerney d847e2bd92 Add ERC check for off-grid bus entry 2025-01-03 14:32:43 +00:00
Jeff Young 1a456ebcce Default pin electrical types to off for preview. 2025-01-03 13:48:49 +00:00
Jeff Young 40ade0b9f1 Long live jobsets! 2025-01-03 13:36:48 +00:00
Jeff Young 25d794b405 Read old job output specs with no ids. 2025-01-03 13:32:07 +00:00
Jeff Young 8a68bf88d6 Make open jobset paths relative. 2025-01-03 13:15:23 +00:00
Jon Evans 89a50a3dcf Fix some issues calling Python on Windows systems 2025-01-02 22:45:24 -05:00
JamesJCode e13b31fd42 Don't smash the preferences while loading previous job sets 2025-01-03 00:30:45 +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
Ian McInerney ce5f3f642e Use existing string for ohm-meter units 2025-01-02 23:51:38 +00:00
Jeff Young 757a16b4bf Remember open jobsets. 2025-01-02 23:44:09 +00:00
Andrea Greco 49b949cec7 Transmission Line: Add measure unit to Rho constant
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19312
2025-01-02 22:44:15 +00:00
Jon Evans 40929d2482 Undo accidental commenting out of some Python search code 2025-01-02 17:31:42 -05:00
JamesJCode 20def236bf Don't strip last directory name when plotting 2025-01-02 22:12:24 +00:00
JamesJCode 7654c7f6e1 Use correct layer name and page number in single page PDF plots
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19453
2025-01-02 22:03:52 +00:00
JamesJCode bf17300949 Ensure newly added Sim.* fields are not visible
Existing fields will retain their current visibility settings

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19466
2025-01-02 21:13:48 +00:00
JamesJCode 3a85a77289 Simplify if condition for SCH_SHAPE background layers 2025-01-02 20:37:15 +00:00
Jon Evans bdb2c3a025 DbLib: Use case-insensitive lookup for column caching 2025-01-02 12:59:15 -05:00
Jeff Young 48bb6b137c Limit length of search strings to prevent lockups.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19464
2025-01-02 17:04:22 +00:00
John Beard 520a7cf62c GAL: ViewGetLOD should not be able to change the VIEW
Make the VIEW* parameter const. Since PCB_TEXT does a null-check,
it's not very clear if this can ever be null (and if it is,
why don't the other VIEW_ITEMs check?), so don't make them
all references too at this time.

Also dereference a few pointers a bit earlier to make non-null
promises sooner rather than later.
2025-01-02 22:59:31 +08:00
John Beard 527faddbfd GAL: provide constants for LoD HIDE/SHOW and a scale helper
Saves a mishmash of local HIDE/SHOW defs along with various literals.

Also provide a function that computes the scale at which a given
IU size becomes (notionally) a certain size on screen. While this
is a simple division, it's a bit opaque in terms of meaning.

Also it means the divide by zero case can be more universally
defended-against, which has traditionally been a bug opportunity.
2025-01-02 22:59:31 +08:00
Ian McInerney 5705e928e1 Move dialog launch function into tool class
This makes it easier to find.
2025-01-02 14:51:30 +00:00
Ian McInerney a2e115833c Cleanup UI for global edit tracks and pad dialog
* Don't hide the annular rings control - makes confusing UI
* Always show annular rings control - all boards must have >2 layers
  anyway
* Move into single column of choice boxes to be cleaner and take less
  monitor space

https://gitlab.com/kicad/code/kicad/-/issues/19457
2025-01-02 14:51:30 +00:00
Jeff Young ba522e782d Remove AUTOPLACE_AUTOADDED.
Make autoplace in the symbol preview based on the global eeschema
flag instead.  (If they have it off, then they had better specify
field positions in the database library.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19247
2025-01-02 14:33:30 +00:00
Jeff Young 9ed3c8eb82 Naming consistency for jobs. 2025-01-02 13:20:31 +00:00
Marek Roszko 6aa25093da Add missing files from last commit 2025-01-02 06:48:28 -05:00
Jeff Young 76d4ef3971 Implement AutoplaceFields() for LIB_SYMBOL.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19247
2025-01-02 11:03:45 +00:00
Marek Roszko 1a0427a375 Add initial but not yet working correctly copy files job 2025-01-01 23:57:46 -05:00
Marek Roszko aed82196f7 Set a default special execute output name if enabled 2025-01-01 23:57:46 -05:00
Seth Hillbrand 9a10d2ff54 Silence SWIG warnings
Expressly state which operator will work in Python (which doesn't really
know integers anyway)
2025-01-01 19:47:13 -08:00
Jon Evans 3364bd0a8b Plotter: Don't restrict via width query to copper layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19458
2025-01-01 18:11:27 -05: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
Seth Hillbrand d8733b2d4f Happy New Year
For this year's resolution, we will streamline our copyright statements.
These are applied to files in the repository and are not needed
separately as part of the compiled about box
2025-01-01 14:12:04 -08:00
John Beard ea12689e29 Pcbnew: also show clearance outlines in FP editor
Not having these shown makes it easy to accidentally
enable them without noticing.
2025-01-02 05:46:48 +08:00
Jon Evans 06e0e16336 API: Fix GetPadShapeAsPolygon to not re-use a SHAPE_POLY_SET
TransformShapeToPolygon appends instead of assigning
2025-01-01 16:34:30 -05:00
Jon Evans b971ab22e2 Add new SWIG declaration for vector of PCB_FIELD* 2025-01-01 15:37:39 -05:00
Jeff Young 571648937f Probably don't need the no. column wide enough for 999 jobs. 2025-01-01 20:34:30 +00:00
Marek Roszko 5864d705c3 Partially fix running special execute
It was a early implementation that got forgotten about hah
2025-01-01 15:10:35 -05:00
Jeff Young a3c29a1343 Allow resizing of Output Properties dialog.
Also fixes a bug where the GenDrill dialog returned a fixed
result.
2025-01-01 20:10:07 +00:00
Marek Roszko 7881fa68e9 Change output and special execute dialog to OK.
Fix special execute not adding to list
2025-01-01 14:52:53 -05:00
JamesJCode 96082a63a8 Add a new GAL layer for shape backgrounds
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12393
2025-01-01 19:46:33 +00:00
Marek Roszko 65a2d95282 Gate against 0 width and height to the render job
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19443
2025-01-01 14:42:03 -05:00
Jeff Young c5ae32c51c Auto-edit job properties and then description after creation. 2025-01-01 19:17:11 +00:00
Jeff Young 530a66a489 More job-specific option dialog titles. 2025-01-01 19:17:07 +00:00
Marek Roszko 2bc3d39934 Add a default output name for the render job if none is provided
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19448
2025-01-01 14:12:26 -05:00
Marek Roszko 72acbe1de4 Add missing options dialog title
https://gitlab.com/kicad/code/kicad/-/issues/19452
2025-01-01 14:04:33 -05:00
Marek Roszko ea4aa6e277 ADd plot-invisible-text arg for cli plots
Part of https://gitlab.com/kicad/code/kicad/-/issues/13957
2025-01-01 13:53:47 -05:00
Marek Roszko fb32eeb0ea Fix job output path for sch plots and netlist 2025-01-01 12:21:26 -05:00
John Beard e9f8b2ba77 Pcbnew: apply same IPC rule in properties panel as in dialog
This means when you switch a pad to be roundable (round rect or
chamfered-with-round), you get the same behaviour as in the dialog
(and an IPC-compliant pad by default).

Also fixes the radius visibility in the properties panel for
chamfered pads (which can have radii).
2025-01-02 00:42:31 +08:00
John Beard 1f551ea0e4 Pcbnew: allow to set pad rounding size from properties panel
This can be useful when you have a defined rounding maximum
(e.g. for an IPC 0.25/0.25 rule) and makes the panel more
consistent with the properties dialog.
2025-01-02 00:42:31 +08:00
John Beard 84c7a1e82d Fix Python search on Linux 2025-01-02 00:42:31 +08:00
Jeff Young d7eed69831 Job-specific option dialog titles. 2025-01-01 16:33:57 +00:00
Jeff Young 742dd0fc3a Fix selection after delete. 2025-01-01 16:33:57 +00:00
Jeff Young 97fb553c5f Moves output panel to flex-grid layout in an attempt to
fix platform differences in layout.
2025-01-01 16:33:57 +00:00
Jeff Young f4ec6d2eaa Fix layout issues when plot dialog opened from job.
Also removes Open Directory button as in a job the filepath
will be relative to whichever Output it is placed in.

Also removes the Run DRC button when called from a job.
2025-01-01 16:33:57 +00:00
Jon Evans 34dad3aa79 Implement searching for Python on Windows 2025-01-01 11:32:41 -05:00
JamesJCode 3e1fd974dc Reorganise jobset menu entries
They were mixed in with the project open / close / new menu items
2025-01-01 16:10:12 +00:00
Jon Evans feca4176c0 Prefer some built-in paths for Python interpreter 2025-01-01 11:08:27 -05:00
Jon Evans 9086c5694b Fix layout issue in plugin settings page 2025-01-01 10:54:59 -05:00
jean-pierre charras 11f94283ef STEP exporter: export solder mask on tracks having a solder mask option.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18881
2025-01-01 15:14:23 +01:00
jean-pierre charras bbea339279 PANEL_SETUP_MASK_AND_PASTE_BASE: fix swapped widgets
Global textboxes solder paste clearance were swapped versus labels

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19442
2025-01-01 10:18:48 +01:00
Alex Shvartzkop 4d42d6b4fe Remove some hacks from template selector to fix sizing on Windows.
Related: https://gitlab.com/kicad/code/kicad/-/issues/19436
2025-01-01 12:28:24 +05:00
Marek Roszko 6c43c25b4c Move two things to kicommon 2025-01-01 00:14:34 -05:00
Marek Roszko ae1dd1ed20 Fix dxf/svg job status 2024-12-31 23:14:58 -05:00
Marek Roszko 8f750baa79 Deprecate and support using the more normal "plot" logic for dxf and svg. 2024-12-31 23:10:24 -05:00
Marek Roszko cad0e3fc27 Lets move the chunk of plot logic from dialog_plot and share it with the jobs handler
More factoring in V10. This is just because it's getting annoying really lol
2024-12-31 21:15:05 -05:00
Jon Evans d8b8d8aa3c API: Add GetNetClassForNets; handle implicit netclasses 2024-12-31 17:51:19 -05:00
Wayne Stambaugh 151b1141f7 Increase minimum HTML panel height of the template selection dialog.
wxFormbuilder is not DPI aware so the previous height was a bit short on
high DPI displays.  The new height is a compromise which will be a bit tall
on standard DPI displays and a bit short on high DPI displays.
2024-12-31 17:27:26 -05:00
Jeff Young fe06e13091 Don't distort shapes when aligning to grid.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18739
2024-12-31 22:23:00 +00:00
Wayne Stambaugh bf414fede8 Fix template selector dialog on Windows. 2024-12-31 16:34:25 -05:00
Marek Roszko 9fb8de959c Fix windows builds broken by 8aa0b3e16c 2024-12-31 15:41:05 -05:00
Wayne Stambaugh 9ba1e92773 Fix template selector GTK scroll bar issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19436
2024-12-31 14:37:44 -05:00
Sven Pauli d070f5ee95 Whoops, mutable. 2024-12-31 19:29:20 +00:00
Sven Pauli 5815998b5b Rolled the caching 2024-12-31 19:29:20 +00:00
Sven Pauli 074edfa056 Invalidate courtyard caches when rotating 2024-12-31 19:29:20 +00:00
Alex Shvartzkop 8a3091c80d Vertically align mask expansion labels in shape properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19438
2024-12-31 21:53:56 +03:00
Jeff Young ac28b246f1 A possible improvement to double-click in grids. 2024-12-31 17:48:43 +00:00
jean-pierre charras 3efa700dc6 DIALOG_TEMPLATE_SELECTOR: add title cleared by a side effect of commit e54cf6c8 2024-12-31 18:19:42 +01:00
John Beard 85552c7a4f SVG import: import beziers as beziers
This maintains a little bit more editability and avoid importing
thousands of tiny line segments when not required.
2025-01-01 01:14:41 +08:00
John Beard 3bd3b8073e SVG import: avoid duplicating points in line chains
Every new section duplicated the start/end points.

This saves half the points when importing. They're skipped later
before they end up as real items, but it's confusing to trace
through (and theoretically inefficent, but it'll be tiny).
2025-01-01 01:14:41 +08:00
John Beard 10485848b8 SVG import: import unclosed, filled shapes as a separate fill and stroke object
This means that validly unclosed paths can be imported correctly.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18477
2025-01-01 01:14:41 +08:00
Jeff Young 8aa0b3e16c Convert output dialog to checkbox list.
Also cleans up the RC options dialog.
2024-12-31 17:13:29 +00:00
Seth Hillbrand 359529d616 Move NL implementation pointers to unique_ptr 2024-12-31 08:57:34 -08:00
Marek Roszko 768a9c89aa Dont forget the gen mode param 2024-12-31 11:37:17 -05:00
Marek Roszko 8988dd11ab Fix json enum declaration 2024-12-31 11:16:48 -05:00
Marek Roszko d6bf87bcaa Add flag to pdf jobs created by gui needed for processing correctly. Fix enum naming 2024-12-31 11:00:19 -05:00
Marek Roszko 33183ad795 Expand pdf plot job to normal pdf plot behavior
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19352
2024-12-31 10:55:09 -05:00
Alex Shvartzkop 8a7cca209e Add --experimental_allow_proto3_optional to support older protoc. 2024-12-31 18:51:03 +03:00
JamesJCode 819a068a60 Only resolve symbol embedded fonts on parsing if parsing successful
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19435
2024-12-31 14:19:02 +00:00
Jeff Young 0a7ed8c9a2 Fix some dialog sizing bugs. 2024-12-31 13:34:06 +00:00
Jeff Young 9dbb9b243c Cleanup. 2024-12-31 13:10:35 +00:00
Marek Roszko 06542d5576 Add deprecation notice on "gerber" cli job 2024-12-31 07:43:48 -05:00
John Beard d73e66c417 Pcbnew: Filter free pads properly in both position-relative tools
This resolves several issues:

* Interative position of a single pad did nothing, now it moves the
  parent footprint (in non-free-pad mode)
* Non-interactive would move the footprint n times if you selected
  n pads, now it just move once.
* Neither tool would prompt for lock overrides

Use the proper free pad collector filter to make this work and keep
behaviour consistent with other tools.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19430
2024-12-31 18:28:50 +08:00
JamesJCode a45b601e11 Correctly handle zone net updates in multichannel tool
Also fixes some item duplication issues

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19410
2024-12-31 09:59:44 +00: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 17a1706257 ADDED: "Single document" PDF plot option for PCB plots 2024-12-30 23:51:42 -05:00
Marek Roszko d033b7bebb Missing half of last open jobset commit 2024-12-30 23:50:51 -05:00
Jon Evans 2c56e9826a API: Add serialization for netclasses
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18609
2024-12-30 23:29:29 -05:00
Ian McInerney aa2be7dd5a Fix jobset UI for GTK
* Cleanup button borders and spacing
* Allow creating directories in the browser when choosing the jobset
  output location
2024-12-31 03:00:46 +00:00
Marek Roszko 012867faf8 Allow opening arbitrary jobset files 2024-12-30 21:28:04 -05:00
Marek Roszko f7b01d8eb9 Prevent jobset creation when no project is active
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19427
2024-12-30 21:22:13 -05:00
Mark Roszko 4d9bd6ef27 Revert "Cleanup output handler"
This reverts commit 906c2f3d49
2024-12-31 01:37:39 +00:00
Jon Evans 8be61565ca Fix copy/paste error 2024-12-30 20:34:36 -05:00
Jon Evans 2dec1dd598 Implement BOARD::RunOnDescendants
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19397
2024-12-30 20:33:51 -05:00
Jon Evans a4ac22f2d6 SHAPE_POLY_SET: Fix up non-closed outlines when added 2024-12-30 20:33:51 -05:00
Alex Shvartzkop dcf66a675a Fix copy/paste error in track_segment_length help string. 2024-12-31 06:31:49 +05:00
Ian McInerney c0622eaa45 Avoid copies when using auto 2024-12-31 00:18:10 +00:00
Ian McInerney 906c2f3d49 Cleanup output handler 2024-12-31 00:18:10 +00:00
Ian McInerney 3e47ac492e sim: Add missing horizontal action mapping 2024-12-31 00:18:10 +00:00
Ian McInerney 7f8b88221d Initialize variables 2024-12-31 00:18:10 +00:00
Ian McInerney 7677cf831d Cleanup FILTER_COMBOBOX API
The smart pointer was only used to pass the pointer into the function,
and the pointer was being kept in multiple places, so it just made the
API surface a bit convoluted.
2024-12-31 00:18:10 +00:00
Ian McInerney 150f0ee5f9 Cleanup if statement not needed after formatter changes
The differences between these branches were removed in
6686ade45b
2024-12-31 00:18:10 +00:00
Ian McInerney d5c5050d29 Fix initialization order of the events in pcbnew
The TOOL_EVENT constructor searches for ACTONS::cancelInteractive. That
action is global, so we need to ensure it is created before we try to
create these events - so switch to a create on first use paradigm for
the events.
2024-12-31 00:18:10 +00:00
Ian McInerney 2ddcc7a7ad Add error handling to posix function call 2024-12-31 00:18:10 +00:00
Ian McInerney 2aa079d58c Cleanup list index handling 2024-12-31 00:18:10 +00:00
Ian McInerney 808ad4f4a7 Call the proper constructor for UTF8 for conversion
GCC warns that this conversion isn't actually using the UTF8 constructor
when using the casting method, so just call the constructor.
2024-12-31 00:18:10 +00:00
Ian McInerney 033ba7228d Don't leave an empty statement body 2024-12-31 00:18:10 +00:00
Ian McInerney c5d39698f2 Rename local variable to prevent shadow warning
This is probably just a false-positive from GCC, since the outer
variable isn't actually in the capture list of the lambda.
2024-12-31 00:18:10 +00:00
Alex Shvartzkop 04bc819f12 Clarify "Record output" in jobs dialog. 2024-12-31 05:14:17 +05:00
Alex Shvartzkop 5731726644 Use standard "dummy" string in jobs panel. 2024-12-31 05:11:16 +05:00
Alex Shvartzkop eb83b2429a Improve jobs no messages string. 2024-12-31 05:04:21 +05:00
Alex Shvartzkop c4091fc7ad Fix tooltip for Fill all vias. 2024-12-31 05:01:30 +05:00
Seth Hillbrand fbbb642c0c Move all nlnav to unique_ptrs
7daded7c60 moved them to bare pointers but
this was not required to allow forward declarations.  We only need to
place the CTOR/DTOR fully in the cpp file where the nlnav headers are
included
2024-12-30 15:43:15 -08:00
Jarrett Rainier bbde2900e9 ADDED: Capacitive scrollwheel footprint wizard 2024-12-30 23:39:18 +00:00
Alex Shvartzkop fdb9aac988 Shorten footprint defaults string. 2024-12-31 04:20:45 +05:00
Alex Shvartzkop 9a8ac13750 Fix GAL backend switch error string. 2024-12-31 04:14:10 +05:00
Seth Hillbrand df03d86cdb Update translations 2024-12-30 13:30:37 -08:00
CloverGit d6202f3f68 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9861 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2024-12-30 22:16:45 +01:00
Ivan Chuba 03d3dcf972 Translated using Weblate (Ukrainian)
Currently translated at 77.3% (7664 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/uk/
2024-12-30 22:16:45 +01:00
CloverGit a06de89566 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (9861 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2024-12-30 22:16:45 +01:00
Henrik Kauhanen 9aad05d4d9 Translated using Weblate (Swedish)
Currently translated at 99.5% (9863 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/sv/
2024-12-30 22:16:45 +01:00
dsa-t a04306766a Translated using Weblate (Russian)
Currently translated at 99.6% (9873 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2024-12-30 22:16:45 +01:00
2tama3 06a5818d8c Translated using Weblate (Japanese)
Currently translated at 99.5% (9863 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2024-12-30 22:16:45 +01:00
dsa-t 5ecd27ad4d Translated using Weblate (Russian)
Currently translated at 99.6% (9873 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2024-12-30 22:16:44 +01:00
2tama3 89301288e9 Translated using Weblate (Japanese)
Currently translated at 99.4% (9849 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2024-12-30 22:16:44 +01:00
dsa-t c53bde5951 Translated using Weblate (Danish)
Currently translated at 43.6% (4328 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/da/
2024-12-30 22:16:44 +01:00
dsa-t 9b03aca123 Translated using Weblate (Russian)
Currently translated at 99.6% (9873 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2024-12-30 22:16:44 +01:00
dsa-t 16ea8c832d Translated using Weblate (Russian)
Currently translated at 99.6% (9873 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2024-12-30 22:16:44 +01:00
2tama3 c79e6a4c7d Translated using Weblate (Japanese)
Currently translated at 99.3% (9847 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2024-12-30 22:16:44 +01:00
Pferd O b9cd05417d Translated using Weblate (German)
Currently translated at 100.0% (9908 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2024-12-30 22:16:44 +01:00
dsa-t f6ddb9baa0 Translated using Weblate (Russian)
Currently translated at 99.6% (9872 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2024-12-30 22:16:44 +01:00
109247019824 867709e148 Translated using Weblate (Bulgarian)
Currently translated at 7.1% (704 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/bg/
2024-12-30 22:16:44 +01:00
Wellington Terumi Uemura b559128640 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (9908 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pt_BR/
2024-12-30 22:16:44 +01:00
dsa-t 329ec0fc4d Translated using Weblate (Russian)
Currently translated at 99.6% (9872 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2024-12-30 22:16:44 +01:00
ZbeeGin 0deec0998b Translated using Weblate (Polish)
Currently translated at 100.0% (9908 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2024-12-30 22:16:44 +01:00
Pferd O 908e1090bc Translated using Weblate (German)
Currently translated at 99.7% (9888 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2024-12-30 22:16:44 +01:00
Arnau Llovet Vidal 204fb72211 Translated using Weblate (Catalan)
Currently translated at 42.4% (4203 of 9908 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ca/
2024-12-30 22:16:44 +01:00
Jeff Young 40115a298b Support double-click for editing job settings. 2024-12-30 21:12:59 +00:00
Seth Hillbrand 8724a7da09 Treat straight arcs as segments
When an arc has a very small curvature, we should not waste time with
the arc collision mode and instead just use the segment collision as it
is effectively the same result

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19422
2024-12-30 12:57:21 -08:00
Seth Hillbrand 06e113c85d Quiet GCC warnings 2024-12-30 12:57:15 -08:00
Seth Hillbrand 8f360f1a69 Avoid lock-up during fp export
We do not need to re-validate the fp cache each fp we export, especially
when we just created the library.  This locks up pcbnew for larger
boards
2024-12-30 12:57:15 -08:00
Marek Roszko d6090367bd Remove the border on the outputs container
It looks awful on Windows
2024-12-30 14:00:55 -05:00
Ethan Chien b03c591a4b Sync Sheet Pins: Synchronizes all selected rows. 2024-12-31 02:58:35 +08:00
Jeff Young b36f67853c Moved jobs to a more direct-editing paradigm.
Uses WX_GRID for in-place editing of job descriptions and
GRID_CELL_TEXT_BUTTON for context-menu-free editing of job
properties.

Also moves buttons down as the Save button (now renamed Save Jobset) also saves the output definitions.
2024-12-30 18:23:47 +00:00
John Beard f7aded00c7 Pcbnew: draw clearance lines on their own GAL layers
This tidies up quite a performance hit on layer change
caused by repainting vias, pads and tracks for their
clearances.

Instead, on a layer change, just disable any old clearance
layer and enable the new one (if any).

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19404
2024-12-31 00:53:10 +08:00
John Beard 5520b524f6 Pcbnew: handle new layers in PADSTACK::EffectiveLayerFor 2024-12-31 00:53:10 +08:00
Jon Evans 25036cc5cd Set padstack earlier in via properties dialog
Need to override specific padstack properties
after setting the whole thing
2024-12-30 11:36:07 -05:00
Alex Shvartzkop bc6b620b8f gerbview: Sort layer maps after reordering view layers.
Otherwise we get previous freed pointers in m_orderedLayers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19394
Fixes KICAD-P65
2024-12-30 21:29:35 +05:00
Jon Evans 3bc190e515 Add deprecation notices to SWIG API 2024-12-30 11:25:04 -05:00
jean-pierre charras 2cd28009ef Define MAX_LAYERS_FOR_VIEW to init GAL::Mxx_DEPTH and VIEW_MAX_LAYERS
These values MIN_DEPTH, MAX_DEPTH and VIEW_MAX_LAYERS are coupled, so to
avoid mismatch, it is better to derive these values from an unique value
2024-12-30 16:59:32 +01:00
Alex Shvartzkop b2acddc483 Fix opening zip archives from project manager tree on Win11.
Also removes unused OpenFile function.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19399
2024-12-30 20:51:19 +05:00
Jon Evans ca68ac0076 kinng: use longer lifetime for incoming message string 2024-12-30 09:32:11 -05:00
Jon Evans 1a3e18104a API: Add access to project text variables
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16426
2024-12-30 09:32:11 -05:00
John Beard 3219e87b3a GAL: update depth to avoid overflow with a higher VIEW_MAX_LAYERS 2024-12-30 20:23:16 +08:00
John Beard 858d28b13f Pcbnew: Update via/pad colour at the same time as tracks 2024-12-30 20:23:16 +08:00
John Beard ca5a88dbb4 Pcbnew: minor refactor in pad painter
Break a big loop content to a lambda, so the 'outer' drawing logic is
more compact. And allows to handle the shape by ref since we know it's
not null.
2024-12-30 20:23:16 +08:00
jean-pierre charras f8ae28578f SHAPE_LINE_CHAIN() ctor: ensure arc info exists before trying to add it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19419
2024-12-30 11:47:30 +01:00
jean-pierre charras cb70079f86 GAL_API::VIEW::VIEW_MAX_LAYERS: increase value from 512 to 1024.
It was needed by the commit 78f83b5a that added GAL layers to the list.
2024-12-30 08:40:45 +01:00
Eric Zhuang 3414706925 Add DIALOG_EXPORT_ODBPP initialization/saving of PCBNEW_SETTING
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19349
2024-12-30 06:21:21 +00:00
Ethan Chien dea53b7b60 Sync Sheet Pins: Add checks for empty sheet paths and display an info message when no sub schematic is found 2024-12-30 13:45:50 +08:00
Jon Evans 19c748048c API: Add some board editor appearance settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18269
2024-12-29 22:10:01 -05:00
Ethan Chien c430ba63d1 Sync Sheet Pins: Refactor PANEL_SYNC_SHEET_PINS to streamline model association and column width handling 2024-12-30 11:00:53 +08: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
JamesJCode 870b2ec0c5 Revert "Don't allow netclass highlighting to override net highlighting"
This commit had different issues with selected but netclass-highlighted
wires.

This reverts commit a216369d72.
2024-12-30 00:36:26 +00:00
JamesJCode a216369d72 Don't allow netclass highlighting to override net highlighting 2024-12-29 23:31:52 +00:00
Marek Roszko 41d7711f06 Add a function to create long paths on windows 2024-12-29 18:21:49 -05:00
Marek Roszko ccbce7e2ee Move DESIGN_BLOCK into kicommon 2024-12-29 14:45:36 -05:00
jean-pierre charras 82516c6f16 Demos update 2024-12-29 20:01:26 +01:00
Marek Roszko bd202a5fdc Ensure more settings are saved for plotting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19401
2024-12-29 13:31:56 -05:00
John Beard f26a7c9f9a Icons: make dialog_warning yellow, not red
Red means "error" - warnings are yellow-orange. use the
same colours as ercwarn.
2024-12-30 01:38:09 +08:00
Jeff Young 4556ace032 Improve curved teardrop shapes for roundrect pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19405
2024-12-29 17:04:16 +00:00
Eric Zhuang b3259a1c42 ODB++:Support choice compress format and specify output filename. 2024-12-29 17:01:27 +00:00
Marek Roszko 659228de2d Add some closebuttons to pcbnew panes 2024-12-29 08:02:08 -05:00
Marek Roszko 85413e2c9b Enable the close button on aui panes in eeschema
Works fine

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19372
2024-12-29 07:37:25 -05:00
Marek Roszko ddf157c36c Add descriptions for jobsets 2024-12-29 07:16:46 -05:00
JamesJCode 5020b8a950 Fix FOOTPRINT Python QA 2024-12-29 09:16:54 +00:00
Marek Roszko b53a4abb7e Use wxTextEntryDialog directly to handle cancel correctly 2024-12-28 22:53:12 -05:00
Marek Roszko 2d43480af3 Remove the pythonbom job registration 2024-12-28 21:31:58 -05:00
Marek Roszko 09c8cfedd3 Add ability to set custom user descriptions on jobs 2024-12-28 21:28:42 -05:00
Marek Roszko db197b6577 Restore drawing sheet state for sch plot jobs 2024-12-28 19:21:52 -05:00
Marek Roszko 9208c2e6e6 Cleanup a header that should be killed eventually 2024-12-28 18:59:54 -05:00
Marek Roszko d8d84f300f CHANGED: Eliminate the independent SVG plot dialog that only duplicated and half-implemented the functions of the full Plot dialog 2024-12-28 18:55:03 -05:00
Marek Roszko 0f70c7747c Save drill/place origin for plot jobs for pdf/SVG
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19401
2024-12-28 18:49:16 -05:00
Marek Roszko 197c01aa48 Save drill shape for pdf/svg jobs
Partial fix https://gitlab.com/kicad/code/kicad/-/issues/19401
2024-12-28 18:49:16 -05:00
Alex Shvartzkop ceefbea34a Eagle: Make pad drill optional to support some DipTrace-exported boards. 2024-12-29 02:44:35 +03:00
Alex Shvartzkop b078d828df Support Specctra SES import from TopoR.
TopoR export resolution units in upper case for some reason.
2024-12-29 02:44:35 +03:00
Marek Roszko af7764fc92 Wooo typo again 2024-12-28 18:25:17 -05:00
Marek Roszko 9e1df0e3c2 Don't forget to actually init generate map to the job value 2024-12-28 18:23:58 -05:00
Marek Roszko f07e3e5b3b CHANGED: Make drill dialog generate maps a checkbox option rather than explicit button
Wouldn't you want to always consistently generating both drill list and map rather than separately?

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19400
2024-12-28 18:23:07 -05:00
Jeff Young 1cf569b0be Firebomb teardrop curve points.
See 17b0dabec3 for the start.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19403
2024-12-28 22:38:51 +00:00
JamesJCode dfe0d6345b Another go at supressing FOOTPRINT field on FOOTPRINT objects 2024-12-28 21:57:35 +00:00
Alex Shvartzkop 86bcf840c1 Fix compatibility with Allegro PCB Router (Specctra) sessions.
"default_smd" clearance type is not a valid value.
Could have used "wire_smd" but it doesn't seem to matter nowadays.
2024-12-29 00:34:52 +03:00
Alex Shvartzkop 2354ef67d1 Fix Specctra DSN export after layer id changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19386
2024-12-29 00:34:52 +03:00
Jon Evans 2c94684f9f API: Add a preferred plugin settings path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9054
2024-12-28 16:21:05 -05:00
Jeff Young 6e437fe3d6 Adjust spacing for GTK. 2024-12-28 20:38:01 +00:00
Jeff Young 6dfebe4e8a Purge ghost tuning patterns.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18405
2024-12-28 20:38:01 +00:00
Marek Roszko 015a320875 Add controls for width/height in render job 2024-12-28 14:32:26 -05:00
Marek Roszko d8779a6c98 Add initial dialog for pcb render job 2024-12-28 14:16:28 -05:00
John Beard e384628478 Pcbnew: Fix pad/via clearance lines
After 4eb68c2840, we need to check the actual copper
layer represented by aLayer (i..e copperLayer), not
aLayer itself.
2024-12-29 02:43:43 +08:00
Jon Evans c77426cc12 Fix a few issues with via and pad rendering
The refactor of VIEW::SortLayers broke it, but this
was hard to notice until my recent changes.
2024-12-28 12:42:52 -05:00
Marek Roszko eeb77103c9 Don't forget to save format to file for 3d jobs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19402
2024-12-28 12:12:32 -05:00
Alex Shvartzkop 88a2a41d21 Add rtti_dump.h to make it easier to debug cast issues across library boundaries.
Usage example:

#include <rtti_dump.h>

NESTED_SETTINGS* settings = ...;
rtti_dump::dump_class_hierarchy(rtti_dump::runtime_typeid(settings));

From https://android.googlesource.com/platform/ndk/+/a110575fd3ae10f4e5e1eca8447daa3de86ca1f7/samples/solib_rtti_dump/include/rtti_dump.h
2024-12-28 19:50:49 +03:00
Jon Evans 4eb68c2840 Fix pad and via opacity handling
With new rendering style, these need unique VIEW layers per copper layer
2024-12-28 10:50:58 -05:00
Jon Evans 78f83b5a39 Update PTH/Via rendering
- Add separate hole wall and net name color for vias
- Overemphasize hole wall thickness to make objects more visible
2024-12-28 10:02:11 -05:00
Jon Evans e7e2007acd Fix macOS build after 42b204fc
clang requires the explicit template keyword in this scenario
2024-12-28 08:14:48 -05:00
lucas 4feb7cd9ed API: Don't create zones without an outline 2024-12-28 13:08:42 +00:00
Jon Evans e69a95126a Use correct API in BoardLayerSet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19395
2024-12-28 08:03:51 -05:00
Marek Roszko a2b6f63801 Fix output paths in drc/erc jobs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19355
2024-12-28 07:48:44 -05:00
Alex Shvartzkop 6e2e66dc47 Don't flip Y axis when importing graphics to symbol editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19393
2024-12-28 15:48:06 +03: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
Graham Keeth 9ceaed7201 fix typos in teardrops tooltip 2024-12-27 22:30:30 +00:00
Jeff Young e164c55bf8 Fix layout issues in shape properties dialog.
Also don't show/hide the Net selection; just enable/disable it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19330
2024-12-27 22:21:48 +00:00
Jeff Young 80885ec774 Abandon the fontTextMap.
It's too fragile due to the way we move things around.  Instead
store the unresolved name in the EDA_TEXT item and then scan the
whole document to resolve the EDA_TEXT items.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19383
2024-12-27 18:59:22 +00:00
Jeff Young 61dc54cae2 Don't run lib checks after renaming (an existing) sheet.
(Particularly as this step always happens when creating a new
sheet from a Design Block.)
2024-12-27 18:59:22 +00:00
Jeff Young bcf810b05c Formatting. 2024-12-27 18:59:22 +00:00
JamesJCode 5ff21f9c2d Add ki::any and ki::any_cast for any_casts across translation units
ki::any is a standards-compliant implementation, based on the GCC
standard library. However, it uses type_info::hash_code() to check
the validitiy of a ki:any_cast, rather than comparing the type_info
objects directly. This comparison, used in the standard
implementations, is fragile across translation unit boundaries when
built with Clang.
2024-12-27 17:28:27 +00:00
Marek Roszko 9636934631 Don't delete directory for folder output, just merge
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19379
2024-12-27 12:06:42 -05:00
Marek Roszko 9dd0d67845 Add a job config dialog for ERC/DRC
Also make the default names for drc/erc unique with a suffix break.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19355
2024-12-27 11:35:09 -05:00
Ethan Chien d1ed9f5f8a Sync Sheet Pins: Adjust column widths in sync sheet pins view for better layout 2024-12-27 15:26:36 +08:00
Alex Shvartzkop 0c60f368fa Fix warning:
left operand of comma operator has no effect [-Wunused-value]
2024-12-27 08:17:47 +03:00
Jon Evans fb8d16439b Tie handler de-registration to window close
The handlers can't accept commands when the window
is closed, which can be (far) earlier than the actual
dtor of the frame

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19375
2024-12-26 18:26:06 -05:00
Jon Evans 6c47f32ccf API: Fixes for creating new zones 2024-12-26 13:34:16 -05:00
Tomasz Wlostowski 7b6a344f45 router: provisional fix for crash when dragging footprints with exactly overlapping pad anchors
Fixes https://gitlab.com/kicad/code/kicad/issues/19382
2024-12-26 19:30:29 +01:00
JamesJCode 3dd048b287 Move the embedded files grid to use GRID_TRICKS 2024-12-26 18:23:47 +00:00
JamesJCode 936e0a590c Don't enable GRID_TRICKS paste menu item if grid is not editable 2024-12-26 18:23:47 +00:00
Marek Roszko 92404b33f0 Save 2 additional params for plotting jobs 2024-12-26 13:18:04 -05:00
Jeff Young 4b5e85c855 Fix logic error with aSkipLibCheck flag.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19373
2024-12-26 17:53:03 +00:00
Jeff Young f40cb8dcb8 Remove a couple of fixed-version-number stragglers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18809
2024-12-26 17:53:03 +00:00
Marek Roszko 3e2d9354db Partial revert of leaked in changes 2024-12-26 11:29:28 -05:00
Marek Roszko f4e021ef4c Keep run button disabled if no jobs available for output 2024-12-26 11:24:42 -05:00
JamesJCode 6a9e195d19 Enable Copy Embedded File Reference context menu on macOS
Using wxID_COPY checks under the hood whether the item
should be enabled or not; we need to use a custom ID
to avoid this behavior.
2024-12-26 14:08:27 +00:00
Marek Roszko 94108927c7 Fix gerber gbrjob file naming when run from jobset 2024-12-26 08:52:34 -05:00
Ethan Chien 00ac047299 Sync Sheet Pins: Only call GetBestColumnWidth and OnColumnResized on WIndows 2024-12-26 19:54:40 +08:00
Ethan Chien bf2094dd8a Place Sheet Pins: Restore the behavior to match the original Import Sheet Pins tool. 2024-12-26 19:34:59 +08:00
Ethan Chien c4cc2b9c47 Sync Sheet Pins: streamline column setup setting the name col to BestColumnWidth 2024-12-26 17:02:24 +08:00
Marek Roszko bdf28a1c5c Add env var expansion to special execute jobs 2024-12-25 21:41:57 -05:00
Marek Roszko 3d52e14a07 Remove the extra separator above the Panels option in eeschema 2024-12-25 12:15:28 -05:00
Jeff Young f1cbcc83fe Fixup fill versions.
Older versions saved some non-symbol shapes with wrong fill mode.

The property inspector also sets the wrong fill mode.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19254
2024-12-25 15:14:54 +00:00
Jeff Young a7aea56a74 Use correct versioned variable in help strings. 2024-12-25 15:14:54 +00:00
Jeff Young 6eba855fd1 Formatting.
In particular, put setter and getter arguments on their own
lines as their syntax is otherwise very hard to visually parse.
2024-12-25 15:14:54 +00:00
Jeff Young 7211728365 nullptr protection 2024-12-25 15:14:54 +00:00
Marek Roszko 1d063e1420 Actually handle svg plot job failure correctly 2024-12-25 10:05:33 -05:00
Marek Roszko f0408f0814 Allow empty path targets to just return the temp dir for jobset output 2024-12-25 10:05:07 -05:00
Alex Shvartzkop af8ad6651a Project manager: Fix wrong background near left toolbar after changing Preferences on MSW. 2024-12-25 03:58:40 +03:00
Jon Evans bb29d5205a Fix ordering of saving via properties from dialog 2024-12-24 18:01:28 -05:00
Mark Roszko a7147bd22e Fix another iterator exception 2024-12-24 17:50:53 -05:00
Seth Hillbrand 6e09649a70 Fix crash on net highlighting
When navigating to a sheet without the highlighted net, there was a
chance for an uninitialized pointer deref.  This also gathers the
highlighted nets into the navigator as well as their subsuming buses

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18419
2024-12-24 14:46:47 -08:00
Jeff Young eccc5bca3e Use render cache (when available) for 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18672
2024-12-24 21:22:31 +00:00
Mark Roszko 01fb6c80ed Fix exception due to decrementing end() on a list of size 0 2024-12-24 15:24:52 -05:00
Jeff Young 61dac76224 Don't discard render cache when substituting font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18672
2024-12-24 20:07:06 +00:00
Jeff Young 3d9784ded3 Plot from render cache if fonts aren't embedded.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18672
2024-12-24 20:07:06 +00:00
Marek Roszko d9d927e80c Allow substitution for job output paths
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19357
2024-12-24 11:44:51 -05:00
John Beard a55915726f Eeschema: tiny tweak to DRC rule wording
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/19118
2024-12-25 00:33:48 +08:00
Wayne Stambaugh 75365e8b71 Schematic hierarchical sheet improvements.
* Ensure hierarchy navigator history iterator is valid before removing
  history list entries.  This fix prevented a crash in the 8.0 branch.

* Purge consecutive duplicate hierarchy navigator history entries.
  Navigating to the same sheet path doesn't make sense.

* Don't rebuild hierarchy navigator tree twice when creating new sheet.

* Remove unused sheet property dialog commit code.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18778
2024-12-24 09:50:10 -05:00
John Beard 5a28b3891f Jobset: avoid assertion when editing plot schematic options
Plot format needs mapping from SCH_PLOT_FORMAT to the option
int and this is already down lower down the initDlg function.
2024-12-24 22:47:46 +08:00
John Beard 4b5f809961 Prefs: fix bug in FP editor prefs resetting
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19369
2024-12-24 20:38:34 +08:00
John Beard 5572b775d2 Prefs: escape ampersands in panel names 2024-12-24 20:38:34 +08:00
John Beard 9d7d6eae10 FP-edit: split fields and graphics default settings
This prevents the dialog growing too much and going off a
smaller screen. It's also more consistent split to match
Pcbnew, which has the same graphical items settings and
allows more granular resetting and avoids confusing settings
that only apply to new footprints with settings that apply
to items with in a footprint.

Resetting is also then more granular, so you can reset text item
defaults without, say, also resetting your default line widths.
2024-12-24 20:38:34 +08:00
John Beard 0c625e6cec Pcbnew: unify dimension default configurability
This resolves an inconsistency between Pcbnew and FP editor that means
default dimension properties cannot be set in the FP editor, but the
dimension line widths and text sizes _can_, which can lead to mismatches
between different parts of the same dimension that can't be prevented
except retroactively using the properties tools.
2024-12-24 20:38:34 +08:00
John Beard 7fe69c8ac5 Pcbnew: dimension suppress zeros by default
Per ASME-Y14.5-2009 section 2.3, trailing zeroes are not used for metric
dimensions, which are probably most common. Unit suffixes are also not
used in every dimension when specified as a global default, which is
also common (usally in the fab notes).

This appears to be common defaults in other EDA software.  This is also
compatible with ISO 129-1 section 4.3.

In Pcbnew, this is only the default until the user sets it in the board
settings, so existing designs will always keep their set values.
2024-12-24 20:38:34 +08:00
John Beard 2f2f445043 Eeschema: symbol SVG export: don't lower-case
This is inconsistent with how footprints work and adds work for
downstream scripts which need to be aware that they have to process the
symbol name in this way.

Symbols named "syma" and "SYMA" can still collide in the same library on
case-insensitive systems, but this should be avoided by warning/errors
at the library level, rather than by silent overwriting on export.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/19370
2024-12-24 20:38:24 +08:00
John Beard e7e59737ad Eeschema: always add _unitN to symbol export names
The scheme of adding _N to the filename only when there are multiple
units has two problem:

* It can alias (e.g. a single-unit HDSP-4830_2 and unit 2
  of a multi-unit HDSP-4830) and silently overwrite some units of
  other symbols.
* When processing the files, you have to account for a possibly
  present suffix, which can be hard to tell apart from parts of the
  axctual symbol name.

Change to always adding _unitN, so aliasing is impossible, and
a simple pattern can be used to match the generated filenames.

Demorgan variants can still have a optional suffix, but this
comes after the unit suffix, so the pattern to find that becomes
easier too.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18929
2024-12-24 20:19:01 +08:00
jean-pierre charras e848373307 Pcbnew: Fix vias not plotted by some plotters.
It was due to the fact via colors are no longer managed.
2024-12-24 12:40:38 +01:00
JamesJCode 2cfa33a50a Handle simulator plot cell attributes correctly
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17841
2024-12-24 11:23:05 +00:00
Marek Roszko ea1e14b292 Add missing include 2024-12-23 23:07:08 -05:00
Marek Roszko 62ec7e2d6d Add the ability to capture job reporting and display it in the result window 2024-12-23 23:05:37 -05:00
Seth Hillbrand 9c0890302e Migrate DRC Exclusion names
Changing names like was done in
https://gitlab.com/kicad/code/kicad/-/issues/18040 breaks old project
files unless the DRCE names are migrated.
2024-12-23 19:30:44 -08:00
Seth Hillbrand e9bc8cfe9d Give Clipper1 a Viking funeral
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08: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
Alex Shvartzkop 3fa4449322 Wrap wxBusyCursor in unique_ptr to enable/disable as needed.
Assert message:

Assertion failed at C:\vcpkg\buildtrees\wxwidgets\src\v3.2.6-a8837e3f33.clean\src\msw\utilsgui.cpp:72 in wxEndBusyCursor: "gs_wxBusyCursorCount > 0" - no matching wxBeginBusyCursor() for wxEndBusyCursor()

Fixes KICAD-C9V
2024-12-23 21:12:07 +03:00
Alex Shvartzkop 9b40e6b2e3 Fix assert in hotkey list when double-clicking on a section header.
Assert message:

Assertion failed at C:\jenkins\workspace\build-windows-kicad-msvc-8.0-stable\.build\kicad\common\widgets\widget_hotkey_list.cpp:309 in WIDGET_HOTKEY_LIST::getExpectedHkClientData: hkdata != nullptr - No hotkey data found for list item

Fixes KICAD-7NV
2024-12-23 21:12:07 +03:00
JamesJCode 3800bae281 Enforce thread safety in clearance and creepage checks
Previously, these checks injected a custom handler to add graphic
objects to a DRC marker. This was not thread-safe and was causing
non-deterministic crashes. The DRC reporting methods now accept
a customer handler which is called on the newly created
PCB_MARKER within the commit context. This defaults to nullptr
for DRC checks which do not require graphics or other additional
processing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19282
2024-12-23 18:10:47 +00:00
Jeff Young 1fe2dcc914 Improve accuracy of control label.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19304
2024-12-23 18:09:56 +00:00
JamesJCode 98b204aab1 Fix up DRC QA 2024-12-23 18:06:19 +00:00
Jeff Young 435ed59c82 Make sure to turn cursors off on hidden signals.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19310
2024-12-23 18:04:09 +00:00
jean-pierre charras 7fab4790cc Eeschema, print on clipboard using cairo: ensure title block is printed. 2024-12-23 18:49:21 +01:00
Seth Hillbrand 67c72cbb7a Add SWIG mirroring defs 2024-12-23 08:56:58 -08:00
Jeff Young a6c55ee473 Show design block fields in info instead of documentation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19359
2024-12-23 16:39:25 +00:00
Seth Hillbrand 78a6640ad6 Fix issue that caused assert failure in parser
Missing `else` when adding optional caused everything to fall through.
2024-12-23 08:38:45 -08:00
Seth Hillbrand 66ee4a1ddd Fix up Annular ring check
- Remove bespoke collide routine.  We should never rewrite these instead
  of using the geometry library
- Optimize check by creating unified geometry before colliding
- Make extra variable that we don't need but makes cherry-picks easier
  (min/maxAnnularWidth)

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

(cherry picked from commit a611c72c27)
2024-12-23 08:38:45 -08:00
Seth Hillbrand 965048ac2f Fix missing check in DRC annular ring
The check was always skipping custom pads because minAnnularWidth is set
to INT_MAX, so it never triggered
2024-12-23 08:38:45 -08:00
Seth Hillbrand f6d4e79c63 Add comment before I forget why 2024-12-23 08:38:45 -08:00
Alex Shvartzkop 537932d417 Project manager: Update more captions/labels when switching languages. 2024-12-23 18:59:48 +03:00
Alex Shvartzkop d69cfe45c6 Project manager: Use font inheritance to avoid two extra SetFont calls.
Speeds up language changing, most noticable on Windows.
2024-12-23 18:58:30 +03:00
Alex Shvartzkop daa8c55e15 Fix reading custom PCB layer names from older versions.
As layer numbering has changed, we can't just get the layer name from
layer number.
2024-12-23 18:06:38 +03:00
Alex Shvartzkop 472192f4b8 Support legacy timestamps with stripped leading zeros.
In old kicad_pcb files, the timestamp can have less than 8 symbols
if leading zeros are stripped.

For example: 0939A342 -> 939A342
2024-12-23 18:06:38 +03:00
Alex Shvartzkop 6920d65af3 Fix Gerber Protel extensions for inner copper layers.
Previously the mapping was incorrect:
In1 -> .g5
In2 -> .g7
2024-12-23 18:06:38 +03:00
Jeff Young eee28aa06a Clean up fields autoplacement control architecture.
Also adds a mode for AUTOADDED fields.

Also fixes a couple of bugs where a manual-level autoplaced
symbol would get reset back to auto-level when autoplaced.
2024-12-23 14:30:17 +00:00
jean-pierre charras 59f6ffc05d pagelayout_editor: Avoid multiple or useless calls to OnAcceptPrms()
These useless calls, have a cost in calculation time.
2024-12-23 11:08:02 +01:00
Jeff Young e04f873765 Honour sheet-level DNP & Exclude from BOM in symbol fields table.
(And also in netlist exporter.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18717
2024-12-22 21:22:30 +00: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 0612270f1e Formatting. 2024-12-22 20:21:24 +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
jean-pierre charras fc07aa6fb0 Pcbnew, plot pdf & gerber from jobset: ensure using "C" locale for floats. 2024-12-22 18:24:47 +01:00
jean-pierre charras ab85c41028 Demo update 2024-12-22 18:24:46 +01:00
Alex Shvartzkop 1b28ee51dc IPC-2581: Improve dialog layout; Limit precision to 4-10 digits.
To represent KiCad's internal units (1 nm), it's enough to have:
- 6 decimal digits in mm;
- 8 decimal digits in inches.

There's not much point in reducing the precision.
Up to 10 digits allowed just in case.
Also changes precision to 6 decimal digits by default.
2024-12-22 20:19:54 +03:00
Alex Shvartzkop 787d174bec IPC-2581: Fix scale when using Inches. 2024-12-22 20:19:54 +03:00
Jeff Young 9c57d6c84f Update pin table when model changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19253
2024-12-22 13:24:43 +00:00
Jeff Young 278c1fee4d Improve comprehensibility of model pin mapping table.
Add quotes to symbol pin names and model pin names.
2024-12-22 13:24:43 +00:00
Alex Shvartzkop 1bae5997fe Disable horizontal scrolling in launcher panel, move paddings to scrollable area. 2024-12-22 16:05:11 +03:00
Alex Shvartzkop 7ef3c6d7df Increase default project manager width to fit more languages. 2024-12-22 16:05:11 +03:00
Alex Shvartzkop 27ee082ab2 Translate "Editors" tab in project manager frame. 2024-12-22 16:05:11 +03:00
Alex Shvartzkop b539d2884d Internationalize jobs panel. 2024-12-22 16:05:11 +03:00
Jeff Young 3a1bc21f8f Attempt to fix <ESC> after double-click in Design Blocks panel.
(Doesn't reproduce on MacOS to start with, so this is a bit
of a shot in the dark.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19353
2024-12-22 12:29:30 +00:00
Jeff Young 3c8848e642 Group library and item entries in context menu. 2024-12-22 12:29:30 +00:00
Jeff Young 03e2b60e13 Use STD_BITMAP_BUTTON for correct sizing.
Also provide button names for screen readers.

Also layout dialog to match Symbol Properties.
2024-12-22 12:29:30 +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
Alex Shvartzkop 1ea3173175 Center the Project manager frame on screen at first launch. 2024-12-22 00:42:01 +03:00
Alex Shvartzkop 46850aad92 Switch Excellon Drill Units to Millimeters by default.
Having Gerber Plot outputs in mm and drill outputs in inches was
causing tiny misalignments. This change switches Excellon output
units to mm by default.
2024-12-22 00:29:09 +03:00
Marek Roszko a47a186c42 Change output creation flow to open edit dialog before adding 2024-12-21 16:12:20 -05:00
Alex Shvartzkop bfc505503b ODB++: fix scale when exporting in Inches.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19333
2024-12-21 22:52:00 +03:00
Marek Roszko 66b208d547 Don't open the same jobset file twice 2024-12-21 12:02:30 -05:00
Marek Roszko d3eb8b677a Fix extension append check in JSON_SETTINGS::GetFullFilename
Doesn't make sense to return the filename if the filename is "json."
2024-12-21 12:02:30 -05:00
Wayne Stambaugh ca1f51e706 Make settings migration dialog re-sizable.
Also try to improve the initial layout size after changes have been made
to controls outside the base dialog Curt.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19347
2024-12-21 11:55:04 -05:00
Jeff Young bc29c145af Simulation model lib is not sorted, but listbox is.
Don't attempt to use an index from one in the other.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19306
2024-12-21 14:27:52 +00:00
Wayne Stambaugh aaf94ecbad Fix potential crash bug in SCH_PIN::compare(). 2024-12-21 08:12:34 -05:00
Wayne Stambaugh cc4c623bf9 Improve initial size of launcher window.
To avoid clipping the launcher buttons, this size was determined by hand
tweaking on Linux so it may be less than optimal on other platforms.  This
only affects the very first launch of a new version.  Once the frame size
is saved in the configuration file, that is the new size until the user
changes it.
2024-12-21 08:01:18 -05:00
Jeff Young 5b03426e28 Update attributes across units.
It's possible you might want Exclude from Sim to be unit-specific,
but it's pretty hard to imagine how Exclude from Board, BOM,
or DNP could be unit-specific.  (Maybe use a pill cutter on the chip?)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19029
2024-12-21 12:17:00 +00:00
Seth Hillbrand 5e7b44938f Speed up merge collinear segments routine
Recalculating the update on each change is expensive.  Instead, we can
check to see which tracks might be involved first and then just run the
expensive check on the potentials.  This also allows us to parallelize
the non-changing check

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19340
2024-12-20 23:16:47 -08:00
jean-pierre charras 2df83793e9 French translation update. 2024-12-21 07:56:36 +01:00
Marek Roszko 0396719308 PDF also isn't really text editable 2024-12-20 23:52:19 -05:00
Marek Roszko 8854ba6fcf Remove the edit file option for zip archives in the project tree 2024-12-20 23:46:02 -05:00
Marek Roszko 710ed82a3e Avoid assert with no jobs present 2024-12-20 22:41:12 -05:00
Marek Roszko dcd80ee925 Pass pointer and not copy of struct to avoid job output crash 2024-12-20 22:41:12 -05:00
4890 changed files with 5050017 additions and 859988 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
BreakConstructorInitializersBeforeComma: false
BreakStringLiterals: true
ColumnLimit: 100
ColumnLimit: 120
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8
+4
View File
@@ -24,6 +24,7 @@ common/template_fieldnames_lexer.h
eeschema/schematic_keywords.*
pcbnew/pcb_plot_params_keywords.cpp
pcbnew/pcb_plot_params_lexer.h
pcbnew/dialogs/panel_setup_rules_help_*.h
Makefile
CMakeUserPresets.json
CMakeCache.txt
@@ -51,6 +52,7 @@ common/pcb_keywords.cpp
include/pcb_lexer.h
fp-info-cache
qa/tests/output/**
qa/tests/cli/output/**
# demo project auxiliary files
demos/**/*-bak
@@ -125,9 +127,11 @@ i18n_status.csv
# Project local settings files and backups (in demos and qa tests)
*.kicad_prl
*-backups
~*.lck
# QA dataoutput
qa/data/**/*.csv
qa/data/**/*.spice
# Don't actually ignore any of these files, since we need them in the tree
!resources/linux/icons/hicolor/**/**/*
+58
View File
@@ -0,0 +1,58 @@
# Despite the unfortunate naming convention of this file, KiCad does not have code "owners".
# All parts of KiCad are worked on by all developers, and we do not require explicit approval
# from any particular person in order to accept contributions or fixes to sections of KiCad.
# This file is used to generate suggested reviewers for pull requests that touch certain parts
# of the KiCad codebase based on the development history of those parts. Most of KiCad does not
# have a particular set of reviewers defined in this file, and in general, it is a good thing if
# entries can be removed from this file over time, because it indicates that expertise about
# parts of the codebase that once were only familiar to one or two developers is now shared among
# a wider set of the core development team.
# Contributors: despite this file, the KiCad team still primarily matches up new merge requests
# with reviewers based on developer availability. If a change you propose touches files that
# are covered by entries in this file, the relevant developer(s) may or may not be the final
# reviewer(s) for your merge request.
# Core team developers: consider adding yourself to places where you are commonly asked for
# review feedback by the rest of the team. Consider removing yourself if you are stepping back
# from participating in KiCad code review, or if you notice that an area you were previously
# listed as a reviewer because not many others were familiar with it is now familiar with the
# larger team.
^[Suggested Reviewers]
/vcpkg*.json @mroszko
/api/ @craftyjon
/cmake/InstallSteps/*MacOS.cmake @craftyjon
/common/api/ @craftyjon
/common/git/ @sethhillbrand
/common/database/ @craftyjon
/common/io/eagle/ @stambaughw
/common/jobs/ @mroszko
/cmake/KiCadVersion.cmake @stambaughw
/eeschema/api/ @craftyjon
/eeschema/erc/ @jeffyoung
/eeschema/connection_graph.* @craftyjon @sethhillbrand
/eeschema/sch_io/database/ @craftyjon
/eeschema/sch_io/kicad_sexpr/ @stambaughw
/eeschema/sch_io/eagle/ @stambaughw
/libs/kinng/ @craftyjon
/pcbnew/api/ @craftyjon
/pcbnew/drc/ @jeffyoung
/pcbnew/pcb_io/easyeda* @dsa-t
/pcbnew/pcb_io/ipc2581/ @sethhillbrand
/pcbnew/pcb_io/odbpp/ @SYSUeric66 @sethhillbrand @craftyjon
/pcbnew/router/ @twlostow @craftyjon @sethhillbrand
/pcbnew/zone_filler* @jeffyoung
/scripting/ @craftyjon @sethhillbrand
/thirdparty/nanodbc/ @craftyjon
+2
View File
@@ -44,11 +44,13 @@
- build/linux/common/libkicommon.so*
- build/linux/common/gal/libkigal.so*
- build/linux/eeschema/_eeschema.kiface
- build/linux/cvpcb/_cvpcb.kiface
- build/linux/kicad/kicad-cli
- build/linux/pcbnew/pcbnew.py
- build/linux/pcbnew/_pcbnew.kiface
- build/linux/pcbnew/_pcbnew.so
- build/linux/qa/
- build/linux/schemas/
- build/linux/compilation_log.txt
exclude:
- build/linux/**/*.o
+4 -3
View File
@@ -4,15 +4,15 @@
win64_build:
stage: build
tags:
- kicad-windows-1809
- kicad-windows-ltsc2022
interruptible: false
image: registry.gitlab.com/kicad/kicad-ci/windows-build-image/win1809-msvc:latest
image: registry.gitlab.com/kicad/kicad-ci/windows-build-image/ltsc2022-msvc:latest
variables:
# Switch the compressor to fastzip and reduce the compression level
FF_USE_FASTZIP: "true"
CACHE_COMPRESSION_LEVEL: "fast"
cache:
key: win64-vcpkg-"$CI_COMMIT_REF_SLUG"
key: win64-vcpkg-$CI_COMMIT_REF_SLUG
paths:
- build\windows\vcpkg_installed
- .vcpkgCache
@@ -33,6 +33,7 @@ win64_build:
-DKICAD_USE_OCC=ON `
-DKICAD_BUILD_PNS_DEBUG_TOOL=ON `
-DKICAD_USE_3DCONNEXION=ON `
-DVCPKG_BUILD_TYPE=debug `
../../
- cmake --build . 2>&1 | tee compilation_log.txt
- cd ../../
+2 -1
View File
@@ -65,6 +65,7 @@ Coverity:
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DKICAD_STDLIB_LIGHT_DEBUG=ON
-DKICAD_SCRIPTING_WXPYTHON=ON
-DKICAD_USE_CMAKE_FINDPROTOBUF=ON
- coverity/bin/cov-build --dir cov-int make -j10
- *coverity_submit
artifacts:
@@ -72,4 +73,4 @@ Coverity:
expose_as: 'Coverity log'
name: "coverity_log.txt"
paths:
- cov-int/build-log.txt
- cov-int/build-log.txt
+1 -1
View File
@@ -15,7 +15,7 @@ macos_build:
- cd build/macos
- cmake
-G Ninja
-DCMAKE_TOOLCHAIN_FILE=/Users/ci/kicad-mac-builder/toolchain/kicad-mac-builder.cmake
-DCMAKE_TOOLCHAIN_FILE=/Users/$USER/kicad-mac-builder/toolchain/kicad-mac-builder.cmake
../../
- cmake --build . 2>&1 | tee compilation_log.txt
- cd ../../
+4 -3
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2018-2022 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
* Copyright (C) 2022 CERN
*
* This program is free software; you can redistribute it and/or
@@ -211,7 +211,8 @@ SCENEGRAPH* S3D_CACHE::load( const wxString& aModelFile, const wxString& aBasePa
}
SCENEGRAPH* S3D_CACHE::Load( const wxString& aModelFile, const wxString& aBasePath, const EMBEDDED_FILES* aEmbeddedFiles )
SCENEGRAPH* S3D_CACHE::Load( const wxString& aModelFile, const wxString& aBasePath,
const EMBEDDED_FILES* aEmbeddedFiles )
{
return load( aModelFile, aBasePath, nullptr, aEmbeddedFiles );
}
@@ -612,4 +613,4 @@ void S3D_CACHE::CleanCacheDir( int aNumDaysOld )
}
}
}
}
}
+10 -8
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -63,7 +63,7 @@ public:
}
/**
* Sets the configuration directory to be used by the model manager for storing 3D
* Set the configuration directory to be used by the model manager for storing 3D
* model manager configuration data and the model cache.
*
* The config directory may only be set once in the lifetime of the object.
@@ -98,7 +98,8 @@ public:
* @param aEmbeddedFiles is a pointer to the embedded files list.
* @return true if the model was successfully loaded, otherwise false.
*/
SCENEGRAPH* Load( const wxString& aModelFile, const wxString& aBasePath, const EMBEDDED_FILES* aEmbeddedFiles );
SCENEGRAPH* Load( const wxString& aModelFile, const wxString& aBasePath,
const EMBEDDED_FILES* aEmbeddedFiles );
FILENAME_RESOLVER* GetResolver() noexcept;
@@ -130,7 +131,8 @@ public:
* @param aEmbeddedFiles is a pointer to the embedded files list.
* @return is a pointer to the render data or NULL if not available.
*/
S3DMODEL* GetModel( const wxString& aModelFileName, const wxString& aBasePath, const EMBEDDED_FILES* aEmbeddedFiles );
S3DMODEL* GetModel( const wxString& aModelFileName, const wxString& aBasePath,
const EMBEDDED_FILES* aEmbeddedFiles );
/**
* Delete up old cache files in cache directory.
@@ -172,12 +174,12 @@ private:
// the real load function (can supply a cache entry pointer to member functions)
SCENEGRAPH* load( const wxString& aModelFile, const wxString& aBasePath,
S3D_CACHE_ENTRY** aCachePtr = nullptr,
const EMBEDDED_FILES* aEmbeddedFiles = nullptr );
const EMBEDDED_FILES* aEmbeddedFiles = nullptr );
/// cache entries
/// Cache entries.
std::list< S3D_CACHE_ENTRY* > m_CacheList;
/// mapping of file names to cache names and data
/// Mapping of file names to cache names and data.
std::map< wxString, S3D_CACHE_ENTRY*, rsort_wxString > m_CacheMap;
FILENAME_RESOLVER* m_FNResolver;
@@ -186,7 +188,7 @@ private:
PROJECT* m_project;
wxString m_CacheDir;
wxString m_ConfigDir; /// base configuration path for 3D items
wxString m_ConfigDir; ///< base configuration path for 3D items.
};
#endif // CACHE_3D_H
+1 -1
View File
@@ -5,7 +5,7 @@
* Copyright (C) 2015 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 1992-2015 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+4 -4
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020-2023 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -444,7 +444,8 @@ SCENEGRAPH* S3D_PLUGIN_MANAGER::Load3DModel( const wxString& aFileName, std::str
ext_to_find.MakeLower();
#endif
// .gz files are compressed versions that may have additional information in the previous extension
// .gz files are compressed versions that may have additional information in the previous
// extension.
if( ext_to_find == wxT( "gz" ) )
{
wxFileName second( raw.GetName() );
@@ -518,8 +519,7 @@ bool S3D_PLUGIN_MANAGER::CheckTag( const char* aTag )
ptag.clear();
(*pS)->GetPluginInfo( ptag );
// if the plugin name matches then the version
// must also match
// if the plugin name matches then the version must also match
if( !ptag.compare( 0, pname.size(), pname ) )
{
if( ptag.compare( tname ) )
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Cirilo Bernardo <cirilo.bernardo@gmail.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+146 -98
View File
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2023 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -91,7 +91,6 @@ BOARD_ADAPTER::BOARD_ADAPTER() :
m_IsPreviewer( false ),
m_board( nullptr ),
m_3dModelManager( nullptr ),
m_colors( nullptr ),
m_layerZcoordTop(),
m_layerZcoordBottom()
{
@@ -114,6 +113,8 @@ BOARD_ADAPTER::BOARD_ADAPTER() :
m_frontCopperThickness3DU = DEFAULT_COPPER_THICKNESS * m_biuTo3Dunits;
m_backCopperThickness3DU = DEFAULT_COPPER_THICKNESS * m_biuTo3Dunits;
m_nonCopperLayerThickness3DU = DEFAULT_TECH_LAYER_THICKNESS * m_biuTo3Dunits;
m_frontMaskThickness3DU = DEFAULT_TECH_LAYER_THICKNESS * m_biuTo3Dunits;
m_backMaskThickness3DU = DEFAULT_TECH_LAYER_THICKNESS * m_biuTo3Dunits;
m_solderPasteLayerThickness3DU = SOLDERPASTE_LAYER_THICKNESS * m_biuTo3Dunits;
m_trackCount = 0;
@@ -137,13 +138,14 @@ BOARD_ADAPTER::BOARD_ADAPTER() :
m_ECO1Color = SFVEC4F( 0.70, 0.10, 0.10, 1.0 );
m_ECO2Color = SFVEC4F( 0.70, 0.10, 0.10, 1.0 );
for( int ii = 0; ii < 45; ++ii )
m_UserDefinedLayerColor[ii] = SFVEC4F( 0.70, 0.10, 0.10, 1.0 );
m_platedPadsFront = nullptr;
m_platedPadsBack = nullptr;
m_offboardPadsFront = nullptr;
m_offboardPadsBack = nullptr;
m_frontPlatedPadAndGraphicPolys = nullptr;
m_backPlatedPadAndGraphicPolys = nullptr;
m_frontPlatedCopperPolys = nullptr;
m_backPlatedCopperPolys = nullptr;
@@ -229,11 +231,12 @@ void BOARD_ADAPTER::ReloadColorSettings() noexcept
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
COLOR_SETTINGS* colors = mgr.GetColorSettings( cfg ? cfg->m_ColorTheme : wxString( "" ) );
if( cfg )
if( colors )
{
m_colors = Pgm().GetSettingsManager().GetColorSettings( cfg->m_ColorTheme );
GetBoardEditorCopperLayerColors( cfg );
for( int layer = F_Cu; layer < PCB_LAYER_ID_COUNT; ++layer )
m_BoardEditorColors[ layer ] = colors->GetColor( layer );
}
}
@@ -262,7 +265,15 @@ bool BOARD_ADAPTER::Is3dLayerEnabled( PCB_LAYER_ID aLayer,
case Cmts_User: return aVisibilityFlags.test( LAYER_3D_USER_COMMENTS );
case Eco1_User: return aVisibilityFlags.test( LAYER_3D_USER_ECO1 );
case Eco2_User: return aVisibilityFlags.test( LAYER_3D_USER_ECO2 );
default: return m_board && m_board->IsLayerVisible( aLayer );
default:
{
int layer3D = MapPCBLayerTo3DLayer( aLayer );
if( layer3D != UNDEFINED_LAYER )
return aVisibilityFlags.test( layer3D );
return m_board && m_board->IsLayerVisible( aLayer );
}
}
}
@@ -372,9 +383,12 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
m_frontCopperThickness3DU = DEFAULT_COPPER_THICKNESS * m_biuTo3Dunits;
m_backCopperThickness3DU = DEFAULT_COPPER_THICKNESS * m_biuTo3Dunits;
m_nonCopperLayerThickness3DU = DEFAULT_TECH_LAYER_THICKNESS * m_biuTo3Dunits;
m_frontMaskThickness3DU = DEFAULT_TECH_LAYER_THICKNESS * m_biuTo3Dunits;
m_backMaskThickness3DU = DEFAULT_TECH_LAYER_THICKNESS * m_biuTo3Dunits;
m_solderPasteLayerThickness3DU = SOLDERPASTE_LAYER_THICKNESS * m_biuTo3Dunits;
g_BevelThickness3DU = pcbIUScale.mmToIU( ADVANCED_CFG::GetCfg().m_3DRT_BevelHeight_um / 1000.0 ) * m_biuTo3Dunits;
g_BevelThickness3DU = pcbIUScale.mmToIU( ADVANCED_CFG::GetCfg().m_3DRT_BevelHeight_um / 1000.0 )
* m_biuTo3Dunits;
if( m_board )
{
@@ -382,7 +396,7 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
if( bds.GetStackupDescriptor().GetCount() )
{
int thickness = 0;
int body_thickness = 0;
for( BOARD_STACKUP_ITEM* item : bds.GetStackupDescriptor().GetList() )
{
@@ -390,13 +404,14 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
{
case BS_ITEM_TYPE_DIELECTRIC:
for( int sublayer = 0; sublayer < item->GetSublayersCount(); sublayer++ )
thickness += item->GetThickness( sublayer );
body_thickness += item->GetThickness( sublayer );
break;
case BS_ITEM_TYPE_COPPER:
{
// The copper thickness must be > 0 to avoid draw issues (divide by 0 for instance)
// We use a minimal arbitrary value = 1 micrometer here:
// The copper thickness must be > 0 to avoid draw issues (divide by 0 for
// instance). We use a minimal arbitrary value = 1 micrometer here:
int copper_thickness = std::max( item->GetThickness(), pcbIUScale.mmToIU( 0.001 ) );
if( item->GetBrdLayerId() == F_Cu )
@@ -404,23 +419,38 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
else if( item->GetBrdLayerId() == B_Cu )
m_backCopperThickness3DU = copper_thickness * m_biuTo3Dunits;
else if( item->IsEnabled() )
thickness += copper_thickness;
}
body_thickness += copper_thickness;
break;
}
case BS_ITEM_TYPE_SOLDERMASK:
{
// The mask thickness must be > 0 to avoid draw issues (divide by 0 for
// instance). We use a minimal arbitrary value = 1 micrometer here:
int mask_thickness = std::max( item->GetThickness(), pcbIUScale.mmToIU( 0.001 ) );
if( item->GetBrdLayerId() == F_Mask )
m_frontMaskThickness3DU = mask_thickness * m_biuTo3Dunits;
else if( item->GetBrdLayerId() == B_Mask )
m_backMaskThickness3DU = mask_thickness * m_biuTo3Dunits;
}
default:
break;
}
}
m_boardBodyThickness3DU = thickness * m_biuTo3Dunits;
m_boardBodyThickness3DU = body_thickness * m_biuTo3Dunits;
}
}
// Init Z position of each layer
// calculate z position for each copper layer
// Zstart = -m_epoxyThickness / 2.0 is the z position of the back (bottom layer) (layer id = B_Cu)
// Zstart = +m_epoxyThickness / 2.0 is the z position of the front (top layer) (layer id = F_Cu)
// Zstart = -m_epoxyThickness / 2.0 is the z position of the back (bottom layer)
// (layer id = B_Cu)
// Zstart = +m_epoxyThickness / 2.0 is the z position of the front (top layer)
// (layer id = F_Cu)
// ____==__________==________==______ <- Bottom = +m_epoxyThickness / 2.0,
// | | Top = Bottom + m_copperThickness
@@ -445,8 +475,7 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
};
m_layerZcoordBottom[layer_id] = m_boardBodyThickness3DU / 2.0
- ( m_boardBodyThickness3DU * layer_pos
/ ( m_copperLayersCount - 1 ) );
- ( m_boardBodyThickness3DU * layer_pos / ( m_copperLayersCount - 1 ) );
if( layer_pos < (m_copperLayersCount / 2) )
m_layerZcoordTop[layer_id] = m_layerZcoordBottom[layer_id] + m_frontCopperThickness3DU;
@@ -461,24 +490,14 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
const float zpos_copperTop_back = m_layerZcoordTop[B_Cu];
const float zpos_copperTop_front = m_layerZcoordTop[F_Cu];
// Fill not copper layers zpos with a dummy position
// (m_layerZcoordTop[B_Cu]with a small margin)
// Some important layer position will be set later
// Fill not copper layers zpos
for( int layer_id = 0; layer_id < PCB_LAYER_ID_COUNT; layer_id++ )
{
if( IsCopperLayer( (PCB_LAYER_ID)layer_id ) )
continue;
m_layerZcoordBottom[(PCB_LAYER_ID)layer_id] = zpos_copperTop_back - 2.0f * zpos_offset;
m_layerZcoordTop[(PCB_LAYER_ID)layer_id] = m_layerZcoordBottom[(PCB_LAYER_ID)layer_id] - m_backCopperThickness3DU;
}
// calculate z position for each technical layer
// Solder mask and Solder paste have the same Z position
for( PCB_LAYER_ID layer_id : { B_Adhes, B_Mask, B_Paste, F_Adhes, F_Mask, F_Paste, B_SilkS, F_SilkS } )
{
float zposTop = 0.0;
float zposBottom = 0.0;
float zposBottom = zpos_copperTop_front + 2.0f * zpos_offset;
float zposTop = zposBottom + m_frontCopperThickness3DU;
switch( layer_id )
{
@@ -494,7 +513,7 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
case B_Mask:
zposBottom = zpos_copperTop_back;
zposTop = zpos_copperTop_back - m_nonCopperLayerThickness3DU;
zposTop = zpos_copperTop_back - m_backMaskThickness3DU;
break;
case B_Paste:
@@ -504,7 +523,7 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
case F_Mask:
zposBottom = zpos_copperTop_front;
zposTop = zpos_copperTop_front + m_nonCopperLayerThickness3DU;
zposTop = zpos_copperTop_front + m_frontMaskThickness3DU;
break;
case F_Paste:
@@ -526,14 +545,13 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
break;
}
m_layerZcoordTop[layer_id] = zposTop;
m_layerZcoordBottom[layer_id] = zposBottom;
m_layerZcoordTop[(PCB_LAYER_ID)layer_id] = zposTop;
m_layerZcoordBottom[(PCB_LAYER_ID)layer_id] = zposBottom;
}
m_boardCenter = SFVEC3F( m_boardPos.x * m_biuTo3Dunits, m_boardPos.y * m_biuTo3Dunits, 0.0f );
SFVEC3F boardSize = SFVEC3F( m_boardSize.x * m_biuTo3Dunits, m_boardSize.y * m_biuTo3Dunits,
0.0f );
SFVEC3F boardSize = SFVEC3F( m_boardSize.x * m_biuTo3Dunits, m_boardSize.y * m_biuTo3Dunits, 0.0f );
boardSize /= 2.0f;
SFVEC3F boardMin = ( m_boardCenter - boardSize );
@@ -574,6 +592,9 @@ void BOARD_ADAPTER::InitSettings( REPORTER* aStatusReporter, REPORTER* aWarningR
m_UserCommentsColor = to_SFVEC4F( colors[ LAYER_3D_USER_COMMENTS ] );
m_ECO1Color = to_SFVEC4F( colors[ LAYER_3D_USER_ECO1 ] );
m_ECO2Color = to_SFVEC4F( colors[ LAYER_3D_USER_ECO2 ] );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
m_UserDefinedLayerColor[ layer - LAYER_3D_USER_1 ] = to_SFVEC4F( colors[ layer ] );
}
@@ -596,28 +617,15 @@ std::map<int, COLOR4D> BOARD_ADAPTER::GetDefaultColors() const
colors[ LAYER_3D_USER_ECO1 ] = BOARD_ADAPTER::g_DefaultECOs;
colors[ LAYER_3D_USER_ECO2 ] = BOARD_ADAPTER::g_DefaultECOs;
COLOR_SETTINGS* settings = Pgm().GetSettingsManager().GetColorSettings( wxEmptyString );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
colors[ layer ] = settings->GetColor( layer );
return colors;
}
void BOARD_ADAPTER::GetBoardEditorCopperLayerColors( PCBNEW_SETTINGS* aCfg )
{
m_BoardEditorColors.clear();
if( m_copperLayersCount <= 0 )
return;
COLOR_SETTINGS* settings = Pgm().GetSettingsManager().GetColorSettings( aCfg->m_ColorTheme );
LSET copperLayers = LSET::AllCuMask();
for( auto layer : LAYER_RANGE( F_Cu, B_Cu, m_copperLayersCount ) )
{
m_BoardEditorColors[ layer ] = settings->GetColor( layer );
}
}
std::map<int, COLOR4D> BOARD_ADAPTER::GetLayerColors() const
{
std::map<int, COLOR4D> colors;
@@ -639,8 +647,10 @@ std::map<int, COLOR4D> BOARD_ADAPTER::GetLayerColors() const
const BOARD_STACKUP& stackup = m_board->GetDesignSettings().GetStackupDescriptor();
KIGFX::COLOR4D bodyColor( 0, 0, 0, 0 );
// Can't do a const KIGFX::COLOR4D& return type here because there are temporary variables
auto findColor =
[]( const wxString& aColorName, const CUSTOM_COLORS_LIST& aColorSet )
[]( const wxString& aColorName,
const CUSTOM_COLORS_LIST& aColorSet ) -> const KIGFX::COLOR4D
{
if( aColorName.StartsWith( wxT( "#" ) ) )
{
@@ -739,8 +749,13 @@ void BOARD_ADAPTER::SetLayerColors( const std::map<int, COLOR4D>& aColors )
COLOR_SETTINGS* settings = Pgm().GetSettingsManager().GetColorSettings();
for( const auto& [ layer, color ] : aColors )
{
settings->SetColor( layer, color );
if( layer >= LAYER_3D_USER_1 && layer <= LAYER_3D_USER_45 )
m_UserDefinedLayerColor[ layer - LAYER_3D_USER_1 ] = GetColor( color );
}
Pgm().GetSettingsManager().SaveColorSettings( settings, "3d_viewer" );
}
@@ -761,6 +776,9 @@ void BOARD_ADAPTER::SetVisibleLayers( const std::bitset<LAYER_3D_END>& aLayers )
m_Cfg->m_Render.show_eco1 = aLayers.test( LAYER_3D_USER_ECO1 );
m_Cfg->m_Render.show_eco2 = aLayers.test( LAYER_3D_USER_ECO2 );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
m_Cfg->m_Render.show_user[ layer - LAYER_3D_USER_1 ] = aLayers.test( layer );
m_Cfg->m_Render.show_footprints_normal = aLayers.test( LAYER_3D_TH_MODELS );
m_Cfg->m_Render.show_footprints_insert = aLayers.test( LAYER_3D_SMD_MODELS );
m_Cfg->m_Render.show_footprints_virtual = aLayers.test( LAYER_3D_VIRTUAL_MODELS );
@@ -781,6 +799,46 @@ std::bitset<LAYER_3D_END> BOARD_ADAPTER::GetVisibleLayers() const
{
std::bitset<LAYER_3D_END> ret;
if( m_board && m_board->IsFootprintHolder() )
{
if( m_Cfg->m_Render.preview_show_board_body )
{
ret.set( LAYER_3D_BOARD, m_Cfg->m_Render.show_board_body );
ret.set( LAYER_3D_SOLDERMASK_TOP, m_Cfg->m_Render.show_soldermask_top );
ret.set( LAYER_3D_SOLDERMASK_BOTTOM, m_Cfg->m_Render.show_soldermask_bottom );
ret.set( LAYER_3D_SOLDERPASTE, m_Cfg->m_Render.show_solderpaste );
ret.set( LAYER_3D_ADHESIVE, m_Cfg->m_Render.show_adhesive );
}
ret.set( LAYER_3D_COPPER_TOP, true );
ret.set( LAYER_3D_COPPER_BOTTOM, true );
ret.set( LAYER_3D_SILKSCREEN_TOP, true );
ret.set( LAYER_3D_SILKSCREEN_BOTTOM, true );
ret.set( LAYER_3D_USER_COMMENTS, true );
ret.set( LAYER_3D_USER_DRAWINGS, true );
ret.set( LAYER_3D_USER_ECO1, true );
ret.set( LAYER_3D_USER_ECO2, true );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
ret.set( layer, true );
ret.set( LAYER_FP_REFERENCES, true );
ret.set( LAYER_FP_VALUES, true );
ret.set( LAYER_FP_TEXT, true );
ret.set( LAYER_3D_TH_MODELS, true );
ret.set( LAYER_3D_SMD_MODELS, true );
ret.set( LAYER_3D_VIRTUAL_MODELS, true );
ret.set( LAYER_3D_MODELS_NOT_IN_POS, true );
ret.set( LAYER_3D_MODELS_MARKED_DNP, true );
ret.set( LAYER_3D_BOUNDING_BOXES, m_Cfg->m_Render.show_model_bbox );
ret.set( LAYER_3D_OFF_BOARD_SILK, m_Cfg->m_Render.show_off_board_silk );
ret.set( LAYER_3D_AXES, m_Cfg->m_Render.show_axis );
return ret;
}
ret.set( LAYER_3D_BOARD, m_Cfg->m_Render.show_board_body );
ret.set( LAYER_3D_COPPER_TOP, m_Cfg->m_Render.show_copper_top );
ret.set( LAYER_3D_COPPER_BOTTOM, m_Cfg->m_Render.show_copper_bottom );
@@ -795,6 +853,9 @@ std::bitset<LAYER_3D_END> BOARD_ADAPTER::GetVisibleLayers() const
ret.set( LAYER_3D_USER_ECO1, m_Cfg->m_Render.show_eco1 );
ret.set( LAYER_3D_USER_ECO2, m_Cfg->m_Render.show_eco2 );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
ret.set( layer, m_Cfg->m_Render.show_user[ layer - LAYER_3D_USER_1 ] );
ret.set( LAYER_FP_REFERENCES, m_Cfg->m_Render.show_fp_references );
ret.set( LAYER_FP_VALUES, m_Cfg->m_Render.show_fp_values );
ret.set( LAYER_FP_TEXT, m_Cfg->m_Render.show_fp_text );
@@ -837,7 +898,10 @@ std::bitset<LAYER_3D_END> BOARD_ADAPTER::GetVisibleLayers() const
return ret;
const PCB_PLOT_PARAMS& plotParams = m_board->GetPlotOptions();
LSET layers = plotParams.GetLayerSelection() | plotParams.GetPlotOnAllLayersSelection();
LSET layers = plotParams.GetLayerSelection();
for( PCB_LAYER_ID commonLayer : plotParams.GetPlotOnAllLayersSequence() )
layers.set( commonLayer );
ret.set( LAYER_3D_BOARD, true );
ret.set( LAYER_3D_COPPER_TOP, layers.test( F_Cu ) );
@@ -853,34 +917,17 @@ std::bitset<LAYER_3D_END> BOARD_ADAPTER::GetVisibleLayers() const
ret.set( LAYER_3D_USER_ECO1, layers.test( Eco1_User ) );
ret.set( LAYER_3D_USER_ECO2, layers.test( Eco2_User ) );
ret.set( LAYER_FP_REFERENCES, plotParams.GetPlotReference() );
ret.set( LAYER_FP_VALUES, plotParams.GetPlotValue() );
ret.set( LAYER_FP_TEXT, plotParams.GetPlotFPText() );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
ret.set( layer, layers.test( Map3DLayerToPCBLayer( layer ) ) );
ret.set( LAYER_FP_REFERENCES, plotParams.GetPlotReference() );
ret.set( LAYER_FP_VALUES, plotParams.GetPlotValue() );
ret.set( LAYER_FP_TEXT, plotParams.GetPlotFPText() );
}
else if( LAYER_PRESET_3D* preset = m_Cfg->FindPreset( m_Cfg->m_CurrentPreset ) )
{
ret = preset->layers;
}
else
{
ret.set( LAYER_3D_BOARD, m_Cfg->m_Render.show_board_body );
ret.set( LAYER_3D_COPPER_TOP, m_Cfg->m_Render.show_copper_top );
ret.set( LAYER_3D_COPPER_BOTTOM, m_Cfg->m_Render.show_copper_bottom );
ret.set( LAYER_3D_SILKSCREEN_TOP, m_Cfg->m_Render.show_silkscreen_top );
ret.set( LAYER_3D_SILKSCREEN_BOTTOM, m_Cfg->m_Render.show_silkscreen_bottom );
ret.set( LAYER_3D_SOLDERMASK_TOP, m_Cfg->m_Render.show_soldermask_top );
ret.set( LAYER_3D_SOLDERMASK_BOTTOM, m_Cfg->m_Render.show_soldermask_bottom );
ret.set( LAYER_3D_SOLDERPASTE, m_Cfg->m_Render.show_solderpaste );
ret.set( LAYER_3D_ADHESIVE, m_Cfg->m_Render.show_adhesive );
ret.set( LAYER_3D_USER_COMMENTS, m_Cfg->m_Render.show_comments );
ret.set( LAYER_3D_USER_DRAWINGS, m_Cfg->m_Render.show_drawings );
ret.set( LAYER_3D_USER_ECO1, m_Cfg->m_Render.show_eco1 );
ret.set( LAYER_3D_USER_ECO2, m_Cfg->m_Render.show_eco2 );
ret.set( LAYER_FP_REFERENCES, m_Cfg->m_Render.show_fp_references );
ret.set( LAYER_FP_VALUES, m_Cfg->m_Render.show_fp_values );
ret.set( LAYER_FP_TEXT, m_Cfg->m_Render.show_fp_text );
}
return ret;
}
@@ -904,6 +951,9 @@ std::bitset<LAYER_3D_END> BOARD_ADAPTER::GetDefaultVisibleLayers() const
ret.set( LAYER_3D_USER_ECO1, false );
ret.set( LAYER_3D_USER_ECO2, false );
for( int layer = LAYER_3D_USER_1; layer <= LAYER_3D_USER_45; ++layer )
ret.set( layer, false );
ret.set( LAYER_FP_REFERENCES, true );
ret.set( LAYER_FP_VALUES, true );
ret.set( LAYER_FP_TEXT, true );
@@ -922,6 +972,12 @@ std::bitset<LAYER_3D_END> BOARD_ADAPTER::GetDefaultVisibleLayers() const
}
bool BOARD_ADAPTER::GetUseBoardEditorCopperLayerColors() const
{
return m_Cfg->m_Render.use_board_editor_copper_colors && !m_board->IsFootprintHolder();
}
bool BOARD_ADAPTER::createBoardPolygon( wxString* aErrorMsg )
{
m_board_poly.RemoveAllContours();
@@ -947,9 +1003,7 @@ bool BOARD_ADAPTER::createBoardPolygon( wxString* aErrorMsg )
success = BuildFootprintPolygonOutlines( m_board, m_board_poly,
m_board->GetDesignSettings().m_MaxError,
chainingEpsilon );
// Make polygon strictly simple to avoid issues (especially in 3D viewer)
m_board_poly.Simplify( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
m_board_poly.Simplify();
if( !success && aErrorMsg )
{
@@ -986,19 +1040,14 @@ float BOARD_ADAPTER::GetFootprintZPos( bool aIsFlipped ) const
}
SFVEC4F BOARD_ADAPTER::GetLayerColor( PCB_LAYER_ID aLayerId ) const
SFVEC4F BOARD_ADAPTER::GetLayerColor( int aLayerId ) const
{
if( aLayerId >= LAYER_3D_USER_1 && aLayerId <= LAYER_3D_USER_45 )
aLayerId = Map3DLayerToPCBLayer( aLayerId );
wxASSERT( aLayerId < PCB_LAYER_ID_COUNT );
const COLOR4D color = m_colors->GetColor( aLayerId );
return SFVEC4F( color.r, color.g, color.b, color.a );
}
SFVEC4F BOARD_ADAPTER::GetItemColor( int aItemId ) const
{
return GetColor( m_colors->GetColor( aItemId ) );
return GetColor( m_BoardEditorColors.at( aLayerId ) );
}
@@ -1010,9 +1059,8 @@ SFVEC4F BOARD_ADAPTER::GetColor( const COLOR4D& aColor ) const
SFVEC2F BOARD_ADAPTER::GetSphericalCoord( int i ) const
{
SFVEC2F sphericalCoord =
SFVEC2F( ( m_Cfg->m_Render.raytrace_lightElevation[i] + 90.0f ) / 180.0f,
m_Cfg->m_Render.raytrace_lightAzimuth[i] / 180.0f );
SFVEC2F sphericalCoord = SFVEC2F( ( m_Cfg->m_Render.raytrace_lightElevation[i] + 90.0f ) / 180.0f,
m_Cfg->m_Render.raytrace_lightAzimuth[i] / 180.0f );
sphericalCoord.x = glm::clamp( sphericalCoord.x, 0.0f, 1.0f );
sphericalCoord.y = glm::clamp( sphericalCoord.y, 0.0f, 2.0f );
+23 -29
View File
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -112,11 +112,6 @@ public:
*/
std::map<int, COLOR4D> GetLayerColors() const;
/**
* Build the copper color list used by the board editor, and store it in m_BoardEditorColors
*/
void GetBoardEditorCopperLayerColors( PCBNEW_SETTINGS* aCfg );
std::map<int, COLOR4D> GetDefaultColors() const;
void SetLayerColors( const std::map<int, COLOR4D>& aColors );
@@ -124,6 +119,8 @@ public:
std::bitset<LAYER_3D_END> GetDefaultVisibleLayers() const;
void SetVisibleLayers( const std::bitset<LAYER_3D_END>& aLayers );
bool GetUseBoardEditorCopperLayerColors() const;
/**
* Function to be called by the render when it need to reload the settings for the board.
*
@@ -140,7 +137,7 @@ public:
double BiuTo3dUnits() const noexcept { return m_biuTo3Dunits; }
/**
* Get the board outling bounding box.
* Get the board outline bounding box.
*
* @return the board bounding box in 3D units.
*/
@@ -210,15 +207,7 @@ public:
* @param aLayerId the layer to get the color information.
* @return the color in SFVEC3F format.
*/
SFVEC4F GetLayerColor( PCB_LAYER_ID aLayerId ) const;
/**
* Get the technical color of a layer.
*
* @param aItemId the item id to get the color information.
* @return the color in SFVEC3F format.
*/
SFVEC4F GetItemColor( int aItemId ) const;
SFVEC4F GetLayerColor( int aLayerId ) const;
/**
* @param[in] aColor is the color mapped.
@@ -352,8 +341,16 @@ public:
*/
const MAP_POLY& GetPolyMap() const noexcept { return m_layers_poly; }
const SHAPE_POLY_SET* GetFrontPlatedPadAndGraphicPolys() { return m_frontPlatedPadAndGraphicPolys; }
const SHAPE_POLY_SET* GetBackPlatedPadAndGraphicPolys() { return m_backPlatedPadAndGraphicPolys; }
const SHAPE_POLY_SET* GetFrontPlatedCopperPolys()
{
return m_frontPlatedCopperPolys;
}
const SHAPE_POLY_SET* GetBackPlatedCopperPolys()
{
return m_backPlatedCopperPolys;
}
const MAP_POLY& GetHoleIdPolysMap() const noexcept { return m_layerHoleIdPolys; }
const MAP_POLY& GetHoleOdPolysMap() const noexcept { return m_layerHoleOdPolys; }
@@ -378,7 +375,7 @@ private:
int aInflateValue );
void addPads( const FOOTPRINT* aFootprint, CONTAINER_2D_BASE* aDstContainer,
PCB_LAYER_ID aLayerId, bool aSkipPlatedPads, bool aSkipNonPlatedPads );
PCB_LAYER_ID aLayerId );
void addFootprintShapes( const FOOTPRINT* aFootprint, CONTAINER_2D_BASE* aDstContainer,
PCB_LAYER_ID aLayerId,
@@ -403,8 +400,8 @@ private:
PCB_LAYER_ID aLayerId );
void createArcSegments( const VECTOR2I& aCentre, const VECTOR2I& aStart,
const EDA_ANGLE& aArcAngle, int aCircleToSegmentsCount, int aWidth,
CONTAINER_2D_BASE* aContainer, const BOARD_ITEM& aOwner );
const EDA_ANGLE& aArcAngle, int aCircleToSegmentsCount, int aWidth,
CONTAINER_2D_BASE* aContainer, const BOARD_ITEM& aOwner );
void buildPadOutlineAsSegments( const PAD* aPad, PCB_LAYER_ID aLayer,
CONTAINER_2D_BASE* aDstContainer, int aWidth );
@@ -447,6 +444,7 @@ public:
SFVEC4F m_UserCommentsColor;
SFVEC4F m_ECO1Color;
SFVEC4F m_ECO2Color;
SFVEC4F m_UserDefinedLayerColor[45];
std::map<int, COLOR4D> m_ColorOverrides; ///< allows to override color scheme colors
std::map<int, COLOR4D> m_BoardEditorColors; ///< list of colors used by the board editor
@@ -454,7 +452,6 @@ public:
private:
BOARD* m_board;
S3D_CACHE* m_3dModelManager;
COLOR_SETTINGS* m_colors;
VECTOR2I m_boardPos; ///< Board center position in board internal units.
VECTOR2I m_boardSize; ///< Board size in board internal units.
@@ -464,8 +461,6 @@ private:
MAP_POLY m_layers_poly; ///< Amalgamated polygon contours for various types
///< of items
SHAPE_POLY_SET* m_frontPlatedPadAndGraphicPolys;
SHAPE_POLY_SET* m_backPlatedPadAndGraphicPolys;
SHAPE_POLY_SET* m_frontPlatedCopperPolys;
SHAPE_POLY_SET* m_backPlatedCopperPolys;
@@ -497,16 +492,15 @@ private:
double m_biuTo3Dunits; ///< Scale factor to convert board internal units
///< to 3D units normalized between -1.0 and 1.0.
std::map<PCB_LAYER_ID, float> m_layerZcoordTop; ///< Top (End) Z position of each
///< layer in 3D units.
std::map<PCB_LAYER_ID, float> m_layerZcoordBottom; ///< Bottom (Start) Z position of
///< each layer in 3D units.
std::map<PCB_LAYER_ID, float> m_layerZcoordTop; ///< Top (End) Z pos of each layer in 3D units.
std::map<PCB_LAYER_ID, float> m_layerZcoordBottom; ///< Bottom (Start) Z pos of each layer.
float m_frontCopperThickness3DU;
float m_backCopperThickness3DU;
float m_boardBodyThickness3DU;
float m_nonCopperLayerThickness3DU;
float m_frontMaskThickness3DU;
float m_backMaskThickness3DU;
float m_solderPasteLayerThickness3DU;
unsigned int m_trackCount;
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -96,10 +96,12 @@ void addROUND_SEGMENT_2D( CONTAINER_2D_BASE* aContainer, const SFVEC2F& aStart,
void BOARD_ADAPTER::addText( const EDA_TEXT* aText, CONTAINER_2D_BASE* aContainer,
const BOARD_ITEM* aOwner )
{
int maxError = m_board->GetDesignSettings().m_MaxError;
KIGFX::GAL_DISPLAY_OPTIONS empty_opts;
TEXT_ATTRIBUTES attrs = aText->GetAttributes();
float penWidth_3DU = TO_3DU( aText->GetEffectiveTextPenWidth() );
KIFONT::FONT* font = aText->GetFont();
wxString shownText = aText->GetShownText( true );
if( !font )
font = KIFONT::FONT::GetFont( wxEmptyString, aText->IsBold(), aText->IsItalic() );
@@ -109,8 +111,7 @@ void BOARD_ADAPTER::addText( const EDA_TEXT* aText, CONTAINER_2D_BASE* aContaine
SHAPE_POLY_SET finalPoly;
const PCB_TEXT* pcbText = static_cast<const PCB_TEXT*>( aOwner );
pcbText->TransformTextToPolySet( finalPoly, 0, m_board->GetDesignSettings().m_MaxError,
ERROR_INSIDE );
pcbText->TransformTextToPolySet( finalPoly, 0, maxError, ERROR_INSIDE );
// Do not call finalPoly.Fracture() here: ConvertPolygonToTriangles() call it
// if needed, and Fracture() called twice can create bad results and is useless
@@ -134,8 +135,15 @@ void BOARD_ADAPTER::addText( const EDA_TEXT* aText, CONTAINER_2D_BASE* aContaine
attrs.m_Angle = aText->GetDrawRotation();
font->Draw( &callback_gal, aText->GetShownText( true ), aText->GetDrawPos(), attrs,
aOwner->GetFontMetrics() );
if( auto* cache = aText->GetRenderCache( font, shownText ) )
{
callback_gal.DrawGlyphs( *cache );
}
else
{
font->Draw( &callback_gal, shownText, aText->GetDrawPos(), attrs,
aOwner->GetFontMetrics() );
}
}
}
@@ -180,23 +188,23 @@ void BOARD_ADAPTER::addShape( const PCB_DIMENSION_BASE* aDimension, CONTAINER_2D
void BOARD_ADAPTER::addFootprintShapes( const FOOTPRINT* aFootprint, CONTAINER_2D_BASE* aContainer,
PCB_LAYER_ID aLayerId,
const std::bitset<LAYER_3D_END>& aVisibilityFlags )
const std::bitset<LAYER_3D_END>& aFlags )
{
KIGFX::GAL_DISPLAY_OPTIONS empty_opts;
for( PCB_FIELD* field : aFootprint->GetFields() )
{
if( field->GetLayer() == aLayerId && field->IsVisible() )
{
if( !aVisibilityFlags.test( LAYER_FP_TEXT ) )
continue;
else if( field->IsReference() && !aVisibilityFlags.test( LAYER_FP_REFERENCES ) )
continue;
else if( field->IsValue() && !aVisibilityFlags.test( LAYER_FP_VALUES ) )
continue;
if( !aFlags.test( LAYER_FP_TEXT ) )
continue;
if( field->IsReference() && !aFlags.test( LAYER_FP_REFERENCES ) )
continue;
if( field->IsValue() && !aFlags.test( LAYER_FP_VALUES ) )
continue;
if( field->GetLayer() == aLayerId && field->IsVisible() )
addText( field, aContainer, field );
}
}
for( BOARD_ITEM* item : aFootprint->GraphicalItems() )
@@ -207,17 +215,17 @@ void BOARD_ADAPTER::addFootprintShapes( const FOOTPRINT* aFootprint, CONTAINER_2
{
PCB_TEXT* text = static_cast<PCB_TEXT*>( item );
if( text->GetLayer() == aLayerId && text->IsVisible() )
{
if( !aVisibilityFlags.test( LAYER_FP_TEXT ) )
continue;
else if( text->GetText() == wxT( "${REFERENCE}" ) && !aVisibilityFlags.test( LAYER_FP_REFERENCES ) )
continue;
else if( text->GetText() == wxT( "${VALUE}" ) && !aVisibilityFlags.test( LAYER_FP_VALUES ) )
continue;
if( !aFlags.test( LAYER_FP_TEXT ) )
continue;
if( text->GetText() == wxT( "${REFERENCE}" ) && !aFlags.test( LAYER_FP_REFERENCES ) )
continue;
if( text->GetText() == wxT( "${VALUE}" ) && !aFlags.test( LAYER_FP_VALUES ) )
continue;
if( text->GetLayer() == aLayerId )
addText( text, aContainer, text );
}
break;
}
@@ -273,9 +281,8 @@ void BOARD_ADAPTER::addFootprintShapes( const FOOTPRINT* aFootprint, CONTAINER_2
}
void BOARD_ADAPTER::createTrackWithMargin( const PCB_TRACK* aTrack,
CONTAINER_2D_BASE* aDstContainer, PCB_LAYER_ID aLayer,
int aMargin )
void BOARD_ADAPTER::createTrackWithMargin( const PCB_TRACK* aTrack, CONTAINER_2D_BASE* aDstContainer,
PCB_LAYER_ID aLayer, int aMargin )
{
SFVEC2F start3DU = TO_SFVEC2F( aTrack->GetStart() );
SFVEC2F end3DU = TO_SFVEC2F( aTrack->GetEnd() );
@@ -331,8 +338,7 @@ void BOARD_ADAPTER::createTrackWithMargin( const PCB_TRACK* aTrack,
}
createArcSegments( center, arc->GetStart(), arc_angle, circlesegcount,
arc->GetWidth() + aMargin * 2,
aDstContainer, *arc );
arc->GetWidth() + aMargin * 2, aDstContainer, *arc );
break;
}
@@ -363,8 +369,7 @@ void BOARD_ADAPTER::createPadWithMargin( const PAD* aPad, CONTAINER_2D_BASE* aCo
// Of course being a hack it falls down when dealing with custom shape pads (where the size
// is only the size of the anchor), so for those we punt and just use aMargin.x.
if( ( clearance.x < 0 || clearance.x != clearance.y )
&& aPad->GetShape( aLayer ) != PAD_SHAPE::CUSTOM )
if( ( clearance.x < 0 || clearance.x != clearance.y ) && aPad->GetShape( aLayer ) != PAD_SHAPE::CUSTOM )
{
VECTOR2I dummySize = VECTOR2I( aPad->GetSize( aLayer ) ) + clearance + clearance;
@@ -475,7 +480,7 @@ void BOARD_ADAPTER::createPadWithMargin( const PAD* aPad, CONTAINER_2D_BASE* aCo
void BOARD_ADAPTER::createPadWithHole( const PAD* aPad, CONTAINER_2D_BASE* aDstContainer,
int aInflateValue )
int aInflateValue )
{
if( !aPad->HasHole() )
{
@@ -494,7 +499,7 @@ void BOARD_ADAPTER::createPadWithHole( const PAD* aPad, CONTAINER_2D_BASE* aDstC
void BOARD_ADAPTER::addPads( const FOOTPRINT* aFootprint, CONTAINER_2D_BASE* aContainer,
PCB_LAYER_ID aLayerId, bool aSkipPlatedPads, bool aSkipNonPlatedPads )
PCB_LAYER_ID aLayerId )
{
for( PAD* pad : aFootprint->Pads() )
{
@@ -518,24 +523,6 @@ void BOARD_ADAPTER::addPads( const FOOTPRINT* aFootprint, CONTAINER_2D_BASE* aCo
switch( aLayerId )
{
case F_Cu:
if( aSkipPlatedPads && pad->FlashLayer( F_Mask ) )
continue;
if( aSkipNonPlatedPads && !pad->FlashLayer( F_Mask ) )
continue;
break;
case B_Cu:
if( aSkipPlatedPads && pad->FlashLayer( B_Mask ) )
continue;
if( aSkipNonPlatedPads && !pad->FlashLayer( B_Mask ) )
continue;
break;
case F_Mask:
case B_Mask:
margin.x += pad->GetSolderMaskExpansion( aLayerId );
@@ -613,16 +600,15 @@ void BOARD_ADAPTER::addShape( const PCB_SHAPE* aShape, CONTAINER_2D_BASE* aConta
int margin = 0;
if( IsSolderMaskLayer( aLayer )
&& aShape->HasSolderMask()
&& IsExternalCopperLayer( aShape->GetLayer() ) )
&& aShape->HasSolderMask()
&& IsExternalCopperLayer( aShape->GetLayer() ) )
{
margin = aShape->GetSolderMaskExpansion();
linewidth += margin * 2;
}
float linewidth3DU = TO_3DU( linewidth );
LINE_STYLE lineStyle = aShape->GetStroke().GetLineStyle();
float linewidth3DU = TO_3DU( linewidth );
LINE_STYLE lineStyle = aShape->GetStroke().GetLineStyle();
if( lineStyle <= LINE_STYLE::FIRST_TYPE )
{
@@ -634,7 +620,7 @@ void BOARD_ADAPTER::addShape( const PCB_SHAPE* aShape, CONTAINER_2D_BASE* aConta
float innerR3DU = TO_3DU( aShape->GetRadius() ) - linewidth3DU / 2.0;
float outerR3DU = TO_3DU( aShape->GetRadius() ) + linewidth3DU / 2.0;
if( aShape->IsFilled() || innerR3DU <= 0.0 )
if( aShape->IsSolidFill() || innerR3DU <= 0.0 )
addFILLED_CIRCLE_2D( aContainer, center3DU, outerR3DU, *aOwner );
else
addRING_2D( aContainer, center3DU, innerR3DU, outerR3DU, *aOwner );
@@ -643,14 +629,13 @@ void BOARD_ADAPTER::addShape( const PCB_SHAPE* aShape, CONTAINER_2D_BASE* aConta
}
case SHAPE_T::RECTANGLE:
if( aShape->IsFilled() )
if( aShape->IsSolidFill() )
{
SHAPE_POLY_SET polyList;
aShape->TransformShapeToPolygon( polyList, UNDEFINED_LAYER, 0, ARC_HIGH_DEF,
ERROR_INSIDE );
aShape->TransformShapeToPolySet( polyList, UNDEFINED_LAYER, 0, ARC_HIGH_DEF, ERROR_INSIDE );
polyList.Simplify( SHAPE_POLY_SET::PM_FAST );
polyList.Simplify();
if( margin != 0 )
{
@@ -694,13 +679,12 @@ void BOARD_ADAPTER::addShape( const PCB_SHAPE* aShape, CONTAINER_2D_BASE* aConta
{
SHAPE_POLY_SET polyList;
aShape->TransformShapeToPolygon( polyList, UNDEFINED_LAYER, 0, ARC_HIGH_DEF,
ERROR_INSIDE );
aShape->TransformShapeToPolygon( polyList, UNDEFINED_LAYER, 0, ARC_HIGH_DEF, ERROR_INSIDE );
// Some polygons can be a bit complex (especially when coming from a
// picture ot a text converted to a polygon
// picture of a text converted to a polygon
// So call Simplify before calling ConvertPolygonToTriangles, just in case.
polyList.Simplify( SHAPE_POLY_SET::PM_FAST );
polyList.Simplify();
if( polyList.IsEmpty() ) // Just for caution
break;
@@ -748,6 +732,9 @@ void BOARD_ADAPTER::addShape( const PCB_SHAPE* aShape, CONTAINER_2D_BASE* aConta
for( SHAPE* shape : shapes )
delete shape;
}
if( aShape->IsHatchedFill() )
ConvertPolygonToTriangles( aShape->GetHatching(), *aContainer, m_biuTo3Dunits, *aOwner );
}
@@ -782,11 +769,18 @@ void BOARD_ADAPTER::addShape( const PCB_TEXTBOX* aTextBox, CONTAINER_2D_BASE* aC
void BOARD_ADAPTER::addTable( const PCB_TABLE* aTable, CONTAINER_2D_BASE* aContainer,
const BOARD_ITEM* aOwner )
{
// JEY TODO: tables
// add borders
aTable->DrawBorders(
[&]( const VECTOR2I& ptA, const VECTOR2I& ptB, const STROKE_PARAMS& stroke )
{
addROUND_SEGMENT_2D( aContainer, TO_SFVEC2F( ptA ), TO_SFVEC2F( ptB ),
TO_3DU( stroke.GetWidth() ), *aOwner );
} );
for( PCB_TABLECELL* cell : aTable->GetCells() )
addText( cell, aContainer, aOwner );
{
if( cell->GetColSpan() > 0 && cell->GetRowSpan() > 0 )
addText( cell, aContainer, aOwner );
}
}
@@ -794,8 +788,7 @@ void BOARD_ADAPTER::addSolidAreasShapes( const ZONE* aZone, CONTAINER_2D_BASE* a
PCB_LAYER_ID aLayerId )
{
// This convert the poly in outline and holes
ConvertPolygonToTriangles( *aZone->GetFilledPolysList( aLayerId ), *aContainer, m_biuTo3Dunits,
*aZone );
ConvertPolygonToTriangles( *aZone->GetFilledPolysList( aLayerId ), *aContainer, m_biuTo3Dunits, *aZone );
}
@@ -814,8 +807,7 @@ void BOARD_ADAPTER::buildPadOutlineAsSegments( const PAD* aPad, PCB_LAYER_ID aLa
else
{
// For other shapes, add outlines as thick segments in polygon buffer
const std::shared_ptr<SHAPE_POLY_SET>& corners = aPad->GetEffectivePolygon( aLayer,
ERROR_INSIDE );
const std::shared_ptr<SHAPE_POLY_SET>& corners = aPad->GetEffectivePolygon( aLayer, ERROR_INSIDE );
const SHAPE_LINE_CHAIN& path = corners->COutline( 0 );
for( int j = 0; j < path.PointCount(); j++ )
+233 -177
View File
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -23,34 +23,17 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file create_layer_items.cpp
* @brief This file implements the creation of the pcb board.
*
* It is based on the function found in the files:
* board_items_to_polygon_shape_transform.cpp
* board_items_to_polygon_shape_transform.cpp
*/
#include "board_adapter.h"
#include "../3d_rendering/raytracing/shapes2D/filled_circle_2d.h"
#include "raytracing/shapes2D/triangle_2d.h"
#include <board_design_settings.h>
#include <board.h>
#include <footprint.h>
#include <layer_range.h>
#include <lset.h>
#include <pad.h>
#include <pcb_text.h>
#include <pcb_textbox.h>
#include <pcb_table.h>
#include <pcb_shape.h>
#include <zone.h>
#include <convert_basic_shapes_to_polygon.h>
#include <trigo.h>
#include <vector>
#include <thread>
#include <core/arraydim.h>
#include <algorithm>
#include <atomic>
#include <wx/log.h>
@@ -59,9 +42,6 @@
#include <core/profile.h>
#endif
/*
* This is used to draw pad outlines on silk layers.
*/
@@ -97,12 +77,71 @@ void transformFPShapesToPolySet( const FOOTPRINT* aFootprint, PCB_LAYER_ID aLaye
if( item->Type() == PCB_SHAPE_T || BaseType( item->Type() ) == PCB_DIMENSION_T )
{
if( item->GetLayer() == aLayer )
item->TransformShapeToPolygon( aBuffer, aLayer, 0, aMaxError, aErrorLoc );
item->TransformShapeToPolySet( aBuffer, aLayer, 0, aMaxError, aErrorLoc );
}
}
}
void transformFPTextToPolySet( const FOOTPRINT* aFootprint, PCB_LAYER_ID aLayer,
const std::bitset<LAYER_3D_END>& aFlags, SHAPE_POLY_SET& aBuffer,
int aMaxError, ERROR_LOC aErrorLoc )
{
for( BOARD_ITEM* item : aFootprint->GraphicalItems() )
{
if( item->GetLayer() != aLayer )
continue;
if( item->Type() == PCB_TEXT_T )
{
PCB_TEXT* text = static_cast<PCB_TEXT*>( item );
if( !aFlags.test( LAYER_FP_TEXT ) )
continue;
if( text->GetText() == wxT( "${REFERENCE}" ) && !aFlags.test( LAYER_FP_REFERENCES ) )
continue;
if( text->GetText() == wxT( "${VALUE}" ) && !aFlags.test( LAYER_FP_VALUES ) )
continue;
if( aLayer != UNDEFINED_LAYER && text->GetLayer() == aLayer )
text->TransformTextToPolySet( aBuffer, 0, aMaxError, aErrorLoc );
}
if( item->Type() == PCB_TEXTBOX_T )
{
PCB_TEXTBOX* textbox = static_cast<PCB_TEXTBOX*>( item );
if( aLayer != UNDEFINED_LAYER && textbox->GetLayer() == aLayer )
{
// border
if( textbox->IsBorderEnabled() )
textbox->PCB_SHAPE::TransformShapeToPolygon( aBuffer, aLayer, 0, aMaxError, aErrorLoc );
// text
textbox->TransformTextToPolySet( aBuffer, 0, aMaxError, aErrorLoc );
}
}
}
for( const PCB_FIELD* field : aFootprint->GetFields() )
{
if( !aFlags.test( LAYER_FP_TEXT ) )
continue;
if( field->IsReference() && !aFlags.test( LAYER_FP_REFERENCES ) )
continue;
if( field->IsValue() && !aFlags.test( LAYER_FP_VALUES ) )
continue;
if( field->GetLayer() == aLayer && field->IsVisible() )
field->TransformTextToPolySet( aBuffer, 0, aMaxError, aErrorLoc );
}
}
void BOARD_ADAPTER::destroyLayers()
{
#define DELETE_AND_FREE( ptr ) \
@@ -121,8 +160,6 @@ void BOARD_ADAPTER::destroyLayers()
DELETE_AND_FREE_MAP( m_layers_poly );
DELETE_AND_FREE( m_frontPlatedPadAndGraphicPolys )
DELETE_AND_FREE( m_backPlatedPadAndGraphicPolys )
DELETE_AND_FREE( m_frontPlatedCopperPolys )
DELETE_AND_FREE( m_backPlatedCopperPolys )
@@ -240,8 +277,6 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
if( cfg.DifferentiatePlatedCopper() )
{
m_frontPlatedPadAndGraphicPolys = new SHAPE_POLY_SET;
m_backPlatedPadAndGraphicPolys = new SHAPE_POLY_SET;
m_frontPlatedCopperPolys = new SHAPE_POLY_SET;
m_backPlatedCopperPolys = new SHAPE_POLY_SET;
@@ -261,7 +296,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
// Create tracks as objects and add it to container
for( PCB_LAYER_ID layer : layer_ids )
{
wxASSERT( m_layerMap.find( layer ) != m_layerMap.end() );
wxASSERT( m_layerMap.contains( layer ) );
BVH_CONTAINER_2D *layerContainer = m_layerMap[layer];
@@ -319,7 +354,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
BVH_CONTAINER_2D *layerHoleContainer = nullptr;
// Check if the layer is already created
if( m_layerHoleMap.find( layer ) == m_layerHoleMap.end() )
if( !m_layerHoleMap.contains( layer ) )
{
// not found, create a new container
layerHoleContainer = new BVH_CONTAINER_2D;
@@ -339,10 +374,8 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
else if( layer == layer_ids[0] ) // it only adds once the THT holes
{
// Add through hole object
m_TH_ODs.Add( new FILLED_CIRCLE_2D( via_center, hole_inner_radius + thickness,
*track ) );
m_viaTH_ODs.Add( new FILLED_CIRCLE_2D( via_center, hole_inner_radius + thickness,
*track ) );
m_TH_ODs.Add( new FILLED_CIRCLE_2D( via_center, hole_inner_radius + thickness, *track ) );
m_viaTH_ODs.Add( new FILLED_CIRCLE_2D( via_center, hole_inner_radius + thickness, *track ) );
if( cfg.clip_silk_on_via_annuli && ring_radius > 0.0 )
m_viaAnnuli.Add( new FILLED_CIRCLE_2D( via_center, ring_radius, *track ) );
@@ -353,15 +386,9 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
}
if( cfg.DifferentiatePlatedCopper() && layer == F_Cu )
{
track->TransformShapeToPolygon( *m_frontPlatedCopperPolys, F_Cu, 0, maxError,
ERROR_INSIDE );
}
track->TransformShapeToPolygon( *m_frontPlatedCopperPolys, F_Cu, 0, maxError, ERROR_INSIDE );
else if( cfg.DifferentiatePlatedCopper() && layer == B_Cu )
{
track->TransformShapeToPolygon( *m_backPlatedCopperPolys, B_Cu, 0, maxError,
ERROR_INSIDE );
}
track->TransformShapeToPolygon( *m_backPlatedCopperPolys, B_Cu, 0, maxError, ERROR_INSIDE );
}
}
@@ -393,13 +420,13 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
SHAPE_POLY_SET *layerInnerHolesPoly = nullptr;
// Check if the layer is already created
if( m_layerHoleOdPolys.find( layer ) == m_layerHoleOdPolys.end() )
if( !m_layerHoleOdPolys.contains( layer ) )
{
// not found, create a new container
layerOuterHolesPoly = new SHAPE_POLY_SET;
m_layerHoleOdPolys[layer] = layerOuterHolesPoly;
wxASSERT( m_layerHoleIdPolys.find( layer ) == m_layerHoleIdPolys.end() );
wxASSERT( !m_layerHoleIdPolys.contains( layer ) );
layerInnerHolesPoly = new SHAPE_POLY_SET;
m_layerHoleIdPolys[layer] = layerInnerHolesPoly;
@@ -409,7 +436,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
// found
layerOuterHolesPoly = m_layerHoleOdPolys[layer];
wxASSERT( m_layerHoleIdPolys.find( layer ) != m_layerHoleIdPolys.end() );
wxASSERT( m_layerHoleIdPolys.contains( layer ) );
layerInnerHolesPoly = m_layerHoleIdPolys[layer];
}
@@ -417,11 +444,11 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
const int holediameter = via->GetDrillValue();
const int hole_outer_radius = (holediameter / 2) + GetHolePlatingThickness();
TransformCircleToPolygon( *layerOuterHolesPoly, via->GetStart(),
hole_outer_radius, maxError, ERROR_INSIDE );
TransformCircleToPolygon( *layerOuterHolesPoly, via->GetStart(), hole_outer_radius,
maxError, ERROR_INSIDE );
TransformCircleToPolygon( *layerInnerHolesPoly, via->GetStart(),
holediameter / 2, maxError, ERROR_INSIDE );
TransformCircleToPolygon( *layerInnerHolesPoly, via->GetStart(), holediameter / 2,
maxError, ERROR_INSIDE );
}
else if( layer == layer_ids[0] ) // it only adds once the THT holes
{
@@ -439,8 +466,8 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
if( cfg.clip_silk_on_via_annuli )
{
TransformCircleToPolygon( m_viaAnnuliPolys, via->GetStart(),
hole_outer_ring_radius, maxError, ERROR_INSIDE );
TransformCircleToPolygon( m_viaAnnuliPolys, via->GetStart(), hole_outer_ring_radius,
maxError, ERROR_INSIDE );
}
}
}
@@ -452,7 +479,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
{
for( PCB_LAYER_ID layer : layer_ids )
{
wxASSERT( m_layers_poly.find( layer ) != m_layers_poly.end() );
wxASSERT( m_layers_poly.contains( layer ) );
SHAPE_POLY_SET *layerPoly = m_layers_poly[layer];
@@ -545,17 +572,20 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
// Add footprints PADs objects to containers
for( PCB_LAYER_ID layer : layer_ids )
{
wxASSERT( m_layerMap.find( layer ) != m_layerMap.end() );
wxASSERT( m_layerMap.contains( layer ) );
BVH_CONTAINER_2D *layerContainer = m_layerMap[layer];
// ADD PADS
for( FOOTPRINT* footprint : m_board->Footprints() )
{
addPads( footprint, layerContainer, layer, cfg.DifferentiatePlatedCopper(), false );
// Micro-wave footprints may have items on copper layers
addPads( footprint, layerContainer, layer );
addFootprintShapes( footprint, layerContainer, layer, visibilityFlags );
if( cfg.DifferentiatePlatedCopper() && layer == F_Cu )
footprint->TransformPadsToPolySet( *m_frontPlatedCopperPolys, F_Cu, 0, maxError, ERROR_INSIDE );
else if( cfg.DifferentiatePlatedCopper() && layer == B_Cu )
footprint->TransformPadsToPolySet( *m_backPlatedCopperPolys, B_Cu, 0, maxError, ERROR_INSIDE );
}
}
@@ -564,40 +594,23 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
{
for( PCB_LAYER_ID layer : layer_ids )
{
wxASSERT( m_layers_poly.find( layer ) != m_layers_poly.end() );
wxASSERT( m_layers_poly.contains( layer ) );
SHAPE_POLY_SET *layerPoly = m_layers_poly[layer];
// Add pads to polygon list
for( FOOTPRINT* footprint : m_board->Footprints() )
{
// Note: NPTH pads are not drawn on copper layers when the pad has same shape as
// its hole
footprint->TransformPadsToPolySet( *layerPoly, layer, 0, maxError, ERROR_INSIDE,
true, cfg.DifferentiatePlatedCopper(), false );
footprint->TransformPadsToPolySet( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
transformFPShapesToPolySet( footprint, layer, *layerPoly, maxError, ERROR_INSIDE );
}
}
if( cfg.DifferentiatePlatedCopper() )
{
// ADD PLATED PADS contours
for( FOOTPRINT* footprint : m_board->Footprints() )
{
footprint->TransformPadsToPolySet( *m_frontPlatedPadAndGraphicPolys, F_Cu, 0, maxError,
ERROR_INSIDE, true, false, true );
footprint->TransformPadsToPolySet( *m_backPlatedPadAndGraphicPolys, B_Cu, 0, maxError,
ERROR_INSIDE, true, false, true );
}
}
}
// Add graphic item on copper layers to object containers
for( PCB_LAYER_ID layer : layer_ids )
{
wxASSERT( m_layerMap.find( layer ) != m_layerMap.end() );
wxASSERT( m_layerMap.contains( layer ) );
BVH_CONTAINER_2D *layerContainer = m_layerMap[layer];
@@ -640,14 +653,29 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
}
// add also this shape to the plated copper polygon list if required
if( cfg.DifferentiatePlatedCopper() )
if( cfg.DifferentiatePlatedCopper() && ( layer == F_Cu || layer == B_Cu ) )
{
if( layer == F_Cu )
item->TransformShapeToPolygon( *m_frontPlatedCopperPolys, F_Cu,
0, maxError, ERROR_INSIDE );
else if( layer == B_Cu )
item->TransformShapeToPolygon( *m_backPlatedCopperPolys, B_Cu,
0, maxError, ERROR_INSIDE );
SHAPE_POLY_SET* copperPolys = layer == F_Cu ? m_frontPlatedCopperPolys
: m_backPlatedCopperPolys;
// Note: for TEXT and TEXTBOX, TransformShapeToPolygon returns the bounding
// box shape, not the exact text shape. So it is not used for these items
if( item->Type() == PCB_TEXTBOX_T )
{
PCB_TEXTBOX* text_box = static_cast<PCB_TEXTBOX*>( item );
text_box->TransformTextToPolySet( *copperPolys, 0, maxError, ERROR_INSIDE );
// Add box outlines
text_box->PCB_SHAPE::TransformShapeToPolygon( *copperPolys, layer, 0, maxError, ERROR_INSIDE );
}
else if( item->Type() == PCB_TEXT_T )
{
PCB_TEXT* text = static_cast<PCB_TEXT*>( item );
text->TransformTextToPolySet( *copperPolys, 0, maxError, ERROR_INSIDE );
}
else
{
item->TransformShapeToPolySet( *copperPolys, layer, 0, maxError, ERROR_INSIDE );
}
}
}
}
@@ -657,7 +685,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
{
for( PCB_LAYER_ID layer : layer_ids )
{
wxASSERT( m_layers_poly.find( layer ) != m_layers_poly.end() );
wxASSERT( m_layers_poly.contains( layer ) );
SHAPE_POLY_SET *layerPoly = m_layers_poly[layer];
@@ -670,7 +698,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
switch( item->Type() )
{
case PCB_SHAPE_T:
item->TransformShapeToPolygon( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
item->TransformShapeToPolySet( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
break;
case PCB_TEXT_T:
@@ -685,13 +713,29 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
{
PCB_TEXTBOX* textbox = static_cast<PCB_TEXTBOX*>( item );
if( textbox->IsBorderEnabled() )
textbox->PCB_SHAPE::TransformShapeToPolygon( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
textbox->TransformTextToPolySet( *layerPoly, 0, maxError, ERROR_INSIDE );
break;
}
case PCB_TABLE_T:
// JEY TODO: tables
{
PCB_TABLE* table = static_cast<PCB_TABLE*>( item );
for( PCB_TABLECELL* cell : table->GetCells() )
cell->TransformTextToPolySet( *layerPoly, 0, maxError, ERROR_INSIDE );
table->DrawBorders(
[&]( const VECTOR2I& ptA, const VECTOR2I& ptB,
const STROKE_PARAMS& stroke )
{
SHAPE_SEGMENT seg( ptA, ptB, stroke.GetWidth() );
seg.TransformToPolygon( *layerPoly, maxError, ERROR_INSIDE );
} );
break;
}
default:
wxLogTrace( m_logTrace, wxT( "createLayers: item type: %d not implemented" ),
@@ -718,15 +762,9 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
layer_lock.emplace( layer, std::make_unique<std::mutex>() );
if( cfg.DifferentiatePlatedCopper() && layer == F_Cu )
{
zone->TransformShapeToPolygon( *m_frontPlatedCopperPolys, F_Cu, 0, maxError,
ERROR_INSIDE );
}
zone->TransformShapeToPolygon( *m_frontPlatedCopperPolys, F_Cu, 0, maxError, ERROR_INSIDE );
else if( cfg.DifferentiatePlatedCopper() && layer == B_Cu )
{
zone->TransformShapeToPolygon( *m_backPlatedCopperPolys, B_Cu, 0, maxError,
ERROR_INSIDE );
}
zone->TransformShapeToPolygon( *m_backPlatedCopperPolys, B_Cu, 0, maxError, ERROR_INSIDE );
}
}
@@ -752,19 +790,16 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
PCB_LAYER_ID layer = zones[areaId].second;
auto layerContainer = m_layerMap.find( layer );
auto layerPolyContainer = m_layers_poly.find( layer );
if( layerContainer != m_layerMap.end() )
addSolidAreasShapes( zone, layerContainer->second, layer );
if( m_layerMap.contains( layer ) )
addSolidAreasShapes( zone, m_layerMap[layer], layer );
if( cfg.opengl_copper_thickness && cfg.engine == RENDER_ENGINE::OPENGL
&& layerPolyContainer != m_layers_poly.end() )
&& m_layers_poly.contains( layer ) )
{
auto mut_it = layer_lock.find( layer );
std::lock_guard< std::mutex > lock( *( mut_it->second ) );
zone->TransformSolidAreasShapesToPolygon( layer, *layerPolyContainer->second );
zone->TransformSolidAreasShapesToPolygon( layer, *m_layers_poly[layer] );
}
}
@@ -780,10 +815,10 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
// End Build Copper layers
// This will make a union of all added contours
m_TH_ODPolys.Simplify( SHAPE_POLY_SET::PM_FAST );
m_NPTH_ODPolys.Simplify( SHAPE_POLY_SET::PM_FAST );
m_viaTH_ODPolys.Simplify( SHAPE_POLY_SET::PM_FAST );
m_viaAnnuliPolys.Simplify( SHAPE_POLY_SET::PM_FAST );
m_TH_ODPolys.Simplify();
m_NPTH_ODPolys.Simplify();
m_viaTH_ODPolys.Simplify();
m_viaAnnuliPolys.Simplify();
// Build Tech layers
// Based on:
@@ -807,7 +842,52 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
Dwgs_User,
Cmts_User,
Eco1_User,
Eco2_User
Eco2_User,
User_1,
User_2,
User_3,
User_4,
User_5,
User_6,
User_7,
User_8,
User_9,
User_10,
User_11,
User_12,
User_13,
User_14,
User_15,
User_16,
User_17,
User_18,
User_19,
User_20,
User_21,
User_22,
User_23,
User_24,
User_25,
User_26,
User_27,
User_28,
User_29,
User_30,
User_31,
User_32,
User_33,
User_34,
User_35,
User_36,
User_37,
User_38,
User_39,
User_40,
User_41,
User_42,
User_43,
User_44,
User_45,
} );
std::bitset<LAYER_3D_END> enabledFlags = visibilityFlags;
@@ -855,7 +935,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
break;
case PCB_TABLE_T:
// JEY TODO: tables
addTable( static_cast<PCB_TABLE*>( item ), layerContainer, item );
break;
case PCB_DIM_ALIGNED_T:
@@ -882,9 +962,13 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
// Only vias on a external copper layer can have a solder mask
PCB_LAYER_ID copper_layer = layer == F_Mask ? F_Cu : B_Cu;
if( track->Type() == PCB_VIA_T
&& !static_cast<const PCB_VIA*>( track )->FlashLayer( copper_layer ) )
continue;
if( track->Type() == PCB_VIA_T )
{
const PCB_VIA* via = static_cast<const PCB_VIA*>( track );
if( !via->FlashLayer( copper_layer ) )
continue;
}
int maskExpansion = track->GetSolderMaskExpansion();
createTrackWithMargin( track, layerContainer, layer, maskExpansion );
@@ -908,7 +992,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
}
else
{
addPads( footprint, layerContainer, layer, false, false );
addPads( footprint, layerContainer, layer );
}
addFootprintShapes( footprint, layerContainer, layer, visibilityFlags );
@@ -939,7 +1023,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
switch( item->Type() )
{
case PCB_SHAPE_T:
item->TransformShapeToPolygon( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
item->TransformShapeToPolySet( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
break;
case PCB_TEXT_T:
@@ -954,13 +1038,30 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
{
PCB_TEXTBOX* textbox = static_cast<PCB_TEXTBOX*>( item );
if( textbox->IsBorderEnabled() )
textbox->PCB_SHAPE::TransformShapeToPolygon( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
textbox->TransformTextToPolySet( *layerPoly, 0, maxError, ERROR_INSIDE );
break;
}
case PCB_TABLE_T:
// JEY TODO: tables
{
PCB_TABLE* table = static_cast<PCB_TABLE*>( item );
for( PCB_TABLECELL* cell : table->GetCells() )
cell->TransformTextToPolySet( *layerPoly, 0, maxError, ERROR_INSIDE );
table->DrawBorders(
[&]( const VECTOR2I& ptA, const VECTOR2I& ptB,
const STROKE_PARAMS& stroke )
{
SHAPE_SEGMENT seg( ptA, ptB, stroke.GetWidth() );
seg.TransformToPolygon( *layerPoly, maxError, ERROR_INSIDE );
} );
break;
}
default:
break;
@@ -978,8 +1079,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
&& static_cast<const PCB_VIA*>( track )->FlashLayer( layer )
&& !static_cast<const PCB_VIA*>( track )->IsTented( layer ) )
{
track->TransformShapeToPolygon( *layerPoly, layer, maskExpansion, maxError,
ERROR_INSIDE );
track->TransformShapeToPolygon( *layerPoly, layer, maskExpansion, maxError, ERROR_INSIDE );
}
}
}
@@ -994,10 +1094,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
for( PAD* pad : footprint->Pads() )
{
if( pad->IsOnLayer( layer ) )
{
buildPadOutlineAsPolygon( pad, layer, *layerPoly, linewidth, maxError,
ERROR_INSIDE );
}
buildPadOutlineAsPolygon( pad, layer, *layerPoly, linewidth, maxError, ERROR_INSIDE );
}
}
else
@@ -1005,10 +1102,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
footprint->TransformPadsToPolySet( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
}
// On tech layers, use a poor circle approximation, only for texts (stroke font)
footprint->TransformFPTextToPolySet( *layerPoly, layer, 0, maxError, ERROR_INSIDE );
// Add the remaining things with dynamic seg count for circles
transformFPTextToPolySet( footprint, layer, visibilityFlags, *layerPoly, maxError, ERROR_INSIDE );
transformFPShapesToPolySet( footprint, layer, *layerPoly, maxError, ERROR_INSIDE );
}
@@ -1022,7 +1116,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
}
// This will make a union of all added contours
layerPoly->Simplify( SHAPE_POLY_SET::PM_FAST );
layerPoly->Simplify();
}
}
// End Build Tech layers
@@ -1038,9 +1132,9 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
if( !footprint->GetBoundingBox().Intersects( boardBBox ) )
{
if( footprint->IsFlipped() )
addPads( footprint, m_offboardPadsBack, B_Cu, false, false );
addPads( footprint, m_offboardPadsBack, B_Cu );
else
addPads( footprint, m_offboardPadsFront, F_Cu, false, false );
addPads( footprint, m_offboardPadsFront, F_Cu );
}
}
@@ -1059,54 +1153,18 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
aStatusReporter->Report( _( "Calculating plated copper" ) );
// TRIM PLATED COPPER TO SOLDERMASK
if( m_layers_poly.find( F_Mask ) != m_layers_poly.end() )
{
m_frontPlatedCopperPolys->BooleanIntersection( *m_layers_poly.at( F_Mask ),
SHAPE_POLY_SET::PM_FAST );
}
if( m_layers_poly.contains( F_Mask ) )
m_frontPlatedCopperPolys->BooleanIntersection( *m_layers_poly.at( F_Mask ) );
if( m_layers_poly.find( B_Mask ) != m_layers_poly.end() )
{
m_backPlatedCopperPolys->BooleanIntersection( *m_layers_poly.at( B_Mask ),
SHAPE_POLY_SET::PM_FAST );
}
if( m_layers_poly.contains( B_Mask ))
m_backPlatedCopperPolys->BooleanIntersection( *m_layers_poly.at( B_Mask ) );
// Subtract plated copper from unplated copper
bool hasF_Cu = false;
bool hasB_Cu = false;
if( m_layers_poly.contains( F_Cu ) )
m_layers_poly[F_Cu]->BooleanSubtract( *m_frontPlatedCopperPolys );
if( m_layers_poly.find( F_Cu ) != m_layers_poly.end() )
{
m_layers_poly[F_Cu]->BooleanSubtract( *m_frontPlatedPadAndGraphicPolys, SHAPE_POLY_SET::PM_FAST );
m_layers_poly[F_Cu]->BooleanSubtract( *m_frontPlatedCopperPolys, SHAPE_POLY_SET::PM_FAST );
hasF_Cu = true;
}
if( m_layers_poly.find( B_Cu ) != m_layers_poly.end() )
{
m_layers_poly[B_Cu]->BooleanSubtract( *m_backPlatedPadAndGraphicPolys, SHAPE_POLY_SET::PM_FAST );
m_layers_poly[B_Cu]->BooleanSubtract( *m_backPlatedCopperPolys, SHAPE_POLY_SET::PM_FAST );
hasB_Cu = true;
}
// Add plated graphic items to build vertical walls
if( hasF_Cu && m_frontPlatedCopperPolys->OutlineCount() )
m_frontPlatedPadAndGraphicPolys->Append( *m_frontPlatedCopperPolys );
if( hasB_Cu && m_backPlatedCopperPolys->OutlineCount() )
m_backPlatedPadAndGraphicPolys->Append( *m_backPlatedCopperPolys );
m_frontPlatedPadAndGraphicPolys->Simplify( SHAPE_POLY_SET::PM_FAST );
m_backPlatedPadAndGraphicPolys->Simplify( SHAPE_POLY_SET::PM_FAST );
m_frontPlatedCopperPolys->Simplify( SHAPE_POLY_SET::PM_FAST );
m_backPlatedCopperPolys->Simplify( SHAPE_POLY_SET::PM_FAST );
// ADD PLATED PADS
for( FOOTPRINT* footprint : m_board->Footprints() )
{
addPads( footprint, m_platedPadsFront, F_Cu, false, true );
addPads( footprint, m_platedPadsBack, B_Cu, false, true );
}
if( m_layers_poly.contains( B_Cu ) )
m_layers_poly[B_Cu]->BooleanSubtract( *m_backPlatedCopperPolys );
// ADD PLATED COPPER
ConvertPolygonToTriangles( *m_frontPlatedCopperPolys, *m_platedPadsFront, m_biuTo3Dunits,
@@ -1162,13 +1220,11 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
i < selected_layer_id.size();
i = nextItem.fetch_add( 1 ) )
{
auto layerPoly = m_layers_poly.find( selected_layer_id[i] );
if( layerPoly != m_layers_poly.end() )
if( m_layers_poly.contains( selected_layer_id[i] ) )
{
// This will make a union of all added contours
layerPoly->second->ClearArcs();
layerPoly->second->Simplify( SHAPE_POLY_SET::PM_FAST );
m_layers_poly[ selected_layer_id[i] ]->ClearArcs();
m_layers_poly[ selected_layer_id[i] ]->Simplify();
}
}
@@ -1189,16 +1245,16 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter )
for( PCB_LAYER_ID layer : layer_ids )
{
if( m_layerHoleOdPolys.find( layer ) != m_layerHoleOdPolys.end() )
if( m_layerHoleOdPolys.contains( layer ) )
{
// found
SHAPE_POLY_SET *polyLayer = m_layerHoleOdPolys[layer];
polyLayer->Simplify( SHAPE_POLY_SET::PM_FAST );
polyLayer->Simplify();
wxASSERT( m_layerHoleIdPolys.find( layer ) != m_layerHoleIdPolys.end() );
wxASSERT( m_layerHoleIdPolys.contains( layer ) );
polyLayer = m_layerHoleIdPolys[layer];
polyLayer->Simplify( SHAPE_POLY_SET::PM_FAST );
polyLayer->Simplify();
}
}
+28 -25
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -149,8 +149,10 @@ EDA_3D_CANVAS::EDA_3D_CANVAS( wxWindow* aParent, const wxGLAttributes& aGLAttrib
wxASSERT( a3DCachePointer != nullptr );
m_boardAdapter.Set3dCacheManager( a3DCachePointer );
#ifdef __WXMSW__
EnableTouchEvents( wxTOUCH_ZOOM_GESTURE | wxTOUCH_PAN_GESTURES | wxTOUCH_ROTATE_GESTURE );
#if defined( __WXMSW__ )
EnableTouchEvents( wxTOUCH_ZOOM_GESTURE | wxTOUCH_ROTATE_GESTURE | wxTOUCH_PAN_GESTURES );
#elif defined( __WXGTK__ )
EnableTouchEvents( wxTOUCH_ZOOM_GESTURE | wxTOUCH_ROTATE_GESTURE );
#endif
const wxEventType events[] =
@@ -187,7 +189,8 @@ void EDA_3D_CANVAS::releaseOpenGL()
{
if( m_glRC )
{
GL_CONTEXT_MANAGER::Get().LockCtx( m_glRC, this );
GL_CONTEXT_MANAGER* gl_mgr = Pgm().GetGLContextManager();
gl_mgr->LockCtx( m_glRC, this );
delete m_3d_render_raytracing;
m_3d_render_raytracing = nullptr;
@@ -198,8 +201,8 @@ void EDA_3D_CANVAS::releaseOpenGL()
// This is just a copy of a pointer, can safely be set to NULL.
m_3d_render = nullptr;
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
GL_CONTEXT_MANAGER::Get().DestroyCtx( m_glRC );
gl_mgr->UnlockCtx( m_glRC );
gl_mgr->DestroyCtx( m_glRC );
m_glRC = nullptr;
}
}
@@ -345,7 +348,8 @@ void EDA_3D_CANVAS::DisplayStatus()
m_parentStatusBar->SetStatusText( msg, static_cast<int>( EDA_3D_VIEWER_STATUSBAR::Y_POS ) );
msg.Printf( wxT( "zoom %3.2f" ), 1 / m_camera.GetZoom() );
m_parentStatusBar->SetStatusText( msg, static_cast<int>( EDA_3D_VIEWER_STATUSBAR::ZOOM_LEVEL ) );
m_parentStatusBar->SetStatusText( msg,
static_cast<int>( EDA_3D_VIEWER_STATUSBAR::ZOOM_LEVEL ) );
}
}
@@ -379,10 +383,11 @@ void EDA_3D_CANVAS::DoRePaint()
if( !GetParent()->GetParent()->IsShownOnScreen() )
return; // The parent board editor frame is no more alive
wxString err_messages;
INFOBAR_REPORTER warningReporter( m_parentInfoBar );
STATUSBAR_REPORTER activityReporter( m_parentStatusBar, EDA_3D_VIEWER_STATUSBAR::ACTIVITY );
int64_t start_time = GetRunningMicroSecs();
wxString err_messages;
INFOBAR_REPORTER warningReporter( m_parentInfoBar );
STATUSBAR_REPORTER activityReporter( m_parentStatusBar, EDA_3D_VIEWER_STATUSBAR::ACTIVITY );
int64_t start_time = GetRunningMicroSecs();
GL_CONTEXT_MANAGER* gl_mgr = Pgm().GetGLContextManager();
// "Makes the OpenGL state that is represented by the OpenGL rendering
// context context current, i.e. it will be used by all subsequent OpenGL calls.
@@ -390,7 +395,7 @@ void EDA_3D_CANVAS::DoRePaint()
// Explicitly create a new rendering context instance for this canvas.
if( m_glRC == nullptr )
m_glRC = GL_CONTEXT_MANAGER::Get().CreateCtx( this );
m_glRC = gl_mgr->CreateCtx( this );
// CreateCtx could and does fail per sentry crash events, lets be graceful
if( m_glRC == nullptr )
@@ -401,7 +406,7 @@ void EDA_3D_CANVAS::DoRePaint()
return;
}
GL_CONTEXT_MANAGER::Get().LockCtx( m_glRC, this );
gl_mgr->LockCtx( m_glRC, this );
// Set the OpenGL viewport according to the client size of this canvas.
// This is done here rather than in a wxSizeEvent handler because our
@@ -418,7 +423,7 @@ void EDA_3D_CANVAS::DoRePaint()
{
if( !initializeOpenGL() )
{
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
gl_mgr->UnlockCtx( m_glRC );
m_is_currently_painting.clear();
return;
@@ -440,7 +445,7 @@ void EDA_3D_CANVAS::DoRePaint()
SwapBuffers();
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
gl_mgr->UnlockCtx( m_glRC );
m_is_currently_painting.clear();
return;
@@ -475,7 +480,7 @@ void EDA_3D_CANVAS::DoRePaint()
if( m_camera_is_moving )
{
const int64_t curtime_delta = GetRunningMicroSecs() - m_strtime_camera_movement;
curtime_delta_s = (curtime_delta / 1e6) * m_camera_moving_speed;
curtime_delta_s = ( curtime_delta / 1e6 ) * m_camera_moving_speed;
m_camera.Interpolate( curtime_delta_s );
if( curtime_delta_s > 1.0f )
@@ -528,7 +533,7 @@ void EDA_3D_CANVAS::DoRePaint()
m_is_opengl_version_supported = false;
m_opengl_supports_raytracing = false;
m_is_opengl_initialized = false;
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
gl_mgr->UnlockCtx( m_glRC );
m_is_currently_painting.clear();
return;
}
@@ -553,7 +558,7 @@ void EDA_3D_CANVAS::DoRePaint()
// commands is displayed on the window."
SwapBuffers();
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
gl_mgr->UnlockCtx( m_glRC );
if( m_mouse_was_moved || m_camera_is_moving )
{
@@ -733,13 +738,11 @@ void EDA_3D_CANVAS::OnMouseMove( wxMouseEvent& event )
RAY mouseRay = getRayAtCurrentMousePosition();
BOARD_ITEM* rollOverItem = m_3d_render_raytracing->IntersectBoardItem( mouseRay );
auto printNetInfo =
[]( BOARD_CONNECTED_ITEM* aItem )
{
return wxString::Format( _( "Net %s\tNet class %s" ),
aItem->GetNet()->GetNetname(),
aItem->GetNet()->GetNetClass()->GetName() );
};
auto printNetInfo = []( BOARD_CONNECTED_ITEM* aItem )
{
return wxString::Format( _( "Net %s\tNet class %s" ), aItem->GetNet()->GetNetname(),
aItem->GetNet()->GetNetClass()->GetHumanReadableName() );
};
if( rollOverItem )
{
+6 -6
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -109,16 +109,16 @@ public:
void RenderRaytracingRequest();
/**
* Request a screenshot and output it to the \a aDstImage
* Request a screenshot and output it to the \a aDstImage.
*
* @param aDstImage - Screenshot destination image
* @param aDstImage - Screenshot destination image.
*/
void GetScreenshot( wxImage& aDstImage );
/**
* Select a specific 3D view or operation
* Select a specific 3D view or operation.
*
* @param aRequestedView the view to move to
* @param aRequestedView the view to move to.
* @return true if the view request was handled, false if no command found for this view.
*/
bool SetView3D( VIEW3D_TYPE aRequestedView );
@@ -331,7 +331,7 @@ private:
bool m_render3dmousePivot = false; // Render the 3dmouse pivot
SFVEC3F m_3dmousePivotPos; // The position of the 3dmouse pivot
///< Used to track gesture events.
/// Used to track gesture events.
double m_gestureLastZoomFactor = 1.0;
double m_gestureLastAngle = 0.0;
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -44,8 +44,8 @@
#include <macros.h>
/**
* Scale conversion from 3d model units to pcb units
*/
* Scale conversion from 3d model units to pcb units
*/
#define UNITS3D_TO_UNITSPCB ( pcbIUScale.IU_PER_MM )
/**
@@ -109,16 +109,17 @@ EDA_3D_MODEL_VIEWER::EDA_3D_MODEL_VIEWER( wxWindow* aParent, const wxGLAttribute
EDA_3D_MODEL_VIEWER::~EDA_3D_MODEL_VIEWER()
{
wxLogTrace( m_logTrace, wxT( "EDA_3D_MODEL_VIEWER::~EDA_3D_MODEL_VIEWER" ) );
GL_CONTEXT_MANAGER* gl_mgr = Pgm().GetGLContextManager();
if( m_glRC )
{
GL_CONTEXT_MANAGER::Get().LockCtx( m_glRC, this );
gl_mgr->LockCtx( m_glRC, this );
delete m_ogl_3dmodel;
m_ogl_3dmodel = nullptr;
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
GL_CONTEXT_MANAGER::Get().DestroyCtx( m_glRC );
gl_mgr->UnlockCtx( m_glRC );
gl_mgr->DestroyCtx( m_glRC );
}
}
@@ -256,7 +257,7 @@ void EDA_3D_MODEL_VIEWER::OnPaint( wxPaintEvent& event )
// context context current, i.e. it will be used by all subsequent OpenGL calls.
// This function may only be called when the window is shown on screen"
if( m_glRC == nullptr )
m_glRC = GL_CONTEXT_MANAGER::Get().CreateCtx( this );
m_glRC = Pgm().GetGLContextManager()->CreateCtx( this );
// CreateCtx could and does fail per sentry crash events, lets be graceful
if( m_glRC == nullptr )
@@ -265,7 +266,7 @@ void EDA_3D_MODEL_VIEWER::OnPaint( wxPaintEvent& event )
return;
}
GL_CONTEXT_MANAGER::Get().LockCtx( m_glRC, this );
Pgm().GetGLContextManager()->LockCtx( m_glRC, this );
// Set the OpenGL viewport according to the client size of this canvas.
// This is done here rather than in a wxSizeEvent handler because our
@@ -383,7 +384,7 @@ void EDA_3D_MODEL_VIEWER::OnPaint( wxPaintEvent& event )
// commands is displayed on the window."
SwapBuffers();
GL_CONTEXT_MANAGER::Get().UnlockCtx( m_glRC );
Pgm().GetGLContextManager()->UnlockCtx( m_glRC );
}
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2021 3Dconnexion
* Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2021 3Dconnexion
* Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 3Dconnexion
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -24,7 +24,7 @@
#include <3d-viewer/3d_rendering/track_ball.h>
#include <3d-viewer/3d_canvas/eda_3d_canvas.h>
// KiCAD includes
// KiCad includes
#include <tool/action_manager.h>
#include <tool/tool_manager.h>
#include <tool/tools_holder.h>
@@ -73,7 +73,8 @@ bool equals( glm::mat<L, C, T, Q> const& aFirst, glm::mat<L, C, T, Q> const& aSe
}
NL_3D_VIEWER_PLUGIN_IMPL::NL_3D_VIEWER_PLUGIN_IMPL( EDA_3D_CANVAS* aCanvas, const std::string& aProfileHint ) :
NL_3D_VIEWER_PLUGIN_IMPL::NL_3D_VIEWER_PLUGIN_IMPL( EDA_3D_CANVAS* aCanvas,
const std::string& aProfileHint ) :
NAV_3D( false, false ),
m_canvas( aCanvas ),
m_capIsMoving( false ),
@@ -111,15 +112,7 @@ void NL_3D_VIEWER_PLUGIN_IMPL::Connect()
exportCommandsAndImages();
}
/**
* Add a category to the store.
*
* The function adds category paths of the format "A.B" where B is a sub-category of A.
*
* @param aCategoryPath is the std::string representation of the category.
* @param aCategoryStore is the CATEGORY_STORE instance to add to.
* @return a CATEGORY_STORE::iterator where the category was added.
*/
CATEGORY_STORE::iterator add_category( std::string aCategoryPath, CATEGORY_STORE& aCategoryStore )
{
using TDx::SpaceMouse::CCategory;
@@ -192,7 +185,7 @@ void NL_3D_VIEWER_PLUGIN_IMPL::exportCommandsAndImages()
std::string name = action->GetName();
// Do no export commands for the pcbnew app.
// Do no export commands for the Pcbnew app.
if( name.rfind( "pcbnew.", 0 ) == 0 )
{
continue;
+11 -2
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 3Dconnexion
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -29,7 +29,7 @@
// TDxWare SDK.
#include <SpaceMouse/CNavigation3D.hpp>
// KiCAD
// KiCad
#include <include/plugins/3dapi/xv3d_types.h>
// wx
@@ -45,6 +45,15 @@ class TRACK_BALL;
// temporary store for the categories
typedef std::map<std::string, TDx::CCommandTreeNode*> CATEGORY_STORE;
/**
* Add a category to the store.
*
* The function adds category paths of the format "A.B" where B is a sub-category of A.
*
* @param aCategoryPath is the std::string representation of the category.
* @param aCategoryStore is the CATEGORY_STORE instance to add to.
* @return a CATEGORY_STORE::iterator where the category was added.
*/
CATEGORY_STORE::iterator add_category( std::string aCategoryPath, CATEGORY_STORE& aCategoryStore );
// Convenience typedef.
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 3Dconnexion
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 3Dconnexion
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 3Dconnexion
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 3Dconnexion
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -31,13 +31,14 @@
#include <SpaceMouse/CNavigation3D.hpp>
/**
* The class that adjusts NL_3D_VIEWER_PLUGIN_IMPL implementation for 3D Model preview in footprint properties dialog.
* The class that adjusts NL_3D_VIEWER_PLUGIN_IMPL implementation for 3D Model preview in
* footprint properties dialog.
*/
class NL_FOOTPRINT_PROPERTIES_PLUGIN_IMPL : public NL_3D_VIEWER_PLUGIN_IMPL
{
public:
/**
* Initializes a new instance of the NL_FOOTPRINT_PROPERTIES_PLUGIN.
* Initialize a new instance of the NL_FOOTPRINT_PROPERTIES_PLUGIN.
*
* @param aCanvas is the viewport to be navigated.
*/
@@ -60,8 +61,8 @@ private:
/**
* Trace mask used to enable or disable the trace output of this class.
* The debug output can be turned on by setting the WXTRACE environment variable to
* "KI_TRACE_NL_FOOTPRINT_PROPERTIES_PLUGIN". See the wxWidgets documentation on wxLogTrace for
* more information.
* "KI_TRACE_NL_FOOTPRINT_PROPERTIES_PLUGIN". See the wxWidgets documentation on
* wxLogTrace for more information.
*/
static const wxChar* m_logTrace;
};
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2016-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2016-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+7 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -48,6 +48,12 @@ COLOR_RGBA::COLOR_RGBA( const SFVEC4F& aColor )
}
COLOR_RGBA::operator SFVEC4F() const
{
return SFVEC4F( r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f );
}
COLOR_RGBA BlendColor( const COLOR_RGBA& aC1, const COLOR_RGBA& aC2 )
{
const unsigned int r = aC1.r + aC2.r;
+3 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -60,6 +60,8 @@ union COLOR_RGBA
b = aB;
a = aA;
}
operator SFVEC4F() const;
};
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+10 -8
View File
@@ -3,7 +3,7 @@
*
* Copyright (C) 2020 Oleg Endo <olegendo@gcc.gnu.org>
* Copyright (C) 2015-2020 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -98,8 +98,8 @@ MODEL_3D::MODEL_3D( const S3DMODEL& a3DModel, MATERIAL_MODE aMaterialMode )
/**
* WARNING: Horrible hack here!
* Somehow, buffer values are being shared between pcbnew and the 3d viewer, which then frees
* the buffer, resulting in errors in pcbnew. To resolve this temporarily, we generate
* Somehow, buffer values are being shared between Pcbnew and the 3d viewer, which then frees
* the buffer, resulting in errors in Pcbnew. To resolve this temporarily, we generate
* extra buffers in 3dviewer and use the higher numbers. These are freed on close.
* todo: Correctly separate the OpenGL contexts to prevent overlapping buffer vals
*/
@@ -332,7 +332,8 @@ MODEL_3D::MODEL_3D( const S3DMODEL& a3DModel, MATERIAL_MODE aMaterialMode )
// temporary index buffer which will contain either GLushort or GLuint
// type indices. allocate with a bit of meadow at the end.
auto tmp_idx = std::make_unique<GLuint[]>( ( idx_size * total_index_count + 8 ) / sizeof( GLuint ) );
auto tmp_idx =
std::make_unique<GLuint[]>( ( idx_size * total_index_count + 8 ) / sizeof( GLuint ) );
unsigned int prev_vtx_count = 0;
unsigned int idx_offset = 0;
@@ -507,9 +508,9 @@ void MODEL_3D::Draw( bool aTransparent, float aOpacity, bool aUseSelectedMateria
{
for( const MODEL_3D::MATERIAL& mat : m_materials )
{
// There is at least one default material created in case a mesh has no declared materials.
// Most meshes have a material, so usually the first material will have nothing to render and is skip.
// See S3D::GetModel for more details.
// There is at least one default material created in case a mesh has no declared
// materials. Most meshes have a material, so usually the first material will have
// nothing to render and is skip. See S3D::GetModel for more details.
if( mat.m_render_idx_count == 0 )
{
continue;
@@ -535,7 +536,8 @@ void MODEL_3D::Draw( bool aTransparent, float aOpacity, bool aUseSelectedMateria
break;
case MATERIAL_MODE::DIFFUSE_ONLY:
OglSetDiffuseMaterial( mat->m_Diffuse, aOpacity, aUseSelectedMaterial, aSelectionColor );
OglSetDiffuseMaterial( mat->m_Diffuse, aOpacity, aUseSelectedMaterial,
aSelectionColor );
break;
case MATERIAL_MODE::CAD_MODE:
+3 -2
View File
@@ -3,7 +3,7 @@
*
* Copyright (C) 2020 Oleg Endo <olegendo@gcc.gnu.org>
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -146,7 +146,8 @@ private:
unsigned int m_render_idx_buffer_offset = 0;
unsigned int m_render_idx_count = 0;
BBOX_3D m_bbox; ///< bounding box for this material group, used for transparent material ordering
BBOX_3D m_bbox; ///< bounding box for this material group, used for transparent
///< material ordering.
MATERIAL( const SMATERIAL& aOther ) : SMATERIAL( aOther ) { }
bool IsTransparent() const { return m_Transparency > FLT_EPSILON; }
+33 -37
View File
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 2015-2023 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -476,13 +476,12 @@ void RENDER_3D_OPENGL::reload( REPORTER* aStatusReporter, REPORTER* aWarningRepo
m_antiBoardPolys.Append( VECTOR2I( -INT_MAX/2, INT_MAX/2 ) );
m_antiBoardPolys.Outline( 0 ).SetClosed( true );
m_antiBoardPolys.BooleanSubtract( m_boardAdapter.GetBoardPoly(),
SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
m_antiBoardPolys.BooleanSubtract( m_boardAdapter.GetBoardPoly() );
m_antiBoard = createBoard( m_antiBoardPolys );
SHAPE_POLY_SET board_poly_with_holes = m_boardAdapter.GetBoardPoly().CloneDropTriangulation();
board_poly_with_holes.BooleanSubtract( m_boardAdapter.GetTH_ODPolys(), SHAPE_POLY_SET::PM_FAST );
board_poly_with_holes.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys(), SHAPE_POLY_SET::PM_FAST );
board_poly_with_holes.BooleanSubtract( m_boardAdapter.GetTH_ODPolys() );
board_poly_with_holes.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys() );
m_boardWithHoles = createBoard( board_poly_with_holes );
@@ -495,8 +494,7 @@ void RENDER_3D_OPENGL::reload( REPORTER* aStatusReporter, REPORTER* aWarningRepo
SHAPE_POLY_SET outerPolyTHT = m_boardAdapter.GetTH_ODPolys().CloneDropTriangulation();
outerPolyTHT.BooleanIntersection( m_boardAdapter.GetBoardPoly(),
SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
outerPolyTHT.BooleanIntersection( m_boardAdapter.GetBoardPoly() );
m_outerThroughHoles = generateHoles( m_boardAdapter.GetTH_ODs().GetList(), outerPolyTHT,
1.0f, 0.0f, false, &m_boardAdapter.GetTH_IDs() );
@@ -569,35 +567,30 @@ void RENDER_3D_OPENGL::reload( REPORTER* aStatusReporter, REPORTER* aWarningRepo
if( m_boardAdapter.m_Cfg->m_Render.opengl_copper_thickness )
{
if( map_poly.find( layer ) != map_poly.end() )
if( map_poly.contains( layer ) )
{
polyListSubtracted = *map_poly.at( layer );
if( LSET::PhysicalLayersMask().test( layer ) )
{
polyListSubtracted.BooleanIntersection( m_boardAdapter.GetBoardPoly(),
SHAPE_POLY_SET::PM_FAST );
polyListSubtracted.BooleanIntersection( m_boardAdapter.GetBoardPoly() );
}
if( layer != B_Mask && layer != F_Mask )
{
polyListSubtracted.BooleanSubtract( m_boardAdapter.GetTH_ODPolys(),
SHAPE_POLY_SET::PM_FAST );
polyListSubtracted.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys(),
SHAPE_POLY_SET::PM_FAST );
polyListSubtracted.BooleanSubtract( m_boardAdapter.GetTH_ODPolys() );
polyListSubtracted.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys() );
}
if( m_boardAdapter.m_Cfg->m_Render.subtract_mask_from_silk )
{
if( layer == B_SilkS && map_poly.find( B_Mask ) != map_poly.end() )
if( layer == B_SilkS && map_poly.contains( B_Mask ) )
{
polyListSubtracted.BooleanSubtract( *map_poly.at( B_Mask ),
SHAPE_POLY_SET::PM_FAST );
polyListSubtracted.BooleanSubtract( *map_poly.at( B_Mask ) );
}
else if( layer == F_SilkS && map_poly.find( F_Mask ) != map_poly.end() )
else if( layer == F_SilkS && map_poly.contains( F_Mask ) )
{
polyListSubtracted.BooleanSubtract( *map_poly.at( F_Mask ),
SHAPE_POLY_SET::PM_FAST );
polyListSubtracted.BooleanSubtract( *map_poly.at( F_Mask ) );
}
}
@@ -614,29 +607,30 @@ void RENDER_3D_OPENGL::reload( REPORTER* aStatusReporter, REPORTER* aWarningRepo
if( m_boardAdapter.m_Cfg->m_Render.DifferentiatePlatedCopper() )
{
const SHAPE_POLY_SET* frontPlatedPadAndGraphicPolys = m_boardAdapter.GetFrontPlatedPadAndGraphicPolys();
const SHAPE_POLY_SET* backPlatedPadAndGraphicPolys = m_boardAdapter.GetBackPlatedPadAndGraphicPolys();
const SHAPE_POLY_SET* frontPlatedCopperPolys = m_boardAdapter.GetFrontPlatedCopperPolys();
const SHAPE_POLY_SET* backPlatedCopperPolys = m_boardAdapter.GetBackPlatedCopperPolys();
if( frontPlatedPadAndGraphicPolys )
if( frontPlatedCopperPolys )
{
SHAPE_POLY_SET poly = frontPlatedPadAndGraphicPolys->CloneDropTriangulation();
poly.BooleanIntersection( m_boardAdapter.GetBoardPoly(), SHAPE_POLY_SET::PM_FAST );
poly.BooleanSubtract( m_boardAdapter.GetTH_ODPolys(), SHAPE_POLY_SET::PM_FAST );
poly.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys(), SHAPE_POLY_SET::PM_FAST );
SHAPE_POLY_SET poly = frontPlatedCopperPolys->CloneDropTriangulation();
poly.BooleanIntersection( m_boardAdapter.GetBoardPoly() );
poly.BooleanSubtract( m_boardAdapter.GetTH_ODPolys() );
poly.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys() );
m_platedPadsFront = generateLayerList( m_boardAdapter.GetPlatedPadsFront(), &poly, F_Cu );
m_platedPadsFront = generateLayerList( m_boardAdapter.GetPlatedPadsFront(), &poly,
F_Cu );
// An entry for F_Cu must exist in m_layers or we'll never look at m_platedPadsFront
if( m_layers.count( F_Cu ) == 0 )
m_layers[F_Cu] = generateEmptyLayerList( F_Cu );
}
if( backPlatedPadAndGraphicPolys )
if( backPlatedCopperPolys )
{
SHAPE_POLY_SET poly = backPlatedPadAndGraphicPolys->CloneDropTriangulation();
poly.BooleanIntersection( m_boardAdapter.GetBoardPoly(), SHAPE_POLY_SET::PM_FAST );
poly.BooleanSubtract( m_boardAdapter.GetTH_ODPolys(), SHAPE_POLY_SET::PM_FAST );
poly.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys(), SHAPE_POLY_SET::PM_FAST );
SHAPE_POLY_SET poly = backPlatedCopperPolys->CloneDropTriangulation();
poly.BooleanIntersection( m_boardAdapter.GetBoardPoly() );
poly.BooleanSubtract( m_boardAdapter.GetTH_ODPolys() );
poly.BooleanSubtract( m_boardAdapter.GetNPTH_ODPolys() );
m_platedPadsBack = generateLayerList( m_boardAdapter.GetPlatedPadsBack(), &poly, B_Cu );
@@ -839,9 +833,9 @@ void RENDER_3D_OPENGL::generateViasAndPads()
}
// Subtract the holes
tht_outer_holes_poly.BooleanSubtract( tht_inner_holes_poly, SHAPE_POLY_SET::PM_FAST );
tht_outer_holes_poly.BooleanSubtract( tht_inner_holes_poly );
tht_outer_holes_poly.BooleanSubtract( m_antiBoardPolys, SHAPE_POLY_SET::PM_FAST );
tht_outer_holes_poly.BooleanSubtract( m_antiBoardPolys );
CONTAINER_2D holesContainer;
@@ -968,11 +962,13 @@ void RENDER_3D_OPENGL::load3dModels( REPORTER* aStatusReporter )
// Check if the fp_model is not present in our cache map
// (Not already loaded in memory)
if( m_3dModelMap.find( fp_model.m_Filename ) == m_3dModelMap.end() )
if( !m_3dModelMap.contains( fp_model.m_Filename ) )
{
// It is not present, try get it from cache
const S3DMODEL* modelPtr =
m_boardAdapter.Get3dCacheManager()->GetModel( fp_model.m_Filename, footprintBasePath, footprint );
m_boardAdapter.Get3dCacheManager()->GetModel( fp_model.m_Filename,
footprintBasePath,
footprint );
// only add it if the return is not NULL
if( modelPtr )
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -129,7 +129,7 @@ void TRIANGLE_DISPLAY_LIST::AddToMiddleContourns( const std::vector< SFVEC2F >&
{
if( aContournPoints.size() >= 4 )
{
// Calculate normals of each segment of the contourn
// Calculate normals of each segment of the contour
std::vector< SFVEC2F > contournNormals;
contournNormals.clear();
@@ -245,7 +245,7 @@ void TRIANGLE_DISPLAY_LIST::AddToMiddleContourns( const SHAPE_LINE_CHAIN& outlin
}
}
// Add first position fo the list to close the path
// Add first position of the list to close the path.
if( lastV != contournPoints[0] )
contournPoints.push_back( contournPoints[0] );
@@ -472,10 +472,10 @@ void OPENGL_RENDER_LIST::DrawAll( bool aDrawMiddle ) const
void OPENGL_RENDER_LIST::DrawCulled( bool aDrawMiddle,
const OPENGL_RENDER_LIST* aSubtractList,
const OPENGL_RENDER_LIST* bSubtractList,
const OPENGL_RENDER_LIST* cSubtractList,
const OPENGL_RENDER_LIST* dSubtractList ) const
const OPENGL_RENDER_LIST* aSubtractList,
const OPENGL_RENDER_LIST* bSubtractList,
const OPENGL_RENDER_LIST* cSubtractList,
const OPENGL_RENDER_LIST* dSubtractList ) const
{
glClearStencil( 0x00 );
glClear( GL_STENCIL_BUFFER_BIT );
@@ -502,8 +502,8 @@ void OPENGL_RENDER_LIST::DrawCulled( bool aDrawMiddle,
if( dSubtractList )
dSubtractList->DrawBot();
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
glEnable( GL_DEPTH_TEST );
glDepthMask( GL_TRUE );
glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );
glStencilFunc( GL_EQUAL, 0, 1 );
@@ -529,8 +529,8 @@ void OPENGL_RENDER_LIST::DrawCulled( bool aDrawMiddle,
if( dSubtractList )
dSubtractList->DrawTop();
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
glEnable( GL_DEPTH_TEST );
glDepthMask( GL_TRUE );
glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );
glStencilFunc( GL_NOTEQUAL, 2, 0x03 );
glStencilOp( GL_KEEP, GL_KEEP, GL_INCR );
@@ -584,11 +584,11 @@ void OPENGL_RENDER_LIST::SetItIsTransparent( bool aSetTransparent )
GLuint OPENGL_RENDER_LIST::generate_top_or_bot_seg_ends(
const TRIANGLE_LIST* aTriangleContainer, bool aIsNormalUp, GLuint aTextureId ) const
{
wxASSERT( aTriangleContainer != nullptr );
wxCHECK( aTriangleContainer != nullptr, 0 );
wxASSERT( ( aTriangleContainer->GetVertexSize() % 3 ) == 0 );
// Top and Bot dont have normals array stored in container
// Top and Bot don't have normals array stored in container
wxASSERT( aTriangleContainer->GetNormalsSize() == 0 );
if( ( aTriangleContainer->GetVertexSize() > 0 )
@@ -651,11 +651,11 @@ GLuint OPENGL_RENDER_LIST::generate_top_or_bot_seg_ends(
GLuint OPENGL_RENDER_LIST::generate_top_or_bot_triangles( const TRIANGLE_LIST* aTriangleContainer,
bool aIsNormalUp ) const
{
wxASSERT( aTriangleContainer != nullptr );
wxCHECK( aTriangleContainer != nullptr, 0 );
wxASSERT( ( aTriangleContainer->GetVertexSize() % 3 ) == 0 );
// Top and Bot dont have normals array stored in container
// Top and Bot dint have normals array stored in container
wxASSERT( aTriangleContainer->GetNormalsSize() == 0 );
if( ( aTriangleContainer->GetVertexSize() > 0 )
@@ -695,7 +695,7 @@ GLuint OPENGL_RENDER_LIST::generate_top_or_bot_triangles( const TRIANGLE_LIST* a
GLuint OPENGL_RENDER_LIST::generate_middle_triangles(
const TRIANGLE_LIST* aTriangleContainer ) const
{
wxASSERT( aTriangleContainer != nullptr );
wxCHECK( aTriangleContainer != nullptr, 0 );
// We expect that it is a multiple of 3 vertex
wxASSERT( ( aTriangleContainer->GetVertexSize() % 3 ) == 0 );
@@ -767,3 +767,5 @@ void OPENGL_RENDER_LIST::beginTransformation() const
glScalef( 1.0f, 1.0f, m_zScaleTransformation );
}
}
// LocalWords: EDA Luzeiro txt MERCHANTABILITY wxASSERT normals fo
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2020 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -36,6 +36,7 @@
#include <3d_math.h>
#include <glm/geometric.hpp>
#include <lset.h>
#include <pgm_base.h>
#include <math/util.h> // for KiROUND
#include <utility>
#include <vector>
@@ -270,9 +271,7 @@ void RENDER_3D_OPENGL::setupMaterials()
void RENDER_3D_OPENGL::setLayerMaterial( PCB_LAYER_ID aLayerID )
{
EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS& cfg = m_boardAdapter.m_Cfg->m_Render;
if( cfg.use_board_editor_copper_colors && IsCopperLayer( aLayerID ) )
if( m_boardAdapter.GetUseBoardEditorCopperLayerColors() && IsCopperLayer( aLayerID ) )
{
COLOR4D copper_color = m_boardAdapter.m_BoardEditorColors[aLayerID];
m_materials.m_Copper.m_Diffuse = SFVEC3F( copper_color.r, copper_color.g,
@@ -361,10 +360,34 @@ void RENDER_3D_OPENGL::setLayerMaterial( PCB_LAYER_ID aLayerID )
break;
default:
{
int layer3D = MapPCBLayerTo3DLayer( aLayerID );
// Note: MUST do this in LAYER_3D space; User_1..User_45 are NOT contiguous
if( layer3D >= LAYER_3D_USER_1 && layer3D <= LAYER_3D_USER_45 )
{
int user_idx = layer3D - LAYER_3D_USER_1;
m_materials.m_Plastic.m_Diffuse = m_boardAdapter.m_UserDefinedLayerColor[ user_idx ];
m_materials.m_Plastic.m_Ambient = SFVEC3F( m_materials.m_Plastic.m_Diffuse.r * 0.05f,
m_materials.m_Plastic.m_Diffuse.g * 0.05f,
m_materials.m_Plastic.m_Diffuse.b * 0.05f );
m_materials.m_Plastic.m_Specular = SFVEC3F( m_materials.m_Plastic.m_Diffuse.r * 0.7f,
m_materials.m_Plastic.m_Diffuse.g * 0.7f,
m_materials.m_Plastic.m_Diffuse.b * 0.7f );
m_materials.m_Plastic.m_Shininess = 0.078125f * 128.0f;
m_materials.m_Plastic.m_Emissive = SFVEC3F( 0.0f, 0.0f, 0.0f );
OglSetMaterial( m_materials.m_Plastic, 1.0f );
break;
}
m_materials.m_Copper.m_Diffuse = m_boardAdapter.m_CopperColor;
OglSetMaterial( m_materials.m_Copper, 1.0f );
break;
}
}
}
@@ -490,7 +513,7 @@ bool RENDER_3D_OPENGL::Redraw( bool aIsMoving, REPORTER* aStatusReporter,
// Careful here!
// We are in the middle of rendering and the reload method may show
// a dialog box that requires the opengl context for a redraw
GL_CONTEXT_MANAGER::Get().RunWithoutCtxLock( [this, aStatusReporter, aWarningReporter]()
Pgm().GetGLContextManager()->RunWithoutCtxLock( [this, aStatusReporter, aWarningReporter]()
{
reload( aStatusReporter, aWarningReporter );
} );
@@ -604,7 +627,7 @@ bool RENDER_3D_OPENGL::Redraw( bool aIsMoving, REPORTER* aStatusReporter,
if( layerFlags.test( LAYER_3D_BOARD ) && m_boardAdapter.m_BoardBodyColor.a > opacity_min )
{
// generating internal copper layers is time consumming. so skip them
// generating internal copper layers is time consuming. so skip them
// if the board body is masking them (i.e. if the opacity is near 1.0)
// B_Cu is layer 2 and all inner layers are higher values
if( layer > B_Cu && IsCopperLayer( layer ) )
@@ -715,7 +738,8 @@ bool RENDER_3D_OPENGL::Redraw( bool aIsMoving, REPORTER* aStatusReporter,
renderBoardBody( skipRenderHoles );
// Display transparent mask layers
if( layerFlags.test( LAYER_3D_SOLDERMASK_TOP ) || layerFlags.test( LAYER_3D_SOLDERMASK_BOTTOM ) )
if( layerFlags.test( LAYER_3D_SOLDERMASK_TOP )
|| layerFlags.test( LAYER_3D_SOLDERMASK_BOTTOM ) )
{
// add a depth buffer offset, it will help to hide some artifacts
// on silkscreen where the SolderMask is removed
@@ -765,7 +789,9 @@ bool RENDER_3D_OPENGL::Redraw( bool aIsMoving, REPORTER* aStatusReporter,
// Enables Texture Env so it can combine model transparency with each footprint opacity
glEnable( GL_TEXTURE_2D );
glActiveTexture( GL_TEXTURE0 );
glBindTexture( GL_TEXTURE_2D, m_circleTexture ); // Uses an existent texture so the glTexEnv operations will work
// Uses an existent texture so the glTexEnv operations will work.
glBindTexture( GL_TEXTURE_2D, m_circleTexture );
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
glTexEnvf( GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE );
@@ -984,7 +1010,8 @@ void RENDER_3D_OPENGL::get3dModelsSelected( std::list<MODELTORENDER> &aDstRender
const bool isFlipped = fp->IsFlipped();
if( aGetTop == !isFlipped || aGetBot == isFlipped )
get3dModelsFromFootprint( aDstRenderList, fp, aRenderTransparentOnly, highlight );
get3dModelsFromFootprint( aDstRenderList, fp, aRenderTransparentOnly,
highlight );
}
}
}
@@ -1045,7 +1072,8 @@ void RENDER_3D_OPENGL::get3dModelsFromFootprint( std::list<MODELTORENDER> &aDstR
glm::mat4 modelworldMatrix = fpMatrix;
const SFVEC3F offset = SFVEC3F( sM.m_Offset.x, sM.m_Offset.y, sM.m_Offset.z );
const SFVEC3F rotation = SFVEC3F( sM.m_Rotation.x, sM.m_Rotation.y, sM.m_Rotation.z );
const SFVEC3F rotation = SFVEC3F( sM.m_Rotation.x, sM.m_Rotation.y,
sM.m_Rotation.z );
const SFVEC3F scale = SFVEC3F( sM.m_Scale.x, sM.m_Scale.y, sM.m_Scale.z );
std::vector<float> key = { offset.x, offset.y, offset.z,
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2016-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2016-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2020-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -848,7 +848,7 @@ BVHBuildNode *BVH_PBRT::emitLBVH( BVHBuildNode* &buildNodes,
while( searchStart + 1 != searchEnd )
{
wxASSERT(searchStart != searchEnd);
wxASSERT( searchStart != searchEnd );
const int mid = ( searchStart + searchEnd ) / 2;
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2020 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2015-2020 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -3,7 +3,7 @@
*
* Copyright (C) 2015-2022 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 2023 CERN
* Copyright (C) 2015-2024 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -67,18 +67,22 @@ static float TransparencyControl( float aGrayColorValue, float aTransparency )
}
/**
* Scale conversion from 3d model units to pcb units
*/
* Scale conversion from 3d model units to pcb units
*/
#define UNITS3D_TO_UNITSPCB ( pcbIUScale.IU_PER_MM )
void RENDER_3D_RAYTRACE_BASE::setupMaterials()
{
MATERIAL::SetDefaultRefractionRayCount( m_boardAdapter.m_Cfg->m_Render.raytrace_nrsamples_refractions );
MATERIAL::SetDefaultReflectionRayCount( m_boardAdapter.m_Cfg->m_Render.raytrace_nrsamples_reflections );
MATERIAL::SetDefaultRefractionRayCount(
m_boardAdapter.m_Cfg->m_Render.raytrace_nrsamples_refractions );
MATERIAL::SetDefaultReflectionRayCount(
m_boardAdapter.m_Cfg->m_Render.raytrace_nrsamples_reflections );
MATERIAL::SetDefaultRefractionRecursionCount( m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_refractions );
MATERIAL::SetDefaultReflectionRecursionCount( m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_reflections );
MATERIAL::SetDefaultRefractionRecursionCount(
m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_refractions );
MATERIAL::SetDefaultReflectionRecursionCount(
m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_reflections );
double mmTo3Dunits = pcbIUScale.IU_PER_MM * m_boardAdapter.BiuTo3dUnits();
@@ -177,8 +181,8 @@ void RENDER_3D_RAYTRACE_BASE::setupMaterials()
void RENDER_3D_RAYTRACE_BASE::createObject( CONTAINER_3D& aDstContainer, const OBJECT_2D* aObject2D,
float aZMin, float aZMax, const MATERIAL* aMaterial,
const SFVEC3F& aObjColor )
float aZMin, float aZMax, const MATERIAL* aMaterial,
const SFVEC3F& aObjColor )
{
switch( aObject2D->GetObjectType() )
{
@@ -415,8 +419,8 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
buildBoardBoundingBoxPoly( m_boardAdapter.GetBoard(), antiboardPoly );
antiboardPoly.BooleanSubtract( boardPolyCopy, SHAPE_POLY_SET::PM_FAST );
antiboardPoly.Fracture( SHAPE_POLY_SET::PM_FAST );
antiboardPoly.BooleanSubtract( boardPolyCopy );
antiboardPoly.Fracture();
for( int ii = 0; ii < antiboardPoly.OutlineCount(); ii++ )
{
@@ -427,9 +431,9 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
m_antioutlineBoard2dObjects->BuildBVH();
boardPolyCopy.Fracture( SHAPE_POLY_SET::PM_FAST );
boardPolyCopy.Fracture();
for( int ii = 0; ii < outlineCount; ii++ )
for( int ii = 0; ii < boardPolyCopy.OutlineCount(); ii++ )
{
ConvertPolygonToBlocks( boardPolyCopy, *m_outlineBoard2dObjects,
m_boardAdapter.BiuTo3dUnits(), divFactor,
@@ -541,7 +545,8 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
radius );
objPtr->SetMaterial( &m_materials.m_EpoxyBoard );
objPtr->SetColor( ConvertSRGBToLinear( m_boardAdapter.m_BoardBodyColor ) );
objPtr->SetColor(
ConvertSRGBToLinear( m_boardAdapter.m_BoardBodyColor ) );
m_objectContainer.Add( objPtr );
}
@@ -560,7 +565,8 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
aStatusReporter->Report( _( "Load Raytracing: layers" ) );
// Add layers maps (except B_Mask and F_Mask)
for( const std::pair<const PCB_LAYER_ID, BVH_CONTAINER_2D*>& entry : m_boardAdapter.GetLayerMap() )
for( const std::pair<const PCB_LAYER_ID, BVH_CONTAINER_2D*>& entry :
m_boardAdapter.GetLayerMap() )
{
const PCB_LAYER_ID layer_id = entry.first;
const BVH_CONTAINER_2D* container2d = entry.second;
@@ -626,7 +632,15 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
break;
default:
if( m_boardAdapter.m_Cfg->m_Render.differentiate_plated_copper )
{
int layer3D = MapPCBLayerTo3DLayer( layer_id );
// Note: MUST do this in LAYER_3D space; User_1..User_45 are NOT contiguous
if( layer3D >= LAYER_3D_USER_1 && layer3D <= LAYER_3D_USER_45 )
{
layerColor = m_boardAdapter.m_UserDefinedLayerColor[ layer3D - LAYER_3D_USER_1 ];
}
else if( m_boardAdapter.m_Cfg->m_Render.differentiate_plated_copper )
{
layerColor = SFVEC3F( 184.0f / 255.0f, 115.0f / 255.0f, 50.0f / 255.0f );
materialLayer = &m_materials.m_NonPlatedCopper;
@@ -639,6 +653,7 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
break;
}
}
createItemsFromContainer( container2d, layer_id, materialLayer, layerColor, 0.0f );
} // for each layer on map
@@ -667,7 +682,8 @@ void RENDER_3D_RAYTRACE_BASE::Reload( REPORTER* aStatusReporter, REPORTER* aWarn
{
const MATERIAL* materialLayer = &m_materials.m_SolderMask;
for( const std::pair<const PCB_LAYER_ID, BVH_CONTAINER_2D*>& entry : m_boardAdapter.GetLayerMap() )
for( const std::pair<const PCB_LAYER_ID, BVH_CONTAINER_2D*>& entry :
m_boardAdapter.GetLayerMap() )
{
const PCB_LAYER_ID layer_id = entry.first;
const BVH_CONTAINER_2D* container2d = entry.second;
@@ -1193,7 +1209,8 @@ void RENDER_3D_RAYTRACE_BASE::addPadsAndVias()
}
void RENDER_3D_RAYTRACE_BASE::load3DModels( CONTAINER_3D& aDstContainer, bool aSkipMaterialInformation )
void RENDER_3D_RAYTRACE_BASE::load3DModels( CONTAINER_3D& aDstContainer,
bool aSkipMaterialInformation )
{
if( !m_boardAdapter.GetBoard() )
return;
@@ -1249,6 +1266,7 @@ void RENDER_3D_RAYTRACE_BASE::load3DModels( CONTAINER_3D& aDstContainer, bool aS
wxString libraryName = fp->GetFPID().GetLibNickname();
wxString footprintBasePath = wxEmptyString;
if( m_boardAdapter.GetBoard()->GetProject() )
{
try
@@ -1269,6 +1287,9 @@ void RENDER_3D_RAYTRACE_BASE::load3DModels( CONTAINER_3D& aDstContainer, bool aS
for( FP_3DMODEL& model : fp->Models() )
{
if( !model.m_Show || model.m_Filename.empty() )
continue;
// get it from cache
const S3DMODEL* modelPtr =
cacheMgr->GetModel( model.m_Filename, footprintBasePath, fp );
@@ -1409,8 +1430,8 @@ MODEL_MATERIALS* RENDER_3D_RAYTRACE_BASE::getModelMaterial( const S3DMODEL* a3DM
void RENDER_3D_RAYTRACE_BASE::addModels( CONTAINER_3D& aDstContainer, const S3DMODEL* a3DModel,
const glm::mat4& aModelMatrix, float aFPOpacity,
bool aSkipMaterialInformation, BOARD_ITEM* aBoardItem )
const glm::mat4& aModelMatrix, float aFPOpacity,
bool aSkipMaterialInformation, BOARD_ITEM* aBoardItem )
{
// Validate a3DModel pointers
wxASSERT( a3DModel != nullptr );
+10 -5
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2017 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -42,10 +42,15 @@ void FRUSTUM::GenerateFrustum( const RAY& topLeft, const RAY& topRight, const RA
m_point[2] = bottomLeft.m_Origin;
m_point[3] = topLeft.m_Origin;
m_normals[0] = glm::cross( topRight.m_Dir, topLeft.m_Dir ); // TOP
m_normals[1] = glm::cross( bottomRight.m_Dir, topRight.m_Dir ); // RIGHT
m_normals[2] = glm::cross( bottomLeft.m_Dir, bottomRight.m_Dir ); // BOTTOM
m_normals[3] = glm::cross( topLeft.m_Dir, bottomLeft.m_Dir ); // LEFT
SFVEC3F tl_tr = topRight.m_Origin - topLeft.m_Origin;
SFVEC3F tr_br = bottomRight.m_Origin - topRight.m_Origin;
SFVEC3F br_bl = bottomLeft.m_Origin - bottomRight.m_Origin;
SFVEC3F bl_tl = topLeft.m_Origin - bottomLeft.m_Origin;
m_normals[0] = glm::cross( tl_tr, topLeft.m_Dir ); // TOP
m_normals[1] = glm::cross( tr_br, topRight.m_Dir ); // RIGHT
m_normals[2] = glm::cross( br_bl, bottomRight.m_Dir ); // BOTTOM
m_normals[3] = glm::cross( bl_tl, bottomLeft.m_Dir ); // LEFT
}
+1 -1
View File
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2015-2016 Mario Luzeiro <mrluzeiro@ua.pt>
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License

Some files were not shown because too many files have changed in this diff Show More