Commit Graph

68 Commits

Author SHA1 Message Date
Damjan Prerad 700df8720d DRC Rule Editor: Fix soldermask 'silver' typo to 'sliver' in DRC Rule Editor 2026-03-05 14:30:48 +01:00
Seth Hillbrand 314429373c pcbnew: Update zone manager
Update zone manager to improve usability. Filter zones based on layers,
provide move to top/move to bottom actions, global arrow key navigation,
zoom preservation across zone switches, right-click zoom-to-fit on the
preview canvas, and pixel-aligned icons for top/bottom move buttons.
2026-03-01 22:07:19 -08:00
Damjan Prerad c753d6cd34 DRC Rule Editor: Add skew field to matched length diff pair constr.
The matched length diff pair panel had skew data in the constraint class
but no UI field to display or edit it. Added a dedicated overlay panel
with min/opt/max length plus max skew fields, a new bitmap showing a
diff pair with length arrows and skew indicator.
2026-03-01 12:14:16 +01:00
Seth Hillbrand 930dc9933c Update bitmaps 2026-02-24 10:28:11 -08:00
Damjan Prerad ea06a64cdd DRC Rule Editor: Remove duplicate hole-to-hole clearance constraint
Remove HOLE_TO_HOLE_CLEARANCE from the rule editor as it generates the same
DRC rule as HOLE_TO_HOLE_DISTANCE.
2026-02-24 17:26:37 +01:00
Damjan Prerad 7cd08db76b DRC Rule Editor: Consolidate uVia constraints into Via Style panel
Merge Minimum uVia Hole and Minimum uVia Diameter constraints
into the existing Via Style panel. Remove unused optimum/preferred
diameter and hole size fields.

Add a via type dropdown (Any/Through/Micro/Blind/Buried) used to
generate the appropriate A.Via_Type condition clause in the DRC.
Strip the via type condition on rule load to prevent duplication
on save cycles.
2026-02-24 15:46:49 +01:00
Damjan Prerad e46f56f120 DRC Rule Editor: Rename 'Minimum through hole' to 'Minimum drill size' and update constraint bitmaps
Update constraint SVG source files to use the standard KiCad color
palette, reposition textboxes, and add missing eda_text.h include
in toolbars_pcb_editor.cpp
2026-02-22 23:45:18 +01:00
Damjan Prerad 0d924b5bdd Remove redundant DRC rule editor panels and rename silk clearance bitmap
Remove MINIMUM_TRACK_WIDTH, BASIC_CLEARANCE, BOARD_OUTLINE_CLEARANCE,
and MINIMUM_ITEM_CLEARANCE panels from the DRC rule editor. These were
redundant with ROUTING_WIDTH, MINIMUM_CLEARANCE, COPPER_TO_EDGE_CLEARANCE,
and SILK_TO_SILK_CLEARANCE respectively. Rename the minimum_item_clearance
bitmap to silk_to_silk_clearance and assign it to the silk clearance panel.
Revert matcher claim changes for HOLE_SIZE and MINIMUM_VIA_DIAMETER.
2026-02-20 20:00:47 +01:00
Seth Hillbrand ef460a09cc Add missing light-theme constraint bitmaps
Register four constraint bitmaps in bitmap_info.cpp
that had dark-theme entries but were missing their
light-theme counterparts: basic_clearance,
board_outline_clearance, hole_to_hole_clearance, and
matched_length_diff_pair. Add the corresponding light
SVG sources and remove a duplicate CMakeLists entry
for constraint_hole_to_hole_clearance.
2026-02-16 15:44:37 -08:00
Seth Hillbrand 0c3072f09a Fix Inkscape build for dbus 2026-02-15 14:02:20 -08:00
Seth Hillbrand 7bfd1ecf80 Update themed svgs 2026-02-15 14:01:18 -08:00
Seth Hillbrand 7f1c286312 Add CSV file type icon to project tree
CSV files now display with a dedicated icon in the project tree
instead of the generic unknown file icon. The icon shows a file
shape with a grid pattern representing tabular data.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21250
2026-01-28 18:30:31 -08:00
Seth Hillbrand a3a12399f2 Add graphical editor for custom design rules 2026-01-12 21:42:45 -08:00
jean-pierre charras d16e59b214 Bitmaps: add missing add_barcode_xx png 2025-09-27 09:57:03 +02:00
John Beard e016dc52fd Pcbnew: Add concept of a 'point'
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.

Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.

