Commit Graph

7833 Commits

Author SHA1 Message Date
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
Jeff Young 47315864c4 EEschema features need to process ~ for empty string; not EDA_TEXT.
Fixes https://gitlab.com/kicad/code/kicad/issues/10918
2022-02-20 20:54:06 +00:00
jean-pierre charras d2cf68bcdd Plotters: add plot Arcs using EDA_SHAPE or center, start point and end point.
It avoid trying to calculate arc angles (start, end or arc angle) that
frequently create issues due to reverse Y axis, plot mirrored and/or
angle normalization with different criteria.
Fixes #10914
https://gitlab.com/kicad/code/kicad/issues/10914
2022-02-20 17:17:20 +01:00
Thomas Pointhuber 8ef7252330 altium: Don't use string concatenation for paths pointing in the compound file
* std::vector do not need to be split apart again
* supports backslash in footprint names
2022-02-19 16:46:20 +01:00
Jeff Young c27ec5cae1 Don't paste into hidden columns.
Fixes https://gitlab.com/kicad/code/kicad/issues/10168
2022-02-18 17:12:46 +00:00
Jeff Young 9fb3032c77 Fix Mac button-text grid control spacing. 2022-02-17 12:42:10 +00:00
jean-pierre charras 0ed3bba108 Fix a wxWidgets alert 2022-02-17 10:06:19 +01:00
qu1ck a041492736 SWIG mappings for all shapes 2022-02-16 20:58:52 +00:00
Jeff Young d9507dbaf4 We handle variable replacements elsewhere.
The markup parser needs to ignore them so they get rendered when we're
not doing replacement.
2022-02-15 23:05:22 +00:00
Jeff Young 8e26946567 Don't shrink progress reporter when message changes; only grow. 2022-02-15 19:19:02 +00:00
Jeff Young d1b8b68c68 No need to partition font glyph triangulation. 2022-02-15 19:19:02 +00:00
Roberto Fernandez Bautista 1b6fe615e5 Don't lock OpenGL context twice
Use GAL_DRAWING_CONTEXT as this unlocks the context in its destructor,
so that when an exception is thrown inside the `try` block, it should
automatically unlock before we switch backend.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10840
2022-02-13 21:09:54 +00:00
jean-pierre charras f8d6dd1efd Gerbview: fix a long standing issue: negative objects are now correctly printed. 2022-02-12 11:44:34 +01:00
dsa-t 68655540eb Clamp cursor to limits of coordinates representation
Also improves large distance handling.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
2022-02-11 16:42:52 +00:00
Werni 946f62d949 Add separate wildcard for OrCAD netlists 2022-02-11 09:24:20 +00:00
Jeff Young 082c6f5bd6 Make sure plotter uses default font when specified. 2022-02-10 20:33:06 +00:00
Jeff Young ca56de7816 Show DRC overflows in both tab titles and number badges.
Fixes https://gitlab.com/kicad/code/kicad/issues/10617
2022-02-09 17:04:32 +00:00
Ola Rinta-Koski 44c93e48e9 Markup parser fix: subscript/superscript/overbar handling 2022-02-08 18:50:53 +00:00
Jeff Young f2440978ec Fix some issues with ruler drawing. 2022-02-08 15:59:48 +00:00
Jeff Young 3b5474f190 Don't punt on TrueType char thickness; analyze it.
Fixes https://gitlab.com/kicad/code/kicad/issues/10740
2022-02-08 14:10:37 +00:00
Seth Hillbrand d0d472f39d Hide icon option when platforms disable
Mac and some Linux configs disable menu icons.  We shouldn't offer the
option when the system does not support this as it leads to confusion

Fixes https://gitlab.com/kicad/code/kicad/issues/10425
2022-02-07 10:28:07 -08:00
Jeff Young 5ce559176d Overhaul the font metrics calcs for overbar, italics and bboxes. 2022-02-07 17:36:40 +00:00
jean-pierre charras 2485648a54 Fix typo in a copy/paste and a minor compil warning 2022-02-07 17:32:19 +01:00
jean-pierre charras bc710e3d97 Rework on commit 6a9607bto fix non printable char codes 2022-02-07 12:37:36 +01:00
jean-pierre charras a37a7aa1d5 move a misplaced include 2022-02-07 08:22:43 +01:00
Marek Roszko 1f8d101b1d Fix color4d distance return type 2022-02-06 21:05:44 -05:00
jean-pierre charras b042e8cc41 outline_decomposer.cpp: fix a typo from commit 0a5ddb8
stroke_font.cpp better fix for commit 6a9607b
2022-02-06 18:09:30 +01:00
jean-pierre charras 6a9607b76f Fix crash when trying to draw a text with non printable chars.
Fixes #10772
https://gitlab.com/kicad/code/kicad/issues/10772
2022-02-06 08:34:19 +01:00
Marek Roszko d9c04da407 Sprinkle in some make_unique 2022-02-05 21:26:36 -05:00
Marek Roszko 0a5ddb8d40 Add some vector reservations 2022-02-05 21:12:29 -05:00
Marek Roszko 41f54349a5 Replace inserts/push_backs with emplace in some spots 2022-02-05 19:53:31 -05:00
Marek Roszko 18eda73f60 Initialize m_face in constructor PVS V730 2022-02-05 11:36:02 -05:00
jean-pierre charras 07e1278c05 fix incorrect calculation EDA_TEXT::GetTextBox() for empty texts.
It generates KiROUND alert.
2022-02-04 19:22:33 +01:00
Marek Roszko ca7840334c Mark some limits as constexpr
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
2022-02-04 07:50:13 -05:00
jean-pierre charras ac7cbcce61 WX_GRID: highlight the selected cell after selection by tab or arrow keys.
Fixes #9290
https://gitlab.com/kicad/code/kicad/issues/9290
2022-02-04 12:36:27 +01:00
Jeff Young 7dadc9d2f0 Fix text bounding boxes. 2022-02-03 23:07:41 +00:00
Jeff Young b9eb3e9b05 Be more explicit about string conversions. 2022-02-03 23:07:41 +00:00
Seth Hillbrand 168ad58eef Convert strings to wide when using wxString routines
WxString does not allocate space for wide strings needed during
conversion unless the string is explicitly wide.  This can cause buffer
over/underflow

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

(cherry picked from commit 7601a3385f)
2022-02-03 13:08:33 -08:00
jean-pierre charras ff277a36af EDA_SHAPE::MakeEffectiveShapes(): protect against empty polygons.
Fixes #10713
https://gitlab.com/kicad/code/kicad/issues/10713
2022-02-02 20:40:54 +01:00
Jeff Young 0634cf261a Don't try to move bounding box caches. 2022-02-01 21:55:09 +00:00
Seth Hillbrand 098e8f7d9b Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
This reverts commit ea9f960cc1.

Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Jeff Young 5739505aa3 TextBoxes for PCBNew. 2022-01-31 20:00:47 +00:00
Jeff Young 60bcfd1bf1 Bug fixes in arc & textbox printing.
Also removal of the no-longer-used clipping code from GR*.
2022-01-31 20:00:47 +00:00
Alex 4c4089e836 Allow overlay scrolling on GTK, except for GAL canvases.
This prevents glitches when both scrollbars
are visible and scrolling to the end.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9988
2022-01-31 18:45:47 +03:00
Roberto Fernandez Bautista 8393e02524 text boxes: remember to add the original newline characters back in!
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10665
2022-01-30 14:35:55 +00:00
Roberto Fernandez Bautista 6cf170c2c9 Text boxes: Return full word even if it doesn't fit in the column width
It does mean that the text now can be outside the text box, but this is
better than an infinite loop.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10668
2022-01-30 14:35:55 +00:00
Marek Roszko 7ec326c003 Fix compilation error 2022-01-28 20:19:42 -05:00
Seth Hillbrand 16e802aff4 Don't count zero-length as duplicate
We were checking for duplicate tracks by looking to see if the two
tracks had two shared points.  A null track always matched this case,
which removed the valid track.  We solve this by avoiding null tracks in
the duplicate checker.  They are removed separately in the null track
stage.

This also fixes a GTK-specific tree issue where we require the
BeforeReset()/AfterReset() calls instead of Cleared() to prevent GTK
from dereferencing a parent after freeing

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

(cherry picked from commit 8753051db6)
2022-01-28 16:34:34 -08:00
Davide Gerhard ea9f960cc1 cmake: adding KICAD_MACOSX_APP_BUNDLE option
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
Jeff Young c6a8100d46 Schematic and symbol text boxes.
Also fixes some plot bugs with arcs.

Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.

Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young 3409783d9f Break sch_text.h/.cpp into sch_text and sch_label.
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Jeff Young 0036f44e37 Support (and save/recall) zoom in/out in Custom Rules editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/5796
2022-01-28 21:38:15 +00:00
Seth Hillbrand 3b87ab630e There is one source of truth in AC
Don't store default values in two separate places.  Passes the existing
by value as the default.

Issue identified by @axemagn

