Commit Graph

8318 Commits

Author SHA1 Message Date
Fabien Corona 36fba5bd7f PCBnew: placing a blind/buried via sometimes incorrectly place a through via.
Fixes #1819
https://gitlab.com/kicad/code/kicad/issues/1819
2019-12-06 13:11:33 +01:00
Seth Hillbrand ac92afcf13 Clean up compile warnings
Ratsnest did not need a reserve and then iterative emplace.  Instead, we
use resize().  Stroke font gets private vars initialized and kiway
variables that are only used in debug builds are properly scoped for
releases as well
2019-12-05 20:05:21 -08:00
Seth Hillbrand 6983c56cf8 Use const references where possible
This avoids copy cost on local vars where we only read.
2019-12-05 14:40:22 -08:00
Seth Hillbrand c6f5df134c Minor speed cleanup
This adjusts iterators to use const reference when only used for
copy.  It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Seth Hillbrand b5f021ff9f Cleanup: Replace push_back with emplace_back
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Seth Hillbrand 4d2e953f42 Cleanup: Replace C-only deprecated headers
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
Seth Hillbrand a2edf9c442 Unified update to C++14 std::make_unique
This update replaces the existing uses of unique pointer creation with
the C++14 std::make_unique call that provides proper memory release in
event of an exception.
2019-12-05 10:43:55 -08:00
jean-pierre charras 4a75cc586c Zone filler: do not create stubs in thermal reliefs when not possible.
pad size is sometimes smaller than the zone minimal width.
So, to avoid strange and incorrect results, do not create the stubs in
thermal relief when the pad size is smaller than the zone minimal width.
2019-12-04 13:23:09 +01:00
Jeff Young 089ce90de3 Fix some issues with the previous commit. 2019-12-02 23:35:19 +00:00
Jeff Young 9b36489270 Make sure that libraries are always sorted consistently.
Fixes #1847481 | https://gitlab.com/kicad/code/kicad/issues/1847481
2019-12-02 21:52:50 +00:00
Jeff Young a9da0c6ecf Update local coords when editing EDGE_MODULEs.
Fixes: lp:1853726
* https://bugs.launchpad.net/kicad/+bug/1853726
2019-12-02 20:01:44 +00:00
jean-pierre charras 5cd7f3fdee DIALOG_DRC_CONTROL: fix a crash on wxWidgets 3.1.3, Windows,
Happens when right clicking on an item in displayed lists.
The crash was due to a bug in wxWidgets, and the fix is only a workaround

Also remove duplicate code.
2019-12-02 11:27:40 +01:00
Jeff Young 342c8941b5 More cleanup of dialog_find-base.fbp 2019-11-30 01:00:16 +00:00
Jeff Young 1e4437c6df Some cleanup for the Pcbnew search changes. 2019-11-29 21:38:18 +00:00
Fabien Corona 7297822423 pcbnew: search options
-Users can now search DRC markers with string filtering
-GUI changes for consistency with Eeschema

Fixes: lp:1845460
* https://bugs.launchpad.net/kicad/+bug/1845460
2019-11-29 17:58:05 +00:00
Fabien Corona 5d3e6e3d44 pcbnew: search options
-Add a "wrap" option->Search results implemented as a nested list.
-Allow to go back with a "Find previous" button
-Remove the marker search option
-Fix a DLIST issue
-Add a result counter ("eg: hit(s): 1/3")
-Search history limited to 10
-Fix the search history order
-User can include or exclude references/values/texts from results

