Commit Graph

8072 Commits

Author SHA1 Message Date
Jeff Young 4d53ff9811 Grid dropdown doesn't always live in the same toolbar.
Also fixes typo in grid properties dialog.

Fixes: lp:1839224
* https://bugs.launchpad.net/kicad/+bug/1839224
2019-08-08 13:51:23 +01:00
Tomasz Włostowski 726bceecfd router: springback now works for dragging vias in shove mode
Fixes: lp:1837766
* https://bugs.launchpad.net/kicad/+bug/1837766
2019-08-07 23:49:57 +02:00
Tomasz Włostowski 88f2318c9c router: add VIA_HANDLE to refer to VIAs going in/out the SHOVE algorithm without raw pointers 2019-08-07 23:48:28 +02:00
Tomasz Włostowski 45e4387ed1 router: remove unnecessary include 2019-08-07 23:46:32 +02:00
Tomasz Włostowski 5666af4d1d router: copy m_owner when copying PNS::ITEMs 2019-08-07 23:45:38 +02:00
Tomasz Włostowski 75fcdb3b08 router: disable hole to hole mechanical constraint in P&S until a suitable solution is found (as it is now it breaks springback) 2019-08-07 23:44:43 +02:00
Seth Hillbrand 5151cd0bfe C++14: Remove unused make_unique.h
Also removes header references now that we are in C++14, this is
built-in to the std
2019-08-07 09:27:31 -07:00
Seth Hillbrand e985e10eec gerber: Fracture footprint polygons before exporting
Footprint polygons can be degenerate and need
to be simplified before exporting
2019-08-06 17:00:27 -07:00
Jeff Young 4399a52ad3 Work around a wxWidgets bug that loses the preferences item from the menu.
Fixes: lp:1839148
* https://bugs.launchpad.net/kicad/+bug/1839148
2019-08-06 11:50:19 -06:00
Jeff Young edc05b5d54 Pad properties dialog needs to edit the local value, not the resultant value.
Fixes: lp:1838618
* https://bugs.launchpad.net/kicad/+bug/1838618
2019-08-05 21:38:28 -06:00
Ian McInerney f59b3a0210 pcbnew: Move layer toolbar icon previous values to struct
The static variables posed problems on Linux, and also were
not as portable for multiple instances of PCB_EDIT_FRAME.
2019-08-05 20:47:29 -06:00
Jeff Young 6c0a3b4534 Disable inappropriate values for aperture pads.
Fixes: lp:1809010
* https://bugs.launchpad.net/kicad/+bug/1809010
2019-08-05 16:48:18 -06:00
Jeff Young 6069263beb Add ctrl-W to 3D viewer.
Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
2019-08-05 16:48:18 -06:00
Wayne Stambaugh bf5ce3a1ba Pcbnew: fix minor layout issues in options panel. 2019-08-05 11:29:16 -04:00
Jeff Young 95bfb733ee Add defensive coding for <enter> processing in Edit Footprint Text dialog.
Fixes: lp:1806124
* https://bugs.launchpad.net/kicad/+bug/1806124
2019-08-04 16:25:36 -06:00
jean-pierre charras 120637bd9b A few I18n minor fixes. 2019-08-04 10:33:54 +02:00
Jeff Young c60118b6a4 Ativate delete tool so it can display the selection clarification menu when needed.
Fixes: lp:1835371
* https://bugs.launchpad.net/kicad/+bug/1835371
2019-08-03 22:17:31 -06:00
Jeff Young 3e8ebe0a2a Fix formatting. 2019-08-03 22:16:21 -06:00
Jeff Young 373ba5a904 Better tooltip for Match Mode radio buttons.
Fixes: lp:1838551
* https://bugs.launchpad.net/kicad/+bug/1838551
2019-08-03 17:20:54 -06:00
Jeff Young c438686deb Put selected layer in front of DRC markers.
Fixes: lp:1824656
* https://bugs.launchpad.net/kicad/+bug/1824656
2019-08-03 17:20:54 -06:00
jean-pierre charras 7bfbcef942 Make some strings more easily translatable
DIALOG_BOARD_STATISTICS: fix some minor issues.
2019-08-03 09:32:10 +02:00
Jeff Young 01e78b04c6 Save last-used-paths in export dialogs.
Also fixes the export GenCAD dialog so that browse correctly updates
the textbox.