Fixes https://gitlab.com/kicad/code/kicad/issues/10221
2022-01-28 13:33:28 -08:00
jean-pierre charras 5b8eb8f9ec SVG plotter rework: use mm as units in file. Remove useless inch option.
Use 4 digits in mantissa as default and when exporting SVG.
Allow 0 as line width: this is the right value to draw filled shapes with no outline thickness.
2022-01-28 19:33:51 +01:00
markus-bonk 8663a399ac Move pcbnew_navlib compilation into pcbcommon.
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.

The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk 47603fbc76 Wx_view_controls: Allow two input devices to simultaneously pan & zoom
Instead of the mouse move and zoom algorithms calculating the new
position or scale values relative to a starting value, the new values
are calculated relative to the current values. This allows the user to
use a second input device to move or zoom the view at the same time
without its change being undone by the mouse.
2022-01-28 12:21:42 +00:00
Tom Keddie 8c907f1fdc hotkeys: add missing function key strings 2022-01-27 17:20:52 +00:00
Seth Hillbrand b87e4efc68 Add additional buffer space around cell text buttons
The baseline -1 buffer works for some GTK themes but not others.  -3
appears to work for chunky themes like those used in KDE (and others).

Fixes https://gitlab.com/kicad/code/kicad/issues/5690
2022-01-26 12:44:11 -08:00
jean-pierre charras 810a49ef1b Fix broken PDF plotter for arcs. 2022-01-26 20:15:17 +01:00
Wayne Stambaugh 9af365b5b3 Fix broken environment variable substitution on Windows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10303
2022-01-26 09:24:36 -05:00
jean-pierre charras f651e31965 Fix minor compil and Coverity warnings. 2022-01-25 12:52:13 +01:00
Wayne Stambaugh 8426ffa238 Fix wxWidgets invalid string specifier assertion.
(cherry picked from commit ab184ba9f3)
2022-01-24 15:50:40 -05:00
Marek Roszko 8030bf1cc4 Implement use of the kicad nightly icon where needed 2022-01-23 09:21:07 -05:00
jean-pierre charras 1b42152ba0 Teardrops: store parameters in BOARD_DESIGN_SETTINGS. 2022-01-23 10:57:08 +01:00
Jeff Young a187076438 Use natural order sorting for FP libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/10349
2022-01-22 12:16:07 +00:00
Jeff Young de49f5090d Formatting (and auto reduction). 2022-01-22 12:16:07 +00:00
Marek Roszko 65d4d6eada Fix typo in comment 2022-01-22 00:07:07 -05:00
Marek Roszko 3ede5f42be Set curl to use the Windows cert store 2022-01-21 22:09:34 -05:00
Jeff Young 09d0f6e17c Map zone layers before checking their visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
2022-01-21 23:26:10 +00:00
Jeff Young d5a2059c21 Error messages for zone merging.
Also fixes a bug where zones meeting at a point would get merged
resulting in a self-intersecting zone.

Also fixes a bug where undo would not be handled correctly when zones
could not be merged.

Fixes https://gitlab.com/kicad/code/kicad/issues/10466
2022-01-21 19:55:57 +00:00
Jeff Young 6dc8cd3f18 Add FreeType version to version info.
Fixes https://gitlab.com/kicad/code/kicad/issues/10393
2022-01-21 13:21:21 +00:00
jean-pierre charras 4ffea8aae4 code cleaning. 2022-01-21 14:10:26 +01:00
jean-pierre charras 0bc5cb33ed Fix a few issues in plotting code. Fix bug in EDA_ANGLE::IsCardinal()
Fixes #10547
https://gitlab.com/kicad/code/kicad/issues/10547
2022-01-21 12:35:58 +01:00
Jeff Young c8a50d9b50 Remove unit-less angles from VECTOR2I/D APIs. 2022-01-20 23:58:20 +00:00
Jeff Young 4eac8d7c66 Remove unit-less angles from geometry lib APIs. 2022-01-20 21:10:04 +00:00
Jeff Young ba3a810e55 Prefer EDA_ANGLE to naked degrees. 2022-01-20 21:10:04 +00:00
Jeff Young 4a05b36bc6 Prefer EDA_ANGLE to naked radians. 2022-01-20 21:10:04 +00:00
Jeff Young 854987f663 Remove unit-less angles from geometry manager APIs. 2022-01-20 21:10:04 +00:00
Jeff Young fbab335128 Retire DPOINT and DSIZE. 2022-01-20 21:10:04 +00:00
Jeff Young 67eb3116ce Remove DPOINT from drawing sheet stuff. (Use VECTOR2D instead.) 2022-01-20 21:10:04 +00:00
Seth Hillbrand 881af75029 Always use the project directory for default save
Fixes https://gitlab.com/kicad/code/kicad/issues/10478

(cherry picked from commit dd7029ea07)
2022-01-20 11:51:45 -08:00
Seth Hillbrand 4c8f556b80 Prevent UI updates from changing zoom selection
The zoom selection should only change when requested by the user, not in
response to UI updates.  This can cause unexpected zoom shifts when the
calculated zoom is within a range of one of the presets.  It also adds
unneeded calls during the UI update cycle

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

(cherry picked from commit 6810479a19)
2022-01-20 10:10:06 -08:00
jean-pierre charras b084115a9e BITMAP_BASE::DrawBitmap(): fix position of the clipping area when using matrix transform.
Fixes #10525
https://gitlab.com/kicad/code/kicad/issues/10525
2022-01-20 16:15:39 +01:00
Jeff Young 3ba89f50ef Maybe, just maybe, fix LibEdit arc parsing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-19 22:22:18 +00:00
Jeff Young 9d5322cfdf Move rotation angle increments to UNIT_BINDER and EDA_ANGLE. 2022-01-19 15:15:33 +00:00
Jeff Young 0091c76a6f Excise deci-degrees from UNIT_BINDER.
Fixes https://gitlab.com/kicad/code/kicad/issues/10495
2022-01-19 00:10:32 +00:00
Jeff Young a808e2396b Run font/laguage checks only on Mac. 2022-01-18 14:19:57 +00:00
Jeff Young 8445783216 Fix backwards arcs in legacy LIB_ARCs.
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-18 14:08:47 +00:00
Jeff Young d4ff829c26 Trace logging for fonts. 2022-01-18 14:08:47 +00:00
jean-pierre charras 1c8ba6dafc fix python QA tests to run with latest changes in eda_angle.h 2022-01-18 13:49:50 +01:00
Jeff Young b828355206 A bit more angle cleanup. 2022-01-18 09:48:24 +00:00
Jeff Young e37ca2f757 Remove dead code. 2022-01-18 01:40:03 +00:00
Jeff Young 8c246a761d Move EDA_ANGLE from int to double. 2022-01-17 20:57:54 +00:00
Thomas Pointhuber 5aff3ef949 altium: First prototype to parse tracks of a footprint 2022-01-17 19:54:28 +01:00
Thomas Pointhuber 0129e49b79 altium: Introduce new ALTIUM_COMPOUND_FILE object to handle file opening and searching for streams at a central place 2022-01-17 19:54:26 +01:00
Thomas Pointhuber 2cc9517cfd altium: Allow extraction of names of footprints stored in *.PcbLib file
See: https://gitlab.com/kicad/code/kicad/-/issues/10274
2022-01-17 19:51:51 +01:00
Thomas Pointhuber c6504628f0 altium: Fix Compound File Reader which returned wrong entries
It was possible that we confuse multiple files with the same name. This should not be that relevant for board and schematic import, but is important for library import!
2022-01-17 19:51:51 +01:00
jean-pierre charras 8d5eba7649 DRAWING_SHEET_PARSER: fix missing parse of "T_comment" case for DS_DATA_ITEM_BITMAP.
Fixes #10477
https://gitlab.com/kicad/code/kicad/issues/10477
2022-01-17 18:02:44 +01:00
Scott Candey 23fdbe4b21 Common: Corrects Mac OS text navigation shortcuts in Scintilla
Ctrl-A moves cursor to beginning of current line in text box.
Ctrl-E moves cursor to the end of the line.
This change makes navigation in Scintilla text boxes consistent
with other text boxes in KiCad.

Fixes https://gitlab.com/kicad/code/kicad/issues/9996
2022-01-17 14:31:06 +00:00
Jeff Young 2defd8d911 Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
jean-pierre charras 1f2d1528cb LSET::SeqStackupBottom2Top(): add missing user layers to list of layers
These missing layers were not exported in export SVG.
2022-01-17 10:54:19 +01:00
Jeff Young 5cc3368b14 Fix bounding boxes and hittesting for arcs in eeschema. 2022-01-16 23:54:59 +00:00
Jeff Young e61144d45a Finish with EDA_ANGLE. 2022-01-16 21:15:40 +00:00
dsa-t bc1ff6756f Cross-probing/selection for multiple items (SCH->PCB) 2022-01-16 20:29:03 +00:00
Jeff Young e84c574830 Some more EDA_ANGLE cleanup. 2022-01-16 19:16:18 +00:00
Jeff Young 9b661aea10 EDA_ANGLE for plotters.
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young 1539fa5af2 Move SHAPE_ARC to EDA_ANGLE. 2022-01-16 01:19:45 +00:00
Ola Rinta-Koski da65fe0469 Font outline decomposition fixes 2022-01-15 12:51:09 +00:00
Marek Roszko 8fe16690b7 Add array deleter 2022-01-14 22:04:47 -05:00
Jeff Young 3f98769a77 More EDA_ANGLE.
Includes bug fix for catastrophic error in Add() for converting to
radians.

Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Seth Hillbrand 22a77d3556 Move EDA_ANGLE to KiMath lib
KiMath should only depend on itself not on other elements in the tree
2022-01-14 17:12:24 -08:00
Seth Hillbrand de006fc010 Fix transparent circle printing
DrawEllipse seems to work fine using transparent bg for all DCs except
printing (which is the only one we use now)  Use two arcs to draw a
transparent fill for the circle instead as a workaround until we
implement Cairo printing

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

