237 Commits

Author SHA1 Message Date
Jeff Young
cf5c00bcf2 Make more use of shared dialogs. 2025-08-10 21:32:10 +01:00
Jeff Young
5dabfaf26e Remove more old open-coded dialog state saving.
(State saving is now handled uniformly in DIALOG_SHIM.)
2025-08-09 16:11:36 +01:00
Mark Roszko
4b70e20250 Add support for check zones before plot to plot jobsets 2025-07-30 20:49:07 -04:00
Jeff Young
1291880f7c Quiet Coverity. 2025-06-23 10:44:43 -06:00
Mark Roszko
ce545f4d6c ADDED: Ability to set a PDF background color for PCB plots
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20873
2025-06-19 19:34:31 -04:00
Jeff Young
18e107529a Don't force callers of GetAppSettings to implement exception processing. 2025-06-14 20:25:59 +01:00
Jeff Young
8968ff62e3 Remove dead code. 2025-06-08 16:33:05 +01:00
Jeff Young
5e6ef67fce Plot drill marks on mask layers if the pad exists there.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20859
2025-05-10 19:07:13 +01:00
Jeff Young
34139ae305 Push generalised sketch-mode support down into DXF_PLOTTER. 2025-05-10 17:31:59 +01:00
Jeff Young
c452fe9686 REMOVED: HPGL plotting.
Its sketch-mode greatly complicates the plotting
code and it is poorly maintained due to lack of
use.
2025-05-10 17:31:59 +01:00
Salvador E. Tropea
1c07703851 Add "scale" option to "pcb export plotter" CLI and JOB
- Not for gerbers
- DXF, HPGL, PDF, PS and SVG
- Remove the GUI limitation that prevented the use of border & title when
  using a scale != 1
2025-05-06 16:32:53 +00:00
Salvador E. Tropea
c528f3c605 Add HPGL job support
- kicad-cli pcb export hpgl
- "Export HPGL" job
2025-04-28 23:05:45 +00:00
Salvador E. Tropea
a590d28c8e ADDED: Postscript job support 2025-04-23 13:41:00 +00: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
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
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
b6743653f3 Restore the page size mode behavior
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20014
2025-03-03 23:15:32 -05: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
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
f724dab4b2 Fix build. 2025-02-03 22:15:56 +00: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
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
e7bb7592a2 Kill the MRU in pcb plot when jobing 2025-01-16 21:31:15 -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
Marek Roszko
4cfd6f71e5 Fix plot job paths not saving 2025-01-11 19:05:44 -05:00
Marek Roszko
afe7c893d5 Squash dxf job path for single/multi like svg 2025-01-09 23:43:40 -05:00
Marek Roszko
ecfc868832 Combine/move svg plot job to single path 2025-01-09 21:21:09 -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
jean-pierre charras
7f114d737e Fix missing switch to "C" locale before plotting board files. 2025-01-04 17:28:49 +01: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
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
Jeff Young
c5ae32c51c Auto-edit job properties and then description after creation. 2025-01-01 19:17:11 +00:00
Jeff Young
d7eed69831 Job-specific option dialog titles. 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
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
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
Marek Roszko
17a1706257 ADDED: "Single document" PDF plot option for PCB plots 2024-12-30 23:51:42 -05: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
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
Marek Roszko
92404b33f0 Save 2 additional params for plotting jobs 2024-12-26 13:18:04 -05:00
Marek Roszko
af8f25875b Get the pcb plot dialog hooked up to jobs editing 2024-12-09 07:17:38 -05:00
Jeff Young
753d385473 Reduce dependency on dynamic_cast.
Also switches to checking __clang__ instead of __WXMAC__.
2024-12-08 21:46:54 +00:00
IkomaSo
f5765bac7f Added a button to open output directory in plot dialog
Shows a bitmap button next to the output location string, allowing the user to quickly view the generated file location

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17659
2024-10-27 23:33:24 +00:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00
Seth Hillbrand
5e0abadb23 Reorganize layer numbering
F_Cu = 0
B_Cu = 2
Remaining internal copper layers are even and incrementing

Non-copper layers are odd and incrementing.

This means that we can no longer do things like:
for( PCB_LAYER_ID layer = F_Cu; layer <= B_Cu; ++layer)
Instead, we have the class LAYER_RANGE:
for( PCB_LAYER_ID layer : LAYER_RANGE( F_Cu, B_Cu) )

Similarly, gt/lt tests should not refer to the integer value of the
layer.  We have functions such as IsCopperLayer to test whether a layer
is copper or not.

When using the connectivity RTree, the third dimension is layer, so we
provide B_Cu with the special INT_MAX value, ensuring that elements
between F_Cu and B_Cu will be identified.  There is a new, special
function GetBoardLayer() for interfacing with CN_ITEMS

Similarly, PNS layers remain unchanged and sequential.  A set of
interface functions is provided to map PNS layers to Board layers and
back.  This allows the PNS_LAYER_RANGE to function as expected
2024-09-06 23:07:58 +00:00