Commit Graph

6412 Commits

Author SHA1 Message Date
Jeff Young d54a252eaa Check zone fills for being out-of-date during DRC. 2018-04-09 11:05:14 +01:00
jean-pierre charras 9f5316e38f Remove code related to Gerber job file old format writer, as this format does not exist now.
This old format is now officially replaced by a JSON syntax.
2018-04-09 09:26:01 +02:00
Carsten Schoenert a11714b1a4 fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
Carsten Schoenert 77b3a662fc fix misspelled 'Allows to' -> 'Allows one to' 2018-04-08 13:24:30 -04:00
Carsten Schoenert 1f32f7c55b fix misspelled 'allows to' -> 'allows one to' 2018-04-08 13:24:18 -04:00
Mario Hros efa2a13eaa Don't install Python shell when wxPython support is disabled.
Fixes lp:1760200

https://bugs.launchpad.net/kicad/+bug/1760200
2018-04-08 13:20:49 -04:00
jean-pierre charras 7f6e26e55a DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list.
It make this function thread-safe (as far as wxString is thread-safe)
2018-04-07 19:57:26 +02:00
Jeff Young baef22df9a Fix memory leak and push menu change to other apps.
Fixes: lp:1761848
* https://bugs.launchpad.net/kicad/+bug/1761848
2018-04-07 14:14:55 +01:00
Jeff Young be4d7987d3 Rebuild apple menu along with others when language changes.
Fixes: lp:1761848
* https://bugs.launchpad.net/kicad/+bug/1761848
2018-04-07 11:01:56 +01:00
jean-pierre charras 2bfbff104e Very minor fix: remove a trailing space in string. Mainly to help translations. 2018-04-06 20:12:33 +02:00
Kristoffer Ödmark fdb6bbab7b Footprint Wizard now also handles custom Env paths 2018-04-06 14:51:09 +01:00
Tomasz Włostowski 15c64ee92d pcbnew: CONNECTIVITY_ALGO should always mark newly added nets as dirty
Fixes: lp:1761698
* https://bugs.launchpad.net/kicad/+bug/1761698
2018-04-06 14:57:27 +02:00
Jeff Young 24b8768f43 Fix missing include. 2018-04-06 11:39:35 +01:00
Jeff Young db73daa09c Workaround for wxString's lack of thread safety. 2018-04-06 11:26:59 +01:00
Maciej Suminski 94dbcc7199 Fixed crash after multiple 'cut' commands in the footprint editor
When multiple cut commands were issued, the cut command handler would
restart multiple times and keep running until the handler that was
invoked first finishes. As all handlers kept a selection copy, they
would try to save the deleted items to the clipboard resulting in a
crash.

Fixes: lp:1761221
* https://bugs.launchpad.net/kicad/+bug/1761221
2018-04-05 00:26:57 +02:00
Seth Hillbrand bbb513e2e5 Ensure that we are drawing holes and outlines
Set hole colors in output to non-transparent values.
Ensure holes are traced when drawing drill marks.

Fixes: lp:1646482
* https://bugs.launchpad.net/kicad/+bug/1646482
2018-04-04 10:20:15 -07:00
jean-pierre charras 906b389fab fp editor: minor cosmetic fix in main menu. 2018-04-04 17:40:42 +02:00
Jeff Young df43f071e1 Keep track of open sockets and dispose of them in d'tor.
Fixes: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
Jeff Young 5e36fe8df7 Move timestamp setting where it will alwasy get set.
Also update the rest of the symbol-chooser usage to current
specs, including examining the timestamp to see if the list
needs loading at all.

Partial fix to: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
Maciej Suminski 8b21a0a53d Changed PCB_BASE_FRAME::CreateNewModule() to stop adding modules to the board
When a new footprint is created, CreateNewModule() added it to a dummy
board in the footprint editor. If a footprint was indeed created (the
action has not been aborted) then the dummy board was cleared,
destroying the just created footprint. Also, the new footprint is later
added with AddModuleToBoard() call.

