Commit Graph

8771 Commits

Author SHA1 Message Date
Marek Roszko 4a54ea3b11 Try and fix multi-threading issues with the background job widgets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15377
2023-08-09 07:19:38 -04:00
Jeff Young 8bb895373a Allow GetLayer() to be used with single-layer zones.
Also fixes a bug in GetFirstLayer() where we were checking
m_layerSet.size() (which is always 60) rather than
m_layerSet.count() (which is the number of set layers).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15233
2023-08-08 12:43:22 +01:00
Ian McInerney 54759389de Re-add event handler for the menu events generated on macOS
macOS' application menu generates command events and can't call our tool
framework directly, so we have to keep the event table handlers around
to handle these events.
2023-08-08 11:50:24 +01:00
Ian McInerney a3a701a95e Move preferences to an action instead of a wx event 2023-08-08 00:51:22 +01:00
Josue Huaroto 670936096e Change behavior of polygons at the end of drawing. 2023-08-07 22:58:52 +00:00
Jeff Young 7b71e55ab9 Don't allow updates to shown_text outside of cacheShownText().
But also don't use cacheShownText() in c'tors, as it will not call
the subclass's version.
2023-08-07 23:22:09 +01:00
Roberto Fernandez Bautista 3bf9797620 PNS: add new "EnableRouterDump" kicad_advanced setting 2023-08-07 23:43:54 +02:00
Jeff Young 60f0db09aa Make sure text gets rendered in correct colour. 2023-08-07 21:44:04 +01:00
Jeff Young 778213ba8f LEGACY_FACTOR was upside-down.
(Should be 1.68/1.61, not 1.61/1.68.)
2023-08-07 14:01:58 +01:00
Jeff Young f5c7455901 Better spacing for page settings. 2023-08-07 14:01:58 +01:00
Jeff Young f43b90b15f Lazy context handling for SVG plotting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15325
2023-08-07 14:01:58 +01:00
Jon Evans 256c7fa788 Fix character specifier in validator format string
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15367
2023-08-07 08:38:19 -04:00
Alex Shvartzkop 717ee350c8 Support >180 deg arcs in schematic. 2023-08-07 14:18:38 +03:00
Jeff Young b993311d47 Archive simulator workbook files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15364
2023-08-06 21:57:02 +01:00
Marek Roszko 74ce1de3f4 Allow KICAD_TEST_NOTI to work with no existing file 2023-08-06 16:27:42 -04:00
Jeff Young 5e112ca78e ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01:00
Marek Roszko a0ebedc0ac Add a KICAD_TEST_NOTI env var for a fake notification on launch 2023-08-06 15:51:35 -04:00
Jon Evans 5cbe3c5d42 PNS: Fix a few issues with debug logging
Hide non-copper layers for clarity