Fixes: lp:1793761
* https://bugs.launchpad.net/kicad/+bug/1793761
2019-08-02 21:03:48 -06:00
Jeff Young b8a03be869 Flip block around center instead of first item's anchor.
Fixes: lp:1789775
* https://bugs.launchpad.net/kicad/+bug/1789775
2019-08-02 16:07:25 -06:00
Jeff Young f756af788e Fix missing CTRL+W in libEdit and modEdit.
Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
2019-08-02 15:56:29 -06:00
Jeff Young cc82e59003 Push the Quit/Close menu logic down into common. 2019-08-02 14:32:49 -06:00
Jeff Young 5c85dbaec4 Another attempt to improve tooltips for Update PCB from Schematic dialog. 2019-08-02 14:32:49 -06:00
Seth Hillbrand 76853dfeb2 pcbnew: Fix copy-paste error from 161dc9ce7
create_vrml_shell() needed the idxSide check but create_vrml_plane only
had an extra variable that wasn't used and so shouldn't be checked.

(cherry picked from commit c9956def36)
2019-08-02 13:17:02 -07:00
Jeff Young 937e3c2d48 Make m_Text private so we don't keep getting bugs where m_shown_text fails to get updated.
Fixes: lp:1838655
* https://bugs.launchpad.net/kicad/+bug/1838655
2019-08-01 20:36:59 -06:00
Jeff Young 1ea9ad05bc More explicit text for Update PCB dialog.
Fixes: lp:1838551
* https://bugs.launchpad.net/kicad/+bug/1838551
2019-08-01 20:36:59 -06:00
Jeff Young 3f28a1d1cb Cleanup after cancelled add text dialog.
Fixes: lp:1838452
* https://bugs.launchpad.net/kicad/+bug/1838452
2019-07-31 23:10:13 -06:00
Jeff Young 5c80019541 Update comment. 2019-07-31 21:56:53 -06:00
Seth Hillbrand ff28501d6d pcbnew: Fix VRML export checking
In rare cases, the VRML triangulator may claim to work but return empty
vectors.  These cases need to be caught before we dereference the vector
elements.

Fixes: lp:1838448
* https://bugs.launchpad.net/kicad/+bug/1838448

(cherry picked from commit 161dc9ce7e)
2019-07-31 20:04:41 -07:00
Ian McInerney 6c401ecce7 pcbnew: Fix DXF units in drill map plotting
Fixes: lp:1836924
* https://bugs.launchpad.net/kicad/+bug/1836924
2019-07-30 16:17:57 -04:00
Michael Kavanagh 58cfc13649 Fix some lost menubar menu separators 2019-07-30 19:12:34 +02:00
Ian McInerney b70df18939 pcbnew: Force rebuild of layer pair icon on menu creation
Fixes: lp:1838158
* https://bugs.launchpad.net/kicad/+bug/1838158
2019-07-28 17:38:32 -06:00
Jeff Young b432a718ab Back out previous fix. 2019-07-28 17:38:27 -06:00
Jeff Young 7b5b807a8c Another attempt to fix the GTK uninitialized layer pair bitmap.
Fixes: lp:1838158
* https://bugs.launchpad.net/kicad/+bug/1838158
2019-07-28 16:19:57 -06:00
Jeff Young ee1be14b62 Initialize static memory. Only the LLDB compiler does this for you.
Fixes: lp:1838158
* https://bugs.launchpad.net/kicad/+bug/1838158
2019-07-28 12:50:22 -06:00
Jeff Young 987642eb8c Apply selectable logic to delete tool.
Fixes: lp:1838191
* https://bugs.launchpad.net/kicad/+bug/1838191
2019-07-28 12:31:18 -06:00
Jeff Young 8334cb9a1c Don't attempt colinear corner optimization when zones of different nets overlap.
Fixes: lp:1838197
* https://bugs.launchpad.net/kicad/+bug/1838197
2019-07-28 10:32:15 -06:00
jean-pierre charras 10fcd8eaef DIALOG_BOARD_STATISTICS_BASE: fix minor wxWidgets alerts. 2019-07-28 18:24:59 +02:00
Alexander a6b2a44fd6 DIALOG_BOARD_STATISTICS modifications and fixes - added vias information to dialog - added "save txt report" feature - some code cleanup and readability fixes - fixed issue with dialog moving when checkbox clicked - now dialog saves checkboxes state 2019-07-28 16:17:09 +02:00
jean-pierre charras dc69cac298 Try to fix UI issues in select layer pair dialog and slect layer dialog.
Fixes: lp:1838173
https://bugs.launchpad.net/kicad/+bug/1838173
2019-07-28 12:54:59 +02:00
Jeff Young d0344aecea Minor cleanup in dialog layout. 2019-07-27 23:27:21 -06:00
Jeff Young 4e40534d21 Update find history in combobox when history item is selected. 2019-07-26 23:50:51 -06:00
Jeff Young 5347c2ad3d Clear selection when running drawing tools.
Fixes: lp:1837796
* https://bugs.launchpad.net/kicad/+bug/1837796
2019-07-26 23:38:37 -06:00
Jeff Young 3904d7ccfc Push some search stuff down into EDA_DRAW_FRAME so it can be shared.
Also rewrites the PCBNew Find dialog to make use of the above, including:
1) searching in user-defined footprint fields
2) searching in pcb text
3) a history list in the search popup
4) case sensitive searching
5) word sensitive searching
6) the ability to turn wildcard searching on/off
7) better placement of the result when the dialog obscures part of the
window

