Commit Graph

6185 Commits

Author SHA1 Message Date
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
Jeff Young 2473cf6d45 Make plot dialog modeless.
Fixes: lp:1496617
* https://bugs.launchpad.net/kicad/+bug/1496617
2018-02-23 15:03:22 -05:00
Jeff Young 7bd2f14342 Go back to checking individual file timestamps.
Too many external applications fail to touch the parent directory.

Also removes FP_CACHE_ITEM lastMod times and dirty flags as we've
always loaded libraries atomically anyway.

Claws back some of the performance lost by being more efficient
with cache management for sequential calls to Enumerate and then
Load.

Fixes: lp:1750936
* https://bugs.launchpad.net/kicad/+bug/1750936
2018-02-23 10:56:12 -05:00
Jon Evans a83669ab19 Merge PCB_LAYER_WIDGET::SyncRenderStates into ReFillRender 2018-02-23 16:25:58 +01:00
Jon Evans 8c1847f7ab Don't allow ZONE_FILLER::Fill to run more than once at a time 2018-02-23 09:43:23 -05:00
Jeff Young d043ef5bb6 Address inc/decAlpha bug fix code review comments.
Change menu names to reference Opacity instead of Brighness.
Implement a bottom-stop at 20%.
2018-02-23 14:14:56 +01:00
Jon Evans 2991c0d258 Only show microvia and blind/buried via settings if they are enabled 2018-02-23 06:57:27 -05:00
Jon Evans 9a3ea1d53c Rename "Render" to "Items" and a few other wording changes 2018-02-23 06:57:27 -05:00
jean-pierre charras 1597f31d4b Fix a crash due to uninitialized variable. 2018-02-23 11:50:38 +01:00
Jeff Young e552c2fbff Remove confusing active library interactions with save.
Add a library selector to the save dialog.  Initialize it to the
footprint's library.  This way a straigh-up save will do what's
expected.

However, the user can still select the active library (or any
other library) if they really did want to move the footprint.

Fixes: lp:1750918
* https://bugs.launchpad.net/kicad/+bug/1750918
2018-02-22 18:19:02 -05:00
Jon Evans b67b4b9ea9 Rearrange Render panel of PcbNew layer widget; add spacers 2018-02-22 18:09:26 -05:00
Jeff Young 80f36ce264 Scale up number of segments per polygon for larger features.
Also fixes a typo in the plot dialog.
2018-02-22 13:17:25 -05:00
Jeff Young 4dda8a39fe Add inc/dec current layer alpha to menus.
Also adds indicators in layers palette for feedback.
Also generates sized images for all indicators instead of using
scaled bitmaps (which didn't look great).
Also fixes a completely unrelated typo in a UI string.
2018-02-22 17:48:14 +01:00
Andrzej Wolski 2e42d5c006 Do not allow selecting tracks if they are hidden
This is a complementary patch to dbafdd39.
2018-02-22 17:31:18 +01:00
Maciej Suminski 918ac567e5 Fix constant naming conflict in KI_DIALOG 2018-02-22 17:15:22 +01:00
Maciej Suminski fea71c9f8f Separate copper and graphical zone tools
Previously zone drawing tool was used to draw copper and graphical
polygons, but now there is a dedicated tool for that.
2018-02-22 16:28:09 +01:00
Maciej Suminski dd97718a50 Point Editor: prevent creation of self-intersecting polygons 2018-02-22 16:28:09 +01:00
Maciej Suminski fe0e44ba3d PNS: display a message in case of keep-out zone triangulation failure 2018-02-22 16:28:09 +01:00
Maciej Suminski 4da47f2c01 Forbid drawing self-intersecting polygons. 2018-02-22 16:24:08 +01:00