Fixes: lp:1761052
* https://bugs.launchpad.net/kicad/+bug/1761052
2018-04-04 09:34:12 +02:00
Jeff Young 2e4f50f206 Make sure segments read from file are in correct order.
Fixes: lp:1752033
* https://bugs.launchpad.net/kicad/+bug/1752033
2018-04-03 22:01:34 +01:00
Maciej Suminski 7943372e8b Refill zones only when required
Previous implementation refilled zones every time they have been
unselected. This patch adds a flag that tracks whether the
zone has been actually modified, so it will be refilled only when
necessary.

Fixes: lp:1760903
* https://bugs.launchpad.net/kicad/+bug/1760903
2018-04-03 22:28:05 +02:00
jean-pierre charras f8a3ec4974 Add a method to facilitate Tools handling in main frame toolbars.
Fix also a bug in gerbview_frame.cpp, about a broken toolbar accessor (fortunately not used in current code)
2018-04-03 13:00:20 +02:00
Jeff Young d391489596 Don't clear old footprint till after user has hit OK.
Fixes: lp:1759190
* https://bugs.launchpad.net/kicad/+bug/1759190
2018-04-02 22:32:09 +01:00
Jeff Young f4c972db5e Name the Get and Move Footprint dialog to match the command.
Fixes: lp:1760635
* https://bugs.launchpad.net/kicad/+bug/1760635
2018-04-02 20:16:26 +01:00
Russell Oliver 89381e1103 Eagle Import: Correct layer set based on cream setting and rotate rectangles
Fixes: lp:1758747
* https://bugs.launchpad.net/kicad/+bug/1758747
2018-04-02 10:59:54 -07:00
Seth Hillbrand ee05b1c92e Add polygon arc support to Eagle import 2018-04-02 10:49:43 -07:00
Seth Hillbrand 532bf09817 Don't save broken polygon
If a polygon has fewer than 3 points, it is invalid.  We need to
register this as failure, otherwise we save the formatting/closing
s-expr for the polygon without the actual polygon points. This breaks
the footprint and board.
2018-04-02 10:18:10 -07:00
jean-pierre charras 62c5a706d5 DIALOG_GRAPHIC_ITEM_PROPERTIES: fix a not very understandable error message (especially when Dwgs.User layer is disabled).
Rename the method PCB_LAYER_BOX_SELECTOR::SetLayerSet to the better name SetNotAllowedLayerSet
2018-03-31 10:46:52 +02:00
Seth Hillbrand 7d3d9f7188 Wrapping left-over debug printf() in DBG() 2018-03-30 16:17:29 -07:00
Seth Hillbrand 4917540069 Clarify timestamp type for wxDateTime 2018-03-29 09:29:05 -07:00
jean-pierre charras 0f0d9afa66 Pcbnew, legacy mode: fix ratsnest display artifacts when finishing or removing a track 2018-03-29 09:28:41 +02:00
Seth Hillbrand d1ab62fb4d pcbnew: Save only edited footprint when saving
Don't re-save all files in a library when editing a single footprint.
This creates issues with formatting in version control systems where
unmodified files are re-written without being explicitly changed by the
user.

