Maciej Suminski
4055c435a5
Eagle PCB import: unified code for handling pad properties
2018-03-13 14:44:35 +01:00
Maciej Suminski
4c9be316dd
Eagle import: minor ECOORD refactor
...
- changed EAGLE_UNIT enum names from EAGLE_* to EU_*
- renamed ToNanoMeters() to ConvertToNm() and added a comment
- added ToMils() and ToNanoMeters() method
2018-03-13 14:44:34 +01:00
Maciej Suminski
133b681006
Eagle PCB import: code formatting
2018-03-13 14:44:28 +01:00
Maciej Suminski
9d0cd1a188
Eagle PCB import: rounded rectangle pad support
2018-03-13 11:57:43 +01:00
Miles McCoo
9d98fe1b80
Fix for crash due to pcbnew_action_plugin object tracking
...
pcbnew_action_plug tracks items that were modified within a plugin. In the case of
deletion, the old object is no longer valid. This commit turns off the call to delete
if a plugin is active.
2018-03-13 10:19:39 +01:00
Jeff Young
f32f14dc8f
Add WX_TEXT_ENTRY_DIALOG which inherits from DIALOG_SHIM.
...
Fixes: lp:1754977
* https://bugs.launchpad.net/kicad/+bug/1754977
2018-03-12 22:45:51 +00:00
Jeff Young
43899bbe0e
Fix compile issues under some compilers.
2018-03-12 21:02:04 +00:00
Jeff Young
4eedb3a27d
The _() macro affords some nullptr safety over a naked immediate.
...
Fixes: lp:1477448
* https://bugs.launchpad.net/kicad/+bug/1477448
2018-03-12 19:18:05 +00:00
Maciej Suminski
ab37801489
Do not define hotkeys for copy/cut/paste to avoid double action execution
...
CTRL+{X,C,V} used to be handled both by the legacy hotkey system that
generated ID_EDIT_{CUT,COPY,PASTE} wxCommandEvent, and the Tool Framework
hotkey system.
Fixes: lp:1749549
* https://bugs.launchpad.net/kicad/+bug/1749549
2018-03-12 16:53:17 +01:00
jean-pierre charras
d64c89d964
Footprint editor: Graphic polygon don't follow footprint when moving reference anchor
...
Fixes: lp:1755042
https://bugs.launchpad.net/kicad/+bug/1755042
2018-03-12 13:17:22 +01:00
jean-pierre charras
243ce6979b
Fix a minor coding style and minor potential issue.
2018-03-12 08:34:21 +01:00
Alessandro Gatti
53c9143b64
fpwizard: Switch page after checking parameters
...
The parameter check was triggered by a grid clear event which was sent
after the current page number was changed, creating a mismatch between
the old and new parameter list lengths.
Fixes: lp:1754738
* https://bugs.launchpad.net/kicad/+bug/1754738
2018-03-11 19:10:27 -04:00
jean-pierre charras
d52491c715
Custom pads: allows solid connection to zones.
...
The 2 options are now: no connection and solid connection
2018-03-11 20:39:29 +01:00
jean-pierre charras
17c0917dac
DIALOG_UPDATE_PCB: minor fix: fix dialog min size.
...
The call to SetSizeHints() was missing
2018-03-10 18:19:52 +01:00
Seth Hillbrand
f7cbf157a9
Adding segmentation to Eagle curved track import
...
Eagle tracks can have curves. We approximate this using the
segments_per_360 define. This results in 32 segments for a 360-degree
curve. We could increase this value for curved tracks to get closer
tracking with the Eagle layout if needed.
Fixes: lp:1753289
* https://bugs.launchpad.net/kicad/+bug/1753289
2018-03-09 13:25:38 -08:00
Seth Hillbrand
3d27dbdcbb
Spelling Unrecognised -> Unrecognized
2018-03-09 09:43:54 -08:00
Seth Hillbrand
a4519478f0
Spelling Appearence -> Appearance
2018-03-09 09:43:54 -08:00
Seth Hillbrand
6d5389a90c
Spelling Behaviour -> Behavior
2018-03-09 09:43:53 -08:00
Seth Hillbrand
26392f8070
Remove spaces from start of common translated words
2018-03-09 08:40:43 -08:00
jean-pierre charras
52ab6216c0
Refinement in circle to segment approximation for clearance area of DRAWSEGMENTS
2018-03-09 15:56:00 +01:00
jean-pierre charras
3fcc84dde3
Fix circle to segment approximation to 0.02 mm instead of 0.01 mm
...
(to avoid to long calculation time in fill zone)
2018-03-09 13:36:54 +01:00
jean-pierre charras
51fe063524
Circle to polygon conversion: a few enhancements:
...
* Remove duplicate code
* fix incorrect formulas is some places
* add comments
2018-03-09 13:28:47 +01:00
Jeff Young
308f28d2d4
Save ModEdit's footprint ID rather than source.
...
This primarily keeps us from overriding "truth" with data that
might not have even been saved when closing ModEdit.
Fixes: lp:1752543
* https://bugs.launchpad.net/kicad/+bug/1752543
2018-03-09 01:32:52 +00:00
Jeff Young
f1b48eb4f4
Fix default button and focus for ModEdit save.
...
Fixes: lp:1752546
* https://bugs.launchpad.net/kicad/+bug/1752546
2018-03-09 00:52:45 +00:00
Jeff Young
c7cc795095
Close pcb opened just to get its GAL canvas settings.
...
Fixes: lp:1752541
* https://bugs.launchpad.net/kicad/+bug/1752541
2018-03-08 23:51:10 +00:00
Jeff Young
ad5311f393
Don't allow many context-menu commands for NEW/MOVED items.
...
Fixes: lp:1681198
* https://bugs.launchpad.net/kicad/+bug/1681198
2018-03-08 20:34:37 +00:00
Seth Hillbrand
5fea89ebd5
Standardize plural menu items
2018-03-08 12:33:32 -08:00
Seth Hillbrand
33423fe88d
Standardize capitalization
...
Messages should start with capitalized letter
2018-03-08 12:33:32 -08:00
Seth Hillbrand
5aa4129a88
Standardize copper zones
2018-03-08 12:33:32 -08:00
Seth Hillbrand
de8716bcc2
Standardize open web browser
2018-03-08 12:33:32 -08:00
Seth Hillbrand
74e13aebca
Spelling "Overwrite exiting" -> "Overwrite existing"
2018-03-08 12:33:32 -08:00
Seth Hillbrand
8639c308fa
Spelling "free-stanging" -> "free-standing"
2018-03-08 12:33:32 -08:00
Seth Hillbrand
9bede6900c
Standardize Kicad -> KiCad
2018-03-08 12:33:32 -08:00
Jeff Young
8a35e58987
Calculate number of segments based on radius.
...
Fixes: lp:1754252
* https://bugs.launchpad.net/kicad/+bug/1754252
2018-03-08 18:04:26 +00:00
Jeff Young
ab730709c7
Only use hover track if there are no selected tracks.
...
Fixes: lp:1645670
* https://bugs.launchpad.net/kicad/+bug/1645670
2018-03-08 18:03:46 +00:00
Jon Evans
1e66a23dbc
Rework footprint selection filtering to improve behavior
...
Fixes: lp:1751960
* https://bugs.launchpad.net/kicad/+bug/1751960
2018-03-07 20:41:10 -05:00
Wayne Stambaugh
1ae721442c
Pcbnew: fix invalid footprint name illegal character list.
...
Footprint names cannot contain ':', '\n', or '\r'.
2018-03-07 14:19:07 -05:00
Seth Hillbrand
85c8648045
Fix printable character bug in footprint
...
Fixes: lp:1754120
* https://bugs.launchpad.net/kicad/+bug/1754120
2018-03-07 10:57:36 -08:00
jean-pierre charras
8fcbb64a46
Better algo to calculate the segment count to convert a DRAWSEGMENT arc or circle to a set of segments.
...
Currently, the max error between the arc/circle and a segment is set to 0.05 mm
2018-03-07 14:16:39 +01:00
Tomasz Włostowski
ebd2b78f86
pcbnew/router: respect default net clearance for objects that don't have any net (e.g. board outline)
...
Fixes: lp:1753904
* https://bugs.launchpad.net/kicad/+bug/1753904
2018-03-07 11:47:37 +01:00
Maciej Suminski
a3562b354b
Refresh zones in the view on a DRC run
...
PCB_EDIT_FRAME::Fill_All_Zones() now reuses ZONE_FILLER tool to
avoid code duplication.
Fixes: lp:1753901
* https://bugs.launchpad.net/kicad/+bug/1753901
2018-03-07 09:05:51 +01:00
Seth Hillbrand
c69db6cf8f
Adding rounded rect and custom pad shapes to VRML export
...
Fixes: lp:1753552
* https://bugs.launchpad.net/kicad/+bug/1753552
2018-03-06 16:40:08 -08:00
Jeff Young
44b81c99ec
Use TransferDataFromWindow so <enter> works.
...
Fixes: lp:1750471
* https://bugs.launchpad.net/kicad/+bug/1750471
2018-03-06 21:12:14 +00:00
Tomasz Włostowski
a164f7e2da
pcbnew: fixed zone filling performance regression
...
Fixes: lp:1753224
* https://bugs.launchpad.net/kicad/+bug/1753224
2018-03-06 16:06:16 +01:00
Tomasz Włostowski
f2bb398ae6
pcbnew: fixes in primitives->custom pad tool
...
Fixes: lp:1753712
* https://bugs.launchpad.net/kicad/+bug/1753712
Fixes: lp:1753711
* https://bugs.launchpad.net/kicad/+bug/1753711
2018-03-06 14:59:15 +01:00
Tomasz Włostowski
48459e4268
pcbnew: fixes in custom pad creation tool
...
Fixes: lp:1753152
* https://bugs.launchpad.net/kicad/+bug/1753152
2018-03-06 14:59:15 +01:00
hauptmech
e62db2841a
Fix dependency bug introduced in RPATH patch e0b33ee8
2018-03-06 07:39:44 -05:00
jean-pierre charras
ff91e9b253
minor fix in a debug code
2018-03-05 20:18:55 +01:00
jean-pierre charras
cfbd156adc
Minot fix: fix a minor wxAssert in dialog
2018-03-05 20:18:55 +01:00
Seth Hillbrand
218f66a08b
Fix sign comparison warning
2018-03-05 09:20:19 -08:00
hauptmech
e0b33ee8a6
Fix RPATH not removed in shared object file for python
...
Build pcbnew_kiface files as object target that can then be linked in to pcbnew.kiface and _pcbnew.so
Only create _pcbnew.so target if scripting modules is enabled.
For linux builds only.
2018-03-05 11:19:16 -05:00
Diego Herranz
62bcf4fde4
pcbnew: reorder "Fabrication Outputs" in menu
...
Place it next to "Export" since it is similar conceptually
(it effectively exports to a few different formats too).
2018-03-05 10:49:55 -05:00
Maciej Suminski
3e54e16bdc
Update ratsnest after a footprint change
...
PCB_BASE_FRAME::PlaceModule() calls CN_CONNECTIVITY_ALGO::Update()
on the new footprint that does not have nets assigned. The Update()
method first removes the footprint (but it has not been added, so
nothing happens) and then adds it with all pads marked as not connected.
Later, when BOARD_COMMIT is pushed - it tries to add the same footprint
again with nets assigned, but the pads are already registered, therefore
they are discarded.
To prevent this, PlaceModule() does not call CN_CONNECTIVITY_ALGO::Update()
for the just created footprint, as it is handled by BOARD_COMMIT later.
2018-03-05 16:42:30 +01:00
Maciej Suminski
0521b63503
Remove negation from PCB_BASE_FRAME::PlaceModule() parameter
...
Negated parameters make code confusing. Now the parameter
description is accurate.
2018-03-05 16:42:30 +01:00
Tomasz Włostowski
4be12292a0
Fixed duplicate misbehaviour when duplicating single track/via
...
Fixes: lp:1753158
* https://bugs.launchpad.net/kicad/+bug/1753158
2018-03-05 14:52:12 +01:00
Michael Kavanagh
fabbc48b40
macOS: standardise CFBundleName to application names.
2018-03-05 01:14:00 +00:00
Seth Hillbrand
01ef0bd2e9
pcbnew: Add graphic polygon on drawing layer
...
Fixes: lp:1753151
* https://bugs.launchpad.net/kicad/+bug/1753151
2018-03-04 12:49:41 -08:00
Maciej Suminski
419a16ae58
Eagle import: fix footprint LIB_IDs in the imported board
2018-03-04 16:45:42 +01:00
Maciej Suminski
a3941b1dec
Eagle import plugin: remap zones/tracks/vias using net name remapping
...
There are a few steps to assign correct nets to zones/track/vias:
- create a net name to pad map
- perform 2 stage netlist update (fix timestamps and then references)
- compare new net names with the previously created net map, save the
differences as a old net to new net map
- remap zones/tracks/vias using the map created in the previous step
The main advantage here is it correctly handles unnamed nets (i.e. ones
without any net labels attached), which might be changed by KiCad
netlist generator.
2018-03-04 16:45:42 +01:00
Maciej Suminski
1f078f533b
Refactor Eagle project import to use Kiway::ExpressMail()
2018-03-04 16:45:42 +01:00
Russell Oliver
9016344bb3
Eagle Schematic Import: Fix netlist mapping for zones and vias.
2018-03-04 16:45:11 +01:00
Jeff Young
284c346828
Don't cache github libraries above nginx server.
...
It's too expensive to fetch the timestamps when the github
server is busy. See Dick Hollenbeck's comments at the top of
github_plugin.cpp for more info.
Also adds some safety to the other caching algorithms after
seeing github_plugin's wild-west usage of the kicad_plugin.
Fixes: lp:1753143
* https://bugs.launchpad.net/kicad/+bug/1753143
2018-03-04 01:16:59 +00:00
Jeff Young
c294a54c57
Fix footprint wizard setup of gEDA libraries.
...
Fixes: lp:1753164
* https://bugs.launchpad.net/kicad/+bug/1753164
2018-03-03 20:08:29 +00:00
Jeff Young
c77d13292b
Reinstate multi-threading in zone filler.
2018-03-03 17:41:53 +00:00
Tomasz Włostowski
d3b259cc09
pcbnew: toolbar/menu state sync for display units
2018-03-03 17:38:28 +01:00
Tomasz Włostowski
af7064ef89
pcbnew: synchronize zone visibility view menu entries with the toolbar buttons
2018-03-03 17:38:28 +01:00
Wayne Stambaugh
aeae32b1a2
Fix file naming bug when importing Eagle projects with . in file name.
...
Fixes lp:1747470
https://bugs.launchpad.net/kicad/+bug/1747470
2018-03-03 08:35:53 -05:00
Seth Hillbrand
3760b6820f
pcbnew: align centers to the top and left
...
When aligning module centers, it can be hard to determine which item
will be chosen for the alignment target when it chooses based on the
median of the center values. Instead, this patch chooses the alignment
target as the top and left most items of the Y and X centering,
respectively
2018-03-02 20:15:51 -08:00
Seth Hillbrand
818d4257c9
pcbnew: Prevent alignment on pads + parents
...
Filter a selection that contains pads and the pads' parent modules
before performing alignment operations.
2018-03-02 20:15:51 -08:00
Seth Hillbrand
d5cd9761dd
pcbnew: Check locks in alignment
...
When aligning in pcbnew, check for pad/module locks before performing a
move and query the user.
When aligning on pads, don't move the pad without moving the footprint,
so we don't break footprints.
Fixes: lp:1751352
* https://bugs.launchpad.net/kicad/+bug/1751352
2018-03-02 20:15:51 -08:00
Jeff Young
8e1d397587
Update Eagle and gEDA importers.
...
Remove a throw in the Eagle importer which just threw a wedge
in the works, and return a default modTime when the file hasn't
been set yet.
Give the gEDA importer the multi-file cache management performance
improvements from the kicad_plugin.
Fixes: lp:1752719
* https://bugs.launchpad.net/kicad/+bug/1752719
2018-03-03 00:21:26 +00:00
Jeff Young
33d925f631
Add GetLibraryTimestamp to other plugins.
...
Fixes: lp:1752719
* https://bugs.launchpad.net/kicad/+bug/1752719
2018-03-02 20:53:48 +00:00
Maciej Suminski
18167f829a
Derive KIDIALOG from wxRichMessageDialog
...
wxRichMessageDialog already offers a dialog with a checkbox, so
the custom dialog setup code is not necessary anymore.
2018-03-02 17:05:35 +01:00
Maciej Suminski
1d5df8e975
Renamed KI_DIALOG to KIDIALOG
2018-03-02 11:57:03 +01:00
Maciej Suminski
d5ac7c031d
Assign net classes to nets before showing the Design Rules dialog
...
It is needed to display nets that have just been imported to the
board (e.g. in an update PCB from schematics step).
2018-03-02 11:50:13 +01:00
Maciej Suminski
0923c7f4de
Change 'Create Array' default hot key due to a conflict with 'New File'
2018-03-02 11:08:04 +01:00
Maciej Suminski
52fcddf4f4
Allow drawing self-intersecting polygons, just display a warning
...
Fixes: lp:1751654
* https://bugs.launchpad.net/kicad/+bug/1751654
2018-03-02 10:58:43 +01:00
jean-pierre charras
e3c71efbeb
Fix compil warnings
2018-03-01 18:24:36 +01:00
Maciej Suminski
de6b32d236
Share certain settings between board and footprint editor
...
45 degree graphics segments and selection vs dragging preference
should use the same setting in both applications.
2018-03-01 17:20:50 +01:00
Maciej Suminski
9127e09815
Code formatting
2018-03-01 17:20:50 +01:00
Maciej Suminski
98616da017
Added an option to enforce dragging gesture to always draw selection box
...
Partial solution to a problem described in lp:#1636214
2018-03-01 17:15:57 +01:00
Maciej Suminski
fef1ba9993
Increase the area ratio threshold for rejecting large footprints in selection
2018-02-28 17:00:45 +01:00
Jon Evans
88fb4c57e5
PcbNew: center on items rather than zooming to them on find
...
Fixes: lp:1751480
* https://bugs.launchpad.net/kicad/+bug/1751480
2018-02-28 16:58:05 +01:00
Simon Richter
675bd39e8a
Avoid shadowed variable
2018-02-28 16:34:03 +01:00
Robbert Lagerweij
a59864201a
pcbnew: use centerpoint distribution in align tool for overlaping items
...
reimplement the centerpoint distribution and use it when the items to be
distributed overlap leaving no gap to use for spacing
Fixes: lp:1748763
* https://bugs.launchpad.net/kicad/+bug/1748763
2018-02-27 17:58:19 +01:00
Jon Evans
0d794b20bb
Add null check in ROUTER_TOOL::breakTrack()
2018-02-27 08:45:06 +01:00
Dan Weatherill
4124019f41
Send model change event on design rules change
...
Dispatches a TA_MODEL_CHANGE event when the design rules dialog is
closed, the intention being to cause the router tool to re-sync its
design rule information
Fixes: lp:1462929
* https://bugs.launchpad.net/kicad/+bug/1462929
2018-02-26 14:40:18 -05:00
Maciej Suminski
55edf1aad2
PCB_PAINTER: use dynamic_cast to determine whether an object is of EDA_ITEM type
2018-02-26 17:22:50 +01:00
Jon Evans
31e78d670d
Ensure ROUTER_PREVIEW_ITEM draws on top of all normal layers
...
Fixes: lp:1751646
* https://bugs.launchpad.net/kicad/+bug/1751646
2018-02-26 11:31:39 +01:00
Jon Evans
be8bb24390
Make all new hotkeys editable; label some GAL-only hotkeys
...
Fixes: lp:1751183
* https://bugs.launchpad.net/kicad/+bug/1751183
2018-02-25 17:57:36 -05:00
Jon Evans
cfd67163a1
Refactor post-load actions in PcbNew and apply them consistently
...
Fixes: lp:1751589
* https://bugs.launchpad.net/kicad/+bug/1751589
2018-02-25 17:47:36 -05:00
Carsten Schoenert
2b52415cae
fix misspelled 'Unkown' -> 'Unknown'
2018-02-25 17:10:10 -05:00
Carsten Schoenert
6256feb9db
fix misspelled 'occured' -> 'occurred'
2018-02-25 17:10:10 -05:00
Carsten Schoenert
5a86083a08
fix misspelled 'Occassionally' -> 'Occasionally'
2018-02-25 17:10:10 -05:00
Carsten Schoenert
39e81b253b
fix misspelled 'Modifed' -> 'Modified'
2018-02-25 17:10:10 -05:00
Carsten Schoenert
485f90f27a
fix misspelled 'Appearence' -> 'Appearance'
2018-02-25 17:10:10 -05:00
Jeff Young
9453a7e186
Fix segfault when not all libraries loaded.
...
Fixes: lp:1751464
* https://bugs.launchpad.net/kicad/+bug/1751464
2018-02-24 15:49:09 -05:00
Jon Evans
baea3080ad
Ensure m_Layers is null before it is created
2018-02-24 15:48:36 -05:00
Jeff Young
821a411ac0
Fix regression in user grid size.
...
Frame, dialog and config file couldn't agree on whether to use
internal units or not.
Frame now stores internal units, and they're now mapped on the
way in/out of the config file. Dialog was already assuming they
were stored in internal units (though they were previuosly not).
Fixes: lp:1751435
* https://bugs.launchpad.net/kicad/+bug/1751435
2018-02-24 09:21:28 -05:00
Wayne Stambaugh
3a73e775de
Revert "Separate copper and graphical zone tools"
...
This reverts commit fea71c9f8f
.
2018-02-24 08:31:25 -05:00