(cherry picked from commit cccdac136f)
2022-01-14 16:13:35 -08:00
Seth Hillbrand 728ca8265f Print fonts as polygons, not triangles
Similar to plotting, print engines are probably happier dealing with
filled polygons than hundreds of triangles
2022-01-14 09:18:42 -08:00
Jeff Young 07013d00e1 More EDA_ANGLE. 2022-01-14 16:08:19 +00:00
Jeff Young 1b19ff5f42 More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
Jeff Young c9487bad18 Move BOARD_ITEM::Rotate() to EDA_ANGLE. 2022-01-14 16:08:19 +00:00
Jeff Young abd3f5bc2b Move footprints to EDA_ANGLE. 2022-01-14 16:08:18 +00:00
Jeff Young 70ad554343 Coverity fixes. 2022-01-14 16:08:18 +00:00
Jeff Young d485eb2514 Move pads to EDA_ANGLE. 2022-01-14 16:08:18 +00:00
Jeff Young e048e51f5d Improve SNR of EDA_ANGLE stuff. 2022-01-14 16:08:18 +00:00
jean-pierre charras 431560a46b EDA_SHAPE::SwapShape() : add missing items to the swap list.
Some items (color, fill) were missing in list, so the undo/redo was incorrect
2022-01-14 09:40:15 +01:00
Seth Hillbrand e7d0318fb2 Plot fonts in outline mode, not triangulated
Putting 1,000s of tiny triangles on a gerber file will cause mfg fits.
Instead, we use easy outline plotting for plots and triangulation for
everything else.
2022-01-13 17:04:14 -08:00
jean-pierre charras d0f2c20235 Define our kicad font name only once, and do not translate it.
Especially using a translated name breaks kicad config and files because
in non English languages both translated and not translated names were used in code.
2022-01-13 14:32:55 +01:00
dana 8373180cbb Handle Unicode clipboard data in pcbnew and symbol editor
Fixes #10323
2022-01-12 17:15:47 +00:00
jean-pierre charras cf11abda3d Fix test_drc_regressions.cpp: disable tests that need a footprint library
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras 0aca35bcab Eeschema, plot: fix missing initialization that created 0 size texts.
0 sized texts are hard to read
2022-01-11 20:47:16 +01:00
Seth Hillbrand 7ef8843545 Assign font if null
Fixes https://gitlab.com/kicad/code/kicad/issues/10370
2022-01-11 11:05:38 -08:00
jean-pierre charras 083193c3d4 Eeschema, print: fix missing initialization that created 0 size texts. 2022-01-11 18:16:23 +01:00
Jeff Young 33338aa0f2 Formatting. 2022-01-11 14:34:16 +00:00
Jeff Young 8f7d2dd06a More VECTOR2D -> VECTOR2I and wxPoint cleanup. 2022-01-11 14:20:14 +00:00
Marek Roszko fcfe42d67c Continue the war on wxPoint 2022-01-10 19:52:26 -05:00
Jeff Young cdb411bb14 Fix issue with hotkeys getting overridden by non-running Kifaces. 2022-01-10 23:41:56 +00:00
Ola Rinta-Koski dcab2833b8 PEGTL 2.x->3.x 2022-01-10 23:22:23 +00:00
Seth Hillbrand d5faac7614 Better fix for missing end segment
Rather than skipping our endEdit() call in libedit, we need to
parameterize whether we want the shape open/closed.  Closed will remove
the last segment if it lands on the first point.  We don't want that
but we do want to remove the last point if it duplicates the second to
last (in the case of double-clicking)

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

