Commit Graph

7454 Commits

Author SHA1 Message Date
Jeff Young 85680886f8 Adjust outline font SCH_TEXT positioning so it better matches SCH_FIELD text. 2022-04-26 12:52:29 +01:00
Jeff Young 662c1ce88f Improve outline font overbar metrics. 2022-04-26 12:52:29 +01:00
Jeff Young 90bfe2d94b Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
It's still used by Eeschema and PCBNew when not in stand-alone mode.

Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
Jeff Young 9b6a10fa6a Fix mirrored overbars.
Also fixes a bug that we'd render too many glyphs when some glyphs
were combined.  (To test, render "text" in Apple Chancery.  The opening
"te" is combined into a ligature after which we render an extra 't' at
the end.

Fixes https://gitlab.com/kicad/code/kicad/issues/11441
2022-04-23 14:21:12 +01:00
Jeff Young c6f83b6dec ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
Jeff Young fb1e1aec9a Add tab processing for outline fonts. 2022-04-20 12:00:19 +01:00
Jeff Young 37a2ee7d03 Replace tab processing that got lost in move to new font engine.
Fixes https://gitlab.com/kicad/code/kicad/issues/11123
2022-04-20 00:06:34 +01:00
Jeff Young 08f15fe587 ADDED New Library functionality to Footprint/Symbol Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
Jeff Young 7f4f5f2882 Save and re-load query string in Choose Symbol dialog.
While this has been requested on its own, it's primarily done here
because wxWidgets decided to send a SEARCH_CANCEL from a wxSearchCtrl
when hitting <ENTER> if the search control holes the empty string.
This causes us to not do a symbol instert in the Chooser dialog.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/7699
2022-04-17 00:33:56 +01:00
Jeff Young d01c2a6614 Add PCB_ARCs to type enum.
Fixes https://gitlab.com/kicad/code/kicad/issues/11384
2022-04-14 17:09:27 +01:00
Jeff Young 739f4d0a1e Improvements to Eagle dimension importing.
1) Import leaders
2) Drop radius and angle dimensions
3) Import dimension text sizes
4) Correctly interpret which side dimension offset is on
5) Correclty handle offsets for non-cardinal dimensions

Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 15:47:39 +01:00
Marek Roszko 392ed5fecd Add policy to enable/disable pcm 2022-04-12 10:08:34 -04:00
Marek Roszko f88e0481c8 Change the behavior of ACTION_MENU::Add to require clones if required outside the function
This reverts commit 2a5769607f.
2022-04-11 19:03:01 -04:00
Seth Hillbrand 2a5769607f Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
This reverts commit 403992a6f4.
2022-04-11 11:39:03 -07:00
jean-pierre charras ac8e2d0768 Ensure "Open Recent" and "Clear files" menu titles are updated after language change. 2022-04-11 11:09:05 +02:00
Marek Roszko 403992a6f4 Change the behavior of ACTION_MENU::Add to require clones if required outside the function
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:38:13 -04:00
Marek Roszko 5bb2cdf73d Revert "Stop leaking submenu items"
This reverts commit 34c70a51ea.
2022-04-10 22:33:43 -04:00
Marek Roszko 34c70a51ea Stop leaking submenu items
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young c2bf691e56 Don't allow grid dialog to be resized, but do set help text before laying out.
Fixes https://gitlab.com/kicad/code/kicad/issues/10171
2022-04-10 23:41:46 +01:00
Marek Roszko fd83e675a2 Don't pointlessly construct a wxBitmap 2022-04-10 07:47:13 -04:00
Marek Roszko b3c5054d6c Add initial system policy checking for turning off data collection 2022-04-09 14:05:28 -04:00
Roberto Fernandez Bautista 0015574a60 ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block

ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".

To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
jean-pierre charras 1d5be1adeb Cairo GAL: fix incorrect size and thickness of text drawn by GAL::BitmapText() 2022-04-08 18:40:26 +02:00
jean-pierre charras 6e35d5473e Fix an issue on wxWidgets 3.1.6 when printing bitmaps 2022-04-08 18:40:25 +02:00
Jeff Young 007906cd16 Fix a degeneracy bug in arc collisions.
This also fixes a failure to use the correct effective width for
shapes (which might, for instance, inherit their widths from schematic
defaults, netclasses, etc.).