They also have a layer, which allows them to be selected and
made visible according to layer filters.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
2025-09-01 23:44:21 +08:00
Seth Hillbrand 26f0c03e61 ADDED: support for 45 degree crosshairs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6047
2025-08-23 06:20:00 -07:00
Seth Hillbrand 065748213e Update lasso icon 2025-08-06 16:07:43 -07:00
aris-kimi 0cf866d4fb Inline static bool Fp/3Dmode members to remember panel layout
Layout is remembered for Schematic/Symbol Editors and Footprint Chooser frames until KiCad restarts

Also Added a new button toggle to show/hide the description panel with some new images too


Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17610
2025-05-20 16:16:01 -07:00
JamesJCode aac9731852 Refactor PCB calcs to common library, and add coupled stripline
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16863
2025-04-25 23:27:52 +01:00
Seth Hillbrand 56ca054c0d Add new table icon
Replace a couple uses of the old spreadsheet
2025-02-01 09:53:12 -06: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 683be91b60 Adding new icons 2025-01-29 05:42:57 -06: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
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
jean-pierre charras 4a0f111fd6 Eeschema: add bitmap to tool Increment Annotations From... 2024-09-30 11:00:43 +02:00
jean-pierre charras e2282a4af8 Minor cosmetic enhancement: add icon to Revert and Generate Legacy BOM tools 2024-09-27 13:34:20 +02:00
jean-pierre charras 51d615d30d Minor cosmetic enhancement: add icon to "Create Outsets from Selection" tool 2024-09-26 20:13:43 +02:00
Eric 1506beecbc Implement ODB++ export
ADDED: Add support in Pcbnew for exporting ODB++ files under Fabrication
       Outputs, base on ODB++Design Format Specification (Release v8.1
       Update 3 February 2021).

Note: There is still a lot of work to do if we will make the feature as
      complete as the ODB++ spec.  However, the current functionality's
      completeness is already sufficient to cover general production
      scenarios. I have compared the output results with Gerber files by
      DFM tool and the accuracy at the graphic level should be able to
      cover most usage scenarios.  Additionally, I am very grateful to
      the great open-source project Horizon EDA for giving me a lot of
      inspiration in terms of ideas.

The feature can be enabled by adding "EnableODB=1" to the kicad_advanced
configuration file.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2019
2024-09-14 15:34:51 +00:00
James J 7ce00e511b Multi-netclass support 2024-07-26 20:49:29 +00:00
jean-pierre charras b20a32f2fd bitmap_info.xxx: add comments to try to avoid issues like 8b1e971f
No actual code change
2024-06-08 20:18:11 +02:00
jean-pierre charras 8b1e971f29 bitmap_info.cpp: fix a crash when opening the simulator frame.
It was due to missing bitmaps, used in simulator frame horizontal toolbar.
They were removed probably by mistake in commit 0e66adbc
2024-06-07 11:13:58 +02:00
Alex Shvartzkop 6eb8bf3d39 Add hidpi PCM icons for launcher panel. 2024-05-26 08:05:25 +03:00
Alex Shvartzkop 0e66adbca1 Generate hidpi variants for mid size (_24) application icons. 2024-05-26 08:05:25 +03:00
John Beard fa7e842c8c Rework item distribution
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.

The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.

The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.

This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.

Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
2024-05-05 03:35:09 +08:00
ecorm 16de0a666c Horizontal/vertical zoom for Simulator plots
ADDED: Horizontal/vertical zoom for simulator plots, via mouse wheel,
toolbar buttons, menu commands, and hotkeys.

ADDED: Simulator preferences panel, populated with mouse wheel
and trackpad settings that control pan and zoom of simulator plots.

ADDED: Zoom In/Out Horizontally/Vertically commands that can be bound
to hotkeys.