(cherry picked from commit 55020c2b89)
2022-01-10 13:39:39 -08:00
Jeff Young 21790fcab7 Fix a pair of dereference-freed-pointers in DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/10335
2022-01-10 21:06:03 +00:00
Jeff Young 73a2984963 Fixes for rotated footprint text. 2022-01-10 15:30:19 +00:00
Jeff Young 236feeb592 Cleanup GRText APIs, 3D Viewer <-> board APIs, and Plotter APIs.
Also fixes a bug where outline fonts weren't being handled for footprint
text in 3D Viewer, and a copy/paste error in stroke font handling for
both PCB and footprint text in 3D Viewer.

Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 14:17:11 +00:00
Jeff Young 7d032f9c2f Outline font rendering for Cairo, plotter, printer and 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young 76368af7b9 Font cleanup and bug fixes. 2022-01-09 18:33:53 +00:00
Jeff Young 7e18256386 Performance optimizations for building the stroke font. 2022-01-09 15:47:08 +00:00
Jeff Young 78cac128b7 Careful: symbol fonts have no language.
Also a bit of clean up to shut up a false-positive in Coverity (and
clangd) on dereferencing a possibly (not) nullptr.
2022-01-09 11:34:20 +00:00
Jeff Young a170d3f006 Commenting. 2022-01-09 11:34:20 +00:00
Jeff Young a4349ae638 Cleanup and error reporting for fonts. 2022-01-09 11:34:20 +00:00
Mikolaj Wielgus a42f33414e Update contributor name 2022-01-09 09:22:41 +01:00
Jeff Young 6242b40cde Supported language filtering for fonts.
If the language isn't supported by the system, no point showing the
user the fonts.
2022-01-08 22:02:17 +00:00
Jeff Young c5eb77d765 Fix second case of font name mismatch. 2022-01-08 20:11:37 +00:00
Marek Roszko 263513b8cf Fix default font name check 2022-01-08 14:37:50 -05:00
Jeff Young 05cfdd3907 Supply a text size & thickness for GAL::StrokeText
Fixes https://gitlab.com/kicad/code/kicad/issues/10226
2022-01-08 16:47:45 +00:00
Jeff Young 04c76f10e9 Performance enhancements for fonts. 2022-01-08 16:47:45 +00:00
Jeff Young 438c63f587 Fix outline font boundingbox issues. 2022-01-08 16:47:45 +00:00
Jeff Young aef2a3fca4 Default font for eeschema. 2022-01-08 16:47:45 +00:00
Jeff Young eb58d7e44c Text glyph caches and bug fixes.
1) Unify metrics between stroke and outline fonts
2) Unify handling of rotation and mirroring
3) Bug fixes in collision handling
4) Use of VECTOR2I (instead of VECTOR2D) for world-coordinates
5) Generate outline font overbar with rounded ends and fix rotation
bugs
6) Generate wxEVT_CHOICE events from FONT_CHOICE::SetFontSelection
7) Change text-item PNS SOLIDs to use compound shapes
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski 5b7198dfc8 Fixes as per @sethhillbrand's comments 2022-01-08 16:47:45 +00:00
Jeff Young 383beeba8e Fix font name that shouldn't be translated. 2022-01-08 16:47:45 +00:00
Jeff Young 72340fcee2 Implement router and DRC collisions for outline fonts. 2022-01-08 16:47:45 +00:00
Jeff Young a2030a5956 GUI for font selection. 2022-01-08 16:47:45 +00:00
Ola Rinta-Koski 72b69e8d7f File format changes for fonts. 2022-01-08 16:47:45 +00:00
Ola Rinta-Koski 9b406c1da4 Outline font support. 2022-01-08 16:47:45 +00:00
jean-pierre charras 9c29cc945c prepare teardrops, round 2 2022-01-08 16:56:41 +01:00
jean-pierre charras 563e8817a2 Fix a compil issue. 2022-01-08 08:10:18 +01:00
Seth Hillbrand c72593ca01 Printing multiple bitmaps
A long-standing issue with multiple workarounds
(https://gitlab.com/kicad/code/kicad/-/issues/1877) prevented eeschema
printouts with multiple images or images in both the worksheet and the
schematic.

We worked around this by ordering the bitmap printing to be the first
step in the printing process.  This partially worked but didn't get
everything correct.  The primary difficulty in debugging this was that
the wxPrintPreview that we generate looked correct.  Only the actual
printout was incorrect.

The fix is to explicitly clip bitmap drawing to the bitmap area,
regardless of how large the bitmap is.

(cherry picked from commit 69469b254a)
2022-01-07 17:22:16 -08:00
Seth Hillbrand 26c0a78947 Plot pads in layer color
v6 pads are not allowed to be a different color from the rest of the
copper layer, so don't query the GAL layer for a color

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

(cherry picked from commit bfca928900)
2022-01-07 08:56:22 -08:00
Seth Hillbrand ac9693bb8d Safely sort view layers
Changing view order of only some layers can cause overwriting of the
original layer if not pre-staged

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

(cherry picked from commit 3e6bf7814b)
2022-01-06 14:41:51 -08:00
Brian Mayton e4f73c8dc9 Add ORANGE to DXF output
Matches the schematic color options to DXF layers

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

Signed-off-by: Seth Hillbrand <seth@kipro-pcb.com>
(cherry picked from commit d014f0307b)
2022-01-06 11:06:31 -08:00
Seth Hillbrand b01715dd22 Fix crash in SVG plot
NULL fonts need to be assigned a default.

KSC internal ticket #459
2022-01-05 17:26:18 -08:00
Seth Hillbrand c340760eaa Prevent unneeded fallback
Starting in be8327bd54, we assume that all
exceptions in DoRePaint() are caused by OpenGL.  But many calls in
UpdateItems() will throw if there are internal errors such as
std::out_of_range.  Here, we catch those errors and simply skip ahead
rather than falling back to Cairo

(cherry picked from commit 444801ada6)
2022-01-05 13:47:43 -08:00
Marek Roszko 726d873c53 Tear down the wxPoint trigo helpers 2022-01-04 21:23:11 -05:00
jean-pierre charras 2bfff9d4ce Fix crash when trying tp draw a text with over-bar.
(missing initialization of a pointer)
Fixes #10252
https://gitlab.com/kicad/code/kicad/issues/10252
2022-01-04 18:18:34 +01:00
Jeff Young cbd665db7b Remove markup_parser from headers so PEGTL doesn't leak windows.h. 2022-01-04 12:20:18 +00:00
Marek Roszko 38a25fbc4d Fix windows compile error
pegtl.hpp is dumb and leaks windows.h which then causes #define conflicts
2022-01-04 00:49:29 -05:00
Marek Roszko ac715d2e51 Scoop up some more wxPoint instances 2022-01-03 20:00:53 -05:00
Jeff Young 8e4a4306c7 Go back to using inter-character spacing from the stroke font.
Fixes https://gitlab.com/kicad/code/kicad/issues/1078
2022-01-04 00:46:08 +00:00
Wayne Stambaugh ff38853886 Make footprint and symbol editors use MRU path for new libraries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10216
2022-01-03 18:02:41 -05:00
Jeff Young f40f516af6 KiCad Manager doesn't implement Kiface().
Fixes crash bug from Help > List Hotkeys in Kicad Manager.
2022-01-03 22:24:44 +00:00
Jeff Young e21fa31f64 Rip out rest of macHack architecture. 2022-01-03 22:09:56 +00:00
Jeff Young 2fdbc41b8f Remove macHack.
Either the recently added size-event works better than the version I
originally tried or it's simply no longer needed in wxWidgets 3.1.
In any case, I can't reproduce the wxGrid layout errors anymore.
2022-01-03 18:24:26 +00:00
Mike Williams 404659d275 Gerbview: Fix diff mode issues with OpenGL transparency
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10121
2022-01-02 23:15:36 +00:00
qu1ck 356cddd474 Template for vector<VECTOR2I> in swig 2022-01-02 21:33:58 +00:00
Marek Roszko ec83537576 Fix missing win32 header 2022-01-02 13:07:56 -05:00
Jon Evans 59be6a8d19 Load local settings even when not setting project active
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10179

(cherry picked from commit 0065036899)
2022-01-02 12:40:49 -05:00
jean-pierre charras c4af66f6d3 Fix compil issues on Windows+msys2
Probably some fixes also on other platforms
2022-01-02 18:32:39 +01:00
Jeff Young 0365c6bf4b Coverity fixes. 2022-01-02 14:57:03 +00:00
Jeff Young 89c0f8e297 Move to new font engine. 2022-01-02 14:57:03 +00:00
Jeff Young e41a4d406a Cherry-pick MARKUP_PARSER from rockola/kicad-strokefont. 2022-01-02 14:57:03 +00:00
jean-pierre charras 797de9d327 Fix some issues (but not all) in qa tests for eeschema
The main fix is for errors in SCH_TEXT and derived:
qa test expects 4 rotations is an identity transform:
This is false if the item has autoplaced fields.
The fix clears autoplaced flags.
2022-01-02 14:54:27 +01:00
Simon Richter d25fe17b28 Bump minimum required CMake version to 3.11
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Jeff Young 27d8df1122 Don't update units for UNSCALED, PERCENT or DEGREES.
Fixes https://gitlab.com/kicad/code/kicad/issues/10020
2022-01-01 20:46:45 +00:00
Marek Roszko ea613cf448 Another batch of point changes 2022-01-01 13:17:12 -05:00
Marek Roszko c4c56de708 Neurotically update position wxPoint usages 2022-01-01 11:55:51 -05:00
Marek Roszko 347e03363a Convert wxPoint/wxSize starting from EDA_RECT usages 2022-01-01 11:30:33 -05:00
arturo182 c07e5ca5d1 Happy New Year! 2022-01-01 14:27:22 +00:00
Wayne Stambaugh d634b33c34 Preference dialog fixes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10139
2021-12-31 14:59:46 -05:00
Ian McInerney 14780ab2e4 Code cleaning un kicad_curl_easy 2021-12-31 11:00:31 +00:00
Ian McInerney 0e9cfd0af2 Add missing initialization values to variables
Flagged by Coverity.
2021-12-30 23:42:06 +00:00
Marek Roszko c7447f9be6 Remove UpdateUI from preferences pdf viewer option 2021-12-30 11:36:01 -05:00
Mark Roszko 44dc602d6b Yeet wxPoint/wxSize out of PLOTTER 2021-12-29 19:02:50 +00:00
Jeff Young ccb94fd1a7 APIs for passing KIFONT::FONT pointers around.
Also some clean-up and bug fixes.
2021-12-29 17:32:19 +00:00
Jeff Young dd6cd7d184 Pull some more improvements in from rockola/kicad-strokefont.
This one is primarily about pushing TEXT_ATTRIBUTES in to the GAL
API, but it also includes adding EDA_ANGLE signatures to some trig
routines to ease integration.
2021-12-29 17:32:19 +00:00
Franck Bourdonnec e3fb9f77eb missing statement 2021-12-29 11:41:40 +00:00
Wayne Stambaugh cc9d074a2a Add upated UI event throttling to advanced configuration. 2021-12-28 18:17:53 -05:00
Jeff Young 86cb57f4a7 Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont 2021-12-28 22:15:20 +00:00
Wayne Stambaugh b5960fef38 Fix another broken tree book selection in paged dialogs. 2021-12-28 16:57:42 -05:00
Wayne Stambaugh 7b1b96c933 Fix broken tree book selection in paged dialogs.
This only affected the tree controls that only parented sub-pages.  Do
not use the dialog ctor to select the initial page.  Queuing a page
changed event to fire after the dialog is shown is the proper solution.
2021-12-28 09:43:57 -05:00
jean-pierre charras b0bf780b80 Ensure stroke_params_lexer.h is created on all platforms (linux or msys2)
Probably due to an order of build commands this file was not created before use
on msys2.
2021-12-28 12:01:30 +01:00
Wayne Stambaugh 14c148cb38 Expunge update UI event handler from paged dialog object.
Use the book control page changing event to update any pages prior to
them being shown.  When the validation fails when changing pages, the
page change is vetoed until the invalid condition is fixed by the user.

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

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10139
2021-12-27 18:40:12 -05:00
Jeff Young 5e4a704155 Remove some more duplicated preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young 933b82495d Use ISO 128-2 values for dashed line defaults. 2021-12-25 14:00:57 +00:00
Jeff Young b07afad83c Cleanup. 2021-12-24 21:21:14 +00:00
Jeff Young 03a2723b67 Improve GUI of lib item colors. 2021-12-24 21:21:11 +00:00
Jonathan Haas 24472ff9e3 Add simple implementation of FILL_T::FILLED_WITH_COLOR for SVG plotter (custom color is ignored at this point) 2021-12-24 21:21:08 +00:00
Jeff Young 09b7e0b72b ADDED Exclude Footprint from Courtyard Requirement.
Fixes https://gitlab.com/kicad/code/kicad/issues/9881
2021-12-24 21:10:28 +00:00
Jeff Young d649b288a6 Swap out autoplace rotation costs for private footprint layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/2291

Fixes https://gitlab.com/kicad/code/kicad/issues/5391
2021-12-24 21:10:28 +00:00
Jeff Young fa908e1f98 Dimensions for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young b84a85f648 Cleanup dead code and stale TODOs. 2021-12-24 21:10:28 +00:00
Jeff Young ed79f6e511 Clean up some TODOs. 2021-12-24 21:10:28 +00:00
Jeff Young 29c942816e Reduce duplication of settings. 2021-12-24 21:10:28 +00:00
Mikolaj Wielgus 567948cb39 Restore Translators-Other section in credits 2021-12-24 20:40:32 +01:00
Jeff Young c3552a940a Make sure standard OK/Cancel buttons respond to current language.
Fixes https://gitlab.com/kicad/code/kicad/issues/9635
2021-12-24 18:13:11 +00:00
Jeff Young 6cec58cf75 Add field access to custom DRC rules.
ADDED getField() method to custom DRC rules.
2021-12-24 18:13:00 +00:00
Jeff Young 23194dbe54 User-settable high-contrast dimming factor.
ADDED user-settable high-contrast dimming factor.

Fixes https://gitlab.com/kicad/code/kicad/issues/6922
2021-12-24 17:38:55 +00:00
Jeff Young af13533b42 Add show/hide controls for ERC markers.
ADDED show/hide controls for ERC warnings, ERC errors and ERC exclusions.

Fixes https://gitlab.com/kicad/code/kicad/issues/7270
2021-12-24 17:38:50 +00:00
Jeff Young a6dd1bf09b Implement Reset to Defaults for all preferences panels. 2021-12-24 17:38:39 +00:00
Jeff Young ceceda37cc No more long-lived parsers.
We've had too many bugs from improper re-initialization.

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

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

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

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

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

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

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

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

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

ADDED angle override for thermal relief spokes in Pad Properties.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9660
2021-11-17 19:45:33 +00:00
Wayne Stambaugh e57ef66971 Fix build error with wxWidgets 3.0. 2021-11-17 12:28:23 -05:00
Jeff Young 1650d56838 Handle search cancel in the lib trees.
Fixes https://gitlab.com/kicad/code/kicad/issues/9671
2021-11-17 14:01:53 +00:00
Jeff Young 1bb750814d Cleanup dead code. 2021-11-17 12:49:53 +00:00
Jon Evans 9238b27f63 Silence IsWritable warning message
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9656
2021-11-16 21:02:32 -05:00
Jon Evans f6263e0129 Erase library env vars if tables are not migrated
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9660
2021-11-16 20:48:25 -05:00
Jeff Young 7760d3275d Fix printing of LIB_SHAPE arcs. 2021-11-17 01:39:16 +00:00
Seth Hillbrand edc94f4d32 Rescale Chinese characters to be more square
Adds a simple re-scaling script in case we need it again

Fixes https://gitlab.com/kicad/code/kicad/issues/1824
2021-11-16 15:52:07 -08:00
Jon Evans 2ca54c2efc Set "fresh start" settings as the default path
Also, prevent migrating library tables when not also migrating settings
2021-11-16 18:13:12 -05:00
Seth Hillbrand 550b13e2a6 Widen the chinese character set for legibility
Fixes https://gitlab.com/kicad/code/kicad/issues/1824
2021-11-15 18:12:19 -08:00
Jon Evans 31f41610f6 Move macOS data path inside the app bundle 2021-11-15 18:56:35 -05:00
Jeff Young 12a75ffb94 A fuller implementation of allowing cut/copy/paste in search boxes.
This one also works for other text entry widgets, and also works
for other frames.
2021-11-15 18:13:35 +00:00
Seth Hillbrand f950d96324 Prevent dereferencing frame on exit
Processing a menu event for quitting results in the frame being
destroyed.  This crashes the program when it tries to access the newly
freed frame to check for autosave data.  We bind the closing flag into
the base program which will be the last item freed on exit to ensure we
can correctly check for data loss

Fixes https://gitlab.com/kicad/code/kicad/issues/8638
2021-11-15 10:07:28 -08:00
Jeff Young 97943e0c7c A test for the Chinese grid menu problem.
Fixes https://gitlab.com/kicad/code/kicad/issues/9449
2021-11-15 14:21:27 +00:00
jean-pierre charras 19fc8c6d98 CAIRO_GAL: fix incorrect display of segments in outline mode in flipped board view
Fixes #9633
https://gitlab.com/kicad/code/kicad/issues/9633
2021-11-15 10:12:10 +01:00
Jon Evans ae24daa033 Do not include text when computing drag origin for a group
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9630
2021-11-14 11:54:04 -05:00
Jeff Young 66d9e7073f More discrete borders for Kicad mgr, PCM and appearances panels.
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Jeff Young 36fd62ccdc Another round of beautification changes for PCM.
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 13:11:19 +00:00
Wayne Stambaugh d87bfc7103 Make the OK button the default in the settings migration dialog. 2021-11-13 08:14:32 -05:00
jean-pierre charras bfd09a4d16 Avoid calling deprecated wxPlatformInfo::GetArchName() in more than one place. 2021-11-13 09:52:08 +01:00
Jon Evans 43c85771eb Fix paste into Scintilla fields on macOS
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9473
2021-11-12 23:25:44 -05:00
Mikolaj Wielgus 921105330a Remove printing files from Project Manager 2021-11-12 20:18:32 +00:00
david-beinder a9b4465703 Altium import: Use UTF16 string table for PCB texts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7948
2021-11-12 14:49:22 +00:00
Marek Roszko b20317ca84 Some minor cleanup of the proxy detect 2021-11-11 22:47:21 -05:00
Jeff Young 0b48876ce5 Decouple left and right pane minimums for splitter window. 2021-11-12 02:12:44 +00:00
Jon Evans 23e0751b2e fix clang build 2021-11-11 10:58:47 -05:00
Marek Roszko e2926f69a5 Add support to fetch windows proxy config for use with curl
Fix https://gitlab.com/kicad/code/kicad/-/issues/9594
2021-11-11 09:30:10 -05:00
Wayne Stambaugh 94119b365d Pcbnew: fix assertion in footprint hashing algorithm. 2021-11-10 16:51:35 -05:00
Jeff Young 7211c5a350 Kicad look & feel and reduce conceptual nesting depth of PCM. 2021-11-10 12:42:54 +00:00
Jon Evans 42eb063697 PCM: Treat color themes as read-only; don't copy to settings dir
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9548
2021-11-09 22:11:59 -05:00
Jeff Young b2fa2f81b2 Paste code expects a fully formed worksheet.
(And we may need the version later, so it's better to have it than
to not.)

Fixes https://gitlab.com/kicad/code/kicad/issues/9590
2021-11-09 23:18:38 +00:00
Jeff Young d4e3e67b8d Update kicad_prl file when doing a SaveAs.
Fixes https://gitlab.com/kicad/code/kicad/issues/9455
2021-11-09 17:25:18 +00:00
jean-pierre charras 39474921d9 DIALOG_CONFIGURE_PATHS: delete path in list when a path is deleted in dialog.
Fixes #9531
https://gitlab.com/kicad/code/kicad/issues/9531
2021-11-09 10:35:49 +01:00
Seth Hillbrand 6e5a918377 Writeable -> Writable 2021-11-08 15:56:51 -08:00
Seth Hillbrand 8f1dec61d2 Add swedish as option for translators
There appears to be activity in Weblate updating this language.
2021-11-08 11:41:14 -08:00
Mikolaj Wielgus 6d9456ea4d Fix opening files with spaces on Linux
`wxLaunchDefaultApplication()` fails on files with spaces on Unix
systems due to a programmer error. This is fixed in newer wxWidgets
versions, so let's backport it as a workaround.
2021-11-07 14:31:14 +00:00
Jeff Young 997b22d3ee Safety on setting netclass line styles. 2021-11-07 14:12:44 +00:00
jean-pierre charras 4293caf00c fix crash in wxDataViewItem GetNextItem() when there are no item.
Fixes #9540
https://gitlab.com/kicad/code/kicad/issues/9540
2021-11-07 08:53:56 +01:00
Mikolaj Wielgus 932bed278e Fix EDA_RECT inflation zeroing width when it was negative
Fixes https://gitlab.com/kicad/code/kicad/issues/9063
2021-11-06 18:23:02 +00:00
Jeff Young b73793f9ef Rewrite text find/change routines to support word matching.
The old algorithm treated the "Words" checkbox as meaning match the
entire text, not match words, which is unlikely to be what anyone is
expecting.

Also fixes replace to replace all instances in a single text item
rather than just the first.

Reported on the forum.
2021-11-05 13:37:37 +00:00
Seth Hillbrand 888050bd67 Fix an error when missing argc/argv data
Boost::unit_test is supposed to pass along data vals but seems to be
missing in our case.  This provides a fallback
2021-11-03 16:52:46 -07:00
Jeff Young 2b5ea7812f Fix another case of the double-quote in wxString::Format problem.
Yes, sadly it's a string change and we're past string freeze.  However,
without the fix you get no string at all.
2021-11-03 18:53:26 +00:00
Mark Hämmerling 8b9e2c8ba4 Add myself to list of translators and other contributors 2021-11-02 22:29:15 +00:00
Jeff Young 40b4052ad4 Improve text hittesting in schematics.
Text has a fairly big bounding box to account for descenders, overbars,
etc., but it makes it feel too sloppy for hittesting.  This change
allows selection disambiguation to look at the actual strokes of the
text when deciding what's "closest".

Fixes https://gitlab.com/kicad/code/kicad/issues/9506
2021-11-01 21:13:12 +00:00
Jeff Young 5275393a94 Use highlight algo that works for both PCBNew and Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/9500
2021-11-01 16:08:49 +00:00
Jeff Young c8a8efa67b Save as for current version project files.
Fixes https://gitlab.com/kicad/code/kicad/issues/9455
2021-10-30 23:01:53 +01:00
Jeff Young 696619fdb6 Larger set (and larger default) of grid sizes for drawing sheet editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/9494
2021-10-30 20:32:23 +01:00
Jeff Young 5f8e0ef1e0 Patch up arc hit-testing and printing for 6.0
This could use another look when we're not so near release.  We
really shouldn't need to special case eeWinding vs. not eeWinding.

Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jon Evans e6c3027531 Action string typo fixes 2021-10-30 08:47:36 -04:00
Wayne Stambaugh ffddefc532 Minor dialog layout improvements. 2021-10-29 15:29:49 -04:00
Jeff Young b42fce430d Separate default grid between eeschema/symeditor and other apps.
Fixes https://gitlab.com/kicad/code/kicad/issues/9472
2021-10-28 22:16:33 +01:00
Jeff Young c5dd620696 Improve spacing and alignment in html report panel. 2021-10-28 15:11:15 +01:00
Jeff Young 4fe025909d Fix centered rotated text in Pcbnew Eagle importer.
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 14:38:42 +01:00
Jeff Young 1fbb7f17c7 Don't copy (or cut) hidden columns.
Fixes https://gitlab.com/kicad/code/kicad/issues/1911
2021-10-26 15:55:17 +01:00
Jeff Young f724fe7eff Move bbox padding to RTrees so it doesn't interfere with hittesting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh 1f7fd436a2 Move board object polygon code into the object source files.
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Roberto Fernandez Bautista a79a221257 Array creator tool: Add option to assign unique reference designators
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]

CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Seth Hillbrand 4b5c010e63 Standardize asterix at the beginning of title
This is how the unsaved state is presented in Editor Frames (for
better/worse) so we should be consistent
2021-10-25 09:36:23 -07:00
Jeff Young c52cb229d0 Add unsaved-changes indication to Symbol Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9443
2021-10-25 12:35:04 +01:00
Jeff Young c9d858eaf5 Add status bar message for constraint mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Seth Hillbrand 3036cc2ce5 Correct Korean language name
Thanks to korearf for pointing this out
2021-10-23 07:13:50 -07:00
Jeff Young fecb53b64f Clean up removal of separate front & back footprint text visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Wayne Stambaugh 0795fcb810 Minor dialog layout fixes. 2021-10-21 08:59:55 -04:00
qu1ck 09a2701136 Fix arc angle calculation and python API for it
1. It's impossible to use methods that modify parameters in swig so
I extend it in wrapper
2. Simplify GetArcAngle() and fix the bug where it lies about 360
degree arc to be 0 degrees.
2021-10-20 10:38:42 +00:00
Wayne Stambaugh 1e1da55840 Coverity fixes. 2021-10-19 07:42:27 -04:00
Jeff Young 0826c26a18 Fix a few minor dialog issues. 2021-10-18 18:09:40 +01:00
Ian McInerney 094fdc1b13 Limit CURL to only support HTTP(S) protocols
We don't actually need any other protocols, so lets disable them
to ensure we can't be affected by any vulnerabilities in that part of
the CURL library.
2021-10-18 00:34:53 +01:00
Ian McInerney 5817a8b5f4 Remove unused m_host variable
This variable isn't needed anymore after 5f53019290
pushed dark mode handling into the HTML window itself.
2021-10-18 00:29:40 +01:00
Seth Hillbrand 61025de865 Update default paths for symbols/footprints
Changes the default search path (if not initialized) to "symbols" from
"library" and to "footprints" from "modules"
2021-10-17 16:07:46 -07:00
Roberto Fernandez Bautista 99442350a4 CADSTAR PCB: Fix loading of arc tracks following recent PCB_ARC changes
We no longer have any knowledge of the original start/end of the arc,
since SetArcAngleAndEnd swaps the start and end to ensure the arc is
always clockwise at the end.