Fixes https://gitlab.com/kicad/code/kicad/issues/11358
2022-04-08 16:15:58 +01:00
Jeff Young 079d4a603a Improve transparency handling while plotting.
Only SVG can actually handle transparency, but we should at least mimic
the color value of other transparent fills by blending with a (presumed)
white paper.

Fixes https://gitlab.com/kicad/code/kicad/issues/11304
2022-04-08 11:40:53 +01:00
Jeff Young dead84e7a1 A right-to-left single-char sel followed by typing leaves cursor the same.
Fixes https://gitlab.com/kicad/code/kicad/issues/11349
2022-04-07 11:51:58 +01:00
Seth Hillbrand 91a3024e34 Check pointer after yield
Yielding can change the status of the m_rcItemsProvider, so we need to
check after the yield to ensure we don't try to dereference it after
freeing

Fixes https://gitlab.com/kicad/code/kicad/issues/11347
2022-04-06 15:59:29 -07:00
Jeff Young 68ca385e07 On-the-fly translations for pin electrical types.
Also add on-the-fly translation for editor title bars.

Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Wayne Stambaugh 0bdbfe1446 Pcbnew: add plot on all layers feature.
ADDED: Any addition board layers can be plotted on all selected board layer
when plotting.

CHANGED: The new plot to all layers feature made the plot edge cuts option
obsolete.  Users must now select the edge cuts layer from the list of
plot to all layer selections to include edge cuts on all layers when
plotting.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2449
2022-04-02 14:33:40 -04:00
Mark Roszko f0f33ef1d3 Introduce sentry for crash data collection 2022-04-02 01:21:55 +00:00
Jeff Young 9402b2aeda Take fill into account when hit-testing arcs.
Fixes https://gitlab.com/kicad/code/kicad/issues/11305
2022-04-01 22:40:29 +01:00
Seth Hillbrand 49c48e2fe0 Consistently handle env/prj variables
User-defined variables cannot be used for internally-reserved variables

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

(cherry picked from commit c23679d9bd)
2022-03-31 17:05:53 -07:00
Jeff Young 48a70a65b5 Fix a typo and add a missing color definition.
Fixes https://gitlab.com/kicad/code/kicad/issues/10351

Fixes https://gitlab.com/kicad/code/kicad/issues/10352
2022-03-31 22:10:45 +01:00
markus-bonk 1a9ef4bd0f Add support for using a SpaceMouse to pan & zoom in the schematic editor. 2022-03-31 19:03:41 +00:00
Jeff Young e8a543f1ea Colors for text in PL_Editor and Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young 659e61355c Adjust text spacing a bit more so 6.0 boards are more likely to pass DRC. 2022-03-30 16:32:24 +01:00
Jeff Young 4424865577 Make sure spaces at start of line get accounted for.
Fixes https://gitlab.com/kicad/code/kicad/issues/11276
2022-03-30 16:32:23 +01:00
Wayne Stambaugh c0d8657d97 Plot on all layers prep work.
We only need one bottom to top layer sequence definition.

Plot a sequence of layer IDs (LSEQ) in the order of the sequence.

Add helper method to layer set (LSET) to create a sequence of layer IDs
using another sequence for ordering.
2022-03-29 16:08:23 -04:00
Jeff Young 6a3c5b6e0e Adjust bottom- and centre-aligned linespacing to better match 6.0.
Fixes https://gitlab.com/kicad/code/kicad/issues/11269
2022-03-29 19:31:02 +01:00
Marek Roszko d440ff7c37 Try and ducktape boost api change for seeder
idk what im doing
2022-03-27 21:47:47 -04:00
Marek Roszko 7a0d8c2fe0 Remove extra boost include 2022-03-27 21:43:18 -04:00
Jeff Young 1c158a4ea4 Use a standard HTML reporter for Symbol Checker. 2022-03-26 14:22:31 +00:00
Wayne Stambaugh 7da7864f5e Fix some Coverity issues. 2022-03-25 15:51:05 -04:00
Johannes Maibaum edc7261099 Fix stock templates path for flatpak
Commit ad251b7b broke the template path
lookup for flatpak via `PATHS::GetStockTemplatesPath()`. Fix this by
using `::GetStockEDALibraryPath()` in all EDA Library related path
lookup functions.