Fixes: lp:1838006
* https://bugs.launchpad.net/kicad/+bug/1838006
2019-07-26 17:53:32 -06:00
Jeff Young 7314acf053 Renaming. 2019-07-26 13:19:17 -06:00
Jeff Young 77334628c4 Change default tool behaviour to skip unhandled events.
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly.  wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do.  (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)

I played around with a couple of ways to fix wxEVT_CHAR_HOOK.  Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.

So I’m changing it so that most tools now skip at the end of their
event loops.  I left out a couple that I felt were high risk (length
tuning, for instance).  But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.

Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
Jeff Young 815602d1af Fix missing AF_ACTIVATE flags on some tools.
Fixes: lp:1813659
* https://bugs.launchpad.net/kicad/+bug/1813659
2019-07-26 12:21:24 -06:00
Thomas Pointhuber 5f438b7a85 Fix handling of filled circle in eagle importer (was only partly fixed)
Partly fixed in 4fc692f04b, but missed
that there is a loadPlain where I need to handle this case as well.
2019-07-26 09:55:06 -04:00
Thomas Pointhuber c68b83e1bb Add support for hatched zones in eagle import 2019-07-26 09:38:26 -04:00
Jeff Young 460b03372d Implement preference for immediate actions.
Also pushes prefer-selection-to-dragging to common.
2019-07-25 20:41:22 -06:00
jean-pierre charras 3d9c04ecaf Pcbnew: Fix bug in MODULE::FindPadByName( const wxString& aPadName ).
This method was using a case insensitive comparison to find the pad matching aPadName.
But in netlist we are using case sensitive comparisons to attribute a net to a pad.
So if in the netlist there is a pad name that does not match any footprint pad name using case sensitive comparison but if it matches some pads using case insensitive comparison, the net is not set, but the test to detect non existing pads fails.
2019-07-25 17:37:25 +02:00
jean-pierre charras dd702cd53d Remove pads not on copper layers (just on tech layers) from connectivity calculation.
Pads not on copper layers now do not have a netname, and are no longer taken in account in connectivity.
Especially it avoid creating useless rats-nests for these pads.
2019-07-25 13:08:41 +02:00
Jeff Young 79934a327e Implement shoving of free vias.
Also contains a little bit of cleanup and a lot of commenting.

Fixes: lp:1833216
* https://bugs.launchpad.net/kicad/+bug/1833216

Fixes: lp:1833214
* https://bugs.launchpad.net/kicad/+bug/1833214
2019-07-24 09:33:47 -06:00
Jeff Young a7c41f0c34 Renaming for clarity. Unqualified "push" could mean push-n-shove, or it could mean push/pop. 2019-07-24 09:33:47 -06:00
Jeff Young c1fcb1d895 Allow shoving and springback when dragging vias (either connected or free).
Fixes: lp:1833216
* https://bugs.launchpad.net/kicad/+bug/1833216
2019-07-24 09:33:47 -06:00
Jeff Young 8c77d31d4d Simplification in prep for fixing some via dragging issues.
There should be no change in logic with this commit.
2019-07-24 09:33:47 -06:00
jean-pierre charras d208447cba Zone filler: clamp thermal stub width to the pad minimal size.
Setting stub width to a ridiculous large value (for instance 100 times the pad size) creates strange and broken shapes,
and obviously stubs cannot be built.
Ensure also the thermal shape is inside the zone boundary (because the algo adds areas this was previously possible)

