Commit Graph

7133 Commits

Author SHA1 Message Date
Jeff Young ceceda37cc No more long-lived parsers.
We've had too many bugs from improper re-initialization.

Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +00:00
Jeff Young 6c05e5d1a8 Implement user viewports.
ADDED popup to Appearances palette where users can define viewports
for later selection.

Fixes https://gitlab.com/kicad/code/kicad/issues/2271
2021-12-24 17:11:14 +00:00
Jeff Young 9de62d1dd4 Promote to cell selection for spreadsheet-style paste.
Fixes https://gitlab.com/kicad/code/kicad/issues/9211
2021-12-24 16:29:23 +00:00
Jeff Young 889970a449 SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young b7e196b710 ADDED assertion constraints for user-defined DRC checks. 2021-12-24 16:13:18 +00:00
Jeff Young 9ee28ea8f5 Flatten out some more preferences. 2021-12-24 15:43:20 +00:00
Jeff Young 5f37c2b247 Custom rule severities.
ADDED severity token to custom rule syntax.  Each rule can now define
its own severity.

Fixes https://gitlab.com/kicad/code/kicad/issues/6148
2021-12-24 15:42:22 +00:00
Jeff Young d28714167c All the preferences, all the time.
Fixes https://gitlab.com/kicad/code/kicad/issues/7877

Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young f1410f0240 Line styles for PCBNew shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/2150
2021-12-24 12:36:59 +00:00
Jeff Young e92efebb5f Formatting. 2021-12-24 11:39:57 +00:00
Jeff Young 150dedbb83 Add dash-dot-dot lines for HPGL.
Also converts HPGL line types to fixed (rather than adaptive).  Varying
the pattern to fit each segment is going to look bad most of the time,
but particularly when stroking arcs or circles where HPGL will try to
repeat it for each chord segment.
2021-12-23 23:48:01 +00:00
Jeff Young 3f64b69917 Mechanical clearance rules.
ADDED mechanical_clearance and mechanical_hole_clearance constraints.

Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:21 +00:00
Jeff Young a48867ea01 Solder mask integrity testing.
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.

Fixes https://gitlab.com/kicad/code/kicad/issues/2183

Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young 533276e6b6 Copper sliver checking.
ADDED DRCE_COPPER_SLIVER DRC error.
ADDED ADVANCED_CFG DRCSliverWidthTolerance and DRCSliverAngleTolerance.

Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:05 +00:00
Jeff Young a1e3f2b188 Starved thermals DRC checking.
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.

Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00
Jeff Young 32721755bf Hook up zone-pad connections to custom rules.
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.

ADDED angle override for thermal relief spokes in Pad Properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young 28b279cb2d Units cleanup.
It's 2021.  Time to move beyond ASCII.  This also makes spacing of
units consistent (space before abbreviated units, no space before
symbolic units).
2021-12-23 22:17:10 +00:00
Jeff Young 295a6408c3 User-configureable dash styles (and dash-dot-dot).
ADDED: Schematic Setup properties for dash length and gap length.
ADDED: dash-dot-dot line style

Fixes https://gitlab.com/kicad/code/kicad/issues/2206
2021-12-23 20:36:24 +00:00
Jeff Young e26341d424 Cleanup. 2021-12-23 20:36:18 +00:00
Jeff Young 2bc86fa0a8 Shapes for schematic.
ADDED arc, circle and rectangle shapes for schematic.  Shapes support
line styles and fill colors.

CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).

Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young 4b6bf3095a Radial dimensions.
ADDED radial type dimensions.

Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
Jeff Young 2001d08186 Add DRC tests for text height and text thickness.
Fixes https://gitlab.com/kicad/code/kicad/issues/8683
2021-12-23 19:18:45 +00:00
Jeff Young f089cf44a7 Allow a 0 pin-symbol-size.
This is particularly important when reading legacy projects as 0 is
what signals the painter to use the old algorithm (1/2 pin name/number
size).

Fixes https://gitlab.com/kicad/code/kicad/issues/10100
2021-12-23 16:54:03 +00:00
Jeff Young 6e2460ad37 Add hot-updating of units in common wxGrids.
Fixes https://gitlab.com/kicad/code/kicad/issues/10020
2021-12-23 16:54:03 +00:00
Mikolaj Wielgus 2ecd5ac909 Fix calculation of selection center
Fixes https://gitlab.com/kicad/code/kicad/issues/9998
2021-12-16 08:13:52 +01:00
Seth Hillbrand 9e6538b9a0 Revert accidental tilde change
Our baseline script to generate the font seems to shift the tilde down
by half a cell.  Unclear why but we shouldn't be changing the position
between versions.