`GetStockEDALibraryPath()` effectively does the same as
`GetStockDataPath()`, but it takes care to check the
`KICAD_LIBRARY_DATA` build config, which is being used by flatpak to
point to the flatpak EDA Library extensions in
`/app/extensions/Library/`.

Closes #11174
2022-03-25 08:15:59 +01:00
Marek Roszko 3f0f846435 Read the boost manual right-side up 2022-03-24 18:13:39 -04:00
Wayne Stambaugh 7b2d9dfc0c Fix some Coverity uninitialized scalar variable issues. 2022-03-24 13:17:07 -04:00
Jeff Young 92a229eec7 ADDED separate user-defined color for page limits.
Fixes https://gitlab.com/kicad/code/kicad/issues/5271
2022-03-24 14:11:41 +00:00
Marek Roszko 2e689901fc Ensure the kiid generator rng is actually uniquely seeded each start 2022-03-23 18:49:51 -04:00
Jeff Young cf33cfcad1 Round Altium unit conversions to nearest 10nm.
Fixes https://gitlab.com/kicad/code/kicad/issues/6462
2022-03-22 23:22:44 +00:00
jean-pierre charras 21144481d2 PLOTTER: do not clamp coordinates to an arbitrary value.
Previously, coordinates were clamped to +- 60 inches. It makes no sense to
clamp them at plotter level: max cooed depends on the editor (schematic/board...)
Rename MAX_PAGE_SIZE_MILS to MAX_PAGE_SIZE_EESCHEMA_MILS and use it only for Eeschema.
Fixes #11196
https://gitlab.com/kicad/code/kicad/issues/11196
2022-03-22 10:32:36 +01:00
Seth Hillbrand 9722a05820 Attempt to fix the Mac DPI grid mixing
When moving windows between monitors on Mac that changes the DPI, we
observe incorrect re-sizing of columns and rows.  This attempts to
rectify the situation by avoiding DPI changes for Mac builds.

Fixes https://gitlab.com/kicad/code/kicad/issues/10586
2022-03-22 00:02:05 +00:00
jean-pierre charras d27d2e0ad9 Pcbnew: fix lost of focus after clicking on a wxChoice in toolbar.
After changing track width, via size, grid or zoom from the toolbar, the
canvas has no longer the focus on Windows. So we force the focus after clicking
on these widgets.
Fixes #11103
https://gitlab.com/kicad/code/kicad/issues/11103
2022-03-21 18:10:07 +01:00
Jeff Young 4f62960334 Update message panel from PCB point editor and SCH drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
jean-pierre charras 09d8ac7d7c Zoom wxChoice in horizontal toolbar: display the actual or nearest zoom level. 2022-03-20 18:41:38 +01:00
jean-pierre charras 2bba277c5e Unit binder: fix hang and DIALOG_WIRE_BUS_PROPERTIES: fix uninitialized variable.
The hang can be Windows specific.
2022-03-19 10:22:41 +01:00
Seth Hillbrand 3b6e8464c2 Fix expand variables for built-in
Allow falling back to the alternate variable definitions if the built-in
text block variables are not set.

Also push the project into variable resolution when plotting

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