Fixes: lp:1752991
* https://bugs.launchpad.net/kicad/+bug/1752991
2018-03-28 14:42:32 -07:00
jean-pierre charras 6740a37632 move and swap layers: make changes undoable.
minor code cleanup.
2018-03-28 15:30:11 +02:00
jean-pierre charras 6a4d14bade Fix cosmetic issues in dialog. Use move instead of swap in dialog, to avoid mistakes, as the dialog allows moving objects between layers, and do not really swap layers. 2018-03-28 12:45:54 +02:00
jean-pierre charras ffa454d6f9 class MODULE: use timestamp_t instead of time_t in SetLastEditTime and GetLastEditTime, like in all other methods using a time stamp. 2018-03-27 20:43:52 +02:00
jean-pierre charras 2edc675eaf DIALOG_LAYERS_SETUP: force 4 non copper layers to be always in use.
edge cut, courtyard and margin layers are (or can be) used in DRC.
So they are seen as mandatory, and the dialog always force them active.
2018-03-27 20:26:48 +02:00
jean-pierre charras 78161b5922 Layers setup management: Warn user if some removed layers are in use in footprints loaded on the board.
Fix also memory leak and missing connectivity rebuild.
2018-03-27 13:44:59 +02:00
jean-pierre charras 602d9e1972 Fix a missing init in gerber plot script demo.
Fixes: lp:1759071
https://bugs.launchpad.net/kicad/+bug/1759071
2018-03-27 13:42:51 +02:00
Jon Evans 0ded476f9d Add a hotkey to control net highlighting
Fixes: lp:1757446
* https://bugs.launchpad.net/kicad/+bug/1757446
2018-03-26 23:09:44 -04:00
Seth Hillbrand 9472444b41 Fix minor rounding error in curved wire import 2018-03-26 15:18:47 -07:00
Seth Hillbrand ced0fcee1e Updating Eagle Importer to take curved zones
Fixes: lp:1755879
* https://bugs.launchpad.net/kicad/+bug/1755879
2018-03-26 15:09:56 -07:00
Maciej Suminski 886dc48cc4 Point Editor: reset the pointer to the modified point as it becomes invalid
Fixes: lp:1759024
* https://bugs.launchpad.net/kicad/+bug/1759024
2018-03-27 00:03:48 +02:00
Jeff Young 778a3a4777 Count pins instead of using netcount as a proxy.
Fixes: lp:1703155
* https://bugs.launchpad.net/kicad/+bug/1703155
2018-03-26 19:57:08 +01:00
Tomasz Włostowski ca4e4aead4 router: don't push vias if push force is zero
Fixes: lp:1758540
* https://bugs.launchpad.net/kicad/+bug/1758540
2018-03-26 20:13:32 +02:00
Seth Hillbrand 347f6daddc Eagle Converter: Adjust arcs to use error-based alg
Implements the revised, difference-error based algorithm in the Eagle
arc import rather than using the hard-coded 32-segments/360°
2018-03-26 10:39:23 -07:00
Jon Evans a8b1c2a8f2 Change dimension style to improve display and be more standard 2018-03-25 21:50:57 -04:00
Wayne Stambaugh c8c5b5da07 Fix zoom to selection in bug in gal canvas. 2018-03-25 16:12:56 -04:00
Jeff Young a763435b59 Change zone segment count to high/low res. 2018-03-25 20:20:51 +01:00
Jeff Young f4ce8766e3 Implement shared FOOTPRINT_LIST.
While we already cache the loaded footprint files, parsing said files
into the list is also time-intensive.  Since the FOOTPRINT_LIST is
already hash-stamped against the current timestamps of the files that
make up the list, sharing a single copy of the list is quite
straight-forward.
2018-03-25 19:21:28 +01:00
Wayne Stambaugh 8d8c422a19 Add zoom to selection menu entry to all editors.
Fixes lp:1753339

https://bugs.launchpad.net/kicad/+bug/1753339
2018-03-25 12:34:19 -04:00
Jon Evans 6b51cc33da Set appropriate parent for 3D library downloader progress dialog
Fixes: lp:1758095
* https://bugs.launchpad.net/kicad/+bug/1758095
2018-03-24 21:08:35 -04:00
Maciej Suminski 4b5ca0ec14 Drawing tool: prevent creating zero-length lines
Fixes: lp:1758570
* https://bugs.launchpad.net/kicad/+bug/1758570
2018-03-24 23:57:06 +01:00
Jeff Young 97fffe875f Notify clients when GRID_TRICKS toggles checkboxes. 2018-03-24 13:13:57 +00:00
Seth Hillbrand f317b10adf Ensure that the current copper zone is not first
The zeroth index is reserved especially for the <no net> tag, so we need
to keep the current net at 1 or greater to keep it connected.

