Commit Graph

12889 Commits

Author SHA1 Message Date
Seth Hillbrand dbc2eea3db Optimize itemset
When counting items, many cases exist where we want to count all items
without checking flags.  This short-circuits the loop to provide the
immediate count.
2018-05-07 13:59:12 -07:00
Seth Hillbrand 4c7f5f2a2f Allow disabling snap-to when placing vias
This allows the user to selectively disable the snap-to behavior when
placing stand-alone vias.  Full solution will require an update to the
segment distance calculation that takes into account the rounded line
caps.

Fixes: lp:1769523
* https://bugs.launchpad.net/kicad/+bug/1769523
2018-05-07 13:58:26 -07:00
Maciej Suminski ffe194567a DLIST: extra checks 2018-05-07 17:12:03 +02:00
Maciej Suminski d2d5657aff DLIST: replace wxASSERT with wxCHECK for checks that would lead to a crash
wxASSERT only shows a dialog saying that things went wrong (in debug mode),
whereas wxCHECK will also terminate the function (also in release builds).
2018-05-07 16:52:34 +02:00
Maciej Suminski ef698384a7 Eagle PCB importer: changed m_Track.Insert() to m_Track.PushBack()
The latter better reflects the intention.
2018-05-07 16:51:06 +02:00
jean-pierre charras a3770bf6e1 Gerbview: fix a crash when Gerbview starts by loading a gerber job file (run from a command line) 2018-05-07 12:47:11 +02:00
jean-pierre charras d35a6f1e6d Gerber job file, update to the latest file specification: add a change forgotten in the first commit. 2018-05-07 08:50:17 +02:00
Jeff Young 07e7340a96 Make sure doc gets refreshed when zone check results in refill. 2018-05-06 14:05:50 +01:00
jean-pierre charras db8c57dbc6 fix a minor compil warning 2018-05-06 12:49:35 +02:00
jean-pierre charras b29550de5d Gerber job file: minor update to the latest file specification. 2018-05-06 12:03:46 +02:00
jean-pierre charras 90951ac1d1 Update demo to use V5 libraries. 2018-05-06 11:53:08 +02:00
Jeff Young 5a90858a46 Convert unit indicies to reference letters for annotation messages.
Fixes: lp:1769244
* https://bugs.launchpad.net/kicad/+bug/1769244
2018-05-06 00:23:04 +01:00
Jeff Young aa7da5dfcd Treat ${...} and $(...) envvar references uniformly.
Fixes: lp:1769282
* https://bugs.launchpad.net/kicad/+bug/1769282
2018-05-05 23:40:40 +01:00
Jeff Young a31017bc9c Check zone fills before plotting.
Also adds a "Draft Plot" button for those who wish to sidestep
zone checking (which can be slow).

Fixes: lp:1712579
* https://bugs.launchpad.net/kicad/+bug/1712579
2018-05-05 23:40:40 +01:00
Thomas Pointhuber cad2d0656c Remove Items from Menubar of 3D Viewer which are available over dialog 2018-05-05 12:33:04 -04:00
Thomas Pointhuber 32af04c6a6 Adjust Menubar of 3D Viewer to common style 2018-05-05 12:28:09 -04:00
Jeff Young 1f5b575eaf Pretty-up new pad clearance UI. 2018-05-04 23:55:03 +01:00
Jeff Young c23b263e39 Fix display issues in Layers list in Keepout Zone Properties. 2018-05-04 23:55:03 +01:00
Seth Hillbrand bfe636d327 Query user to create library on save
Revising 5ca6864a4, this prompts the user to create the missing library
directory when attempting to save to a non-existent library.
2018-05-04 09:59:35 -07:00
Seth Hillbrand 5ca6864a40 Improve error message granularity
When saving a library, check and report on libraries that do not exist
as well as those that exist but are read-only.