Adds a method EDA_SHAPE::EndsSwapped() to notify whether the start/end
point of the shape were swapped.
2021-10-17 17:57:51 +01:00
Roberto Fernandez Bautista 4d5a344ed5 CADSTAR: Reduce slowdown from progress reporting
Only report progress when it changes by more than 1%
2021-10-17 17:57:51 +01:00
Jeff Young 1f19c41c29 Support printing of kicad_dru files. 2021-10-15 12:45:43 +01:00
Jeff Young 8a8775bed8 Remove another use of non-argv wxExecute
(Fixes supplied by mwielgus.)
2021-10-15 12:45:43 +01:00
Jeff Young f9861b4a6c Finish arc rework and push out to file formats. 2021-10-15 12:45:43 +01:00
Jeff Young b52529521e Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young 9b9e379aa0 Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
Jeff Young a41944020d Push most of PCB_SHAPE impl down in to EDA_SHAPE. 2021-10-15 12:45:43 +01:00
Jeff Young 672b27f91a Formatting. 2021-10-15 12:45:43 +01:00
Seth Hillbrand 4852a8afa1 Set Scintilla cursor color for themes
Updates cursor to be visible even in dark themes

Fixes https://gitlab.com/kicad/code/kicad/issues/9398
2021-10-14 10:10:55 -07:00
Jeff Young fb8ee1a9d3 Remove assert. 2021-10-14 14:13:50 +01:00
Jeff Young 1b6c4638ca Escape quotes to prevent break-out.
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-10-13 17:17:57 +01:00
Mikolaj Wielgus 5f53019290 Substitute all wxHtmlWindow with HTML_WINDOW
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand 759abb7928 Make sure that relpath gets a value
Even if we are not asking for normalized paths, we need to return a
value in the relpath.  This modifies 574bef2237

Fixes https://gitlab.com/kicad/code/kicad/issues/9363
2021-10-11 09:19:41 -07:00
Ian McInerney 961c127ebe Convert mouse coordinates to native pixesl in the 3D viewer
All operations in the camera are done using the native pixel sizes,
so we need to ensure the mouse coordinates are converted to native
pixels to make the mouse operations line up with the view.

Fixes https://gitlab.com/kicad/code/kicad/issues/2561
Fixes https://gitlab.com/kicad/code/kicad/issues/8410
2021-10-10 17:52:12 +01:00
Seth Hillbrand 52bbfb9109 Remove dependency of dot size on linear mils
Changes a dot to be a square pixel (linewidth x linewidth).  This allows
the removal of IU dependencies and ensures that a dot is always visible
on screen.  Also makes sure that cairo is setting the current linewidth
during its stroke routines

Fixes https://gitlab.com/kicad/code/kicad/issues/9362
2021-10-10 09:40:26 -07:00
Roberto Fernandez Bautista 0fa8e1f311 DRC Control: Clear pointer to MARKER after it has been centered
Also, added asserts to verify SelectMarker and CenterMarker actually
do select one.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9344
2021-10-10 16:22:04 +01:00
Seth Hillbrand 3c29e68992 Use wxFFileInputStream to avoid dangling pointer
Cases where fp was left open could lead to dangling files until KiCad is
closed.  Stack-based file stream automatically closes after parsing and
on exception

Fixes https://gitlab.com/kicad/code/kicad/issues/9336
2021-10-08 13:42:04 -07:00
Ian McInerney c14bdf7fe0 pcb_calculator: Update panel images/text when system theme changes 2021-10-08 17:31:21 +01:00
Marek Roszko 4377f8019d Add (optional) trace mask setting as advanced config option
Maximize laziness!
This does not affect the environment variable usage
2021-10-07 21:05:58 -04:00
Wayne Stambaugh 034bc1e815 Fix ever shrinking window height for frame windows that are not maximized.
For some reason this does not affect the KiCad frame manager window so it
is an exception to prevent it from becoming an ever growing window height
issue.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8889
2021-10-07 16:58:54 -04:00
Mikolaj Wielgus faad5ee1ce Use system text and background colors in PCB calculator
wxHtmlWindow forces white background and black text. Force it back to
system settings.
2021-10-07 19:09:42 +00:00
Mike Williams 27765cd584 TOOL_DISPATCHER: drag activation should always use screen coordinates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9325
2021-10-06 19:05:18 +00:00
Jeff Young 1bb5fc3fd6 Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
Also adds double-click-marker to open DRC dialog and select marker
in list.

Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-06 11:17:03 +01:00
Jeff Young 95f841a037 A more nuanced method of making Board & Schematic Setup read-only.
This one still allows you to scroll to see all contents.

Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand 9a8d1246cc We don't keep a CHANGELOG.TXT
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand 9066165792 Fix compile error on Mac 2021-10-05 19:44:35 -07:00
Seth Hillbrand 548e5f49bd Clean up unused variable usage
Unused variables in function calls can be commented out.  Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Seth Hillbrand 043c326278 Add Boonchai K as Thai translator 2021-10-05 10:00:30 -07:00
Jeff Young ffd6fde700 Improve consistency and hotkey access in Appearances.
Added hotkey for cycling through net & netclass color modes.
Added hotkey for cycling through ratsnest layer visibilities.
Added code to display hotkey (if set) on the above and on high-contrast
cycle.