Reference https://gitlab.com/kicad/code/kicad/-/issues/4396
2021-12-15 19:28:12 -08:00
Seth Hillbrand d785a97940 Add Donate button to About dialog. 2021-12-15 10:02:01 -08:00
Seth Hillbrand 7f419e4468 Update translators 2021-12-14 13:01:10 -08:00
Alex 5bf9bd3ebb Hotkey editor: prevent closing on Enter release 2021-12-14 19:52:24 +00:00
Jeff Young 724182abe4 Fix lib tree searches to handle searching on library names.
Fixes https://gitlab.com/kicad/code/kicad/issues/9981
2021-12-14 15:18:48 +00:00
Wayne Stambaugh 0bfb5bab02 Fix some minor paged dialog object issues. 2021-12-14 08:15:02 -05:00
Seth Hillbrand 78ff9a857a Jerry-rig HTML-format alpha parsing
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors

Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
Jon Evans 6e51905e69 Kick wxWidgets to set column sizes the first time
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6396
2021-12-13 18:37:36 -05:00
Wayne Stambaugh 755607b8f8 Fix a few wxUpdateUIEvent retrigger loops. 2021-12-13 15:46:13 -05:00
jean-pierre charras 007b3bdbcc Hotkeys help: fix incorrect modifiers.
Fixes #9951
https://gitlab.com/kicad/code/kicad/issues/9951
2021-12-13 16:29:42 +01:00
Wayne Stambaugh e32448edc2 Center preferences dialog correctly on initialization. 2021-12-13 09:17:42 -05:00
Jeff Young 88fc6d25a7 Correctly handle deleting multiple selections in some grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/9952
2021-12-12 17:28:17 +00:00
Jon Evans 3cb7ca1db4 Remove manual canvas scale from GTK
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9912
2021-12-09 18:36:44 -05:00
Seth Hillbrand 70841c6393 Fix a crash bug when changing footprint name
Save-As to a new footprint name will cause the fp table to reload.  We
were incorrectly locking the indices in a manner that did not protect
the proper index, causing lock errors that threw/crashed editor
2021-12-09 10:46:43 -08:00
Seth Hillbrand 1df765af44 Reset the read-only flag when performing Save As
The new location is checked for writing and so we shouldn't keep the old
flag when changing project locations

Fixes https://gitlab.com/kicad/code/kicad/issues/9904
2021-12-08 17:21:17 -08:00
Seth Hillbrand 3180764309 Don't remove converted files in local settings
When migrating local settings, we don't want to remove files that we
converted from as these settings will be created on demand and don't
represent the totality of user settings

Fixes https://gitlab.com/kicad/code/kicad/issues/9905
2021-12-08 09:30:42 -08:00
Jeff Young 7ffd43a6f4 Regularize the promotion of pads to footprints in non-free-pad mode.
Also regularizes some of the other selection filtering options.

This also fixes an invalidated iterator (and subsequent segfault) in
the old code.

Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
Seth Hillbrand 42f63b679d Check for proper winding when creating an EDA_SHAPE
There is a defined order to arc points in the EDA_SHAPE.  When creating
the new object, we need to check that that order is preserved on
conversion
2021-12-07 10:51:43 -08:00
Jon Evans 014bad7b28 Add profile counters for PCB mouse and paint events 2021-12-05 15:16:08 -05:00
Jon Evans a205595404 PROF_COUNTER -> PROF_TIMER
I want to add an event counter, and this one is a timer
2021-12-05 14:25:37 -05:00
Jon Evans 91359c047d Disable migrating library tables from a previous version
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9826
2021-12-05 13:45:34 -05:00
Mikolaj Wielgus 10be483430 Make an exception for SCH_TEXT in SELECTION::GetCenter()
And undo the previous changes in SCH_TEXT::Rotate().

