7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-11 00:30:01 +00:00
Commit Graph

10599 Commits

Author SHA1 Message Date
Jeff Young
0d6838b803 Add support for mixed-state checkboxes in grids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17730
2025-03-21 13:49:07 +00:00
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
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 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
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
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
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
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
4cb234862c Fix Coverity issue .
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=542006
2025-03-19 12:07:05 -04: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
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
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 .
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=542006
2025-03-17 13:30:41 -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
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
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
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
f33f10bb38 User-defined layers for 3D viewer. 2025-03-15 16:14:33 +00: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
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
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
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
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
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
e5bedd937c Formatting. 2025-03-12 10:21:59 +00: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
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
b11b1a6f72 Ease in a bit more fmt::format(). 2025-03-11 10:08:04 +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
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
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
Seth Hillbrand
4ef81ee3ea Revert "Remove prototype zone fill option"
This reverts commit 3f17aabcd0.
2025-03-07 15:25:13 -08:00
Seth Hillbrand
3f17aabcd0 Remove prototype zone fill option
This option is not exposed in the UI or advanced config and duplicates
the action of changing the zone fill type and creates additional ways
that boards can be modified by local, non-board settings.
2025-03-07 13:45:40 -08:00
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
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
Marek Roszko
c92014f759 Move DXF_PLOTTER to fmtlib 2025-03-06 07:26:47 -05: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
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
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
Marek Roszko
4f4ece61bb Move the fp svg cli to more similar plot code 2025-03-04 23:01:00 -05: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
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
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
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
Jeff Young
3960480819 Fix SCH plot to PDF for jobsets.
(Fix for CLI bug  broke it for jobsets.)
2025-03-03 21:38:14 +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
Jeff Young
46378dc760 Dirty hatching from SwapShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20180
2025-03-03 10:35:05 +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
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
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
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
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
f951497a4f Code brevity. 2025-03-01 21:58:31 +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
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
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
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
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
784246575b Move footprint viewer/cvpcb actions to tool framework 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
fc6f3f2332 Formatting tweak 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
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