Fixes https://gitlab.com/kicad/code/kicad/issues/9312
2021-10-04 13:44:43 +01:00
Jeff Young 930c4e5582 Cleanup.
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young 11c91c7179 Improve obscuring dialog algorithm to handle multiple dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Jeff Young 574bef2237 Normalize drawing sheet path to env vars & prj, not just prj.
Also cleans up the dialog a bit.

Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.

Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young e2baacec21 Add cross-probing between PCB (markers) and DRC marker list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-02 23:39:45 +01:00
Jeff Young 10dd70881c New paramaterized interface doesn't like quoted parameters.
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Jeff Young 4e9b747e86 Fix wx3.0 (presumably) compile issue. 2021-10-02 12:39:33 +01:00
Jeff Young 671e9f2dba A better algorithm for centering library items in the tree.
It still doesn't center as wxWidgets' API is poorly suited for that.
But it does now at least keep it off the very top or bottom.
2021-10-02 10:41:26 +01:00
Jeff Young f606679164 Proper numeric sorting for intersheet refs.
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
jean-pierre charras e96108d3c8 Fix int ExecuteFile(...) incorrect behavior with quoted filename.
It uses a wxExecute() version that add quotes to filename, so the final
filename was incorrect.
Fixes #9292
https://gitlab.com/kicad/code/kicad/issues/9292
2021-10-01 17:26:01 +02:00
Seth Hillbrand c4fcff46ab Add Thai language option 2021-09-30 08:38:41 -07:00
Marek Roszko 0e3b001c51 Lock the windows when we ask about unsaved changes
Fix #9274
2021-09-29 23:01:06 -04:00
Seth Hillbrand 9e72c3b38d Don't add quotes for LaunchExternal in 3.0 either
The quotes do not work in GTK 3.0.5.  Since GTK is the only platform we
have left running 3.0, we can remove this.
2021-09-29 16:19:49 -07:00
Jeff Young 2489408c34 Use position as well as time-based drag semantics on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/9276
2021-09-29 18:30:46 +01:00
Jon Evans 0458afe20a Fix escaping of double quotes in LIB_IDs 2021-09-28 20:38:36 -04:00
Jon Evans 62ef27e372 Remove hard-coded anchor color in eeschema 2021-09-28 20:26:47 -04:00
Mikolaj Wielgus adafb15126 Remove LaunchURL()
Unused and insecure.

Related to https://gitlab.com/kicad/code/kicad/-/issues/9236
2021-09-28 22:39:18 +02:00
Seth Hillbrand fda7d68243 Hide extra edit label elements
By default, we don't need to see the drop-down choice menu in the edit
text dialog.  It is shown by the routines that use it
2021-09-28 09:17:45 -07:00
Jeff Young f73042fe24 Some minor performance enhancements. 2021-09-28 14:28:35 +01:00
Jeff Young 9f841da98e Don't try and highlight netnames or holes of selected items.
Fixes https://gitlab.com/kicad/code/kicad/issues/9256
2021-09-27 23:22:59 +01:00
Jeff Young 3413358992 Make sure there is a filename before creating a parameter for it.
Fixes https://gitlab.com/kicad/code/kicad/issues/9263
2021-09-27 22:57:15 +01:00
Mike Williams 9ca836d1ea Tools: Respect system drag
Also remove the time-based aspect. We aren't all super speed clickers.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8765
2021-09-27 16:44:32 +00:00
Mikolaj Wielgus 1d26a29fc0 Remove tilde expansion
Fixes https://gitlab.com/kicad/code/kicad/issues/9213
2021-09-27 16:10:36 +00:00
Jeff Young c05e4376f9 Update backups folder name when doing project save as.
Fixes https://gitlab.com/kicad/code/kicad/issues/9254
2021-09-27 13:24:45 +01:00
Jeff Young 3e298f1175 Fix 0-sized HTML window on OSX. 2021-09-27 12:47:14 +01:00
Jeff Young cef5792e78 Formatting. 2021-09-27 10:34:32 +01:00
Jeff Young 5f3c67bd2b Fill in some missing GetMsgPanelItems and make some others consistent.
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young 5dc82037fb Fix typo. 2021-09-26 17:26:56 +01:00
Jeff Young 1723106b4d Compile fixes for wx3.0. 2021-09-26 17:02:27 +01:00
Jeff Young 88ad249f76 Cleanup. 2021-09-26 16:34:32 +01:00
Jeff Young 67fb8cbe9e Compile fix. 2021-09-26 16:20:46 +01:00
Jeff Young 2e0b3b8a82 Attempt to fix 0-sized error dialogs. 2021-09-26 15:28:17 +01:00
Jeff Young fa032400ee Fix compile error. 2021-09-26 15:28:17 +01:00
Jeff Young bbea8afdc5 Trim some (probably) excess includes. 2021-09-26 15:28:17 +01:00
Jeff Young 5bf042fcc1 Use individual parameter version of wxExecute.
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-26 15:03:06 +01:00
Jeff Young c6bcb85562 Excise system() calls.
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-25 20:09:06 +01:00
Seth Hillbrand e955ee7bd2 Disable ALT disambiguation for MSW
Better to not show anything than to show a broken dialog.
Disambiguation is accessible using the long-click function

Fixes https://gitlab.com/kicad/code/kicad/issues/9232
2021-09-25 09:04:59 -07:00
Jeff Young 46949abe4a Don't scroll to highlight an object already visible. 2021-09-25 15:31:52 +01:00
jean-pierre charras 5aea7b8123 Cairo: fix incorrect handling of arcs with angle >= 360 deg in some cases.
Fixes #9231
https://gitlab.com/kicad/code/kicad/issues/9231
2021-09-25 09:06:09 +02:00
Seth Hillbrand c69a16ca6d Wrap around highlights to ensure distinguishing
Bright colors are maxed out for highlighting.  Modestly darkening them
helps to distinguish them from their neighbors but keep the blue value
to help "glow" the selection

Fixes https://gitlab.com/kicad/code/kicad/issues/5560
2021-09-24 17:18:54 -07:00
Seth Hillbrand 64be61b4d6 Allow user to set footprint type up front
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.

Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Jeff Young c7f098ab25 Remove unused variable. 2021-09-24 16:03:13 +01:00
Jeff Young 8eb2e986cf Fix a crash bug on quitting on OSX. 2021-09-24 14:07:57 +01:00
Jeff Young b065ff33dc Looks like clang (or OSX?) needs an extra include.... 2021-09-23 20:14:03 +01:00
jean-pierre charras 0cf81b6d4e LOCALE_IO rework to fix issues on linux when using env vars with non ASCII7 chars.
We need to use a "C" locate to read/write files, and therefore switch the locale.
Removing use of setlocale( LC_NUMERIC, "C" ) and use only
wxLocale( "C", "C", "C", false ) was too fast: on linux it breaks the env vars.
on MSW
    using setlocale( LC_NUMERIC, "C" ) generates an alert message in debug mode,
    and this message ("Decimal separator mismatch") must be disabled.
    But calling wxLocale( "C", "C", "C", false ) works fine
On unix:
    calling wxLocale( "C", "C", "C", false ) breaks env vars containing non ASCII7 chars.
    these env vars return a empty string from wxGetEnv() in many cases, and if such a
    var must be read after calling wxLocale( "C", "C", "C", false ), it looks like empty

So use wxLocale on Windows and setlocale on unix
2021-09-23 14:31:25 +02:00
Jeff Young 157c21d325 Only run Unix file handling stuff on Unix.
Fixes https://gitlab.com/kicad/code/kicad/issues/9217
2021-09-23 13:08:31 +01:00
Jeff Young c38de1dcaf Pull back some 7.0 fixes to Custom Rules code completion. 2021-09-23 13:08:31 +01:00
Jeff Young d11c10252d More changes to file resolvers.
Copy Kicad2Step fixes back to Kicad's file resolver.

Remove Kicad2Step's autogeneration of some variables in favour of
just reading the config file passed by Kicad verbatim.

Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-09-22 11:28:45 +01:00
Seth Hillbrand 8a5388cf65 Make the python window follow the parent app
The Python window is pinned to the main KiCad application but to the
user, it appears that the window opens in response to their clicking
eeschema or pcbnew.  For this reason, we should re-center the python
window when the user will expect to see it when showing.

Fixes https://gitlab.com/kicad/code/kicad/issues/8623
2021-09-21 15:01:27 -07:00
Jeff Young 24f3c49631 Fix logic error in FileResolvers.
If Normalize() was not needed after finding a searchpath then we were
never updating tname and just blindly returning it.

Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-09-21 12:35:16 +01:00
Marek Roszko 91e456113f Use StartsWith instead of Contains for the Intel check 2021-09-20 18:56:06 -04:00
Marek Roszko 1b8259701e Expand "Intel" GL_VENDOR check for workaround
Fix #7444 maybe
2021-09-20 18:20:57 -04:00
Seth Hillbrand 0f10748226 Disallow Ctrl-Tab and Ctrl-Shift-Tab as hotkeys
Fixes https://gitlab.com/kicad/code/kicad/issues/9010
2021-09-20 11:13:50 -07:00
Jeff Young f66654247a Read netclasses when importing Eagle projects.
Also creates a DRU file with the various netclass-to-netclass
clearance rules from the Eagle clearance matrix.

