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 #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
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 #542006 .
...
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 #542006 .
...
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 #19522 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