Fixes: lp:1769190
* https://bugs.launchpad.net/kicad/+bug/1769190
2018-05-04 09:12:08 -07:00
Steven A. Falco e0ca5bab11 Fix comment typo.
Comment has XDG_CONFIG_HOME, but it should be KICAD_CONFIG_HOME.
2018-05-04 08:28:48 -07:00
Seth Hillbrand 9648584827 Adjusting the breakout optimizer for custom pads
Rather than using the center of the bounding box, we keep the start
track on the custom pad's connection pad when optimizing the breakout.
2018-05-04 08:23:20 -07:00
Seth Hillbrand b2c4519c2c Setting custom pad shape to be outline for PNS
Changes SHAPE_CONVEX to SHAPE_SIMPLE to better reflect the limitations.
Changes SHAPE_LINE_CHAIN::PointInside calculation to allow points
strictly inside a line chain

Fixes: lp:1768862
* https://bugs.launchpad.net/kicad/+bug/1768862
2018-05-04 08:23:20 -07:00
jean-pierre charras 93c7f65d96 mask clearance parameters: use clearances only for pads on copper layers, and never for pads on technical layers only. 2018-05-04 14:55:38 +02:00
Maciej Suminski 684f085ac5 Coverity fixes
CIDs:
dereference before null check:
175439 @ drc.cpp

uninitalized field:
175435 @ point_editor.cpp
174162 @ zone_filler.cpp
163188 @ footprint_info_impl.cpp

logically dead code:
155146 @ pcb_editor_control.cpp
2018-05-04 14:06:08 +02:00
Seth Hillbrand 1ac905d3ee Allow PNS to select nearest pad when two overlap
Usually pads do not overlap.  However custom pads are represented as
their convex hull, so they may enclose other pads.  This change allows the
router to select the closest pad to the cursor position.
2018-05-03 09:48:15 -07:00
Seth Hillbrand 296ada95a3 Remove unused private vars 2018-05-03 09:48:15 -07:00
jean-pierre charras 5b44e80355 Fix incorrect gerber job file syntax, when a board has inner layers. 2018-05-03 18:27:02 +02:00
Wayne Stambaugh 0f5eb421b3 Fix duplicate menu shortcuts in Eeschema View menu.
Both "Leave Sheet" and "Library Browser" menu entries were mapped to the
'L' key.  Mapped the "Library Browser" entry to the 'B' key.

Fix "Show hidden pins" menu entry capitalization.

Map "Show Hidden Pins" to 'P' key and "Full Window Crosshair" to 'W' key.

Fixes lp:1768671

https://bugs.launchpad.net/kicad/+bug/1768671
2018-05-03 10:49:44 -04:00
Wayne Stambaugh 7c7a6ea979 Fix board file formatting bug.
The roundrect_rratio token was missing a leading space which made the
file formatting different from all other formatting when using rounded
rectangle pads.

Fixes lp:1768355

https://bugs.launchpad.net/kicad/+bug/1768355
2018-05-03 10:21:40 -04:00
Jeff Young a2448cf4a5 Add missing settings to ModEdit's preferences.
Fixes: lp:1768477
* https://bugs.launchpad.net/kicad/+bug/1768477
2018-05-03 15:07:24 +01:00
Jeff Young d0d9bb25c0 Menu consistence (add Config Paths to LibEdit). 2018-05-03 15:07:24 +01:00
Maciej Suminski 8411ef04d0 Size fields list correctly in symbol properties editor
This patch prevents fields with long text values from unreasonable
dialog resizing. It is basically commit f4eb63f8 applied to a
corresponding field editor dialog in the Symbol Editor.
2018-05-03 12:20:40 +02:00
Maciej Suminski 70cd27314b Autocompletion for Spice model selector 2018-05-03 11:58:13 +02:00
Maciej Suminski 72a70d61d8 Fixed the default value generated for Spice_Node_Sequence field
Values generated by NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal()
and the actual value that was stored in a netlist differed when a
component has multiple units.

Due to that, the Spice model editor dialog incorrectly recognized
"alternate node sequence" value as the default one and cleared it
when the dialog was closed.
2018-05-03 11:29:34 +02:00
Jeff Young bf135b0690 Change Libedit save icon from Save Library to Save All Libraries.
Also changes Save Library and Save Library As to work off the
visible selection if there is one.

Also implements enablement for Save All Libraries.