We continue hitting this with a wrench until it gets fixed or becomes
broken beyond any recognition.
2021-12-04 05:32:48 +01:00
dsa-t cb482eb8eb Symbol Fields Table: Highlight proper symbols even if they aren't annotated 2021-12-03 20:35:54 +00:00
jean-pierre charras f24bdf4067 Fix minor Coverity warnings (not initialized vars). 2021-12-03 17:55:21 +01:00
jean-pierre charras ac7c51e2f7 Fix compil issue. 2021-12-03 16:49:43 +01:00
Mikolaj Wielgus 5f8f1542f8 Use the mean of all positions as center when rotating label-only selection
Fixes https://gitlab.com/kicad/code/kicad/issues/9690
2021-12-03 16:18:43 +01:00
Mikolaj Wielgus 9efbeaa064 Dark theme support for SPICE model editor 2021-12-03 03:41:32 +01:00
Ian McInerney cec258f7dd Normalize the settings migration path to have no trailing slash
If we use the raw user input, it may or may not have a trailing slash on
the directory name, and then if the user provides a trailing slash
migrating the folders inside the old settings directory will fail.
2021-12-03 01:43:53 +00:00
Franck Bourdonnec d877f04198 fixe paths 2021-12-02 20:23:00 +00:00
Jeff Young ffe91b31bf Better layer name for notes.
Fixes https://gitlab.com/kicad/code/kicad/issues/9849
2021-12-02 13:17:58 +00:00
Jeff Young 8fab8a05d6 Fix shadow variable defn. 2021-12-02 11:40:31 +00:00
Mikolaj Wielgus 0d3e8e3d09 Make ERC/DRC item lightness proportional to default text brightness
Fixes https://gitlab.com/kicad/code/kicad/issues/9824
2021-12-01 23:06:58 +01:00
Ian McInerney e57bde6582 Remove last vestiges of the KICAD_USE_OCE build flag
This build flag was removed in a previous commit, but some last uses
remained.
2021-12-01 15:53:00 +00:00
Seth Hillbrand 993b4eade6 Update contributor lists
Add 2021 contributors
2021-11-30 11:11:46 -08:00
Tomasz Wlostowski 4d2ce5c685 VIEW: don't create a GAL_UPDATE_CONTEXT if there's nothing to update
Avoid a very expensive glMapBuffer() call and greatly improves scrolling/redraw speed.
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski 691ca11b5a DRAW_PANEL_GAL: add profiling counter for OGL buffer swap 2021-11-29 23:30:10 +01:00
Tomasz Wlostowski cdb214d43a DRAW_PANEL_GAL: remove unused profiling counter 2021-11-29 23:30:10 +01:00
Tomasz Wlostowski 2c6e9778a1 GAL: OpenGL draw calls pooling/splitting
Improves rendering performance, esp. for large designs by:
- using a separate glDrawArrays calls() for large buffers of contiguous vertices (e.g. large zone fills)
- pooling smaller items into a small-sized index buffer held in system RAM (has to be DMAed to the GPU by the driver anyway)
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski 569c39ac37 GAL: runtime profiling for CACHED_CONTAINER 2021-11-29 23:30:10 +01:00
Tomasz Wlostowski 9518d425ca OPENGL_GAL: added runtime render speed profiling 2021-11-29 23:30:10 +01:00
Tomasz Wlostowski f4b25a756d DRAW_PANEL_GAL: add runtime rendering tracing/profiling 2021-11-29 23:30:10 +01:00
Tomasz Wlostowski ee8b2113a8 TRACE_MANAGER: very simple run-time tracing infrastructure 2021-11-29 23:30:10 +01:00
Tomasz Wlostowski b59ee13fcc GAL: made Begin/EndDrawing calls public to have more control over timing of rendering context creation/destruction 2021-11-29 23:30:10 +01:00
Jeff Young 78be5df39a Don't allow negative line widths to shrink bounding box.
Fixes https://gitlab.com/kicad/code/kicad/issues/9776
2021-11-29 20:02:03 +00:00
Jeff Young 7ccf658379 Fix stupid coding error.
(Don't use epsilon on non-coordinate values, and in particular,
definitely not on polygon vertex count.)
2021-11-29 19:33:32 +00:00
Jeff Young dede3f5709 Implement an EPSILON for library/schematic/board checking.
This is mainly to not get caught out when format changes result in
different values being stored vs. calculated (such as for arcs).
2021-11-29 15:08:21 +00:00
jean-pierre charras 33454ef8d2 Ensure the end of line char is '\n' in wxStyledTextCtrl when using SCINTILLA_TRICKS. 2021-11-29 15:30:38 +01:00
Jon Evans 4944ff0a3c Add Andrew Lutsenko to developers list 2021-11-27 08:21:40 -05:00
Stefan f78033b03c add myself as contributor 2021-11-27 12:28:31 +00:00
Jon Evans 6805dff49f Add myself to docs team 2021-11-26 09:41:04 -05:00
Jeff Young ba6ae4fa9b Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
Jeff Young 5863bc0937 Put Repair Schematic behind Advanced Config. 2021-11-25 12:56:46 +00:00
Seth Hillbrand d60474d3ef Fix missing const 2021-11-24 11:49:13 -08:00
Rachel Mant a0fe10031d Fix curl usage so it builds on CentOS 7 2021-11-24 19:23:35 +00:00
Jeff Young 228edd4121 Don't generate duplicate IDs in line/wire/bus tool.
Also cleans up existing duplicate IDs when reading.