(cherry picked from commit c44d31fcfb)
2022-03-18 16:47:18 -07:00
Seth Hillbrand ba4b8bfa69 Prevent WX_PROGRESS_REPORTER from dominating system
Raising the window on each updateUI prevents multitasking by stealing
focus from the current window.
2022-03-18 15:50:44 -07:00
Jeff Young dc39703d0e Bring pcbnew print dialog in line with plot.
Fixes https://gitlab.com/kicad/code/kicad/issues/2171
2022-03-18 13:37:20 +00:00
jean-pierre charras 1a493ed9ed Gerber plotter: fix incorrect handling of arcs in polygons.
Fixes #11156
https://gitlab.com/kicad/code/kicad/issues/11156
2022-03-17 12:55:24 +01:00
Jeff Young ce21da8cbb Select all when UNIT_BINDER is a token rather than a string.
Fixes https://gitlab.com/kicad/code/kicad/issues/9757
2022-03-16 14:56:32 +00:00
Jeff Young 4225f92573 Slight improvements to via drawing.
Fixes https://gitlab.com/kicad/code/kicad/issues/8717
2022-03-16 14:56:32 +00:00
Jeff Young 65185f53a1 Rotate fp zones before comparing with library versions.
Also includes some performance fixes to not copy around triangulation
data when it's not needed.

Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-14 15:53:24 +00:00
Marek Roszko 605dd8a580 Don't use wxScreenDC as this returns "a" screen but not "the" screen
Windows supports per-monitor and per-app DPI. wxScreenDC is unable to resolve the actual DPI setting since it has no window context.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10681
2022-03-13 23:31:16 -04:00
Marek Roszko d6c1f52b55 Plant the ability to verify code signing signatures when trying to load kifaces
Off by default and intended for use in released builds only
2022-03-12 21:40:47 -05:00
Jeff Young e03b06927d Fix rotation problems for knockout fp text, and implement 3D rendering.
Fixes https://gitlab.com/kicad/code/kicad/issues/11086
2022-03-12 14:17:52 +00:00
Jeff Young 3fddf0414b A bit of wxT(). 2022-03-11 20:52:11 +00:00
Jon Evans 507d7916ee Use actual project path when saving project
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540

(cherry picked from commit 9c386026a8)
2022-03-10 09:08:48 -05:00
Jeff Young a9eb7a0e28 Make sure LIB_ID escape context allows for formatting constructs.
Also make sure that value field is updated from name changes when the
symbol is a power symbol (even if it's from the schematic instead of
the library).

Fixes https://gitlab.com/kicad/code/kicad/issues/11093
2022-03-10 13:46:42 +00:00
jean-pierre charras 016af235db Pcbnew: add a GAL layer (LAYER_LOCKED_ITEM_SHADOW) to draw markers on locked footprints 2022-03-09 17:54:58 +01:00
jean-pierre charras e37bb2e0c3 swig: disable a few warnings generated by pcb_shape.i, math.i and version.i 2022-03-09 17:29:29 +01:00
jean-pierre charras e7f379c31d Pcbnew, Knockout texts: fix issues seen with rotated texts.
Fixes #11085
https://gitlab.com/kicad/code/kicad/issues/11085
2022-03-09 11:22:05 +01:00
Marek Roszko 2df80c6473 Add some more reserves for string funcs 2022-03-08 20:07:55 -05:00
Marek Roszko ca5049b6bc Try and reduce memory allocs when (un)escaping strings 2022-03-08 19:36:08 -05:00
Jeff Young 40fd8860fe Plotting (and some bug fixes) for knockout text. 2022-03-08 18:06:41 +00:00
Jeff Young 293021c58c ADDED: knockout pcb and fp text.
Fixes https://gitlab.com/kicad/code/kicad/issues/7055
2022-03-08 13:22:20 +00:00
Jeff Young 96f9ea286e Natural sorting for nets.
Fixes https://gitlab.com/kicad/code/kicad/issues/10534
2022-03-08 13:22:20 +00:00
Jeff Young bf0f2aa4a8 Adjust bitmap text spacing a bit so it's closer to the stroke font.
This helps the text better match the highlighting when it gets small
enough that we switch to the bitmap font for performance.
2022-03-07 20:30:50 +00:00
Ola Rinta-Koski 6196f2bdf0 Version info: report all font libraries 2022-03-07 14:01:37 +00:00
Jeff Young a8d2dd8dc7 Bitmap text can't yet handle multi-line text. 2022-03-06 16:59:18 +00:00
Jon Evans cb6d6d7ef4 Settings: allow multiple project access from Python standalone
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...

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