Fix saving of router settings
2023-08-06 15:30:58 -04:00
Marek Roszko ca55656850 Prevent negative center calc on BITMAP_BUTTON 2023-08-06 13:53:34 -04:00
Marek Roszko 856b70b4df Add an extra spacer field for macOS statusbar
macOS lacks grippers and lets status bar fields use the rounded corner which we don't want
2023-08-06 12:05:06 -04:00
jean-pierre charras 5e04e90fb3 LENGTH_TUNER_TOOL: fix a bug (missing initialization) creating a serious isse.
m_inLengthTuner was not initialized, preventing the tool to be started (sometimes)
Fix also a few not initialized members.
2023-08-06 13:20:43 +02:00
Jon Evans 4c4bbdc8f3 Stricter API for LIB_TABLE
Prevent nickname map or row parent getting out of sync

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
2023-08-06 00:56:51 -04:00
Jeff Young 77c19261f6 Fix build. 2023-08-05 18:52:02 +01:00
jean-pierre charras f18feb2a46 kicad-cli, export plot PDF and SVG: add missing option --drill-shape-opt.
It allows pad/via holes to ber plotted at actual size, small size, or not.
This option exists in GUI, but was missing in kicad-cli.
2023-08-05 18:18:18 +02:00
Marek Roszko 084ec1d669 Add no notifications text, declare frame border style 2023-08-05 11:53:04 -04:00
Jeff Young 0413270012 ADDED: Move Corner To... and Move Midpoint To...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5012
2023-08-05 16:43:55 +01:00
Marek Roszko 5319316815 Enhance the status bar with background progress and notifications 2023-08-04 22:06:08 -04:00
Seth Hillbrand c38ed7044a ADDED: DNP flag for position file export
Adds ability to exclude footprints with DNP flag from position files in
dialog and cli

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15353
2023-08-04 11:02:54 -07:00
Seth Hillbrand 02335010ff Don't try to get a translated empty string
Hashing an empty string can be crashy.  And empty strings are reserved
in gettext, so we shouldn't try.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15354
2023-08-04 10:08:30 -07:00
Jeff Young c697a934b2 Update layer names to current terminology.
Also fixes some out-of-date tooltips/names.
2023-08-04 11:37:46 +01:00
Ian McInerney f463b9d017 Don't calculate minor ticks when there are no major ticks to be between
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15179#note_1480427547
2023-08-03 22:27:38 +01:00
Mike Williams a75fb44349 Common: add fast grid cycling
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12339
2023-08-03 11:57:51 -04:00
Mike Williams 22c609fb7b Schematic: handle aligning unaligned sheet pins in aligned sheet
Also fix a rounding bug.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15050
2023-08-03 11:11:34 -04:00
Jeff Young 686dfba77a ADDED autocomplete for value field in Symbol Properties dialog. 2023-08-02 20:45:52 +01:00
Jeff Young 8ac49d0bab General cleanup, coding standards, removal of dead code, etc. 2023-08-02 16:56:56 +01:00
Jeff Young f897b4bac1 Remove cover routines for std::vector.
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00
Josue Huaroto 74695b0995 Change variable substitution for paths in Windows. 2023-08-02 15:40:57 +00:00
Mike Williams 37fdcce0a0 Fields Editor Table: add checkboxes for fields representing attributes
DNP, Exclude from ..., etc.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15300
2023-08-01 14:33:30 -04:00
Mike Williams 25e391719e Fields Table: convert special strings like Quantity to named variables
Before, we did not actually prevent users from adding a field also named
Quantity to their symbols. This of course does not play nicely with the
assumptions that Quantity is a special column in the fields editor.

By making it a named variable, the user can safely add it to a symbol
and it will not be editable, and will also work in the fields table
editor as expected.
2023-08-01 10:55:32 -04:00
Jon Evans 148e111579 Refactor pin orientation to be an enum class
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
Kuba Sunderland-Ober 589030d672 Add the fraction numeric form glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14398
2023-07-25 16:58:16 +00:00
Mike Williams 132a0ada73 Grid Overrides: support grids-per-type that override the current grid.
Schematic only at this point while we test and refine.

PCB support is a future addition.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
jean-pierre charras a16ab0aae1 Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Kuba Sunderland-Ober b8fc45b14d Implement fontconv in Python.
This fixes metrics of U+1F98 (ᾘ)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14398
2023-07-24 22:23:11 +00:00
Seth Hillbrand 32ad42a435 Add 3dconnexion driver version check
Re-enable 3dconnexion driver by default as we are able to gate the
driver versions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13362
2023-07-24 18:09:52 +00:00
Mike Williams 7d9f791518 kicad-cli: sch bom export: fix inability to disable grouping
Just set --group-by default to "" (No default grouping), and drop the
additional --group option. Also fix the exclude DNP option.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15246
2023-07-23 13:59:28 -04:00
aris-kimi ce58208d77 Add missing licence lines in iec60664 and naming update 2023-07-23 14:12:03 +00:00
Alex Shvartzkop 24452f41ad Improvements to Altium PCB/footprint importer:
- Support unicode footprint names
- Set default footprint text size and thickness to match KLC
- Position Reference at the top, Value at the bottom of fp bounding box
2023-07-22 08:55:53 +05:00
Seth Hillbrand 7fe83993cf Be smarter about releasing lockfiles
If KiCad crashes or exits without deleting the lockfile, don't show the
warning message unless we are not the one who locked it or there are
other KiCad instances running locally.

This should catch 99% of the cases where the message is shown
incorrectly.  There may be some corner cases where the lock file is
created on a network drive using two different machines with the same
name and same user but these cases should be (famous last words)
sufficiently rare as to not be observed in practice
2023-07-21 15:40:19 -07:00
Seth Hillbrand e71422d2cf Avoid bulking drawing sheet polygons
On the drawing sheet, the polygons are always filled and shouldn't have
additional stroking

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15242
2023-07-21 11:22:32 -07:00
Jeff Young 06f19aa761 Implement y axis locking for secondary y axes.
Still a bit of a work-in-progress.