Fixes: lp:1764081
* https://bugs.launchpad.net/kicad/+bug/1764081
2018-05-02 23:41:00 +01:00
Tomasz Włostowski 2eddf1d8db router: prevent a very unlikely infinite loop in PNS::LINE::Walkaround() causing an OOM&segfault
Fixes: lp:1767587
* https://bugs.launchpad.net/kicad/+bug/1767587
2018-05-02 15:06:08 -07:00
Jeff Young af739f5b00 Check for duplicates when adding libraries.
This is particularly important when bulk adding (by director, etc.)
as otherwise the user might end up having to click OK to many
many error dialogs.

Fixes: lp:1764057
* https://bugs.launchpad.net/kicad/+bug/1764057
2018-05-02 21:49:57 +01:00
Jeff Young c842ddfb97 Fix message mismatch in YesNoCancelDialog. 2018-05-02 21:49:57 +01:00
Jeff Young 106dd60e45 Only adjust LAYER_WIDGET font size if larger than indicator.
Also moves adjustment into LAYER_WIDGET so all the callers don't
have to deal with it individually.

Fixes: lp:1767965
* https://bugs.launchpad.net/kicad/+bug/1767965
2018-05-02 21:49:57 +01:00
Jeff Young 2f157f9b23 Enable magnetic pads in Modedit.
Also fixes a bug where a FOOTPRINT_EDIT_FRAME was being passed
in to a PCB_EDIT_FRAME.

Also tidies up Modedit settings handling for settings which can't
be edited in Modedit's preferences dialog.  They're now copied
from Pcbnew.

Fixes: lp:1768477
* https://bugs.launchpad.net/kicad/+bug/1768477
2018-05-02 21:49:57 +01:00
jean-pierre charras 037f7a1698 Cosmetic enhancement: Add missing icons in GAL Select submenu (context submenu). 2018-05-02 21:42:41 +02:00
Seth Hillbrand 6b973f42eb Re-enabling lock/unlock context menus in legacy
This partially reverts 36d36de and 3bac100, moving the legacy footprint
lock/unlock code from the autorouter (which remains disabled) to
pcb_edit_frame.
2018-05-02 09:06:10 -07:00
Seth Hillbrand 76d3b6f04a Adding locking to the context menu for modules
Locking submenu was activated only for tracks and via but it makes sense
(and is probably expected) when right-clicking on modules as well.
2018-05-02 08:35:53 -07:00
Maciej Suminski 73eab29802 Removed 2 unused variables from PNS::LINE::Walkaround() 2018-05-02 17:06:13 +02:00
Maciej Suminski 439cc6a967 Remove redundant window scroll event handlers in WX_VIEW_CONTROLS
The only required scroll event handler is wxEVT_SCROLLWIN_THUMBTRACK,
which is responsible for dragging the scrolling sliders. One of the
remaining ones is also called when mousewheel is scrolled (MSW only) and
due to that overrides the new view setting with view settings computed
from the sliders position.

Fixes: lp:1767604
* https://bugs.launchpad.net/kicad/+bug/1767604
2018-05-02 15:39:36 +02:00
Jeff Young 69a31242b9 Change status bar Unconnected to Unrouted.
This should help make it clear that this is not the same as the
more authoratative DRC unconnected count.
2018-05-02 10:34:33 +01:00
Seth Hillbrand 62522ee450 Prevent implicit * from wildcard match in footprint
Footprint filters need to be able to match the start and end of strings.
The standard wildcard filter implictly adds "*" to the start and end of
match strings, so we create a derived class that requires an explicit
"*" or "?" to match wildcards.

Fixes: lp:1751565
* https://bugs.launchpad.net/kicad/+bug/1751565
2018-05-01 16:49:20 -07:00
Seth Hillbrand 2836d36de8 Removing legacy autorouter menu options
The autorouter was removed in 3bac100 but a few items were left in
place but mostly unconnected to functions.

Fixes: lp:1768357
* https://bugs.launchpad.net/kicad/+bug/1768357
2018-05-01 16:36:43 -07:00
Jeff Young aec490e3ac Handle single- and double-click in Place Footprint history list.
Old code failed to set the wxEventType during acceptance, and
failed to set the default button during initialization.

Fixes: lp:1768253
* https://bugs.launchpad.net/kicad/+bug/1768253
2018-05-01 23:28:01 +01:00