CHANGED: Simulator plot scroll wheel gestures are no longer hard-coded
and can now be configured via the new Simulator preferences panel.

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

Other unreported bugs that were fixed:

- Fixed wierd, jumpy simulator plot view limiting behavior.

- Fixed Zoom In Center and Zoom Out Center commands not preserving
  the simulator plot center point.

- Fixed simulator plot nudging when exported as PNGs.

- Fixed rectangular selection zoom being able to exceed simulator plot
  view limits.

Notes:

- Provided new SIM_PREFERENCES struct to be used for future
  simulator preferences set via the simulator preferences dialog.

- Bundled pre-existing EESCHEMA_SETTINGS::SIMULATOR settings into
  EESCHEMA_SETTINGS::SIMULATOR::VIEW.

- Replaced mpWindow::EnableMouseWheelPan with more general
  SetMouseWheelActions.

- Refactored and tidied up wxMathPlot's mpWindow code involved with
  fitting, zooming, and panning.

- Consolidated long lists of duplicated member variable initializers to
  a new mpWindow private delegated constructor.

- Provided provisional Zoom In/Out Horizontally/Vertically toolbar
  icons that need improvement by a graphics designer.

- Provided gitignore entries for the Qt Creator IDE
2024-03-10 12:43:18 +00:00
Seth Hillbrand af02650689 Correct length tuning graphics
Resolved the differences between light and dark modes.
Unified the style with the teardrops panel.
Reduced size to 156px tall
Added HiDPI version
Aligned the start/end tracks vertically
Radius is measured to centerline for single
Radius is measured to midpoint between diff pairs
Spacing is measured to interior track centerline
Amplitude is measured to interior track centerline
2024-02-20 12:06:12 -08:00
Seth Hillbrand 421b95d1fa Update teardrop graphics
Make sure that 'w' is on the minor axis of the pad attachment
Change track ends to "wave" denoting that they continue
Standardize size for each at 275x130px
Add 2x HiDPI version
2024-02-19 17:08:56 -08:00
Seth Hillbrand f303996f9c Add new icons for tools
Align elements to grid
Cleanup graphics
Cleanup tracks/vias
Drag

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16205
2024-02-09 15:55:57 -08:00
Seth Hillbrand cabbab9a5f Move pcbnew drag to move specific icon 2024-02-09 15:55:57 -08:00
Seth Hillbrand 71992b3637 Add new icons to build list 2024-01-22 15:24:00 -08:00
Marek Roszko f20e8a6e41 Add 256x256 program icon pngs 2024-01-16 17:21:44 -05:00
jean-pierre charras 998a03f005 fix missing icons
Fixes #16171
https://gitlab.com/kicad/code/kicad/-/issues/16171
2023-11-27 09:10:00 +01:00
Seth Hillbrand 75c6b0ab28 Added IPC2581 support
IPC2581 is a modern production file exchange system.  It provides
single-file data output for an entire board including BOM and netlist
information.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
jean-pierre charras ad70b50046 Add missing icons.
Fixes #16163
https://gitlab.com/kicad/code/kicad/-/issues/16163
2023-11-26 15:18:37 +01:00
Jon Evans 47e25d617e ADDED: Icon scaling for toolbars only
Unlike the old "icon scale" (that actually scaled all bitmaps)
this one actually changes the toolbar size while making use
of the new bitmap bundle functionality

Add more resolutions for all tool icon bitmaps

Wouldn't want Mark's eyes to bleed
2023-10-22 14:02:06 -04:00
Jon Evans eb5b3db063 Add bitmap bundle support to BITMAP_SCALE
Change a bunch of buttons and toolbars to use it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Seth Hillbrand d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Alex Shvartzkop be1008cbd8 ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog. 2023-10-17 10:29:43 +03:00
John Beard 311f041421 ADDED: Polygon boolean operations in PCB editor
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,

For now, this only supports polygons made of straight lines.

There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025
2023-10-01 00:10:10 +01:00
Marek Roszko 5319316815 Enhance the status bar with background progress and notifications 2023-08-04 22:06:08 -04:00