Fixes: lp:1837559
https://bugs.launchpad.net/kicad/+bug/1837559
2019-07-23 20:32:38 +02:00
jean-pierre charras 30c724e858 Pcbnew: Mark some strings translatable in menu and/or hotkey list. 2019-07-23 11:53:55 +02:00
Jeff Young 1808d8bd40 Add hole-to-hole-minimum checking to via placement.
Courtesy of Frank Severinsen.

Fixes: lp:1833214
* https://bugs.launchpad.net/kicad/+bug/1833214
2019-07-21 21:21:11 -06:00
Jeff Young 2ca379b281 Copy ratsnest flags when exchanging modules.
Fixes: lp:1834214
* https://bugs.launchpad.net/kicad/+bug/1834214
2019-07-21 19:49:13 -06:00
Jeff Young b858fa38c4 Fix crash bugs in picker tools. 2019-07-21 19:06:06 -06:00
Jeff Young aa4d7682ca Don't shove stitching vias.
Whether or not it's a good idea, the current algorithm doesn't support
it and leaves them on top of each other.

Fixes: lp:1833214
* https://bugs.launchpad.net/kicad/+bug/1833214
2019-07-21 16:38:06 -06:00
Jeff Young 6f44b00b2c Add support for hole collisions to PNS. 2019-07-21 16:38:06 -06:00
Jeff Young b79d2d9258 Cleanup. 2019-07-21 16:38:06 -06:00
jean-pierre charras 346495ae31 Fix errors in DIALOG_BOARD_STATISTICS.
(some values were not in the right column or row)
2019-07-21 16:45:37 +02:00
jean-pierre charras 88801f46d9 Fix issues in DIALOG_BOARD_STATISTICS:
- make it wxWidgets 3.1 compatible.
- internationalize.
- fix minor wxwidgets alert.
- remove settings for fg/bg color: the result is unpredictable:
was black texts on black background on my computer.
2019-07-21 12:01:36 +02:00
Jeff Young ab7cf4a2b0 A bit of visual cleanup for the new Board Statistics dialog. 2019-07-20 14:39:08 -06:00
Alexander bb290abe91 added board statistics dialog, which shows info for production and assembly 2019-07-20 14:39:08 -06:00
jean-pierre charras 858db3c104 Synchronize toolbars state with current options after rebuilding them.
Previously, for instance after modifying preferences or language,
they were rebuilt but the tools state was not set due to a missing call to SyncToolbars() after rebuilding.
2019-07-20 18:16:35 +02:00
Jeff Young b5e01ea163 Initialize plot with aux origin checkbox.
Fixes: lp:1836923
* https://bugs.launchpad.net/kicad/+bug/1836923
2019-07-20 07:54:40 -06:00
Jeff Young 4a1edf581e Update DXF units drop-down.
Fixes: lp:1836927
* https://bugs.launchpad.net/kicad/+bug/1836927
2019-07-20 07:48:16 -06:00
Jeff Young d746ba892d Make sure the postion relative tool gets activated when used.
Fixes: lp:1836978
* https://bugs.launchpad.net/kicad/+bug/1836978
2019-07-19 20:14:40 -06:00
Jeff Young 02eb1d2c62 Don't try and run drawing tools in ModEdit with no module selected.
Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06:00
Jeff Young 0b08e4dcd2 Deactivate other tools when running one based on a PICKER.
In particular, if the last one was a PICKER tool, then we're going
to assert on "click-handler-already-set".

Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06:00
jean-pierre charras 176b1a0fd5 FP editor: fix crash when trying to save a footprint (Ctrl+S) when no footprint loaded. 2019-07-19 19:06:16 +02:00
jean-pierre charras b4fc78fc0d kicad_plugin.cpp: fix incorrect detection of existing footprints in PCB_IO::FootprintExists(), when fp names contain a point.
Fixes: lp:1837221
https://bugs.launchpad.net/kicad/+bug/1837221
2019-07-19 18:16:07 +02:00
Seth Hillbrand bacbe86756 pcbnew: Make clearance translucent
This sets the clearance outline to a slightly better opacity to allow
viewing of items behind the routed track clearance.  Future work should
include making this a configuration option.

Fixes: lp:1826719
* https://bugs.launchpad.net/kicad/+bug/1826719