Also fixes some bugs with formatting of measurements and cursor values.
2023-07-20 17:21:19 +01:00
Jeff Young 9c08d4febe ADDED support for simulation plot margins and GUI for Y axis locking. 2023-07-19 23:40:10 +01:00
Jeff Young 65f66755ee Reduce overhead for unused code. 2023-07-19 23:25:05 +01:00
Jeff Young 764913207c Read legend position from workbook. 2023-07-19 23:25:04 +01:00
jean-pierre charras df11673f86 GetISO8601CurrentDateTime(): use %z format on msys2 build ucrt64
(however ucrt64 on msys2 has an issue (crash) with json validator and
can be used only for tests)
2023-07-18 11:23:09 +02:00
Ian McInerney da1e82d57e Fix the fix done in fa0338a9e6 2023-07-17 22:15:11 +01:00
Jeff Young fa0338a9e6 Streamline Mac patches. 2023-07-17 22:07:36 +01:00
Jeff Young f23f75866f Remove dead code. 2023-07-17 22:06:45 +01:00
Jeff Young 64fea38e61 Seems linux impl is different.... 2023-07-17 22:05:04 +01:00
Jeff Young 19073b3e61 Fix background drawing for disabled LAYER_BOX_SELECTOR. 2023-07-17 20:30:52 +01:00
Jon Evans 4e3fd816cb Properties: rework color editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15145
2023-07-16 17:37:36 -04:00
Roberto Fernandez Bautista 6f035de988 Revert "Fix crash when opening schematic setup dialog"
This reverts commit 1a5fb68ace.

[It was already fixed by b7d53e4b18]
2023-07-16 21:47:27 +02:00
Roberto Fernandez Bautista 1a5fb68ace Fix crash when opening schematic setup dialog
m_openPreferencesButton was not correctly initialised to nullptr
2023-07-16 21:42:05 +02:00
jean-pierre charras 58a9b75883 Eechema: Do Not Place markers: add a specific setting for their color.
Previously, the color was the ERROR ERC marker color.
Now they have a specific color.
2023-07-16 20:46:30 +02:00
Jeff Young b7d53e4b18 Fix uninitialized var.
(Also follow Mac GUI guidelines, odd as they are.)
2023-07-16 19:29:38 +01:00
Jeff Young 7b81e964ab Don't copy lock files during project Save As.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15207
2023-07-16 15:40:17 +01:00
Jeff Young 63c83b3aed Remove dead code, and some formatting cleanup. 2023-07-16 14:43:29 +01:00
jean-pierre charras 0741471092 GetISO8601CurrentDateTime(): workaround on msys2 to fix a format issue.
on msys2 the format %z is seen as %Z, which is not acceptable here.
so %z format is removed on msys2
2023-07-16 09:31:28 +02:00
jean-pierre charras 0ecf5033e2 string_utils: Add From_UTF8( const char* cstring ) and From_UTF8( const std::string aString ),
mainly because we now use std::string in a lot of function using previously char*
FROM_UTF8(const char* cstring) now calls From_UTF8(const char* cstring)
2023-07-16 08:21:43 +02:00
Marek Roszko 76cef27014 Remove needless utf8 conversion due to sleepyness 2023-07-15 13:34:34 -04:00
Marek Roszko 3233bbe0ba Make exported date time strings use ISO8601 format
Also rename the function to be explicit on its result format

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15185
2023-07-14 23:24:12 -04:00
Marek Roszko cbb8835c87 Add policy to alter curl revoke settings on windows 2023-07-13 19:01:04 -04:00
Marek Roszko b0fa2561b6 Add support for enum based policies 2023-07-13 19:01:04 -04:00
Mike Williams c0a5be4e9f Hotkeys: add support for alternate hotkeys
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4422
2023-07-13 10:11:46 -04:00
Josue Huaroto 4cad021ef4 Add Open preferences folder button in Preferences Dialog 2023-07-13 14:10:31 +00:00
jean-pierre charras 34e9de72ae fix a compil warning (shadowed var) 2023-07-13 07:46:08 +02:00
Ian McInerney 5aff8b6a6e Switch to string_view in tool action construction
The TOOL_ACTION_ARGS construction method is supposed to be fairly light
weight, so instead of creating/destroying strings all the time, pass
string_views to the actual string data instead.