(cherry picked from commit 1394509734)
2022-03-05 13:04:19 -05:00
Seth Hillbrand cd7141fd10 Cache read arc data for stability
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation.  Saving back to disk without
modifying the arc should not modify the calculated values.

This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.

Fixes https://gitlab.com/kicad/code/kicad/issues/10442
2022-03-04 15:20:31 -08:00
Tomasz Wlostowski 7e8f14e738 VIEW_OVERLAY: enforce always on top behaviour through Z ordering 2022-03-03 01:02:00 +01:00
Jeff Young b55bda8d6f Font support for drawing sheet editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/10306
2022-02-28 18:05:26 +00:00
jean-pierre charras aa0787f2b4 Gerber plotter: fix broken plot of SHAPE_LINE_CHAIN with arcs.
Also simplify SHAPE_T::POLY plot.
Fixes #10989
https://gitlab.com/kicad/code/kicad/issues/10989
2022-02-28 18:10:16 +01:00
Jeff Young 1f16092e29 Infobar warning if symbol loading was cancelled.
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).

Also makes sure that any cancel in the preLoad step is honoured in the
sync step.  (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)

Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.

Fixes https://gitlab.com/kicad/code/kicad/issues/8372
2022-02-27 17:06:08 +00:00
Jeff Young d299ddbc7e Cleanup. 2022-02-27 12:05:39 +00:00
Jeff Young 98f4b1d16c Make gcc (or linux?) happy. 2022-02-26 22:56:10 +00:00
Jeff Young 941d7f94ad Use safer UTF8 conversion routines to prevent crashes.
Fixes https://gitlab.com/kicad/code/kicad/issues/10982
2022-02-26 19:03:00 +00:00
qu1ck b06c2585d9 Change GetEffectiveTextShape() to return outline
instead of triangulated polygon
2022-02-26 00:55:07 +00:00
Seth Hillbrand a7ea868282 Avoid overflow in textbox
Count() returns unsigned values.  Since, we subtract 1 from this value,
if the count is 0, we will underflow the unsigned value, creating an
extremely large value that we multiply by the interline spacing.

(cherry picked from commit d29d981784)
2022-02-25 11:14:53 -08:00
Jeff Young 107067ad05 On-the-fly translations for Grid and Zoom menus.
Fixes https://gitlab.com/kicad/code/kicad/issues/10961
2022-02-25 17:36:35 +00:00
Jeff Young 6d8507d44f Formatting. 2022-02-25 17:36:35 +00:00
Jeff Young a29968fa91 Make sure bitmap fallback is only used for non-cached text.
Also fixes backwards vertical justification for bitmap text.

Fixes https://gitlab.com/kicad/code/kicad/issues/10956
2022-02-24 18:16:45 +00:00
Jeff Young d465eb6425 ADDED: automatic zone refilling.
This is for the out-of-box experience for novice users.  It is presumed
that folks with larger more complicated boards will turn it off.

Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Jeff Young cb16ad7557 Debounce layer visibility buttons and fix issues with FP Editor. 2022-02-23 17:52:08 +00:00
Jeff Young 41f6e634c6 Partially integrate grid snapping with constraints.
Fixes https://gitlab.com/kicad/code/kicad/issues/10941
2022-02-22 22:19:55 +00:00
Marek Roszko 6420bd777f Sprinkle some wxT 2022-02-21 18:49:36 -05:00
Marek Roszko 0b46c75197 Simplify locale data path setting... 2022-02-21 13:08:29 -05:00
Marek Roszko ad251b7b8c Simplify KICAD6_TEMPLATE_DIR default
The search_stack method is bugland

Fix https://gitlab.com/kicad/code/kicad/-/issues/10119
2022-02-21 12:22:23 -05:00