(cherry picked from commit e0589d2908)
2019-07-18 10:47:27 -07:00
jean-pierre charras f4c1730b7c Pcbnew, footprint tree selector: make the selected items readable.
Previously, the background was highlighted, but not the text.
On Windows, the text was unreadable, until it was selected.
Now the foreground color is also set to the text selected color.

Similar to fix 34e00bdb6d, but for the fp editor.
2019-07-18 14:54:52 +02:00
Seth Hillbrand b31212def2 pcbnew: Ensure we don't overflow export
\u%4.4 can output between 7-11 bytes, which can overflow and not allow
the null terminator to be represented.
2019-07-17 18:24:25 -07:00
Jeff Young 3de00eef5f Cleanup. 2019-07-17 21:45:43 +01:00
Jeff Young d67c2d13c7 Fix re-entrancy problem in cross-probing.
Fixes: lp:1836940
* https://bugs.launchpad.net/kicad/+bug/1836940

Fixes: lp:1836937
* https://bugs.launchpad.net/kicad/+bug/1836937
2019-07-17 21:35:28 +01:00
Jeff Young 7c1049d86b Fix event-loop issue with some pickers.
RunAction returns immediately even when called with "run now" flag.

Fixes: lp:1836905
* https://bugs.launchpad.net/kicad/+bug/1836905
2019-07-17 21:35:28 +01:00
Tomasz Wlostowski 5bb06e5ac5 pcbnew: can't return a copy of ptr_vector if items are polymorphic and have no clone() methods. Work it around. 2019-07-17 08:10:47 -04:00
jean-pierre charras 164d40f235 Zone filled, non copper zones: fix missing inflate for non stroked solid areas. 2019-07-17 13:24:21 +02:00
Jeff Young b9749d361b Turn of pad mask layers if Eagle file specifies stop="no"
Fixes: lp:1835930
* https://bugs.launchpad.net/kicad/+bug/1835930
2019-07-17 01:03:34 +01:00
Jeff Young ba7ad7ddf4 Fix bug with PCBNEW_PICKER_TOOL not doing a push/pop.
PICKER_TOOL got updated but PCBNEW_PICKER_TOOL didn't.
2019-07-16 20:25:25 +01:00
Jeff Young 8d79661996 Convert symbol/module cross-probing to a selection model.
Net/net cross-probing stays a highlight model.

Fixes: lp:1836600
* https://bugs.launchpad.net/kicad/+bug/1836600
2019-07-16 20:25:25 +01:00
Seth Hillbrand 5ff7c61003 eagle: Fix segfault importing flipped footprints
We don't have a board reference when importing, so we don't get settings
for flip orientation.
2019-07-16 09:08:58 -07:00
Jeff Young 2c5876ee8c Add more control over how corners are handled when inflating polygons. 2019-07-16 16:41:21 +01:00
Jeff Young 27aacb26f8 Cleanup. 2019-07-16 02:31:07 +01:00
Jeff Young ceb6a49f0c Attempt to fix double-selected radio button on GTK.
Fixes: lp:1836538
* https://bugs.launchpad.net/kicad/+bug/1836538
2019-07-16 02:23:38 +01:00
Jeff Young e816a0c29d Push Eeschema & PLEditor PICKER_TOOLs down into common.
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young 58ca5b71a9 A more robust fix for 36f1d023f0.
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.

Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907

Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
Jeff Young 6da11de5e0 Be more careful about thermal reliefs for pads on different layers.
Fixes: lp:1605049
* https://bugs.launchpad.net/kicad/+bug/1605049
2019-07-14 23:15:39 +01:00
Jeff Young a3c74051c2 Allow edits to self-intersecting polygons.
1) Intermediate states might be self-intersecting, and we shouldn't
be policing our users on what order to do things in
2) The polygon might already be self-intersecting, at which point we're
preventing the user from fixing it.

Also includes better const management for SHAPE_POLY_SET API.

Fixes: lp:1833831
* https://bugs.launchpad.net/kicad/+bug/1833831
2019-07-14 18:18:48 +01:00
Jeff Young fe188489c7 A better hack for the post-ProgressReporter-loss-of-focus issue. 2019-07-14 18:18:48 +01:00
Jeff Young 928d6c5dff Implement preserved-corners to prevent divots when filling adjacent zones.
Fixes: lp:1460787
* https://bugs.launchpad.net/kicad/+bug/1460787
2019-07-14 18:18:48 +01:00