Fixes: lp:1845460
* https://bugs.launchpad.net/kicad/+bug/1845460
2019-11-29 17:55:01 +00:00
Jeff Young 102b530162 Fix library tree updating bug present at least on OSX. 2019-11-29 17:55:01 +00:00
Ian McInerney 9f9b48739c pcbnew: Adjust dimension display after updating units
Fixes: lp:1854167
* https://bugs.launchpad.net/kicad/+bug/1854167
2019-11-27 16:39:13 +00:00
jean-pierre charras c186e7d391 Cosmetic and usability enhancements.
- Better menu texts
- do not show pad edit options in board editor,
when they are used only in the footprint editor.
2019-11-26 19:53:00 +01:00
jean-pierre charras 2cd60cdfaf Layer stack manager: remove dielectric layer: fix incorrect sub-layer selection. 2019-11-25 13:30:48 +01:00
jean-pierre charras ce7857b715 Layer stack manager: fix crash due to a double deletion on unix.
Did not happen on Windows.

Fixes: lp:1853764
https://bugs.launchpad.net/kicad/+bug/1853764
2019-11-25 10:51:59 +01:00
John Beard eb61c1bbc4 Reset Windows file endings to Unix
Commit 71cd8c57b changed pcbnew/kicad_plugin.cpp to Windows
file endings. This means that any patches on this file no longer
apply.
2019-11-25 15:07:38 +08:00
Ian McInerney f7ded3040c pcbnew: Modify new file to have a better prompt when closing old board
CHANGED: The new file prompt now asks to save the board if needed

Fixes: lp:1853338
* https://bugs.launchpad.net/kicad/+bug/1853338
2019-11-24 14:51:29 +00:00
Ian McInerney 610964b59c modedit: Disable editing tools when no footprint is loaded 2019-11-24 11:55:30 +00:00
Ian McInerney 82f55d300b pcbnew: Fix flicker in layer widget when toggling grid 2019-11-24 00:51:54 +00:00
Ian McInerney e82795ba58 Fix grid settings in pcbnew/modedit/cvpcb
* Make the grid display settings separate from the board object
* Ensure that the grid is initialized on creation in all the frames

Fixes: lp:1843169
* https://bugs.launchpad.net/kicad/+bug/1843169
2019-11-23 23:35:21 +00:00
Ian McInerney 99b9354a51 Add clear recent files action to the menus
ADDED: Menu item to allow the recent file lists in each program to be
cleared

Fixes: lp:1821685
* https://bugs.launchpad.net/kicad/+bug/1821685
2019-11-23 23:35:21 +00:00
jean-pierre charras c34dfc4230 fix a minor compil warning 2019-11-23 18:36:40 +01:00
jean-pierre charras 2dc81b0b8a Update SEXPR_BOARD_FILE_VERSION to 20191123 to support pin function in pads 2019-11-23 10:07:56 +01:00
jean-pierre charras f7159e4692 Make pin function in pads an advanced feature.
Mainly because it creates a new keyword a new keyword in *.kicad_pcb files,
and needs some tests, this is currently a advanced feature.
Enable it by adding "UsePinFunction=1" in "kicad_advanced" config file.

Note also "UsePinFunction=1" only enable saving this info in *.kicad_pcb
and kicad_mod files.
2019-11-23 09:12:44 +01:00
jean-pierre charras 71cd8c57bf ADDED: Pcbnew, add "pin function" (pin name in eeschema) to pads.
The pin name defined in Eeschema is now available as pad info.
Useful for the board designer (the pin function is displayed in the message panel).
Needed for the Gerber P&P files.
2019-11-23 09:12:43 +01:00
Jeff Young 13df645af9 Fold down select/expand connection/copper to a single action.
Fixes: lp:1832902
* https://bugs.launchpad.net/kicad/+bug/1832902
2019-11-22 19:30:36 +00:00
Jeff Young 523de87b45 Re-implement copper selection algorithms.
Fixes: lp:1832902
* https://bugs.launchpad.net/kicad/+bug/1832902
2019-11-22 19:30:36 +00:00
jean-pierre charras 3be1862b0f Fix minor wxWidgets alert (with wxWidgets 3.1.3) 2019-11-20 17:53:38 +01:00
Ian McInerney 0eee21e450 pcbnew: Fixup formatting and comments in pcb_painter.cpp 2019-11-18 23:42:39 +00:00
Fabien Corona 6b477a96d6 Outlined buried vias
Fixes: lp:1851929
* https://bugs.launchpad.net/kicad/+bug/1851929
2019-11-18 22:47:56 +00:00
jean-pierre charras eadcb5de5e DIALOG_PAD_PROPERTIES: fix incorrect pad type for Aperture option.
The aperture option created a Connector pad only on the paste layer.
This is incorrect: the SMD type only is acceptable.
5connector is *only* for edge card connectors.
Moreover, The dialog did not even accept the setting defined by this dialog...
2019-11-17 18:20:19 +01:00
jean-pierre charras a4c9f961f7 Fix overzealous detection "Warning: No net for component".
- Previously a warning was generated even for not connectable pads
(pads not on copper layers or without pad name).
- The test is now optional and is disabled by default.
(pads without corresponding pin is schematics are a frequent case)