Fixes https://gitlab.com/kicad/code/kicad/issues/9749
2021-11-24 13:20:44 +00:00
qu1ck 18b4ebcc17 Skip migrating installed_packages.json 2021-11-23 14:49:40 -08:00
Seth Hillbrand f97c7c78c8 Connect ruler tool with axes preferences
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them

Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jeff Young 3dc0c78993 Workaround baseline alignment issue in wxHtmlWindow
In particular, don't allow a cell boundary between Japanese/Chinese
chars and Roman chars.

Fixes https://gitlab.com/kicad/code/kicad/issues/9718
2021-11-22 15:37:18 +00:00
david-beinder b471945224 Fix MSVC C4312 warning when casting 32bit ints to pointer types on 64bit builds 2021-11-22 04:37:41 +00:00
Jeff Young 212666e987 Allow theme to change text color of highlighted text.
Fixes https://gitlab.com/kicad/code/kicad/issues/9716
2021-11-21 22:54:16 +00:00
Seth Hillbrand 3f2d86adec Make OpenGL default for all apps
Fixes https://gitlab.com/kicad/code/kicad/issues/9699
2021-11-21 12:33:07 -08:00
Jon Evans 572747a3f9 Protect KIID generator from threading 2021-11-21 13:30:46 -05:00
Tomasz Wlostowski 9add03dd88 VIEW: rebuild the R-trees from scratch if more than 30% of items require a geometry update.
(see comments in the code for detailed explanation)
2021-11-21 17:33:59 +01:00
Jonathan Haas e79fd19326 Pass the rng as reference to randomGenerator constructor
Fixes https://gitlab.com/kicad/code/kicad/issues/9714
2021-11-21 16:11:38 +00:00
Jon Evans 22b9856a6a Fix shadowing 2021-11-20 15:32:28 -05:00
Jon Evans 1e8284bc1a Add ability to seed the KIID generator
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9689
2021-11-20 14:19:29 -05:00
Mikolaj Wielgus a17782d5d2 Add myself as lead dev team member 2021-11-20 03:03:37 +01:00
Seth Hillbrand 766a09c338 Remove autocomplete when we lose focus
Prevents the excess dropdown from persisting over windows

Fixes https://gitlab.com/kicad/code/kicad/issues/9651
2021-11-19 17:24:16 -08:00
Jeff Young 48c3734eea Dark mode colors for HTML report generator.
Fixes https://gitlab.com/kicad/code/kicad/issues/9688
2021-11-19 13:36:14 +00:00
Jeff Young c01649fc6e Make it easier to open legacy files. 2021-11-19 13:36:14 +00:00
jean-pierre charras 90fcf55ab6 Keep Grid menu translatable, as before. 2021-11-18 19:39:55 +01:00
Jeff Young 4e6a201881 Correct cursor for search control buttons. 2021-11-18 18:25:14 +00:00
Jeff Young 60a1ca2c67 Remove locale printf test. 2021-11-18 15:38:46 +00:00
jean-pierre charras e954531ca8 Call m_locale->Init() with option wxLOCALE_DONT_LOAD_DEFAULT to avoid any warning message.
We do not use or install the wxWidgets dictionaries, so do not use the default
option (wxLOCALE_LOAD_DEFAULT) when initializing wxLocale.
2021-11-18 11:01:29 +01:00
Roberto Fernandez Bautista bfad40bdcc Also erase KICAD6_TEMPLATE_DIR when library tables are not migrated
That path contains the default library table and should be set to the
latest one in from the installation.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9660
2021-11-17 19:45:33 +00:00