Fixes: lp:1758488
* https://bugs.launchpad.net/kicad/+bug/1758488
2018-03-23 20:38:47 -07:00
Seth Hillbrand fb882633b2 Save layers regardless of view
We do not modify the underlying board when saving.  Previously only the
visible layers were saved.  This created a discrepancy between the board
that the user was editing and the board that was saved to disk.

Fixes: lp:1754049
* https://bugs.launchpad.net/kicad/+bug/1754049
2018-03-23 09:32:56 -07:00
Jeff Young fbf10e941b Switch zone fillets to absolute-error algorithm.
And some general cleanup to related constants, etc.
2018-03-23 12:46:17 +00:00
Jeff Young d2d0660647 Open viewer even when FPID is invalid.
Just show an empty viewer.
2018-03-23 12:46:17 +00:00
Jeff Young a0364a1137 Don't make user click twice to toggle checkbox in wxGrid. 2018-03-23 12:46:17 +00:00
Jon Evans 5b653c0c1e Update MacOS icons
Fixes: lp:1750284
* https://bugs.launchpad.net/kicad/+bug/1750284
2018-03-22 11:45:42 -04:00
jean-pierre charras 94c780975e Very minor cosmetic fix. 2018-03-22 12:01:06 +01:00
Maciej Suminski 62fd734007 Footprint Viewer: do not try to preselect an empty footprint
Empty string is treated as an invalid LIB_ID, so it ends up with an
exception.
2018-03-22 11:38:10 +01:00
Andrzej Wolski 4152069504 Make vias selectable even if top and bottom layer are hidden 2018-03-21 22:15:17 -04:00
Jeff Young 79fe134495 Init Footprint Viewer with current FPID.
Fixes: lp:1757421
* https://bugs.launchpad.net/kicad/+bug/1757421
2018-03-21 23:11:55 +00:00
Jeff Young 99e659ff54 Coverity fixes. 2018-03-21 23:11:55 +00:00
Andrzej Wolski ff3f229871 Decouple vias from tracks in selection filter 2018-03-21 17:21:08 -04:00
Andrzej Wolski ea3f8743fd Fixes in GAL selection filter:
- vias were always left selected, include vias in tracks filter - as in legacy
- make text filtering work
- cleanup drawings filtering code
- hide checkbox "Include items on invisible layers" because it does not work in GAL
2018-03-21 17:21:01 -04:00
jean-pierre charras 7b4a8d7eb5 Gerber job file: update file format due to a recent change.
Please: note the gerber JSON file format is currently a moving target, although most of the format is now fixed.
Most, but not all.
2018-03-21 12:40:10 +01:00
Jon Evans 285bf79370 Fix strings for save/load project menu options; standardize on "Load"
Fixes: lp:1753659
* https://bugs.launchpad.net/kicad/+bug/1753659
2018-03-20 22:20:54 -04:00
Jon Evans b9ce203487 Fix pad selection requirements in footprint editor
Fixes: lp:1757295
* https://bugs.launchpad.net/kicad/+bug/1757295
2018-03-20 21:15:05 -04:00
Jon Evans b53ed148f3 Optimization to track DRC and some formatting cleanup 2018-03-20 20:37:35 -04:00
Jon Evans c78171d01f DRC: Add an optional mode to report all track errors
Fixes: lp:1754442
* https://bugs.launchpad.net/kicad/+bug/1754442
2018-03-20 19:54:06 -04:00
Seth Hillbrand 73408f3f21 Correct DRC calculation on segments
If objects are at the clearance limit, they qualify as passing DRC.
Therefore, all comparison functions that indicate failure should be
strictly greater than or less than while all comparison functions that
indicate success (in the DRC) should be greater/equal or less/equal.

This also corrects a rounding error at the nm scale and handles
scaling zero-length and large segments correctly.

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

Fixes: lp:1593373
* https://bugs.launchpad.net/kicad/+bug/1593373
2018-03-20 15:35:53 -07:00
Jeff Young 683be7155e Mirror-image coordinate system on back of board for PNP.
Also converts any delimiters in tokens to underscores.

