Marek Roszko
d193334a10
Add vrml export to cli
...
Roughcut as the vrml exporter needs some loving
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15472
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13952
2023-08-24 20:39:21 -04:00
Alex Shvartzkop
16c35857bf
Fix arcs drawing in Cairo.
2023-08-25 00:09:56 +03:00
Mike Williams
c7abbccfac
Grids: update context menu on changes to grids
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15492
2023-08-24 14:20:02 -04:00
Mike Williams
2764e59400
Grids: add buttons to re-order grids
2023-08-24 13:58:22 -04:00
Mike Williams
1628b65d79
Grid Settings: keep sane via value when hidden in schematic editors
2023-08-24 12:38:54 -04:00
Mike Williams
d00a6b4987
Dialogs: add some margins back for GTK
2023-08-24 12:38:54 -04:00
Jeff Young
0f81dd3b5e
Give Grid Settings a more standard KiCad look and feel.
...
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).
This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams
0f781f328e
GRID_HELPER: push code to parent class
...
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Jeff Young
0c37e3c443
Remove realistic-mode (and duplicated settings from preferences).
...
Most of these settings are now available in the appearances panel.
It was concluded in a Zulip discussion that any missing items can
be added back in time if people find they need them (ie: complain).
Also hooks up 3DViewer to the common language framework.
2023-08-23 14:07:58 +01:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Mike Williams
f770500bb4
Grids: make user editable
2023-08-21 15:48:25 -04:00
Jeff Young
55a7b9e6bf
More consistent naming.
...
(Also better differentiates the PCBEXPR_ classes from PCB_
objects.)
2023-08-21 15:26:33 +01:00
Mike Williams
d150803dee
Grid Tricks: entering editor needs to set selection to edited cell
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15453
2023-08-21 09:14:27 -04:00
Jeff Young
3a40b59cd3
Ensure lazy evaluation of DRC rules works on all compilers.
2023-08-21 13:05:37 +01:00
Marek Roszko
b52b05ebbb
Add zone export to step export
...
Mileage may vary on performance, decent enough for my board.
Warning, freecad chokes on boards with zones, but commerical tools are fine
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15234
2023-08-20 22:11:45 -04:00
Jeff Young
cf22d5b99b
Preferences setting for force-show-fields-when-fp-selected.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-20 18:10:28 +01:00
jean-pierre charras
1c11a2c7bd
Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places.
...
FindRow() exception is unfortunately not captured in all places using it.
The result is the application closes.
2023-08-20 12:27:37 +02:00
Marek Roszko
ea3101587a
Add gltf export to step dialog
2023-08-19 19:01:29 -04:00
Marek Roszko
50ac5db8d2
Add binary GLTF export option to kicad-cli
...
Not by any means finished
2023-08-19 16:47:42 -04:00
Marek Roszko
5870b4f373
Mini-refactor step to a generic "3d" cli option (step command still exists for now)
2023-08-19 16:47:41 -04:00
Jeff Young
a2627fec60
Don't snap to footprint-private items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15447
2023-08-19 21:03:05 +01:00
Alex Shvartzkop
865fa10fb2
Fix pad arcs in Gerber plot when aperture macros are disabled.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15452
2023-08-19 22:49:37 +03:00
Jon Evans
373fb56fb7
Fix legacy lib table loading logic
...
Also enforce locking of the mutex
2023-08-18 22:46:33 -04:00
Jeff Young
6c9ba52f18
Clean up naming.
2023-08-18 22:20:09 +01:00
Seth Hillbrand
57ba38560c
Optimize library load time for Altium plugin
...
Load times were >20min for moderate sized libraries as EnumFiles
iterated over the entire list for each operation. The update modifies
our third-party lib to allow a return value, stopping the iteration when
we find our desired entry. This also provides a short-circuit for
ASCII-based names, allowing single-level parsing if available
2023-08-18 13:50:15 -07:00
Alex Shvartzkop
5131dae568
Graphics import improvements/fixes:
...
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
2023-08-18 22:52:49 +03:00
Alex Shvartzkop
4e43d4e0db
Graphics import: support loading from memory buffer.
2023-08-18 22:52:40 +03:00
Alex Shvartzkop
26a52ecfe9
Move parts of import_gfx to common.
2023-08-18 22:43:54 +03:00
Jeff Young
988a90d5ee
Ignore LOD scale for selections, but not things explicitly hidden.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-18 12:35:32 +01:00
jean-pierre charras
bc59ed08b4
EDA_SHAPE::TransformShapeToPolygon() for filled SHAPE_T::POLY: use another algo:
...
previously, for aClearance/width > 0, a seg of segments (width = aClearance*2) was added
to the polygon shape. This is acceptable for polygons having not a log of vertices.
It does not work fine (bad shape, extremeny long calculation time) if there are
a **lot** of vertices.
Now the polygonal shape is just inflated by width/2. Much faster and better shape.
2023-08-18 12:58:48 +02:00
Rastersoft
5936960c1e
Allow to reverse the mouse wheel movement
...
This MR adds a CheckBox in the preferences window to reverse the
horizontal pan direction
2023-08-17 19:17:50 +00:00
Rastersoft
43fe1eec84
Unify mouse movements
2023-08-17 18:20:22 +00:00
Jeff Young
88db775d32
Disable "Override individual item colors" on read-only themes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15426
2023-08-17 11:23:58 +01:00
jean-pierre charras
53b2fda184
Fix some minor compil and Coverity warnings.
2023-08-17 10:06:17 +02:00
Alex Shvartzkop
556120554e
SVG plotter: fix hidden text orientation when plot is mirrored.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15422
2023-08-16 10:43:24 +03:00
Jon Evans
e0d4cf2d5b
DbLib: Provide more useful feedback when table is misconfigured
...
(cherry picked from commit 8f57fd82a0
)
2023-08-15 20:45:52 +00:00
Jeff Young
686704bb31
ADDED: plot control over FP text.
...
(Also adds said control to "Follow Plot Settings" in 3D viewer.)
2023-08-15 16:56:46 +01:00
Jeff Young
8c33c6c099
Remove unused variable.
2023-08-15 14:08:19 +01:00
Jeff Young
f28d29ce1a
Center paged dialog after lazy-loading first page.
2023-08-15 12:55:40 +01:00
Alex Shvartzkop
76e0d5981d
Import system refactor for PCB plugins.
2023-08-15 05:26:12 +03:00
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2023-08-14 18:08:36 +01:00
Marek Roszko
5d001d4858
ADDED: ERC over cli....mostly
2023-08-13 20:31:19 -04:00
Marek Roszko
87d36dbfd8
Fix up erc json a little
2023-08-13 19:19:20 -04:00
Marek Roszko
061d18cbb0
Support json reports as option in erc/drc dialogs
2023-08-13 19:19:19 -04:00
Marek Roszko
14a0fa435c
ADDED: DRC JSON report
2023-08-13 14:59:10 -04:00
Marek Roszko
34a13cb0c5
Add more thread safety to background jobs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15395
2023-08-11 22:37:43 -04:00
jean-pierre charras
7fe80abdff
PCB_GRID_HELPER::BestSnapAnchor() fix overflow due to use of int.
...
GRID_HELPER::GetVisibleGrid() needs double, does not work with int (overflow).
Fixes #15389
https://gitlab.com/kicad/code/kicad/-/issues/15389
2023-08-11 17:59:24 +02:00
Jon Evans
f70b9920cb
Fix some warnings
2023-08-10 22:01:55 -04:00
Jon Evans
a77e630901
ADDED: Connectivity for graphic shapes on copper layers
...
Graphic shapes (excluding text) can now have nets when on
copper layers. Shapes behave like tracks in that they will
pick up nets from connected pads, and follow track opacity
settings.
2023-08-10 21:47:43 -04:00
Marek Roszko
812143ac69
ADDED: Run PCB DRC via cli
2023-08-10 20:20:40 -04:00
jean-pierre charras
e82f9e0305
Fix a change committed by mistake (fortunately in a not used code) in cff2583f
2023-08-10 16:28:41 +02:00
jean-pierre charras
cff2583f15
Minor fixes to help translations:
...
- do not translate a debug message.
- remove useless spaces at end of lines (always annoying for translators).
2023-08-10 10:16:24 +02:00
Marek Roszko
241375f41c
Add sort indicator to search pane
2023-08-09 20:09:14 -04:00
Alex Shvartzkop
9b2ac10002
LTspice spelling.
2023-08-10 00:31:21 +03:00
Alex Shvartzkop
712d61d2c1
KICAD_CURL_EASY: add SetPostFields().
2023-08-10 00:29:19 +03:00
Jeff Young
da86593625
ADDED: Implement sorting for search panes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12614
2023-08-09 18:31:33 +01:00
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
Alex Shvartzkop
e892405738
Altium PCB import: read and apply TrueType font names to text.
2023-07-04 13:29:42 +03:00
Alex Shvartzkop
afe176abe2
Optimize PDF plot data size for property popups; fix unicode escape.
...
Adds a document-level action JSInit, which defines ShM function,
allowing more compact data representation. Also reduces whitespaces.
2023-07-04 08:57:29 +03:00
Jeff Young
87c106965d
Code clarity.
2023-07-03 15:46:05 +01:00
Alex Shvartzkop
698fffb128
PDF plotting: Fix "Show Page" in Foxit PDF Reader.
...
pageNum is an Integer. Acrobat seems to convert automatically.
2023-07-03 09:13:37 +03:00
Alex Shvartzkop
b242779f3b
Put background color behind transparent bitmaps in eeschema printing.
...
Most virtual printers don't support alpha blending via AlphaBlend (MSW)
properly, nor masks.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
4cb7e92aad
Fix overlapping transparent images covering each other in OpenGL GAL.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
f286015bc7
Fix bitmap transparency in Cairo GAL.
...
Cairo ARGB32 format needs alpha pre-multiplied with color.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
0d7b4bbb09
Blend transparent images with background color in PDF plotter.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
7b5e725b98
Improve GAL panel refresh logic.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15041
2023-07-03 02:15:05 +03:00
Ian McInerney
236de6679c
Avoid copying tool parameter in intermediate function call
2023-07-02 22:18:24 +01:00
Ian McInerney
5e740c354e
Don't skip loading the wxWidgets message catalogs
...
The wxWidgets message catalog contains translations for strings that are
in the wx-provided dialogs, and these strings aren't contained in our
message catalog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15035
2023-07-02 19:21:14 +01:00
Jon Evans
632e94ef81
Add a few more schematic properties
2023-07-01 22:24:25 -04:00
Jeff Young
980ef55356
Fix grammatical error in opt-in request.
...
Also makes it even more clear that design files aren't shared.
2023-07-01 15:47:12 +01:00
Jeff Young
773e1a1ab6
Actions with a COMMIT must be run synchronously.
...
Note that "immediate" doesn't mean quite the same thing: while it will
enter the tool immediately, it won't necessarily finish the tool during
the call if the tool has an event loop. So for something like Rotate
"immediate" and "synchronous" have the same behaviour, but for something
like Move they do not.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15085
2023-06-30 18:57:37 +01:00
Jon Evans
2ae646136e
Prevent crashes on invalid use of tools
...
See https://gitlab.com/kicad/code/kicad/-/issues/15085
2023-06-29 23:45:22 -04:00
Jon Evans
8fcd58038b
Properties: fix click not working multiple times on a color
2023-06-29 23:11:50 -04:00
Jon Evans
59495971ee
Properties: fixes to color swatches
2023-06-29 22:53:06 -04:00
Ian McInerney
e17cd5abc6
Allow action description to be different from tooltip
...
The tooltip should be short and easy to read, the description can be
longer and more detailed.
2023-06-30 00:06:03 +01:00
Ian McInerney
8b8586f54b
Add case to ignore the unused scroll events in the view framework
2023-06-29 23:21:15 +01:00
Jon Evans
3487124a4a
Properties: Improve color picker UX
2023-06-28 23:54:27 -04:00
Jon Evans
0e617774dd
DbLib: Remove slashes from table display names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15074
2023-06-28 19:38:21 -04:00
Ian McInerney
107c79484d
Give default nullptr to gridSetOrigin to denote no known origin
...
Fixes KICAD-2BE
2023-06-29 00:17:12 +01:00
Youbao
4cb993d872
ADDED: Cadence Allegro PCB Designer netlist exporter
2023-06-28 22:47:30 +00:00
Kuba Sunderland-Ober
1edb9bb0ce
Get rid of VECTOR2U.
2023-06-28 20:48:07 +00:00
Jeff Young
c2f2247ae3
Don't process SCINTILLA_TRICKS onCharHook when autocomplete is active.
...
(ESC being the exception that proves the rule.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15001
2023-06-28 00:05:38 +01:00
Kuba Sunderland-Ober
95b9196703
Update the scripts to make the font source file fully reproducible.
2023-06-27 20:23:22 +00:00
Ian McInerney
2a940a5f70
Add COMMIT to TOOL_EVENTs instead of passing as a parameter
2023-06-27 00:57:59 +01:00
Ian McInerney
2fb6f19a84
Separate immediate and delayed action dispatch
...
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Steve Bollinger
a318c57d77
Move E-series resistor selector table out of resistor value
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14627
2023-06-26 23:21:40 +00:00
Jeff Young
1b7473c353
Make sure Help menu is at end of menubar.
2023-06-26 14:11:13 +01:00
Jon Evans
c7f6b20405
Properties: Use color picker dialog
2023-06-25 16:32:43 -04:00
Jon Evans
a2ff3bce7d
Properties: custom rendering for COLOR4D
2023-06-25 16:13:07 -04:00
Jon Evans
bf2e9f8261
Properties for SCH_LINE
...
Also rename an incongruous setter
2023-06-24 20:08:42 -04:00
jean-pierre charras
1094cc5331
Fix issues related to the splash screen when no config file found:
...
- do not show it before the application is actually started.
- hide the splash screen before displaying dialogs.
Fixes #15047
https://gitlab.com/kicad/code/kicad/-/issues/15047
2023-06-24 18:09:43 +02:00
Jeff Young
5195bc28fe
Don't prune already-added items from the COMMIT.
...
We perform undo/redo backwards from each other specificially to allow
multiple entries (for instance, a wire is modified and then deleted).
This bus is almost certainly in 7.0 as well, but it comes up mostly
in schematics where 7.0 doesn't use COMMIT. It's also possible that it
will cause unwanted effects in some cases, so I'm leaving it only in
master.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15032
2023-06-24 15:08:26 +01:00
jean-pierre charras
965aaa217c
RULER_ITEM: fix incorrect position of the shadow text shape (round 3).
...
Depending on the text orientation, the shadow shape position was incorrect.
2023-06-23 12:50:56 +02:00
jean-pierre charras
1698fb6608
Refinement of commit 355575e4
(drawing shadow texts of RULER_ITEM and pin names)
...
Also handle non Kicad fonts (that do not use shadow texts)
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-06-23 10:32:23 +02:00
Jon Evans
3a0f8214fa
ADDED: Properties panel for schematic editor
...
Initial infrastructure work; follow-ons will add more
properties for schematic items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6351
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14105
2023-06-22 22:32:24 -04:00
Jon Evans
39a5929f33
Database libraries performance improvements
...
Rework caching system and optimize queries
2023-06-22 18:49:37 -04:00
3GO
206f66aee2
Make user cache path adjustable by env var.
2023-06-22 13:35:48 +00:00
jean-pierre charras
355575e477
Fix some (minor) issues when drawing shadow texts of RULER_ITEM and pin names.
...
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-06-22 13:28:43 +02:00
Kuba Sunderland-Ober
b60f7d4136
Make comparison operators const.
2023-06-21 08:49:26 +00:00
Marek Roszko
74d6dc6642
ADDED: Startup splashscreen
...
This is purely loading in the background based and has no artificial delay.
Will be more useful once kicad.exe ends up loading more on launch immediately ;)
Right now the splash is probably visible the longest launching pcbnew standalone.
The actual splash image can be considered a placeholder
2023-06-20 20:51:08 -04:00
Ian McInerney
480223f67c
More RunAction specialization
2023-06-20 21:52:50 +01:00
Ian McInerney
b0363023a5
Parameterize the tool manager RunAction function to ensure type stabilty
2023-06-20 21:52:50 +01:00
Ian McInerney
3718ecfcd8
Simplify forcing action parameters to have a specific type
2023-06-20 21:52:50 +01:00
Ian McInerney
07cc85e76c
Fix more places where casts into RunAction were happening
2023-06-20 21:52:50 +01:00
Ian McInerney
6c031a4aa4
Fix some more incorrect types in event parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
55a7cfcf36
Translate doDelete action to new framework and add default parameter
2023-06-20 21:52:50 +01:00
Ian McInerney
9ebe6e7614
Update tool manager to handle the std::any parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
b04e54dbea
Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter
...
Using std::any from C++17 allows for proper type handling in the
parameter field, removing the need for casting to void* and then casting
the void* to the desired type.
2023-06-20 21:52:50 +01:00
Ian McInerney
0a22bb951c
Add custom UI IDs to the action framework
...
This replaces a hack where the parameter was used to identify a custom
UI ID with a proper solution. This moves the cut/copy/paste actions to
the new system, but more like help/quit/close should also be moved over
in the future.
2023-06-20 21:52:50 +01:00
Ian McInerney
b63bbdea5f
Add function-chain contructor for TOOL_ACTION
...
A function-chain constructor method allows for the long list of
parameters to the constructor to be shrunk to only the ones needed by
each action, and allow self-documenting code for what each part of a
TOOL_ACTION constructor does.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/7617
2023-06-20 21:52:50 +01:00
Mike Williams
85f889bc19
Fields: Description now mandatory
...
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams
636db607c1
Footprints: upgrade Sheetpath and Sheetfile to tagged items in file
...
Rather than loose kv properties.
2023-06-20 18:34:52 +00:00
Mike Williams
7d84fa2a9d
Validators: drop unused is m_isLibEditor
2023-06-20 18:34:52 +00:00
Mike Williams
ddafa2e75d
Common: move SCH_FIELD_VALIDATORS to FIELD_VALIDATORS
...
Fields are now common across PCB/SCH
2023-06-20 18:34:52 +00:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
2023-06-20 18:34:52 +00:00
Mike Williams
968785382e
PCB_FIELD: add new field item similar to SCH_FIELD
2023-06-20 18:34:52 +00:00
Jeff Young
8c29091001
Add a "hyperzoom" mode for debugging "up close".
2023-06-20 14:19:21 +01:00
Jeff Young
30336b2fe3
Unify go-back-one-step processing for drawing tools (and router).
...
Also warps mouse on all go-back-one-step operations for better feedback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
2023-06-19 17:14:32 +01:00
Jon Evans
55c00f1845
ADDED: Initial support for importing Solidworks PCB files
2023-06-19 11:57:33 -04:00
Jeff Young
ecb2fcd559
Don't trip over null strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14989
2023-06-18 20:28:11 +01:00
Jeff Young
9199d7a781
Update simulation results as the sim runs.
...
Also adds a time axis which grows by 2X at a time rather than to the
size of the current data.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11255
2023-06-18 16:52:11 +01:00
Jon Evans
b424dc11e1
Hotkey feedback for inactive layer display mode
2023-06-17 23:47:26 -04:00
Jon Evans
fc69939190
ADDED: GUI feedback when grid setting is changed by hotkey
...
Can be extended to other cyclical hotkey settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-06-17 23:18:50 -04:00
Jeff Young
7f453d7943
Fix bug in wildcard search handling.
2023-06-17 23:53:37 +01:00
Alex Shvartzkop
940f92a44f
GAL: improve redraw handling, allowing higher refresh rates.
...
minRefreshPeriod can't be set in SwitchBackend because OpenGL isn't
initialized yet.
2023-06-17 12:42:22 +03:00
Jeff Young
ef6866757e
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
2023-06-16 22:08:21 +01:00
Jeff Young
b3235ce667
Handle some Mac-standard keyboard shortcuts in Scintilla.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14973
2023-06-16 17:19:18 +01:00
Alex Shvartzkop
d3be62f644
Adapt panels to PAGED_DIALOG sizing algorithm.
...
Also some cosmetic fixes (GTK).
2023-06-16 19:12:37 +03:00
Alex Shvartzkop
6ace80700e
PAGED_DIALOG: make sure the dialog is big enough to contain page.
2023-06-16 19:12:37 +03:00
Alex Shvartzkop
f5da58e17d
PAGED_DIALOG: allow setting initial size in ctor.
2023-06-16 18:53:00 +03:00
jean-pierre charras
e7fac08c2f
Worksheet editor: fix crash when adding new graphical text object.
...
Was due to use of a null pointer.
Fixes #14966
https://gitlab.com/kicad/code/kicad/-/issues/14966
2023-06-16 17:31:38 +02:00
Jeff Young
75e78f9088
Move bitmap2cmp and pcb_calculator to tool framework.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1939
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7561
2023-06-16 15:37:58 +01:00
Jeff Young
d8debfa0ee
Require regular expressions to be explicit.
...
Normally this means surrounded by forward slashes, but we also still
allow any regular expression in a netclass match to keep from breaking
existing documents.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14944
2023-06-16 15:37:58 +01:00
Wayne Stambaugh
285f8a0e59
Command line PCB gerber export fix and improvement.
...
The --board-plot-params argument was never parsed so it was always ignored.
[ADDED] A '--no-protel-ext' option to allow plotting gerbers with the KiCad
file extension (gbr) instead of the Protel gerber file extensions.
(cherry picked from commit 4e79d1ecdd
)
2023-06-16 07:17:39 -04:00
Jeff Young
150e2b8a19
Separate BITMAP2CMP_PANEL from BITMAP2CMP_FRAME.
...
This is primarily to allow wxFormBuilder to create the panel without
the dangerous hack of passing a wxWindow ID into KIWAY_PLAYER's ctor.
2023-06-15 17:39:10 +01:00
Jon Evans
c90fe84cc1
Fix missing change in d996ec14
2023-06-14 23:23:36 -04:00
Jon Evans
d996ec143f
Fix STD_BITMAP_BUTTON for GTK HiDPI
2023-06-14 23:14:07 -04:00
Jeff Young
46564055f4
More protection around an exceedingly dangerous hack.
...
The API is needed for wxFormBuilder, and I couldn't figure out any
way around it, but we can at least reduce the risk of someone calling
it accidentally (again).
2023-06-14 12:52:49 +01:00
Alex Shvartzkop
dfb05c4f4b
Fix lock condition in GL_CONTEXT_MANAGER, remove unnecessary assert.
...
Assert handler is already being called from wxCHECK.
2023-06-14 07:45:34 +03:00
Mark Roszko
03990ee7e0
Move the custom assert handler to release builds only
2023-06-13 13:04:37 +00:00
Marek Roszko
992ed34365
Disable sizer asserts in release
2023-06-13 07:08:33 -04:00
Seth Hillbrand
f76c94e622
Don't log asserts in release mode
2023-06-12 15:26:18 -07:00
Jeff Young
782c73300b
Move drawing sheet datastructures to EDA_IU_SCALE.
...
Or mostly, at least. Plotters still define their own mils-to-iu scale.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14934
2023-06-12 22:34:25 +01:00
Jeff Young
b7f0aae006
Nullptr safety for UI Conditions.
...
We don't really control when these are called, so best not to assume
we've finished initialization of the frame/screen/document/whatever.
Possible fix for KICAD-KY.
2023-06-12 12:38:50 +01:00
Jeff Young
d6aefc458c
Clear the playerFrame lookup cache when closing frames.
...
WindowIds aren't actually guaranteed to be unique, and we don't
perform a dynamic_cast on the result of FindWindowById() because
of linker issues....
This is an attempt to fix KICAD-39.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14928
2023-06-11 20:34:24 +01:00
Alex Shvartzkop
eaf65f7d53
Avoid deadlock when OpenGL context can't be created.
...
Previously, with aContext == nullptr, the mutex would lock, but not unlock.
Then it got deadlocked inside OPENGL_GAL dtor.
2023-06-11 18:59:00 +03:00
Roberto Fernandez Bautista
3f758711fd
Use external REPORTER for EESCHEMA_JOBS_HANDLER / PCB_JOBS_HANDLER
2023-06-10 23:35:32 +02:00
Jeff Young
f66b9f75a3
Allow EDA_COMBINED_MATCHER use in KiCad find architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12532
2023-06-10 14:50:06 +01:00
Jeff Young
f2c2017068
Formatting. No (intentional) functional changes.
2023-06-10 13:36:17 +01:00
Alex
2450435131
Support --mirror option in "kicad-cli pcb export pdf"
2023-06-10 04:54:11 +03:00
Jon Evans
4e6092a280
Turns out only MSW has odd behavior for bitmap sizing
2023-06-09 08:58:52 -04:00
Jeff Young
d5b5a3eaf4
Add action info to Undo/Redo menus.
...
Note that this only works where a BOARD_COMMIT or SCHEMATIC_COMMIT is used.
(BOARD_COMMIT is used almost universally in PCBNew, but SCHEMATIC_COMMIT
has very little adoption in EEschema so far.)
2023-06-07 14:37:34 +01:00
Nils VAN ZUIJLEN
518741c52a
cli: add an option to the pcb exports for plotting negative svg and pdf
...
ADDED: The -n or --negative option for exporting negative svg or pdf plots
from kicad-cli. Example usage: kicad-cli pcb export svg -n -l B.Cu board.kicad_pcb
2023-06-07 13:28:52 +00:00
jean-pierre charras
47c0c7b3b7
pcb_calculator: add iec60664 electrical spacing panel.
...
From patches from by Fabien Corona and Aris_kimi
2023-06-07 12:01:30 +02:00
Jeff Young
9fe00bb808
Cleanup. No (intentional) functional changes.
2023-06-06 12:30:35 +01:00
Jeff Young
c5e7d800a4
Back out earlier diamond-to-rectangle fix for one that's more targeted.
...
(And doesn't fail qa_pcbnew.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14828
2023-06-05 21:26:37 +01:00
Jeff Young
4dda7d39ab
Tranform diamonds back to rects after rotating to a cardinal orientation.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14828
2023-06-05 18:55:18 +01:00
Mike Williams
d48858e298
LibTree: add numpad enter as enter
...
Written by Andrej Valek
2023-06-05 09:20:22 -04:00
Jeff Young
1528f4700c
Treat canvas item as current when tree view contains no selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12702
2023-06-04 20:52:12 +01:00
Jeff Young
9da66ccb58
Hack Mac icon buttons back to size.
...
It remains unclear to me how this *should* be going forward, but
this at least gets us back to the status quo.
2023-06-03 21:41:56 +01:00
Jeff Young
5875f89531
Centralize text size clamping.
...
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2023-06-03 20:29:51 +01:00
Jon Evans
1aff03eadb
Fix bitmap scaling for SPLIT_BUTTON
2023-06-03 12:41:40 -04:00
Jon Evans
8f69336ad1
Support DPI scaling in custom bitmap buttons
2023-06-03 11:32:52 -04:00
Wayne Stambaugh
bdee545841
Coverity warning fixes.
2023-06-03 07:28:17 -04:00
Alex
df4fefeb20
Fix view shifting when infobar is shown.
2023-06-02 17:46:46 +03:00
Marek Roszko
e536fa966c
Remove extraneous Pgm()
2023-05-31 23:02:38 -04:00
Marek Roszko
8eb265bf4c
Add a central assert handler that generates sentry events
2023-05-31 21:56:59 -04:00
Seth Hillbrand
c7758999af
Handle LOCKFILE logistics for ro
...
We need to check if a lockfile is valid to determine if we should
override the lock. Valid() is true if the lockfile couldn't be created
b/c of permissions or if the lockfile could be created and acquired.
2023-05-31 17:04:32 -07:00
Seth Hillbrand
14f6e32c74
ADDED: Change watcher for libraries
...
When editing or viewing library symbols, the files are watched for
underlying changes. If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.
This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
Seth Hillbrand
d94fd5f979
Prevent ro directories from showing lockfile error
2023-05-31 13:45:57 -07:00
Jeff Young
421d6b2ef8
Retire LIB_ID_VALIDATOR as it prevents usage of text variables.
...
(We perform more complete checks in ERC anyway.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14764
2023-05-31 17:26:54 +01:00
jean-pierre charras
90c4b8bc57
Eeschema: try to fix a not working tool (Paste tool on main horiz. toolbar)
...
Fixes #14827
https://gitlab.com/kicad/code/kicad/-/issues/14827
2023-05-31 17:45:19 +02:00
jean-pierre charras
a4b73d74a3
Remove a change committed by mistake in commit 86abfd2ce
.
...
It should be committed in a separate commit.
2023-05-31 17:45:19 +02:00
Jeff Young
f9fd37c4ca
Correctly handle hidden columns when pasting into grids.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14844
2023-05-31 12:26:18 +01:00
Jeff Young
e82e4af483
Don't double-up FUTURE_FORMAT_ERROR problem strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14780
2023-05-31 11:13:35 +01:00
jean-pierre charras
86abfd2cef
Update a golden file in Eagle QA tests
2023-05-31 11:52:50 +02:00
Jeff Young
c36b0fcda7
Make sure 3D file browser is treated as modal by quit.
...
(Otherwise we crash when freeing it during the quit.)
2023-05-30 14:58:46 +01:00
jean-pierre charras
6b845b9054
Fix compil warnings and a wxWidgets alert.
2023-05-30 09:00:46 +02:00
Marek Roszko
6e468c5ce9
Fix more warnings
...
Needless const and out of order initializer
2023-05-29 23:01:58 -04:00
Jeff Young
f5791f5dc6
Left some fixes out of previous commit.
2023-05-29 16:22:24 +01:00
Jeff Young
2612b49698
Fix erroneous wxEXPAND flags.
2023-05-29 14:23:31 +01:00
Roberto Fernandez Bautista
688a61df63
Add options editor to symbol library table + cleanup unused options
2023-05-28 23:56:42 +02:00
Roberto Fernandez Bautista
a119bd604d
Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID
2023-05-28 23:56:41 +02:00
Jeff Young
570978fa7f
Replace larger text bboxes now that we're not using them for knockouts.
2023-05-28 18:17:24 +01:00
Jeff Young
c71cf21e2f
Use rendered text to generate bounding box for knockout text.
...
Don't open-code knockout text shape generation in several different
places.
Make sure triangulated knockout text gets clearance added when
specified.
Collapse duplicated footprint text item plot routine (they're no
longer any different from plotting pcb text items).
2023-05-28 17:20:11 +01:00
Jeff Young
dacf0b2b96
Account for changes to mimic 6.0 text positioning in bounding boxes.
...
This is only a partial fix as knockout text is still busted....
2023-05-27 23:41:43 +01:00
Jeff Young
6b0bff2f4f
Formatting.
2023-05-27 22:46:02 +01:00
Jeff Young
95a09f686b
Revert attempt to use drawing code to generate text bounding boxes.
2023-05-27 22:11:34 +01:00
Jeff Young
3ab9175553
Spread the error-bar move evenly around justified text.
2023-05-27 18:53:04 +01:00
Jeff Young
f35a88ce0b
Cache LIB_PIN text extents for performance.
...
Also fixes a bug where we didn't triangulate at all when the char
count didn't warrant the likely overhead of spinning up a
thread_pool.
And fix another bug where EDA_TEXT::GetRenderCache() wasn't using
the given font.
Also reverts using the cache for drawing-sheet text. The text
items are created from scratch from the data items each time
they're drawn, so there's never an existing cache to make use of.
Instead, we now check that the item is in the view, using a very
approximate bounding box generator (because even generating a
real bounding box shows up large in profiles).
And, lastly, fixes a bug where EndPos was never considered in
DS_DATA_ITEM::IsInsidePage().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14822
2023-05-27 16:32:11 +01:00
Jeff Young
4ed267394a
Outline font performance improvements.
...
1) Don't fracture font glyphs when generating them; we're going
to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303
2023-05-27 01:35:40 +01:00
Jeff Young
ff37ebe61a
Improve appearance of stroked knockout text.
2023-05-26 19:53:38 +01:00
Jeff Young
cb53a18ee3
Bug fixes for handling boolean flags in DRC rules.
2023-05-26 18:44:33 +01:00
Jeff Young
768fbf5af2
Give up on trying to calculate text bounding boxes.
...
It results in too many hacks strewn through the code. Just draw the
text and measure it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14803
2023-05-26 18:44:33 +01:00
Jeff Young
6e127829f8
Cleanup formating and includes.
2023-05-26 18:44:33 +01:00
Jeff Young
1518ddde74
Push much of text var autocomplete down into SCINTILLA_TRICKS.
...
Shared code == fewer bugs. Well, in theory anyway....
2023-05-25 10:24:50 +01:00
Seth Hillbrand
48ecd742eb
Maintain file permissions when renaming
...
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files. This updates the
permissions to match the existing values where possible
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
2023-05-24 17:09:38 -07:00
Seth Hillbrand
122be418bb
Upgrade file locking
...
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed. Also includes the ability to override the lock, with
information about the original owner
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734
2023-05-24 13:51:54 -07:00
Jeff Young
1057483983
Reset button applies to resolved page, not lazy page holder.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14786
2023-05-21 18:15:21 +01:00
Jeff Young
cbf83c4161
Pin preferences dialog size.
...
While unfortunate (we generally frown on having fixed sizes in
favour of having everything auto-layout), in this case it's a
cost of lazy-loading the panels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14785
2023-05-21 11:17:36 +01:00
Jeff Young
d4c9d9d60a
Fix issue with colours in the new lazy-loaded preference panels.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14784
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14782
2023-05-21 10:56:21 +01:00
Jon Evans
902913c7dd
Fix infobar height in Windows HiDPI situations
2023-05-20 21:57:08 -04:00
Wayne Stambaugh
24b04795fd
Add net navigator panel to schematic editor.
...
[ADDED]: A panel to the schematic editor that allows quick access to all
of the items connected to the currently highlighted net.
This is an initial swag at implementing a full net navigator feature. For
now it only shows the currently highlighted net nodes. The incremental
net list advanced setting must be enabled in order to use this feature due
to performance reasons. There are still some issues with saving the panel
position which will be addressed in the future.
Initial code for serializing wxAuiPaneInfo settings to and from JSON have
be implemented.
2023-05-20 13:48:03 -04:00
Jeff Young
4c59365867
Blind attempt to fix pns-debug-tool linking issue.
2023-05-19 19:26:03 +01:00
Jeff Young
8b1fd62d35
Make pad & via teardrops 1st-class citizens (props of the pad/via)
...
Change teardrop generation to rely more heavily on BOARD_CONNECTIVITY
for improved performance.
Add updating of teardrops on BOARD_COMMIT::Push().
Also converts m_CopperItemRTreeCache to std::shared_ptr.
We don't copy it around anyway, and having to create a new set
of std::unique_ptr's for each operation is likely to be more
expensive than std::shared_ptr's overhead.
2023-05-19 18:02:03 +01:00
Jeff Young
329025f8a7
Update "simple" MRU paths in project Save As.
...
Update only those that are the project name + extension.
Fixes https://gitlab.com/kicad/code/kicad/issues/14681
2023-05-19 18:02:02 +01:00
Marek Roszko
573b66d243
Fix a bunch of C5266 warnings (pointless const on bool/int returns)
...
warning C5266: 'const' qualifier on return type has no effect
Microsoft doesn't even document C5266
2023-05-18 21:35:06 -04:00
Seth Hillbrand
0de24bfd59
Cleanup text alignment between version 6 and 7
...
Version 7 text alignment changed subtly for stroke fonts from version 6.
Additionally, the output has been different between screen and plotting,
leading to offset text in plotted output relative to the text shown on
screen.
This introduces a fudge factor in FONT::getLinePositions to correct the
offset in the plotting output relative to v6.
This also changes the SCH_PAINTER and PCB_PAINTER to correct the
relative offsets between GAL and PLOTTER classes. The source of these
offsets is atm unclear.
Fixes https://gitlab.com/kicad/code/kicad/issues/14755
2023-05-17 13:33:49 -07:00
Ian McInerney
20ec8ed303
Fix GitLab URLs to point to the correct project page
...
GitLab 16.0 removes support for URLs that don't contain /-/ after the
repository name, so the report bug feature and various links we had in
the source (including the git-fixes script) would lead to a 404 error.
See GitLab docs for deprecation/removal notice:
https://docs.gitlab.com/ee/update/deprecations.html?removal_milestone=16.0#legacy-urls-replaced-or-removed
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14759
2023-05-17 11:23:00 +01:00
Seth Hillbrand
72267cf9b0
Adjust stroke font output to match v6 output
...
Many minor tweaks were added that changed the output of the stroke font
from v5/v6. These offsets changed the gerber output expected. This
reverts the changes to something much closer to the v6 output. It is
not pixel-perfect but gets very close on most texts.
Fixes https://gitlab.com/kicad/code/kicad/issues/14609
2023-05-12 12:40:41 -07:00
Alex
f7f15e1ddf
Prevent axes settings from affecting angles in properties panel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14168
2023-05-12 15:44:37 +03:00
Alex
efbd360440
Fix double negative signs in mask/paste margin overrides.
2023-05-12 15:44:37 +03:00
Jeff Young
ddc6ecf7be
Lazy loading of Schematic Setup panels.
2023-05-11 11:43:10 +01:00
Marek Roszko
dd8dc4e513
Add a sequential read flagged fopen helper
...
Trying to squeeze out some kind of gain by informing the OS we will read a file sequentially.
In particular our FILE_LINE_READER just uses fgetc until the end
2023-05-10 20:24:27 -04:00
Jeff Young
9ae8255202
Insta-prefs.
2023-05-10 18:14:14 +01:00
Jeff Young
6bf43588bb
Don't store sizes in panels. Let them auto-lay-out.
2023-05-10 18:14:14 +01:00
Marek Roszko
5d93487607
Disable IME input on the gal canvas
...
Fixes #9719
2023-05-09 20:30:15 -04:00
Jeff Young
e1db4e0694
Add backspace modifier handling to SCINTILLA_TRICKS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13910
2023-05-08 18:42:04 +01:00
Jon Evans
09e8f72196
Don't try to open files multiple times
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14703
2023-05-07 21:46:39 -04:00
Marek Roszko
5dcc221950
Use _fgetc_nolock with msvc
2023-05-07 12:33:33 -04:00
Marek Roszko
b92f62337f
Change the spacemouse driver flag to true for windows by default
2023-05-07 12:12:20 -04:00
Marek Roszko
c7eaef2d13
Add missing footprint load progress, usually in schematic editor
2023-05-07 10:46:39 -04:00
Jon Evans
2ab47ee1e9
Allow for settings to be added during load
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14691
2023-05-07 08:48:07 -04:00
Jeff Young
8bd21edd8a
Fix capitalization of text vars for Eagle importer.
...
Also fixes the test gold files to expect the correct variable
references.
2023-05-06 23:49:10 +01:00
Jeff Young
8fe02ee83c
Handle Eagle user-defined attributes.
...
(We map these to text variables.)
Fixes https://gitlab.com/kicad/code/kicad/issues/13798
2023-05-06 21:10:34 +01:00
Jeff Young
995388fb71
Rewrite linebreaking algorithm.
...
Previous version was overly simplistic to deal correctly
with multiple spaces or textruns not separated by spaces.
Fixes https://gitlab.com/kicad/code/kicad/issues/14683
2023-05-05 22:32:40 +01:00
Jeff Young
b41d446f58
Fix a bunch more issues with sheetpaths and allowExtraText.
...
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
Jeff Young
7eb099187d
Pass aEvent by value.
...
It will have changed by the time CallAfter() is executed.
Fixes https://gitlab.com/kicad/code/kicad/issues/12475
2023-05-03 12:29:06 +01:00
qu1ck
f840fe3d38
Fix PCM update indicator color
2023-05-02 11:33:41 +00:00
jean-pierre charras
7691cd9509
LIB_TREE: fix an issue when using the popup menu:
...
- At least on wxWidgets 3.2 GetPopupMenuSelectionFromUser() returns the submenu
id, not the submenu idx from 0
- wxID_NONE can be returned when clicking outside the popup menu, or cancel.
2023-05-02 12:40:20 +02:00
Jeff Young
df7d62fdd3
Added a sort-order dropdown to lib-tree filters.
...
Also simplifies the scoring algorithm so that it only
differentiates between exact-match, match-at-start and
any-match. The rest of the position-based matching
stuff is gone, as is the knowledge of the name vs the
keywords vs the description. All that is left to the
provider of the weighted search terms array.
2023-05-01 21:26:43 +01:00
Mike Williams
04a53ea40d
Picker Tools: make sure we know what tool we are
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14621
2023-05-01 12:43:09 -04:00
Jeff Young
2f9889ff62
Add settings for plotting PDF property popups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14450
2023-04-30 18:10:04 +01:00
Jeff Young
a3b741a126
Extend Mac colour picker cursor fix to GTK.
2023-04-30 13:48:13 +01:00
Jeff Young
bc754df30f
Go back to winner-takes-all lib-tree scoring algorithm.
...
(Because we sort alphabetically there's no way to see
what the second-highest scored item was.)
2023-04-30 13:01:09 +01:00
Jon Evans
dc847db19d
Add initial support for database library settings UI
...
For now, just for diagnostic purposes (settings changes are not preserved)
2023-04-29 18:15:00 -04:00
Jeff Young
08c773a0bf
Use wxFileName to resolve . and .. in documentation paths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14564
2023-04-29 17:52:11 +01:00
Jeff Young
a817b4c1ff
Don't reset alpha when specified in hex value.
...
Also fixes a bug with colour picker cursor drawing on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/14646
2023-04-29 17:52:11 +01:00
Seth Hillbrand
f4b43617e7
Add COMMIT structure to Schematic and Symbol editors
...
Provides a single-point access for modifying the schematic and symbol
elements that allows chaining updates and reverting partial changes.
Standardizes the undo hierarchy between pcb and schematic editors
As this is another layer on the existing undo/redo structure, the
initial commit does not replace all undo/redo calls currently existing.
These will be handled in a series of follow-on commits
2023-04-28 17:05:47 -07:00
Jeff Young
5b56cb6bdb
Don't let add-row processing intercept OK processing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14579
2023-04-26 12:47:55 +01:00
Jeff Young
69500bfcaa
LTSpice schematic import based on the work of Chetan Shinde.
2023-04-24 13:52:52 +01:00
Jeff Young
c381b6d024
More robust file reading for simulator files.
2023-04-24 13:52:52 +01:00
jean-pierre charras
31b30cef96
OPENGL_GAL: draw BITMAP_BASE: fix incorrect rendering of mirrored bitmaps
...
The vertical mirror was not working.
2023-04-23 16:00:05 +02:00
jean-pierre charras
f47f44350d
BITMAP_BASE::Mirror() and ::Rotate(): fix an issue for bitmaps with ppi not 300
...
wxImage::Mirror() and wxImage::Rotate() transforms clear some parameters, especially
the PPI stored in the image. It creates bad size (bad ppi) when saving a BITMAP_BASE
in files.
These parameters are now restored after transform.
2023-04-23 11:30:02 +02:00
jean-pierre charras
c617abe8e9
SCH_BITMAP and PCB_BITMAP: rename m_image to m_bitmapBase. Add more info
...
in GetMsgPanelInfo() (PPI, scale).
m_image name was confusing: it is not a wxImage, but a BITMAP_BASE item,
and m_image name was already in use in BITMAP_BASE, used inside SCH_IMAGE.
Bitmap properties dialog: show PPI value and add Title to dialog.
2023-04-22 17:28:06 +02:00
Marek Roszko
53ad203028
Guard the new sentry calls because it won't be initialized if opted out
2023-04-20 23:05:06 -04:00
Marek Roszko
5b5176f104
Experiment with sentry breadcrumbs to footnote kiway events to provide more crash context
2023-04-20 23:01:50 -04:00
Marek Roszko
2f23df8f5f
Move 3 more blocks to the common ex handler
2023-04-19 21:17:31 -04:00