Fixes https://gitlab.com/kicad/code/kicad/issues/1774
2021-09-20 12:38:56 +01:00
Seth Hillbrand c088de5f75 Fix compile issues on non-mac 2021-09-19 08:41:10 -07:00
jean-pierre charras bdb1231169 Fix compil issues on GTK and MSW. 2021-09-19 17:28:14 +02:00
Jeff Young 6e7ce09572 Use more descriptive terminology for preferred text editor.
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".

Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
jean-pierre charras 2f9c6dd5cc PANEL_FP_PROPERTIES_3D_MODEL: fix an issue in FILENAME_RESOLVER::ValidateFileName():
Allows ':' if it is a disk separator in filenames on MSW (missing in commit b93188).
2021-09-19 08:57:48 +02:00
jean-pierre charras b931883876 PANEL_FP_PROPERTIES_3D_MODEL: fix an issue when trying to edit a filename (MSW specific).
On Windows, FILENAME_RESOLVER::ValidateFileName() always returned a illegal filename test,
because the separators ('/' and '\') are in list of illegal chars in filenames on MSW.
2021-09-18 18:17:54 +02:00
Jeff Young 5c07441e24 Remove Setup Dialog assignment of netclasses to buses.
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.

Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).

Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.

Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.

See additional comments in the bug report.

Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young 364ecc02ee Hide scaling hacks on platforms that don't need them.
Fixes https://gitlab.com/kicad/code/kicad/issues/9171
2021-09-17 12:37:53 +01:00
Jeff Young 2479e1d7b1 Improve common settings property grouping.
Also moves apply-icon-scaling-to-fonts to its own checkbox.  (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
Tokita, Hiroshi 1f8b72c194 Added Japanese translators missing from the list
Some of the Japanese translators who are contribuinge to kicad-i18n
(https://gitlab.com/kicad/code/kicad-i18n) are
not contain the list, so add them.

I found the following translators was missed in the list.

```
Hidemichi Gotou <hgotou@pop16.odn.ne.jp>
KaoruZenyouji <kaoruzen@gmail.com>
kinichiro <kinichiro.inoguchi@gmail.com>
nosuzuki <nosuzuki@postcard.st>
starfort-jp <starfort@nifty.com>
```
2021-09-16 15:25:39 +00:00
Jeff Young fdd9df6dff Linear brightening doesn't work well for colours near white. 2021-09-16 14:17:52 +01:00
Jeff Young 6197717251 Avoid poor choices for point colors.
Also adjusts the point size to account for the fact that it now has a border.
2021-09-16 14:17:52 +01:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young 3aae3c6f65 Dark mode for a bunch of HTML dialogs.
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT

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

Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
jean-pierre charras 666f7ea38c WX_GRID::EnsureColLabelsVisible(): avoid updating column label size when not needed.
Updating column label size generates a UI event and if EnsureColLabelsVisible()
is called inside a UI event, this is a bit annoying.
2021-09-14 20:08:48 +02:00
Seth Hillbrand 754464cb3b Fix coverity error
Check failed to open file before dereferencing
2021-09-14 10:15:43 -07:00
Jeff Young 38e1e780a8 Use EnvVar resolver not full resolver when expanding 3D search paths.
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-09-14 14:48:09 +01:00
Jeff Young 7a993c0211 Add support mode for dark mode to SCINTILLA_TRICKS.
Also removes the return value from the BITMAP_STORE's themeChanged
method as it will provide the wrong answer for the second frame it's
called on.

Also hooked up ACTION_TOOLBAR, the app launcher, and the project tree
to the wx event for system color changes so they change on the fly.

Fixes https://gitlab.com/kicad/code/kicad/issues/6026
2021-09-14 00:18:50 +01:00
Seth Hillbrand ab46aba5c9 Correct Language ID for Latin American Spanish 2021-09-13 11:00:23 -07:00
Jeff Young a5247471f7 Expunge a bunch more fixed font specs from wxFormBuilder files.
Also removes the -1 sizing of the status bar on GTK and MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young 9c78e4cf54 Mac needs different font size handling than MSW & GTK.
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better.  The
other platforms need a more limited range of sizes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young 769ca2d255 Add a quantized scaling mode for bitmaps.
125% scaled bitmaps look bad in the Launcher so we pin to 100%,
200%, 300%, etc.
2021-09-11 23:40:31 +01:00
Jon Evans 0a5bb093d0 Fix gcc build 2021-09-11 15:02:59 -04:00
Jeff Young ed8b63505d Fix font scaling issues in StatusBar and Selection Filter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
Roberto Fernandez Bautista 625e56676a Add progress reporting to CADSTAR Schematic & PCB importers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young fbee62fc15 Tie font size scaling to when automatic icon scaling fails.
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Jeff Young cc13d6b2e8 Try out GTK font scaling based on icon scaling architecture.
wxWidgets symbolic sizes fail on HiDPI GTK screens; the dialog pixel
stuff fails on non-scaled GTK screens.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 10:57:25 +01:00
Jeff Young ad59254be8 Another round of font sizing tweaks.
It appears that both strategies in the last commit worked, leaving us
with squared scaling.  The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.

Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
Seth Hillbrand abfc60acfc Split European Spanish and Latin American Spanish
This is a test split per requests.  While "Latin American Spanish" is
not really homogeneous, there are distinct differences to European
spanish, so we are splitting in an effort to allow both translations.
If one is less viable, this may re-merge in the future.
2021-09-10 12:45:59 -07:00
Jeff Young 7a822b55aa Another round of changes to attempt to fix the GTK font size issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand 29c2f3b7d4 Prevent jumping into disambiguation if moved
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y

Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Seth Hillbrand 23024eb9e3 Fix typo 2021-09-09 11:30:00 -07:00
Seth Hillbrand dc574bcb24 Split Portuguese
Split the dialects of Portuguese into Bazilian Portgugese and Portugal
Portuguese
2021-09-09 11:18:32 -07:00
Seth Hillbrand fe9bdd41d9 Finalize modifier update
Update the preference pane info text

Also standardizes the use of "Option" instead of "Alt" for Mac users.

Fixes https://gitlab.com/kicad/code/kicad/issues/9129
2021-09-09 10:47:43 -07:00
Jeff Young 7a035e2675 More font scaling changes.
These may or may not fix scaling issues on GTK with HiDPI monitors.
2021-09-09 11:17:21 +01:00
Jeff Young 61ef431c56 Apply fixes from Kicad2Step filename resolver back to Kicad. 2021-09-09 11:17:21 +01:00
Jeff Young f013dbc7c4 More uniform handling of status fonts.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Jeff Young e7debc495b WIP 2021-09-08 20:17:59 +01:00
Wayne Stambaugh 3b16c38756 Coverity issue fixes.
Fix Coverity issues 157138, 338547, and 338716.
2021-09-08 14:51:27 -04:00
Roberto Fernandez Bautista a2c28b18a8 "Fernandez Bautista" comes after "Evans"
In Spain we have two surnames. More details on wikipedia:
https://en.wikipedia.org/wiki/Spanish_naming_customs
2021-09-08 18:47:54 +01:00
Seth Hillbrand f901fe9ecf Re-add Korean language option
Korean has recently been fully updated by a group of dedicated
translators.  This adds the official menu entry.

Also remove Catalan as it hasn't been maintained during v6
2021-09-08 09:58:28 -07:00
Wayne Stambaugh ad1ee958b0 Code cleaning. 2021-09-07 15:18:42 -04:00
Seth Hillbrand c8b2e69332 Check if selection is primary tool
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor.  These still allow the selection tool
to handle events such as clicks.  This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top

Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh 41c7089417 Minor dialog layout improvements. 2021-09-07 08:06:02 -04:00
Michael Kavanagh 0e3c79d3b2 Remove inappropriate icons
Icons should be used sparingly to draw attention to the most used actions
2021-09-06 21:23:52 +00:00
Seth Hillbrand 343dbf0f5b Change default 45° hotkey to shift-space
This requires enabling the space key to be bound with shift, which was
disabled based on an overbroad limit of only allowing shift to be mapped
with letter keys
2021-09-06 12:18:29 -07:00
jean-pierre charras 56374ffa26 Try to fix a compil issue that does not happen on my computers. 2021-09-06 18:36:27 +02:00
jean-pierre charras 36048fa436 OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Seth Hillbrand 7312bb4584 Fix compile error 2021-09-06 07:02:10 -07:00
Jeff Young c861fadc31 Make 3D path resolvers agnostic about alias syntax.
Some code seems to think it's :alias:path while other code thinks it's
alias:path.  This commit updates both the Kicad2Step resolver and the
KiCad internal resolver to be agnostic.

In 7.0 we should probably get rid of aliases entirely.  But that's a
story for another day....

Fixes https://gitlab.com/kicad/code/kicad/issues/9002
2021-09-06 14:26:24 +01:00