Fixes: lp:1679205
* https://bugs.launchpad.net/kicad/+bug/1679205
2018-03-20 16:57:42 +00:00
jean-pierre charras b5f1fdd981 Add icon to Get and Move context menu item in GAL mode.
Windows does not like mixing menu items with and without icons (sizing error).

Fixes: lp:1756263
https://bugs.launchpad.net/kicad/+bug/1756263
2018-03-20 08:30:02 +01:00
Jon Evans 3103e3dc4c DRC: Center zoom on marker location, not DRC item start location
For some DRC checks, the location of the marker is not the location
of the first item in the resulting DRC_ITEM, so centering the screen
on PointA of the DRC_ITEM can be confusing.
2018-03-19 22:25:55 -04:00
Maciej Suminski 33dcc080ea STEP exporter: check board outline continuity 2018-03-19 17:34:11 +01:00
Maciej Suminski 5ba3e43d31 Converted STEP exporter dialog to use WX_HTML_REPORT_PANEL 2018-03-19 17:04:38 +01:00
jean-pierre charras 2ff74cb3fc Add support for .gbrjob new file format (JSON format) in Gerbview
Add experimental code to generate .gbrjob files in the new JSON file format
2018-03-19 15:14:20 +01:00
Jeff Young 1a845bc4ad Safer way to commit in-progress changes in wxGrid.
In some cases the wxGrid would attempt to close the editor in
the middle of the d'tor, resulting in segfaults.
2018-03-19 12:13:28 +00:00
Maciej Suminski ce610f33a2 Coverity fixes
resource leak: #172233
negative array index write: #102363
uninitialized scalar field: #174540 #174539
structurally dead code: #169334 #169331
2018-03-19 10:02:05 +01:00
Jeff Young aa0ae48dda Update status bar and toolbars on language change.
Fixes: lp:1392582
* https://bugs.launchpad.net/kicad/+bug/1392582

Fixes: lp:1748428
* https://bugs.launchpad.net/kicad/+bug/1748428
2018-03-18 22:17:27 +00:00
Jeff Young 89ebab5df2 Comments for SELECTION_TOOL::guessSelectionCandidates(). 2018-03-18 22:17:27 +00:00
Jeff Young df924a5e68 Follow standard FBP naming conventions. 2018-03-18 22:17:27 +00:00
Jeff Young e0e0687cd7 Revert "Allow 5.0 to read 6.0 files with hole-to-hole clearance settings."
This reverts commit 0a4c04530a.
2018-03-16 22:22:15 +00:00
Jeff Young b8fd2f3c79 Revert "Don't be pedantic about the file format."
This reverts commit 1537cbc59c.
2018-03-16 18:11:36 +00:00
Jeff Young d3e7efcd66 Ignore pads when selecting drag candidates in router tool.
Fixes: lp:1747156
* https://bugs.launchpad.net/kicad/+bug/1747156
2018-03-16 18:01:40 +00:00
Jeff Young 1537cbc59c Don't be pedantic about the file format.
It's just another form of nagging.
2018-03-16 16:57:38 +00:00
Wayne Stambaugh 3f52e87224 Standardize terminology for automatic zoom to "Zoom to Fit".
Fixes lp:1753336

https://bugs.launchpad.net/kicad/+bug/1753336
2018-03-16 08:38:36 -04:00
Jeff Young 3b0a758f97 Ensure router layer is visible.
Fixes: lp:1663556
* https://bugs.launchpad.net/kicad/+bug/1663556
2018-03-16 02:43:17 +00:00
Jeff Young 0a4c04530a Allow 5.0 to read 6.0 files with hole-to-hole clearance settings. 2018-03-16 00:48:35 +00:00
Jeff Young a1a4275e8b Cancel interactive tools when entering DRC.
Fixes: lp:1541526
* https://bugs.launchpad.net/kicad/+bug/1541526
2018-03-16 00:28:02 +00:00
Alessandro Gatti 86603125ac Scripting: Preemptively reset footprint wizard state.
Fixes: lp:1754992
* https://bugs.launchpad.net/kicad/+bug/1754992
2018-03-15 12:30:02 -04:00
Wayne Stambaugh 89d350a7d2 Footprint editor: fix bug in footprint wizard 2D barcode generator.
The text height and thickness settings were never implemented so they
didn't get updated when the options were changed.  Added the missing
code to update both parameters.