wx doesn't currently support string_view -> wxString implicitly
currently, so we have to do the conversion ourself.
2023-07-13 00:53:06 +01:00
Ian McInerney e926952f66 Break long header link with TOOL_ACTION and TOOLS_HOLDER 2023-07-13 00:18:20 +01:00
John Beard 09c0f713cd Add fillet and chamfer icons 2023-07-12 19:21:47 +01:00
Jeff Young 56752e9bad Move some MRU paths from app to project.
Also augments Save As path updating to handle these newly-moved paths,
and to handle absolute paths that point into the project directory.
2023-07-12 17:30:42 +01:00
Mike Williams 265720ec65 BOM Export: add DNP to Group By * defaults
Closer to the BOM export scripts we are trying to replace, and gives the
user a clue that fields with variables names are way to export other
data.
2023-07-12 12:16:14 -04:00
Mike Williams e2f47ecabb Common: add GetTextVars for unexpanded variable names 2023-07-12 12:16:14 -04:00
Mike Williams 500779fc80 Properties: add ability to override writeable attribute 2023-07-12 12:16:14 -04:00
Marek Roszko 8abd32c97c HideSplash() earlier before the initial frame->Show()
There are instances we can throw modals very fast on frame show :/

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15168
2023-07-12 06:55:01 -04:00
Mark Roszko a38875d6dd Add env variable to turn on curl verbose 2023-07-11 01:42:51 +00:00
mitxela 12be115c78 Prevent horizontal scrolling while zoom modifier is held 2023-07-10 19:37:46 +00:00
Jeff Young eedf319ba4 Don't double-offset effective text shapes.
Also fixes several bugs with intersheet ref fields.  (It's possible for
other fields to have an ID of 0.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
2023-07-10 19:32:00 +01:00
Alex Shvartzkop 176b308128 Update graphics error message, don't try drawing after. 2023-07-10 09:32:21 +05:00
Alex Shvartzkop bad08f88a0 Restart drawing after switching backend to fallback. 2023-07-10 09:32:21 +05:00
Alex Shvartzkop 6a123e2381 OpenGL GAL: fix reserved vertices calculation in drawSegmentChain. 2023-07-10 09:32:21 +05:00
jean-pierre charras 4f3e7e6821 *.wks files: always save text font when it is not the default font.
Fixes #15154
https://gitlab.com/kicad/code/kicad/-/issues/15154
2023-07-09 10:51:33 +02:00
Jeff Young 692e060ff4 Fill in missing EDA_ITEM_DESC KICAD_T.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15144
2023-07-08 20:40:30 +01:00
Jeff Young c8e8b71198 TestDanglingEnds needs to test sheet pins as well.
Also fixes a bug where zooming doesn't get a redraw until mouse moves.

Also fixes a couple of bugs where dangling markers on SCH_SHEET_PINs
and SCH_HIERLABELs weren't getting drawn.

Also simplifies drawing algorithm by removing aesthetic offset (which
wasn't implemented when pin is drawn as part of selection VIEW_GROUP).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-08 12:55:45 +01:00
Alex Shvartzkop 2689037bde PDF plotting: support bitmaps with transparency.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5979
2023-07-07 23:29:46 +05:00
Jeff Young bde9c2cbc5 ADDED FFT analyses.
CHANGED abandon the unpredictable behaviour of the Simulation Command
dialog.  You now separately add simulation tabs (which have invariant
command types once created), and the dialog edits the current tab.

Also a bunch of bug fixes to make multiple simulation plots actually
work.
2023-07-07 12:33:50 +01:00
jean-pierre charras 27072e52f7 Fix a compil and Coverity warnings 2023-07-07 10:28:01 +02:00
John Beard 10d32bb1d6 Explain wxASSERT in COMMIT::Stage 2023-07-06 21:11:51 +01:00
jean-pierre charras 88ffcec4b5 Plotters (especially DXF) add more precision when plotting arcs (and others)
- in DXF coordinates were using 6 digits for coordinate mantissa: this is not
enough for coord in inches. Now use 16 digits
- Arc( VECTOR2I& aCentre, EDA_ANGLE& aStartAngle, EDA_ANGLE& aEndAngle, ...)
was using integers for coord. This creates significant errors for start point
and end points of the arc. Now the center is given in double, and its position
is calculated from angle end points (and radius) to do not generate a position error
for these end points (previously the error could be 20 ... 50 nm)
Fixes #15056
https://gitlab.com/kicad/code/kicad/-/issues/15056
2023-07-06 18:09:38 +02:00
Kuba Sunderland-Ober bb27f09108 Fix the missing segments in certain newstroke glyphs.
Fixes #14987 https://gitlab.com/kicad/code/kicad/-/issues/14987
2023-07-05 17:19:01 +00:00
Ian McInerney 2baf4db2b6 Fix tool manager handling in ACTION_MENU event processing
The event handler may not have access to a tool manager, so we must
always check for it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15107
2023-07-04 21:40:14 +01:00