Fixes: lp:1852444
https://bugs.launchpad.net/kicad/+bug/1852444
2019-11-17 16:55:22 +01:00
jean-pierre charras 6f2cbe5982 Pcbnew: housekeeping: move netlist code to netlist_reader sub directory. 2019-11-17 13:58:38 +01:00
Jeff Young 9a82bc396c Use lazy-mode update for the reporter when updating footprints. 2019-11-16 23:03:46 +00:00
Jeff Young 490bc2874f Clean up board commit a bit.
This change makes it so that we don't run the event loop inside
the commit.  It's not clear this is an issue, but it seems safer
not to.

Fixes: lp:1852589
* https://bugs.launchpad.net/kicad/+bug/1852589
2019-11-16 22:32:52 +00:00
jean-pierre charras 00bbb4bc15 DIALOG_FOOTPRINT_BOARD_EDITOR: minor cosmetic enhancement
Make footprint lib id copyable.
2019-11-16 20:00:32 +01:00
jean-pierre charras 577fbc6156 PCBNew: fix issue with keepout area in board editor.
Not able to draw a keepout-area on bottom or internal layers.
This was due to a behavior specific to the footprint editor,
not disabled in board editor.

Fixes: lp:1852847
https://bugs.launchpad.net/kicad/+bug/1852847
2019-11-16 13:01:48 +01:00
jean-pierre charras c5290de6ec housekeeping:
Remove not used files:
- markdown2html is not used (we are using "Sundown" tool)
- newstroke_font_without_CJK.cpp is removed.
Due to code optimization the full font works fine without memory issues
-fix also a few very minor compil warnings
2019-11-16 09:39:36 +01:00
Fabien Corona 04edc6ceff High contrast color for holes in microvias and buried bias
In high contrast mode, the holes of buried vias and microvias were no darkened when not on the active layer.
In high contrast mode, the outer circle of buried vias and microvias were alway darkened.

In high contrast mode, when the selected layer is non visible through-vias are now darkend.

Fixes: lp:1844982
* https://bugs.launchpad.net/kicad/+bug/1844982
2019-11-15 12:02:19 -08:00
jean-pierre charras 544867cf2a ADD: layer stack manager: support of multilayer dielectric between 2 copper layers
This feature is useful for advanced microwave applications.
This is the last missing feature in the board stackup management.
2019-11-15 14:33:10 +01:00
jean-pierre charras a6b94b37ec Minor fixes in board_stackup_reporter. 2019-11-12 14:44:10 +01:00
jean-pierre charras 6ad3e4a565 Board stackup manager: Fix missing initialization of dielectric type. 2019-11-12 14:43:48 +01:00
jean-pierre charras 2b201487e1 Board stackup manager: prepare code to allow multiple dielectric material by layer.
For advanced microwave applications, sometime a dielectric between 2 copper layers
must be itself created by a stack of different materials.
2019-11-12 14:43:47 +01:00
jean-pierre charras f333d1b974 fix typo creating compil issue 2019-11-12 14:15:03 +01:00