Added text width parameter so text height and width do not need to be
the same value.  Currently both the value and reference fields are set
to the same height and width.  Please feel free to change this if you
feel the need to have separate text settings for both the value and
reference fields.

Fixes lp:1751309

https://bugs.launchpad.net/kicad/+bug/1751309
2018-03-15 10:37:36 -04:00
Jeff Young c6ef0d57f1 Retire auto-delete-old-track from toolbar.
Also corrects the backwards-wording of the setting in the Preferences
dialog.

Fixes: lp:1754667
* https://bugs.launchpad.net/kicad/+bug/1754667
2018-03-15 11:41:27 +00:00
Jeff Young d9d9a54aa8 Replace previous hidden text commit with a LOD-based one. 2018-03-15 11:00:36 +00:00
Jeff Young a75ead5efd Handle hidden text changing layers when native layer toggled.
Fixes: lp:1553459
* https://bugs.launchpad.net/kicad/+bug/1553459
2018-03-14 22:56:03 +00:00
Jeff Young 8904b2e046 Peg 3D viewer in front of Footprint Viewer and Wizard.
Fixes: lp:1754741
* https://bugs.launchpad.net/kicad/+bug/1754741
2018-03-14 19:17:09 +00:00
jean-pierre charras e8df845b3f Minor fix in zones_by_polygon.cpp: When editing a non copper zone, some settings were not those of the edited zone.
trigo.h: Add a useful double NormalizeAngleDegrees( double Angle, double aMin, double aMax ).
2018-03-14 19:03:14 +01:00
Maciej Suminski e4d512a293 Eagle PCB import: mute uninitialized variable warning
In fact radius is not used initialized, as the scope where it is
used (while loop) is dependent on the preceding if( w.curve ) clause
that initializes 'radius' variable.
2018-03-14 15:40:58 +01:00
Jeff Young 3d12a6889b Make sure ERC and DRC item lists respect color themes.
Fixes: lp:1492953
* https://bugs.launchpad.net/kicad/+bug/1492953
2018-03-14 14:15:16 +00:00
Maciej Suminski f7ad77004d Eagle PCB import: handle {smd,pad}.thermals property 2018-03-14 10:24:47 +01:00
Maciej Suminski d432a985ab Eagle PCB import: handle 'roundness' DRC rule (SMD rounded rectangles)
Fixes: lp:1754138
* https://bugs.launchpad.net/kicad/+bug/1754138
2018-03-14 10:24:47 +01:00
Maciej Suminski 5896723c60 Eagle PCB import: handle smd.{stop,cream} and pad.stop attributes 2018-03-14 10:24:47 +01:00
Maciej Suminski 128a7f252c Eagle PCB import: fixed comments 2018-03-14 09:54:41 +01:00
Jon Evans 2f86b497d9 Work around wxGrid boolean editor issues
Fixes: lp:1667240
* https://bugs.launchpad.net/kicad/+bug/1667240
2018-03-13 20:34:39 -04:00
Maciej Suminski 8567eab09a Fix pasting BOARD_ITEMs containing Unicode characters
Fixes: lp:1749549
* https://bugs.launchpad.net/kicad/+bug/1749549
2018-03-13 17:40:18 +01:00
Maciej Suminski d906acc0eb Eagle PCB import plugin: sprintf() -> snprintf() 2018-03-13 14:50:08 +01:00
Maciej Suminski aeb999b9ae Eagle PCB import: handle solder mask & paste for pads
Fixes: lp:1754138
* https://bugs.launchpad.net/kicad/+bug/1754138
2018-03-13 14:50:05 +01:00
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