Commit Graph

7031 Commits

Author SHA1 Message Date
jean-pierre charras 0b8cf93888 Pcbnew, On line DRC in legacy canvas: Fix broken Drc test during track and zone creation or edition.
It was broken by commit c78171d01f.
During creation, the Drc must only display a error message, and do not create markers.
Markers are created only during a full board DRC test.
commit c78171d01f replaced this behavior by a incorrect one (create markers and do not show error messages)
2018-06-04 11:20:11 +02:00
Maciej Suminski 8910894fab Enable the accelerated canvas on the first pcbnew run if requested
Fixes: lp:1769143
* https://bugs.launchpad.net/kicad/+bug/1769143
2018-06-04 10:41:34 +02:00
jean-pierre charras d3c41dd247 Remove dead code. 2018-06-03 19:55:03 +02:00
Seth Hillbrand 0a91f0bc9c Add 45º constraints to lines when moving with CTRL
Fixes: lp:1774750
* https://bugs.launchpad.net/kicad/+bug/1774750
2018-06-02 15:52:18 -07:00
Seth Hillbrand 975e777149 Fix threaded race condition in footprints
The progress reporter should not be cleared in the footprint
implementation to prevent dereferencing a NULL.

When cancelling the load, we should only allow setting of cancellation
to true to prevent a condition where the progress reporter resets
the cancellation.

Fixes: lp:1774777
* https://bugs.launchpad.net/kicad/+bug/1774777
2018-06-02 15:05:36 -07:00
jean-pierre charras 6e57266136 Pcbnew: optimize BOARD::SortedNetnamesList() for a must faster calculation time.
It is mainly used in copper zones dialog editor,
and previously created a noticeable delay to show this dialog with large boards (more than 900 nets)
2018-06-02 18:14:34 +02:00
Seth Hillbrand 3cf9009f73 Delete GL context in GL destructor not program
Also lock the DeleteAll call with mutext to protect threaded access.

The OpenGL contexts are removed when OPENGL_GAL class is destroyed.
Explicitly deleting all contexts prior to destroying the OPENGL_GAL
class causes an assert when the destructor tries to lock its context
prior to cleaning up OpenGL memory.  In most cases, an unhandled assert
in a destructor-called function will simply exit the destructor.

Python thread cleanup will also attempt to close the context.  This can
cause a race condition with multiple threads accessing/deleting the
canvas.

Fixes: lp:1774096
* https://bugs.launchpad.net/kicad/+bug/1774096
2018-06-01 09:14:36 -07:00
jean-pierre charras 9a228d8ec9 Gerbview: GAL mode: shows the page worksheet, similar to legacy mode. 2018-06-01 09:11:43 +02:00
Maciej Suminski 7c49bcd3a6 Clear selection before deleting DRC markers
Pcbnew crashes when a selected DRC marker is deleted. This a possible
fix to lp:#1773863.
2018-05-31 09:32:43 +02:00
Seth Hillbrand 3ce8a4856a Remove ToLayer_ID calls from color checks
Colors are assigned to virtual layers while the ToLayer_ID returns a
physical layer enum.  The GetLayerColor/SetLayerColor take LAYER_NUM
(int) values that can be larger than the physical layer count.
2018-05-30 13:51:20 -07:00
Jeff Young d90d4ff682 Fix bugs in Export to SVG.
We were trying to handle aOnlyOneFile at two different levels
which was preventing the Silk layer from going through the
right routine (and preventing board outlines from getting
drawn if selected).

We were also overwriting the references color local variable
before using it, meaning the reference was always rendered in
the value's color.

Fixes: lp:1774171
* https://bugs.launchpad.net/kicad/+bug/1774171
2018-05-30 20:49:05 +01:00
jean-pierre charras ce9cc4ea38 plot board: fix a stupid bug created by commit dfa91752 2018-05-29 19:51:50 +02:00
Maciej Suminski c5f56ef573 Eagle PCB import: made warning strings translatable 2018-05-29 15:02:26 +02:00
Maciej Suminski d2436e7478 Corrected "Add footprint library" dialog file filters
Fixes: lp:1773969
* https://bugs.launchpad.net/kicad/+bug/1773969
2018-05-29 15:02:26 +02:00
jean-pierre charras dfa9175209 Fix incorrect mask size for rectangular and trapezoid pads.
Fixes: lp:1773926
https://bugs.launchpad.net/kicad/+bug/1773926

Fixes: lp:1773961
https://bugs.launchpad.net/kicad/+bug/1773961
2018-05-29 13:45:45 +02:00
Jeff Young a12b9db584 Map Eagle values to fab layers.
Fixes: lp:1773256
* https://bugs.launchpad.net/kicad/+bug/1773256
2018-05-28 20:37:52 +01:00
jean-pierre charras da66005254 Pcbnew, plot dialog: avoid slightly change in hpgl pen diameter (due to inch/mm conversion error) when the hpgl format is not selected 2018-05-26 17:36:07 +02:00
jean-pierre charras 7db88126c5 hpgl plot parameters: use double instead of int to store the pen diameter to avoid truncation.
This parameter, always in mm in a hpgl file, is for historical reasons stored in mils,
and using a int to store it created annoying rounding errors.
2018-05-26 09:37:42 +02:00
Seth Hillbrand da061718e5 Remove constraint on circle
Allows circle radius to snap to arbitrary points while editing

Fixes: lp:1773436
* https://bugs.launchpad.net/kicad/+bug/1773436
2018-05-25 12:30:47 -07:00
jean-pierre charras 250d958ebb Plot dialog: fix broken dialog management.
Previously, the dialog was created only once, with the current board setup and the current units selection.
Therefore, after changes in board or units, the dialog was really broken.

Now, the dialog is recreated when the plot command is run.
2018-05-25 19:48:07 +02:00
Jeff Young cd5f727880 Fix off-by-1 errors in zoom menus & use zoom steps in GAL canvas.
Also bumps the maximums a bit (at user request).

Fixes: lp:1773215
* https://bugs.launchpad.net/kicad/+bug/1773215
2018-05-25 13:01:58 +01:00
Jeff Young b89f6d4af3 Decrease allowed coverage ration when zones are involved.
A perfect solution would create holes in the coverage map
for the zone edges and handles, but that's a lot more
work.

Fixes: lp:1773204
* https://bugs.launchpad.net/kicad/+bug/1773204
2018-05-25 13:01:58 +01:00
Maciej Suminski 145835661b Replaced footprint library wizard with a common file browser
As of v5 footprint library reorganization (one repo per library concept
is replaced with a common repo for all libraries), the Footprint Library
Wizard may handle only the old libraries. It has been replaced with
a file browser to select only local files.

Fixes: lp:1772209
* https://bugs.launchpad.net/kicad/+bug/1772209
2018-05-25 08:51:46 +02:00
jean-pierre charras 6090f9001e netinfo.i: fix incorrect position of a declaration, that was not taken in account.
Fixes: lp:1544750
https://bugs.launchpad.net/kicad/+bug/1544750
2018-05-24 09:43:04 +02:00
Seth Hillbrand cf2a07559d Safely release thread memory
When starting async processes, we need to have a way to stop the process
before releasing memory.  Descoping FOOTPRINT_ASYNC_LOADER while the
threads were still running could cause crashes depending on the memory
structure.  To avoid this we define clear procedures for exiting a
running async processes and call these when exiting.

Fixes: lp:1772909
* https://bugs.launchpad.net/kicad/+bug/1772909
2018-05-23 08:55:55 -07:00
Maciej Suminski 190d4d6f55 Eagle PCB import: disable copper pour for imported *Restrict layer polygons
Fixes: lp:1772245
* https://bugs.launchpad.net/kicad/+bug/1772245
2018-05-23 17:51:49 +02:00
Seth Hillbrand 8506cdf3ae Avoid numerical dereference of selections
The SELECTION is a std::set.  Numerical dereference of item n is O(n) as
the iterator is not random access.  Therefore, a for loop using
numerical dereference is O(n!) and quickly slows.

We avoid this by storing items to remove separately while iterating and
then removing the items after we complete.

Fixes: lp:1692081
* https://bugs.launchpad.net/kicad/+bug/1692081
2018-05-22 16:37:45 -07:00
Seth Hillbrand 8d52dc9451 Avoid re-checking items already selected
If you select a track with many segments (e.g. a length-tuned track) and
then select all connected items again ('U' -> 'U'), we would iterate
over all items in the selection and mark connections for each of the n
segments n separate times.

We avoid this by using the marked flag to show when the segment has
already been visited by the routine.  This means that if the segment has
been checked for connections because it was connected to the previous
item, it won't be checked for connections again.  However, a selection
that interleaves items from multiple connection segments will still
(potentially) be multiply checked as the BUSY flag is cleared each time
there is one not-BUSY track in the selection.
2018-05-22 16:26:52 -07:00
Seth Hillbrand b625d29151 Only search pads when the position hits module
On large boards with high pad-count modules, searching each pad for hits
becomes expensive.  We eliminate many of the pad searches by first
checking the module's bounding box before iterating over pads to look
for hits.
2018-05-22 15:37:24 -07:00
Seth Hillbrand 8c5037a48b Optionally sort reporter messages
It can be useful to have similar class messages grouped together so that
error messages in a larger report don't get lost among the
warning/info/action messages.

This patch allows sorting of messages for dialogs that benefit from
organization.  Default behavior of reporter messages remains
unchanged by this patch.

Fixes: lp:1772090
* https://bugs.launchpad.net/kicad/+bug/1772090
2018-05-22 13:55:02 -07:00
Seth Hillbrand b8f960ea09 Correct message panel sizing
Message panel in update PCB needs size hints from the dialog to
correctly choose the size.
2018-05-22 13:54:48 -07:00
jean-pierre charras 6f249e5eb6 Add missing icons in lock/unlock context submenu 2018-05-22 14:36:35 +02:00
Seth Hillbrand 2d812c2827 Remove FreeRouting icon and menu option
Freerouting-specialized menus are removed as FreeRouting is not
maintained or packaged for most OSes.  Users can still import/export
SPECCTRA files in KiCad allowing them to interface with a custom
FreeRouting installation.
2018-05-21 10:44:32 -07:00
Seth Hillbrand 5d8dd38664 Standardize graphical edit window
The graphical editor window for pcbnew and modedit have slight
differences, so different classes.  But they should appear the same to
the user.  This merges the differences into a dialog that looks the same
to the user.

Fixes: lp:1772389
* https://bugs.launchpad.net/kicad/+bug/1772389
2018-05-21 09:37:04 -07:00
Jeff Young cdde4c4b40 Fix a bug in how we check for differential pair tuning.
Fixes: lp:1545856
* https://bugs.launchpad.net/kicad/+bug/1545856
2018-05-21 13:49:40 +01:00
Jeff Young 0fd0e84162 Keep OK/Cancel buttons at bottom of Track/Via Properties.
Fixes: lp:1772260
* https://bugs.launchpad.net/kicad/+bug/1772260
2018-05-21 13:18:41 +01:00
Seth Hillbrand 0c2f9b1827 Keep circles controlled by radius
Circles are defined by center and a point on their edge.  This requires
the user to do extra math to figure out the size of the circle.  The
patch allows the user to edit and draw circles using radial coordinates.
2018-05-20 17:16:44 -07:00
Jeff Young 8badfea17a Fix the build messages fall-behind problem...
... by getting rid of the separate window.  It makes more sense
to put the messages into the wizard anyway.

Fixes: lp:1492836
* https://bugs.launchpad.net/kicad/+bug/1492836
2018-05-20 23:48:29 +01:00
Jeff Young e27d31d51d Fix minor dialog layout issue. 2018-05-20 23:48:29 +01:00
Jeff Young 052ca08546 Switch footprint-locked-can't-remove msg to warning.
Fixes: lp:1689898
* https://bugs.launchpad.net/kicad/+bug/1689898
2018-05-20 23:48:29 +01:00
Jeff Young 62a5ee8c21 Layout Track / Via Properties dialog.
It's sizing is dependent on the selection.

Fixes: lp:1772260
* https://bugs.launchpad.net/kicad/+bug/1772260
2018-05-20 23:48:29 +01:00
Jeff Young 63c9e11aae Bug fixes in Length Tuning UI.
1) hide the status popup when the dialog is brought up
2) forward events from the popup to the canvas so hotkeys work
3) make sure diff pair radius is always 100%
4) fix greyed-out Miter style label
5) make L a hotkey so it works before you start dragging

Fixes: lp:1545856
* https://bugs.launchpad.net/kicad/+bug/1545856
2018-05-20 23:48:29 +01:00
Maciej Suminski dcf60f8e6f Eagle PCB import: handle keepout zones
Fixes: lp:1755886
* https://bugs.launchpad.net/kicad/+bug/1755886
2018-05-19 18:43:04 +02:00
Jeff Young 2bd0a027a2 Improved error messages for diff-pair routing.
Fixes: lp:1542592
* https://bugs.launchpad.net/kicad/+bug/1542592
2018-05-19 01:52:22 +01:00
Seth Hillbrand 6b1df2e992 Remove extraneous PROFILE
Accidentally committed in b2d063137
2018-05-18 17:08:52 -07:00
Seth Hillbrand 0c1172b17d Garbage collection optimization
We only need to iterate over the anchors when there are items that are
marked invalid.  We check once in the item list and only if there are
invalid items to remove do we trim the anchor lists.

However, the connected items might still need to be trimmed, so we leave
this final step outside of the conditional.
2018-05-18 16:59:36 -07:00
Seth Hillbrand b2d0631370 Split anchor vectors by layer
This is a speed commit for large boards.  Tracks and pads cannot connect
to elements that are not on the same layer.  Rather than checking for
this at the last step, this commit splits the anchor vectors by layer,
limiting the initial search space.
2018-05-18 16:59:36 -07:00
Seth Hillbrand 019ada0a92 Move some connectivity search to std::algs
Previously, binary search was hand-coded.  This moves the search to a
std::algorithm variant.  Also searches bbox by limits rather than
directly iterating.
2018-05-18 16:59:36 -07:00
Jeff Young 0bcfb2c7df Don't write library name to footprint files.
Fixes: lp:1772095
* https://bugs.launchpad.net/kicad/+bug/1772095
2018-05-19 00:57:15 +01:00
Jeff Young c5696738d2 Use diff-pair-via clearance when checking against vias.
Fixes: lp:1742275
* https://bugs.launchpad.net/kicad/+bug/1742275
2018-05-18 23:42:38 +01:00
Seth Hillbrand d62b4f36a6 Save hotkeys to combined app-based file
Unifies the different sections of hotkeys so that we are not storing two
[eeschema] or [pcbnew] sections in two different files.

Previous hotkey definitions are loaded at start if they exist but are
overwritten by the new format, if it exists.  Changes to hotkeys save
only in the combined format.

Hotkey editor for each application only shows the hotkeys relevant to
that application.

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

Fixes: lp:1668799
* https://bugs.launchpad.net/kicad/+bug/1668799
2018-05-18 12:57:38 -07:00
jean-pierre charras bbc01e0c2b Add a tooltip in DIALOG_POSITION_RELATIVE. 2018-05-18 20:42:24 +02:00
Jeff Young 149f4f68c9 Leave decorations on LAYER_GP_OVERLAY.
In particular, don't reset them to 0, which happens to be F_Cu.

Fixes: lp:1658775
* https://bugs.launchpad.net/kicad/+bug/1658775
2018-05-18 18:18:40 +01:00
jean-pierre charras 45dad4ded5 DIALOG_POSITION_RELATIVE: make dialog more understandable.
Better texts, and add a helper comment.
2018-05-18 13:53:31 +02:00
Jeff Young 5010a461e1 Make polar coordinates consistent.
Use theta instead of phi (which normally describes the azimuth
angle).

Fixes: lp:1545107
* https://bugs.launchpad.net/kicad/+bug/1545107
2018-05-18 12:22:14 +01:00
jean-pierre charras 2363f36033 Fix compil issue in dialog_select_net_from_list.cpp with wxWidgets 3.1 2018-05-18 10:16:30 +02:00
jean-pierre charras 689db4f038 Pcbnew, D_PAD::buildCustomPadPolygon(): use PM_STRICTLY_SIMPLE instead of PM_FAST in polygon calculation.
It is slightly slower, but avoid any issue in polygon generation.
2018-05-18 08:38:03 +02:00
Seth Hillbrand 85921535b3 Cleaning SelectNet window display
Select net has two columns, so we should limit the column width to the
size of the grid.  The size should adjust with the window, so we take
the size of the first column as fixed and assign the rest of the grid
width to the second column.
2018-05-17 16:44:30 -07:00
Jeff Young 8cb68a3585 Wire up return in combobox to accept dialog.
(I've fixed a few of these now.  If memory serves, it's an OSX-
specific problem.)

Fixes: lp:1771515
* https://bugs.launchpad.net/kicad/+bug/1771515
2018-05-17 23:58:49 +01:00
jean-pierre charras 93e75af388 Rename plot_auxiliary_data.h file to gbr_metadata.h, according to the class names defined by this file 2018-05-17 08:07:29 +02:00
jean-pierre charras 144549ebca Pcbnew, plot: Fix: masks derived from custom pad shape have incorrect margin.
Fixes: lp:1771526
https://bugs.launchpad.net/kicad/+bug/1771526
2018-05-16 18:26:43 +02:00
jean-pierre charras 904eb82368 Fix a DRC crash on some installs.
It looks like D_GLIBCXX_ASSERTIONS=ON activated on some Linux versions creates too zealous tests at run time.
This patch just calculate the same pointer value using a slightly different formula.

Fix also a hard-to-understand comment

Fixes: lp:1770414
https://bugs.launchpad.net/kicad/+bug/1770414
2018-05-16 09:20:04 +02:00
Maciej Suminski 23a9fcd91d Fixed a typo in the STEP generator message 2018-05-14 10:59:48 +02:00
jean-pierre charras 2832f997c5 PcbNew; fix crash on copy/paste
Due to a bug introduced by commit ba1e0efda that tried to fix an other bug.

Fixes: lp:1771003
https://bugs.launchpad.net/kicad/+bug/1771003
2018-05-13 21:50:59 +02:00
Jeff Young a9dc417319 Fix bug in pruning of selection.
Fixes: lp:1770939
* https://bugs.launchpad.net/kicad/+bug/1770939
2018-05-13 15:23:41 +01:00
jean-pierre charras b94e0a2031 Fix forgotten change (m_Zone to m_SegZoneDeprecated) 2018-05-13 09:19:44 +02:00
jean-pierre charras e57cd291ff class BOARD: rename m_Zone to m_SegZoneDeprecated to avoid mistakes in code.
m_Zone is a fully deprecated list of SEG_ZONE items (similar to TRACK), used to fill copper zones in *very old* boards.
it is even unlikely there are still boards that use them.
So it should be removed one day.
2018-05-13 08:39:36 +02:00
jean-pierre charras ba1e0efdad Pcbnew, GAL mode: Fix incorrect management of zones in append board and copy from Paste from clipboard.
Fixes: lp:1770855
https://bugs.launchpad.net/kicad/+bug/1770855
2018-05-12 20:48:50 +02:00
jean-pierre charras 6e5131be5a Minor fix in fp editor and fp viewer: display the fp info instead of the useless board info.
board info makes sense only in board editor, not in fp editor and fp viewer.
2018-05-12 10:44:31 +02:00
Jeff Young dffdf04cd9 Update footprint value when it's a proxy for FPID.
Fixes: lp:1769207
* https://bugs.launchpad.net/kicad/+bug/1769207
2018-05-10 12:16:00 +01:00
Jeff Young a65088419e More forgiving keyword search.
In particular, allow comma separators in footprint filters without
making users type them in when searching.

Fixes: lp:1391533
* https://bugs.launchpad.net/kicad/+bug/1391533
2018-05-10 12:16:00 +01:00
Jeff Young 933ff189ad Remember the last directory in FPLib Wizard.
Fixes: lp:1577965
* https://bugs.launchpad.net/kicad/+bug/1577965
2018-05-10 12:16:00 +01:00
jean-pierre charras e339007d22 3D viewer: fix some issues when opened from a frame and changes are made in a other frame:
* Refresh the view only when changes are made in the caller frame.
* Allows recreate a new instances when try to open the 3D view from a frame taht is not the initial caller
* Remove duplicate code in kicad frames.
2018-05-10 12:49:20 +02:00
Wayne Stambaugh d41e64b0ff Fix dialog grid sizer padding issue on GTK builds. 2018-05-09 17:38:06 -04:00
Wayne Stambaugh 7bd9fc9235 Fix footprint editor options dialog layout.
Add padding to standard dialog button sizer.  On windows, the buttons are
slammed against the bottom of the dialog with no border which looks awful.

Fix alignment and padding in grid sizers.
2018-05-09 14:12:26 -04:00
Wayne Stambaugh 7b887c4844 Fix static text iss in board editor footprint properties dialog.
Replace degree symbol with the word degrees.  On windows, this does not
translate to the degree symbol.
2018-05-09 14:01:50 -04:00
Wayne Stambaugh b67bab2f98 Fix layout issues in footprint editor footprint properties dialog.
Add padding to standard dialog button sizer.  On windows, the buttons are
slammed against the bottom of the dialog with no border which looks awful.

Replace degree symbol with the word degrees.  On windows, this does not
translate to the degree symbol.
2018-05-09 13:52:04 -04:00
Wayne Stambaugh 1f898b1e80 Fix control padding in choose footprint dialog. 2018-05-09 13:23:45 -04:00
Wayne Stambaugh 03b85c7544 Fix control alignment and padding in footprint properties dialog. 2018-05-09 13:11:36 -04:00
jean-pierre charras b9808da0a8 Use wxStdDialogButtonSizer in dialog.
Use .step instead of .stp as step file extension.
2018-05-09 18:14:49 +02:00
Wayne Stambaugh 787ee62db3 Fix inconsistent padding in Pcbnew plot dialog. 2018-05-09 11:33:26 -04:00
Jeff Young 31b026c70f Another attempt to fix the initial button layout on GTK. 2018-05-08 20:01:29 +01:00
Jeff Young e5374981aa Improve spacing of Plot button on GTK. 2018-05-08 18:48:23 +01:00
Jeff Young 36850a539b Make layers manager terminology consistent.
Fixes: lp:1769788
* https://bugs.launchpad.net/kicad/+bug/1769788
2018-05-08 18:48:23 +01:00
Jeff Young a997aad144 Fix issue on re-titling sdbSizer button on GTK.
While "fixes" isn't quite the right word, we do want this commit
associated with the following bug, and "fixes" is the easiest
way to do that:

Fixes: lp:1712579
* https://bugs.launchpad.net/kicad/+bug/1712579
2018-05-08 17:11:48 +01:00
Tomasz Włostowski dcf4d7caa7 router: allow placing via without track in shove mode
Fixes: lp:1769782
* https://bugs.launchpad.net/kicad/+bug/1769782
2018-05-08 15:18:10 +02:00
Maciej Suminski 2b46bda2f2 PNS router: apply the last stable state after dragging
Previously, dragging changes were applied only if the last cursor move
finished with a successful drag operation. It made items squeezing
difficult, as it required accurate cursor movement to apply the changes.
2018-05-08 11:50:37 +02:00
Maciej Suminski 471e3de5a7 Fixed board append function, broken in 046e73ec
The previous implementation cleared all DLISTs, but has not added
everything back on append.
2018-05-08 11:21:55 +02:00
Maciej Suminski 8cb3aa79f2 pcbnew_control.cpp code formatting 2018-05-08 10:40:33 +02:00
Maciej Suminski 046e73ecac Clear the source DLIST when pasting items to a BOARD
Fixes the assert triggering when items already belonging to a list are
added to another one.
2018-05-08 10:40:33 +02:00
Jeff Young ad6956b05d Move zone fill check for plot to a checkbox option.
Fixes: lp:1712579
* https://bugs.launchpad.net/kicad/+bug/1712579
2018-05-08 00:22:45 +01:00
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 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 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 b29550de5d Gerber job file: minor update to the latest file specification. 2018-05-06 12:03:46 +02: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
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
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 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
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 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
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 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
Jeff Young 75e91f4cfd Make sure Cvpcb doesn't use its own FP_LIB_TABLE.
It's just a vestige of when Cvpcb was a separate app.

Fixes: lp:1768251
* https://bugs.launchpad.net/kicad/+bug/1768251
2018-05-01 21:49:03 +01:00
Jeff Young 295941c14d Don't leave Zones with "dead" nets.
When reading netlist or updating board from schematic, if the
changes leave a zone with a net with no pads then change the
zone's net to the new net of one of it's connections.

Also improves update-board-from-schematic's dry run reporting
to include zone nets and single-pad nets.

Fixes: lp:1609401
* https://bugs.launchpad.net/kicad/+bug/1609401
2018-05-01 13:54:31 +01:00
Jeff Young 6b3410974d Fix "same layers" test when duplicating zones. 2018-05-01 13:54:31 +01:00
Seth Hillbrand b2b70ed7e3 Fix minor signed/unsigned comparison 2018-04-30 11:15:29 -07:00
Seth Hillbrand 12487e14ab Reduce extra loop comparison 2018-04-30 09:14:23 -07:00
Andrzej Wolski 5ac4dbe641 Fix window/crossed selection mode recognition in flipped view
Fixes: lp:1767233
2018-04-30 14:57:38 +02:00
Jeff Young c8a784058e Allow duplicating a zone onto the same layer in a GAL canvas.
Duplicate already works, so there's little reason to disallow
using the zone dialog to do it.

The legacy canvas can't be fixed because we'll immediately
union the two zones, resulting in a no-op.

Fixes: lp:1464677
* https://bugs.launchpad.net/kicad/+bug/1464677
2018-04-29 20:28:45 +01:00
Jeff Young ae711d9994 Separate clearance axes when plotting pads to DXF (among other things). 2018-04-29 18:51:18 +01:00
Jeff Young 41b92b6d0f Don't discard footprint's library ID when saving.
Fixes: lp:1767736
* https://bugs.launchpad.net/kicad/+bug/1767736
2018-04-29 09:45:05 +01:00
Seth Hillbrand 2a87117edc Speed load/unload of complex boards
Corrects an error in polyline estimation

Syncs graphics to world PNS by whole layer set rather than
individual layer at a time.

Prevents reloading of full pns TOOL_BASE during reset of tools unless
the tool is being activated.

Fixes: lp:1766626
* https://bugs.launchpad.net/kicad/+bug/1766626
2018-04-28 16:11:07 +02:00
Jeff Young cfd2f1d001 Missed some menu items in the earlier clean-up. 2018-04-27 15:26:00 +01:00
Jeff Young 942d4e7658 Check footprint history list for validity.
Fixes: lp:1767108
* https://bugs.launchpad.net/kicad/+bug/1767108
2018-04-27 15:26:00 +01:00
jean-pierre charras ccce376e33 Refinements for commit 986b904
(Add comments and a minor fix)
2018-04-27 16:01:59 +02:00
jean-pierre charras 986b90424b Fix an issue in LoadPlugins(bundlepath=None) python method (Windows specific).
For some obscure (for me) reason, the path separators in bundlepath are seen as escape seq, and the path can be incorrectly handled
(when \n or \r are found in this string).
it happens only for this path, not for other paths in LoadPlugins.
For bundlepath parameter, unix separator is now used.

Fixes: lp:1766879
https://bugs.launchpad.net/kicad/+bug/1766879
2018-04-27 14:04:24 +02:00
jean-pierre charras 641c8bb548 PCBNew: Fix crash while routing in Legacy canvas
it was due to a incorrect behavior of TRACK::GetBestInsertPoint( BOARD* aPcb )
Also: update comment for this method.

Fixes: lp:1767061
https://bugs.launchpad.net/kicad/+bug/1767061
2018-04-26 19:42:55 +02:00
jean-pierre charras 7a923ab969 vrml export: fix line min width to 0.05mm (instead of 0.12mm) 2018-04-26 19:42:54 +02:00
Jeff Young 5342aacf97 Implement magnetic pads & tracks for measurement tool.
This really needs to get put into the VIEW_CONTROLS for all the
tools, but that's probably a bit too risky for 5.0 at this
point.

Fixes: lp:1766547
* https://bugs.launchpad.net/kicad/+bug/1766547
2018-04-25 23:36:17 +01:00
Jeff Young 7a7da560bc Keep unknown nets at 0 while routing.
Previous algorithm used a static variable which it decremented
for each new unconnected track, but this resulted in the router
marking earlier fixed segments as collisions (because they
would get set to netcode = 0 when "fixed").

Fixes: lp:1762043
* https://bugs.launchpad.net/kicad/+bug/1762043
2018-04-25 10:54:32 +01:00
Seth Hillbrand 8d017c9261 Re-enabling global spread and place
This had been removed along with autorouter but its functionality is
still desired.  If/when the autorouter is resurrected, these IDs will
need to be deconflicted.

Fixes: lp:1766550
* https://bugs.launchpad.net/kicad/+bug/1766550
2018-04-24 11:44:08 -07:00
Seth Hillbrand d0ffff3b88 Prevent deletion while actively routing
Fixes: lp:1766280
* https://bugs.launchpad.net/kicad/+bug/1766280
2018-04-24 10:44:49 -07:00
Seth Hillbrand 345f7d0732 Fix VRML export bugs
Corrected polygon export missing vertex.

Set pads to export on copper layer when not masked, keeping visual
output similar to physical.

Fixes: lp:1766634
* https://bugs.launchpad.net/kicad/+bug/1766634
2018-04-24 09:20:40 -07:00
jean-pierre charras bfc70c8208 Fix an issue in footprint editor, "Create Pad from Selected Shapes" command.
If the initial pad was a custom pad converted in a usual pad + graphic items by the command:
"Explode Pad to Graphic Shapes"
the "old" primitives were not cleaned, and the new created pad contained these old primitives, regardless the new selected shapes.
(Usual case when a user want to edit a custom shape)
2018-04-24 17:00:29 +02:00
Maciej Suminski 143d580596 Fixed relative coordinates reset when a tool forces the cursor position
Fixes: lp:1759044
* https://bugs.launchpad.net/kicad/+bug/1759044
2018-04-24 12:56:19 +02:00
Seth Hillbrand 482fd866b3 Correct minor error in SPECTRA rounded-rect 2018-04-23 16:43:13 -07:00
Seth Hillbrand bd5eee50f4 Unify correction factor calculations 2018-04-23 16:43:13 -07:00
Seth Hillbrand 3693e3b1e0 Standardize colons in track-via properties dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand b2a9df33ea Standardize colons in set grid dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 6f6b65821a Standardize colons in select pretty lib dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 0cbc611135 Standardize colons in select net dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 938f8b1a9a Standardize colons in Print using printer dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 006bfabbdf Standardize colon and remove abbr. in Print dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 0e79538601 Standardize caps in position relative dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand e219ff0c2f Standardize colons pns settings dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 3d2e103374 Standardize colons pns length tune dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 3c00b2a2a8 Standardize colons plot dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand fbb8ccb9ad Standardize colons in pad properties dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 30d1db6b1f Standardize colons non-copper zones dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 9b9345abba Standardize colons and wording in netlist dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand d562a7b26d Standardize colons modedit_options_base 2018-04-23 11:53:18 -07:00
Seth Hillbrand b834031425 Standardize colons layers_setup_base 2018-04-23 11:53:18 -07:00
Seth Hillbrand 9956ea20e7 Standardize colons layer_selection 2018-04-23 11:53:17 -07:00
Seth Hillbrand bc7ccab642 Standardize colons global footprint edit 2018-04-23 11:53:17 -07:00
Seth Hillbrand 0ed6751ebe Standardize colons global deletion 2018-04-23 11:53:17 -07:00
Seth Hillbrand 38dae061ce Standardize colon board editor options 2018-04-23 11:53:17 -07:00
Seth Hillbrand f96328afef Standardize colon gendrill_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand 0b07f2ba9e Standardize colon and file/table in footprint lib dialog 2018-04-23 11:53:17 -07:00
Seth Hillbrand 65c3046fc9 Standardize colons for edit_footprint_text_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand f977d210ad Standardize colons for edit_footprint_for_fp_editor 2018-04-23 11:53:17 -07:00
Seth Hillbrand b9adcbdbe3 Standardize colons edit_footprint 2018-04-23 11:53:17 -07:00
Seth Hillbrand 8234cf721c Standardize colon drc_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand 340b9fc2a5 Standardize colon display_options_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand a73cbe221a Standardize colong dimension editor base 2018-04-23 11:53:17 -07:00
Seth Hillbrand f55ad77da6 Standardize colon design_ruls_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand 202e81eaa5 Standardize colon create_array_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand 34fed2075a Standardize colon copper zones base 2018-04-23 11:53:17 -07:00
Seth Hillbrand 87f18665fc Standardize colon block_options_base 2018-04-23 11:53:17 -07:00
Seth Hillbrand c8d1e056f3 Standardize colon SVG_print_base 2018-04-23 11:53:17 -07:00
Maciej Suminski cfa9916836 Prevent issuing a print command before the previous one is finished
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2018-04-23 11:25:28 +02:00
Maciej Suminski 3cc0554e33 Code formatting 2018-04-23 11:18:51 +02:00
jean-pierre charras e75762b1e3 Better wording 2018-04-21 16:31:41 +02:00
Maciej Suminski a93da4aba6 Restored wxPD_APP_MODAL flag for progress dialogs
The flag is required on Linux, otherwise applications hang right after a
progress dialog disappears.
2018-04-20 22:55:39 +02:00
Jeff Young 4302394990 Consistency between dialog titles and menu items.
... and between eeschema and pcbnew.

Also moved the Symbol & Footprint library table tabs to the top
so it's more clear what "by Scope" means.

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

Fixes: lp:1765516
* https://bugs.launchpad.net/kicad/+bug/1765516
2018-04-20 15:33:46 +01:00
Maciej Suminski 5fb7f5a615 Fixed an assert in 3D shape download wizard 2018-04-20 14:23:53 +02:00
Maciej Suminski 86906b05e0 Fix 3D shape & footprint download wizards freeze on OSX
Fixes: lp:1758095
* https://bugs.launchpad.net/kicad/+bug/1758095
2018-04-20 12:36:34 +02:00
Maciej Suminski 536529e48f Fixed unused captured variable warning 2018-04-20 08:44:41 +02:00
Maciej Suminski f81c77cd4e Edit Tool: update the reference point for in-place modification
Fixes: lp:1765027
* https://bugs.launchpad.net/kicad/+bug/1765027
2018-04-19 17:10:06 +02:00
Maciej Suminski 0a58de0c46 Selection Tool: reset is-hover flag
Fixes: lp:1765034
* https://bugs.launchpad.net/kicad/+bug/1765034
2018-04-19 16:17:54 +02:00
Maciej Suminski dce0743ddb Removed nagging dialog in the delete tool. 2018-04-19 15:35:10 +02:00
Maciej Suminski a695c995c7 pcbnew: fixed a warning regarding unused captured variables 2018-04-19 14:42:53 +02:00
Simon Richter 7e47ef7471 Fix warnings for unreferenced local variables 2018-04-18 15:08:37 -04:00
Seth Hillbrand f68268c8ca Only update msgpanel when dimension started
Fixes: lp:1765118
* https://bugs.launchpad.net/kicad/+bug/1765118
2018-04-18 10:06:23 -07:00
Jean-Samuel Reynaud ad0deb16a2 Fix pcbnew: refresh canvas on opening a file only after mouse move
Fixes: lp:1760819
* https://bugs.launchpad.net/kicad/+bug/1760819
2018-04-18 09:01:13 +02:00
Seth Hillbrand 794e8d8a04 Moving IsOk dialogs to correct parents 2018-04-17 17:27:15 -07:00
Seth Hillbrand ca544eb138 Adding radius info to panel for arcs/circles 2018-04-17 11:21:34 -07:00
Seth Hillbrand 6d855cbccb Remove extraneous assert
Fixes: lp:1764619
* https://bugs.launchpad.net/kicad/+bug/1764619
2018-04-17 10:53:27 -07:00
Seth Hillbrand 45d1c19eb7 Add tooltip text to drag options. 2018-04-17 08:59:52 -07:00
jean-pierre charras 0294e41cbc fix minor compil warnings (about signed/unsigned comparison) 2018-04-17 16:08:12 +02:00
Jeff Young e84e5606c9 Fix compiler warning. 2018-04-17 15:06:38 +01:00
Jeff Young 000457db7c Move Fields Editor to wxGrid.
Makes in-place editing much easier and fixes some other issues
(see bug reports).

Fixed sorting bugs in References and added better sorting for
Values.

Removed Description column as it wasn't editable and caused more
confusion than value.

Removed auto-column-width after initial render.

Re-implemented undo/redo.

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

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

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

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

Fixes: lp:1761378
* https://bugs.launchpad.net/kicad/+bug/1761378
2018-04-17 11:39:44 +01:00
jean-pierre charras 268aeeb18f Pcbnew: More explicit tool tip in right vertical toolbar (place auxiliary axis origin tool). 2018-04-17 10:06:11 +02:00
Jeff Young 12ec56bc15 Prevent reentrancy in footprint loading.
Also removes parallel implementation in favour of using the
normal one (with a new wxGauge-backed PROGRESS_REPORTER).

Fixes: lp:1764196
* https://bugs.launchpad.net/kicad/+bug/1764196
2018-04-16 23:19:08 +01:00
jean-pierre charras 07dc12fdd3 Fix incorrect UI management of Zoom to Selection, created by fix 2a419156 2018-04-14 17:44:17 +02:00
Wayne Stambaugh a1acec5f13 Revert broken hotkey fix.
The hotkey fix committed in 53b1ec81 broke non-us keyboards.  Change the
hotkey help hotkey from '?' to Ctrl+F1 to prevent the hotkey list dialog
from being shown when placing a bus wire junction in Eeschema and when
changing the track posture in Pcbnew.  This is still broken in the GAL
framework.
2018-04-14 08:24:25 -04:00
Jeff Young 2a419156e0 Don't try to check uncheckable menu items.
When updating toolbars make sure the events are coming from the
toolbar in question (and not the menus which share the same ID).

Fixes: lp:1763563
* https://bugs.launchpad.net/kicad/+bug/1763563
2018-04-13 21:42:31 +01:00
Wayne Stambaugh 81843c37a4 Organize trace debugging code for ease of maintenance. 2018-04-13 09:59:01 -04:00
Maciej Suminski b907fb856d Fix names of libraries added to symbol/footprint library tables 2018-04-13 14:24:57 +02:00
Maciej Suminski 3f734eb1b5 Improved validation of library and entry names
Symbol/footprint library and entry have the same set of forbidden
characters with a single exception, space character. To accommodate for
this difference, LIB_ID validation and fix methods have been extended to
specify the LIB_ID type that is checked (schematic/board).

LIB_ID::HasIllegalChars() and LIB_ID::FixIllegalChars() had two different
sets of characters treated as invalid in LIB_IDs. The set has been
factored out to another function to avoid duplication.
2018-04-13 14:24:57 +02:00
Seth Hillbrand 1663627135 Update msg panel on create/modify graphic items
This clears the msg panel when not editing an item and updates the
position information when moving
2018-04-12 10:07:24 -07:00
Tomasz Włostowski 4e99b0d0e7 pcbnew: refresh message panel while drawing & editing graphical lines, arcs, circles and texts
Fixes: lp:1763052
* https://bugs.launchpad.net/kicad/+bug/1763052
2018-04-12 18:23:33 +02:00
jean-pierre charras c1ae2fd0a8 Typo 2018-04-10 20:27:54 +02:00
jean-pierre charras 9ea360f168 Pcbnew: avoid useless validation dialog about modifications when closing pcbnew or opening a file, when the initial board is empty.
Some changes (enable/disable a layer) set the dirty bit even for empty boards.
So when closing pcbnew, the dialog asking for saving the board was shown, even when no board loaded.
2018-04-10 20:17:47 +02:00
Jeff Young 84151990cd Don't set dirty bit when adding MARKERs.
They're not saved in the file, so they shouldn't dirty it.

Fixes: lp:1762497
* https://bugs.launchpad.net/kicad/+bug/1762497
2018-04-09 21:19:11 +01:00
Jeff Young f83ebb316e Don't refill if zone fills aren't out-of-date. 2018-04-09 17:04:51 +01:00
Jeff Young 05dae96275 Move zone out-of-date check to the right place.
Fixes: lp:1760097
* https://bugs.launchpad.net/kicad/+bug/1760097
2018-04-09 15:09:47 +01:00
Jeff Young 900bf0c7a6 Allow connections to no-net items in Highlight Collisions mode.
If the track being routed is unconnected, or the end-point
clicked on is unconnected, allow the connection by changing
the unconnected item to the net of the connected one.

Fixes: lp:1548129
* https://bugs.launchpad.net/kicad/+bug/1548129
2018-04-09 11:05:14 +01:00
Jeff Young a597ebc85e Break a track when placing a via on it.
Fixes: lp:1737349
* https://bugs.launchpad.net/kicad/+bug/1737349
2018-04-09 11:05:14 +01:00
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
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
Maciej Suminski 7129dcef91 Added STATUS_TEXT_POPUP for simple popup text display 2018-02-22 15:18:52 +01:00
Maciej Suminski 9673ac4ecd WX_STATUS_POPUP refactor
- Rename WX_STATUS_POPUP -> STATUS_POPUP
- Added Expire() to show a popup temporarily
- Code formatting
2018-02-22 15:18:52 +01:00
Maciej Suminski 7775f59eec Converted zone drawing tools to store points in a SHAPE_LINE_CHAIN
Simplifies the code a bit, removes redundant conversions to/from
std::vector.
2018-02-22 15:18:52 +01:00
jean-pierre charras 997d4dee4f Minor fixes (fix a compil warning, and a incorrectly sized dialog) 2018-02-22 14:29:33 +01:00
Jon Evans dfb0dc4dd5 Change algorithm for GetBoundingPoly() to something that works better 2018-02-22 07:58:47 -05:00
Jeff Young c69db55c1f Fix regression in auto-selection-disambiguation.
Fixes: lp:1646339
* https://bugs.launchpad.net/kicad/+bug/1646339
2018-02-22 11:31:11 +01:00
Jeff Young cb77babe52 Only load all the libraries for a keyword or wildcard search. 2018-02-22 09:35:01 +01:00
Jeff Young 60a9befe7c Print solder and paste masks if user asks for them.
Fixes: lp:1613057
* https://bugs.launchpad.net/kicad/+bug/1613057
2018-02-22 09:04:33 +01:00
Jeff Young f60c251c12 Fix regression in plotting %R and %V text. 2018-02-21 18:02:06 -05:00
Andrzej Wolski dbafdd39b9 Add tracks display control to Render tab 2018-02-21 14:29:05 -05:00
Andrzej Wolski 370232f70d Do not draw pads on hidden copper layers. 2018-02-21 14:18:51 -05:00
Andrzej Wolski 4c19606eb7 Fix pads and footprints rendering switches behavior
Pads and footprints rendering switches in Render tab were working incorrectly, as described in bug report:
https://bugs.launchpad.net/kicad/+bug/1743890

This patch fixes it and makes GAL behave as the legacy canvas.

Fixes: lp:1743890
2018-02-21 13:44:52 -05:00
jean-pierre charras 644190301f Minor fixes in strings. 2018-02-21 09:36:27 +01:00
Jeff Young 5159fc5952 Stop nagging me about unconnected zones.
Moves the nag dialog to a highly-visible warning immediately above
the OK button.
2018-02-20 19:06:33 -05:00
Jeff Young cd81254262 Respect 45-degree mode when set from zone dialog.
Fixes: lp:1655073
* https://bugs.launchpad.net/kicad/+bug/1655073
2018-02-20 17:38:20 +01:00
Jeff Young 4d5e1489fb New menu structure for ModEdit.
Includes some dialog changes to go with the menu update.
Includes promoting the Pcbnew graphics mode back to main menu.
Includes renaming Graphics modes to Toolsets.
2018-02-20 10:49:41 -05:00
Jon Evans 01ab8b0584 Use polygonal hit testing for module selection 2018-02-20 10:43:43 -05:00
jean-pierre charras c8458bc8ed Custom pad shape: primitive duplication dialog: better position/rotation of duplicate (new) primitives. 2018-02-20 16:25:58 +01:00
Michael ed8ca6ec60 Pcbnew menubar tweaks 2018-02-20 13:54:16 +01:00
Maciej Suminski ee6ac1af1d Fix crash on custom shape pad primitive duplication
Fixes: lp:1750463
* https://bugs.launchpad.net/kicad/+bug/1750463
2018-02-20 13:00:57 +01:00
Maciej Suminski be871c0f8c Removed unused variables 2018-02-20 13:00:57 +01:00
Maciej Suminski 602acf1b7c Fixed an assert 2018-02-20 13:00:57 +01:00
jean-pierre charras 3626129631 Very minor fix (remove trailing space in message) 2018-02-20 11:24:31 +01:00
jean-pierre charras 79dac591c8 Custom pad shape primitive not always visible
Fixes: lp:1750458
https://bugs.launchpad.net/kicad/+bug/1750458
2018-02-20 10:52:37 +01:00
Maciej Suminski a752f376a1 Fix autopanning issues when selecting a segment
Fixes: lp:1750302
* https://bugs.launchpad.net/kicad/+bug/1750302
2018-02-20 09:48:48 +01:00
Maciej Suminski 6c1a05a7d5 Coverity fixes
Uninitialized variables: CID #163188 and #174187
Unused variable: CID #168698
2018-02-20 09:14:51 +01:00
Jeff Young c27ee1ece3 Fix disappearing origin lines in modedit (and modview).
Fixes: lp:1745701
* https://bugs.launchpad.net/kicad/+bug/1745701
2018-02-19 10:01:30 -05:00
Andrzej Wolski 9241a399a7 Add EDA_RECT hit test for S_POLYGON
Fixes lp:1749989
2018-02-19 10:59:02 +01:00
Maciej Suminski ab8e2419c2 PNS: Handle no-tracks setting in keep out zones
Fixes: lp:1748832
* https://bugs.launchpad.net/kicad/+bug/1748832
2018-02-19 10:25:05 +01:00
Jon Evans 0504a6db52 Don't sync zone if polygon triangulation fails 2018-02-19 08:49:34 +01:00
Jeff Young 3d77ed9e9d Replace Cancel button with Close in Generate Pos dialog
Fixes: lp:1548123
* https://bugs.launchpad.net/kicad/+bug/1548123
2018-02-18 17:07:09 -05:00
Jeff Young e9e3134dab Grid dialog changes to go along with menu changes.
Removes the units from the grid dialog.  They're now set via
the view menu.
2018-02-18 17:03:26 -05:00
Jeff Young 8b4e8fcd26 Dialog changes to go with new menu structure.
Move sketch mode stuff from Display Settings to View menu.
Move Icons in Menus from View menu to General Preferences.
Move Icon Scaling from Display Settings to General Preferences.
Regroup some items in both dialogs for better comprehension.
2018-02-18 17:03:26 -05:00
jean-pierre charras 6ab76a0373 rename file 2018-02-18 21:11:52 +01:00
Jeff Young b3884669cf Proper error reporting for Annotate dialog.
Also fixes:
- forcing the annotation scope to "full schematic" when run
  as a prerequisite to Generate Netlist.

- a long-standing bug where displaying extra items in a dialog
  would mess up the height of the HTML_REPORT_PANEL (becasue
  we were setting the html window's height rather than its
  parent flexgrid.

- initializing the annotation radio buttons to safe values
  (full schematic and keep existing)

Fixes: lp:1750062
* https://bugs.launchpad.net/kicad/+bug/1750062
2018-02-18 15:08:24 -05:00
jean-pierre charras cf5d93857f PnS router: add support for circles in board outline 2018-02-18 21:00:28 +01:00
Michael 3b085f0d03 Pcbnew new menubar structure 2018-02-18 11:27:52 -05:00
Michael 28705d7c6d Fix up file menu and hotkeys 2018-02-18 11:22:16 -05:00
Wayne Stambaugh 322ce84fb3 Pcbnew: fix minor layout issues with track and via properties dialog.
Fixes lp:1750196

https://bugs.launchpad.net/kicad/+bug/1750196
2018-02-17 19:53:19 -05:00
Wayne Stambaugh 4a3839b48c Pcbnew: use radio buttons instead of check boxes in STEP export dialog.
Fixes lp:1749447

https://bugs.launchpad.net/kicad/+bug/1749447
2018-02-17 19:02:45 -05:00
Maciej Suminski 7a57606af3 Mute shadow warnings in pcbnew{,PYTHON}_wrap.cxx 2018-02-17 23:27:10 +01:00
Tomasz Włostowski dfb98ce70b router: use more kicad-ish arc representation 2018-02-17 18:25:20 +01:00
Tomasz Włostowski 50c1ff67eb router: treat negative net indices as always colliding 2018-02-17 18:25:20 +01:00
Robbert Lagerweij ed0e226aab pcbnew: add and use new icons for align left, right, top & bottom
NEW: add new align icons based on the existing align_items.svg icon, just flipped and rotated
CHANGED: change the context menu to use the new align icons
2018-02-17 11:58:36 -05:00
Maciej Suminski 28f1209ce9 Fixed invalid dynamic_cast in Align Tool
Fixes: lp:1750107
* https://bugs.launchpad.net/kicad/+bug/1750107
2018-02-17 11:36:51 +01:00
Maciej Suminski 24fcdb00cc Eagle importer: convert special characters in net names
Convert '!' to '~' to reflect overbar toggling and change '~' to '~~'.
Now it matches the net names in schematics import plugin.
2018-02-17 00:03:28 +01:00
jean-pierre charras de72ef8518 Fix code after renaming files 2018-02-16 20:27:57 +01:00
jean-pierre charras a889cd7cde rename files 2018-02-16 20:27:55 +01:00
jean-pierre charras a5a6c4a012 Fix code after renaming files 2018-02-16 20:27:16 +01:00
jean-pierre charras 35a7f7a7b4 rename files: replace module by footprint in dialog filenames 2018-02-16 20:27:14 +01:00
Maciej Suminski 9e80eff90a Eagle importer: two stage netlist update
After Eagle project import, schematic and board netlists are inconsistent:
footprints do not have sheetpaths assigned, schematics are unannotated.

One can update netlist either by references or timestamps, but timestamps
are empty in pcbnew, and updating by reference must by preceded by
annotation which may lead to broken links between board and schematics
(Eagle does not require references to end with a number, so KiCad annotater
will add numbers in such cases).

To fix the problem, there is a two step netlist update:
- update by reference without the annotation step, to assign
correct sheetpaths to footprints
- update by timestamp, after symbols are annotated, in order to
update references in the board

Fixes: lp:1748502
* https://bugs.launchpad.net/kicad/+bug/1748502
2018-02-16 19:37:23 +01:00
Maciej Suminski 43523a6179 Options for board update KiWay request (MAIL_SCH_UPDATE[_REQUEST])
Board update KiWay request may now contain options in the message
payload:
- "no-annotate": do not enforce annotation
- "quiet-annotate": annotate without displaying a dialog
- "by-reference": update netlist by reference, no dialog displayed
- "by-timestamp": update netlist by timestamp, no dialog displayed
2018-02-16 19:37:23 +01:00
Robbert Lagerweij b356275e76 pcbnew: add align center and align middle tools and related icons
NEW: add placement tools that allow aligning the centers of items in a selection, both vertically and horizonally
2018-02-16 12:01:01 -05:00
Robbert Lagerweij 7683364bdb pcbnew: code improvements align tools 2018-02-16 11:46:38 -05:00
Maciej Suminski c95340fbaf Eagle importer: replace invalid character with '_' to match PCB<->SCH 2018-02-16 16:52:14 +01:00
jean-pierre charras 0ab15fa0ee Pcbnew cross-probing: highlight in GAL canvas doesn't work properly when selecting a symbol in Eeschema on some installs.
This fix forces a refresh.

Fixes: lp:1749799
https://bugs.launchpad.net/kicad/+bug/1749799
2018-02-16 12:08:31 +01:00
Maciej Suminski ed9a14f01d PNS: disable autopanning in case of an error 2018-02-16 11:28:37 +01:00
jean-pierre charras 07e939ed5a Remove unused code. 2018-02-16 09:02:25 +01:00
Jeff Young 24b5152240 Don't set modified flag for render settings in modedit.
Fixes: lp:1744521
* https://bugs.launchpad.net/kicad/+bug/1744521
2018-02-15 18:34:33 -05:00
Jeff Young ce0d1aca8d Draw the grid and the grid origin in the grid colour.
Fixes: lp:1749564
* https://bugs.launchpad.net/kicad/+bug/1749564
2018-02-15 18:29:56 -05:00
Jeff Young ea1474307c Allow very large grids.
Some folks use them for panelization, drawing board edges, etc.
Whatever the use, we shouldn't get in the way.

Fixes: lp:1484207
* https://bugs.launchpad.net/kicad/+bug/1484207
2018-02-15 18:21:21 -05:00
Jeff Young 7c506f5b3a Add PTH, NPTH and Background to Footprint Editor render settings.
Fixes: lp:1744521
* https://bugs.launchpad.net/kicad/+bug/1744521
2018-02-15 16:27:10 -05:00
Jeff Young 29b28de317 Promote pad renumberer to a proper tool.
This gives it a context menu with a Cancel item.
Commit also includes a couple of fixes to the Pads submenu.
2018-02-15 17:15:26 +01:00
Jeff Young 93999f7af6 Change "Automatic neckdown" to "Optimize pad connections".
Fixes: lp:1485202
* https://bugs.launchpad.net/kicad/+bug/1485202
2018-02-15 17:02:44 +01:00
Michael 2e00b8ceba Remove duplicate track menu item 2018-02-15 16:56:01 +01:00
Michael d2e6f3a0e6 Improve edit menu and use common hotkeys 2018-02-15 16:46:17 +01:00
Michael 62487fa891 Fix spelling error 2018-02-15 16:46:10 +01:00
Maciej Suminski 4a8a168079 Netlist dialog: highlight nets on selection 2018-02-15 15:35:29 +01:00
Maciej Suminski d08f19a0a2 FP placer: enable autopanning/cursor capture only during placement
Fixes: lp:1749548
* https://bugs.launchpad.net/kicad/+bug/1749548
2018-02-15 11:53:23 +01:00
Jeff Young 809093acd0 Don't bail out of loading when one library couldn't be found.
Also includes some cleanup to the error dialog (removing
sunken border, fixing OK button, etc.)

Fixes: lp:1749572
* https://bugs.launchpad.net/kicad/+bug/1749572
2018-02-15 10:53:03 +01:00
Maciej Suminski 1e054071fc Refresh track & via net names after netlist update
Fixes: lp:1749411
* https://bugs.launchpad.net/kicad/+bug/1749411
2018-02-15 10:26:19 +01:00
jean-pierre charras 4012aa70da Fix a few minor Coverity warnings 2018-02-15 10:16:17 +01:00
Maciej Suminski bfa0b98b14 Corrected hotkey description to reflect new canvas naming 2018-02-15 09:30:10 +01:00
jean-pierre charras dded3429fd Add missing hotkey to help menu 2018-02-15 09:23:42 +01:00
Jeff Young f69d499527 Use async footprint loader for Place Footprint.
Fixes: lp:1674053
* https://bugs.launchpad.net/kicad/+bug/1674053
2018-02-14 13:05:28 -05:00
jean-pierre charras c16af6f2ff Pad properties dialogs: allow positive values for solder paste mask layer (unusual but existing case)
Footprint properties dialogs: add test for negative net clearance, similar to the Pad properties dialog test.
Add also a info message in dialogs, to avoid mistakes when setting the local clearances.
2018-02-14 17:52:21 +01:00
Maciej Suminski 6afdf1cf87 PNS router: reset forced cursor position
Track dragging forces the cursor position, which is still kept when PNS
router is launched again. It is avoided by resetting the force cursor
position option before running the event loop.
2018-02-14 17:34:32 +01:00
Maciej Suminski 104b606ca9 Disable autopanning when starting certain tools
Tools preserve their state between runs, so it could happen that
activating a tool restores the state when autopanning is enabled, even
though it should not be.
2018-02-14 15:40:20 +01:00
Maciej Suminski 11d8b9ff55 Fix double disambiguation menu when dragging 2018-02-14 15:34:09 +01:00
Jeff Young f68bf33cd3 Implement progress reporter for cvpcb footprint loading.
Fixes: lp:1676910
* https://bugs.launchpad.net/kicad/+bug/1676910
2018-02-13 20:21:38 -05:00
Jeff Young 4bae901dc8 Centralize zoom-to-fit code.
Fixes a bunch of errors:
- libedit and libbrowser would zoom to bounding box but centre on canvas
- libedit, libbrowser and gerbview didn’t take the scroll bars into account
- pcbnew didn’t take scroll bars into account or apply the 10% margin
- appending a board file would re-centre, but not re-zoom

Fixes: lp:1504302
* https://bugs.launchpad.net/kicad/+bug/1504302
2018-02-13 20:06:03 -05:00
Maciej Suminski 90d53df790 Fix double disambiguation menu on track removal
Commit complementary to 4f0c9b6b. In case there were multiple tracks
under the cursor, disambiguation was shown twice because
SELECTION_TOOL::selectConnection() cleared the selection and requested
it again.
2018-02-13 14:56:11 +01:00
Wayne Stambaugh 6f6a02615c Pcbnew: fix dialog button sizer padding in pad properties dialog. 2018-02-12 20:15:17 -05:00
Jeff Young cd2f5cdbd5 Standardize pad properties terminology.
Fixes: lp:1743153
* https://bugs.launchpad.net/kicad/+bug/1743153
2018-02-12 19:51:32 -05:00
Maciej Suminski 3ee93caafe Converted PNS track/via size settings dialog to use Transfer{To,From}Window()
Dialogs were non functional since they were converted to take advantage
of TEXT_CTRL_EVAL.
2018-02-12 23:20:06 +01:00
Jeff Young 53e705f634 Add Get and Move Footprint to empty-selection-context menu.
Also adds Cancel context menu items for Place Footprint,
Place Target, Place Drill Origin and Place Grid Origin tools,
as well as the standard Zoom and Grid choices.

Removes the Paste context menu item from the Place Drill
and Place Grid Origin tools.

Fixes: lp:1568396
* https://bugs.launchpad.net/kicad/+bug/1568396
2018-02-12 21:50:51 +01:00
Jeff Young 2a9aa11422 Clean up Pad Properties layout
Fixes: lp:1684376
* https://bugs.launchpad.net/kicad/+bug/1684376
2018-02-12 11:10:41 -05:00
Jeff Young a16430a725 Treat %R and %V texts as references and values when rendering.
Fixes: lp:1733894
* https://bugs.launchpad.net/kicad/+bug/1733894
2018-02-12 10:50:43 -05:00
Maciej Suminski 4f0c9b6b20 Fix double disambiguation menu when removing footprints
Second disambiguation menu was caused by another call to
SELECTION_TOOL::RequestSelection() meant to get the list of
connected tracks. When there were only footprints under the cursor,
it asked the user again to pick an item to remove.

Fixes: lp:1748521
* https://bugs.launchpad.net/kicad/+bug/1748521
2018-02-12 10:34:22 +01:00
Jeff Young 6588bef1b1 Make Ignore-DRC button tooltip Legacy-specific.
Fixes: lp:1664173
* https://bugs.launchpad.net/kicad/+bug/1664173
2018-02-11 12:33:33 -05:00
Jeff Young 2b0f789b85 Treat %R and %V texts like Reference and Value for plotting.
Fixes: lp:1677321
* https://bugs.launchpad.net/kicad/+bug/1677321
2018-02-11 12:27:22 -05:00
Jeff Young 916f79d5a1 Performance fixes for the place footprint list all dialog.
Smartens the cache freshness checking, and adds checksums of
constituent-directory last-mod-dates to the footprint info
list.

Also inserts the dataPtrs into the list at the same time as
the text to keep wxWidgets from measuring the width of the
text twice (yes, really).  And converts the list to default-
column widths in case the wxWidgets patch is present to
greatly speed list creation (by not measuring all that text).

On my machine drops the first-load time from 4s to 2.5s and
the subsequent-load times from 2.5s to < 1s.  With the
wxWidgets patch subsequent-loads become near-instantaneous.
2018-02-11 11:51:48 -05:00
Damien Espitallier a04965c36c Enable exception handler for python LoadBoard function 2018-02-10 18:34:20 -05:00
Jeff Young 0bbf961881 Clean up Cancel vs Close buttons in dialogs.
Many had already been fixed but weren't working on Mac because
of the DIALOG_SHIM hack (now fixed).  Others hadn't been updated
yet.  Also includes some cleanup for elipses in buttons and
layout.

Fixes: lp:1748506
* https://bugs.launchpad.net/kicad/+bug/1748506
2018-02-10 17:53:12 -05:00
Jeff Young 1afbfad44a Use "..." uniformly in menus.
See the bug report for some wording changes and a couple of
menu restructurings that were also cleaned up.

Fixes: lp:1597827
* https://bugs.launchpad.net/kicad/+bug/1597827
2018-02-10 17:32:28 -05:00
Wayne Stambaugh e832212d89 Pcbnew: fix bug in footprint library plugin cache reloading.
Check the footprint library path modification against the last load
time and reload the cache if the path modification time has changed
when a new file is added to the footprint library path.

Fixes lp:1727977

https://bugs.launchpad.net/kicad/+bug/1727977
2018-02-10 17:14:53 -05:00
Wayne Stambaugh 5ef0b6b67e Pcbnew: add refill zone option to DRC.
Make refilling zones during DRC optional to prevent the board from being
changed by changes in the polygon filling.  Default to off to prevent
changes by default.

Fixes lp:1721547

https://bugs.launchpad.net/kicad/+bug/1721547
2018-02-10 15:17:30 -05:00
jean-pierre charras b4a17808b0 pcbnew: Fix bug (Linux specific): change Footprints dialog: All radio buttons selected
* Cleanup .fbp file, and remove fixed sizes in a few widgets.
* use wxID_CANCEL in close button ID, to allow closing the dialog by the ESC key

Fixes: lp:1748626
https://bugs.launchpad.net/kicad/+bug/1748626
2018-02-10 18:40:39 +01:00
Maciej Suminski 6dbd7a8d73 Selection Tool: compare footprint area ratio only if there are >1 footprints
There is no point in comparing candidate footprint areas when there is
only one footprint, because it is always equal to 1 and rejected.

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

Fixes: lp:1747378
* https://bugs.launchpad.net/kicad/+bug/1747378
2018-02-09 16:19:48 +01:00
Maciej Suminski 86566fc142 Fix a hang-up during zone filling
On OpenMP single core systems only the first thread launched. It means
that only the UI updating thread was running, without the one
responsible for actual computation. It is fixed by enforcing at least
two threads.
2018-02-09 14:26:06 +01:00
Tomasz Włostowski bc7ca08f07 router: check type before static_cast-ing 2018-02-09 13:00:57 +01:00
Jeff Young 15f1300221 Flip sense of Plot pads on silkscreen.
Added a better tooltip too.

Fixes: lp:1372233
* https://bugs.launchpad.net/kicad/+bug/1372233
2018-02-09 11:03:03 +01:00
jean-pierre charras ab73c80ee6 Dialog pad properties: minor fixes.
Fix incorrect text for non flipped footprints.
minor cosmetic enhancements.
2018-02-09 10:50:45 +01:00
Jeff Young 60a4ce6623 Don't let pads that *should* be NPTHs get lost.
Borrow the hidden text colour so that they can be distinguished
from PTHs and correctly-marked NPTHs.

Fixes: lp:1494738
* https://bugs.launchpad.net/kicad/+bug/1494738
2018-02-08 15:04:23 -05:00
Russell Oliver 864c152a5b Add converted footprint library to library table during Eagle project. 2018-02-08 13:54:40 -05:00
Jeff Young a6c436c2cd Move Pad Properties flipped warning.
This makes it more visible and keeps it from messing up the layout
of the dialog.

Fixes: lp:1426756
* https://bugs.launchpad.net/kicad/+bug/1426756
2018-02-08 13:14:41 -05:00
Robbert Lagerweij 54ce01f8d5 pcbnew: make the distribute horizonally and vertically tools gap based
This changes the distribute horizonally and vertically tools to place
items with constant gaps between them. The previous implementation put
item centers evenly apart but thereby ignored the relative width and
height of the items (i.e. wide items appeared closer together than
narrow items).

Fixes lp;1745366

https://bugs.launchpad.net/kicad/+bug/1745366
2018-02-08 08:44:55 -05:00
Robbert Lagerweij 3556c4b8d6 pcbnew: change alignment tools use footprint rect where appropriate
Using footprint rects instead of the larger bounding box means that
reference and value texts no longer influence the positioning of the
footprint in unexpected ways. Treatment of non-module items is
unchanged.
2018-02-08 08:44:55 -05:00
Andrzej Wolski 936a8c1a7e Initialize color of vias netnames text
LAYER_VIAS_NETNAMES color was not initialized which resulted in black text, not visible in outline mode.
2018-02-08 08:09:04 -05:00
Tomasz Włostowski c0b61c19b7 router: fixed use-after-free error occuring when a newly routed segment covered exactly an older one
Fixes: lp:1747973
* https://bugs.launchpad.net/kicad/+bug/1747973
2018-02-08 11:34:31 +01:00
jean-pierre charras 2fad12bda0 Fix bug: Pressing Enter in the Move Relative dialog doesn't close the dialog.
Fix also minor issues in this dialog.

Fixes: lp:1748054
https://bugs.launchpad.net/kicad/+bug/1748054
2018-02-08 10:51:05 +01:00
jean-pierre charras be70ce7d4a Global pad edition:Custom Pad Shapes incorrectly exported (push command)
Fixes: lp:1748043
https://bugs.launchpad.net/kicad/+bug/1748043
2018-02-08 09:24:38 +01:00
jean-pierre charras 826efab999 Add comments. 2018-02-07 14:24:10 +01:00
Russell Oliver 8f07da7953 Fix empty footprints when using Eagle libraries
This removes a line that deletes the templates created from the eagle
library every time EAGLE_PLUGIN::init( const PROPERTIES* aProperties )
is called, which seems quite often. The templates are deleted though if
the library path for the plugin is changed or the file has been
modified.

Fixes: lp:1731802
* https://bugs.launchpad.net/kicad/+bug/1731802
2018-02-06 14:50:08 +01:00
jean-pierre charras 8d0932dd58 Fix MSW issue with Exchange Footprints dialog, step 2 2018-02-06 10:59:48 +01:00
Jeff Young 7c48fad737 Fix MSW issue with Exchange Footprints dialog.
Fixes: lp:1747413
* https://bugs.launchpad.net/kicad/+bug/1747413
2018-02-06 10:59:47 +01:00
Tomasz Włostowski 271363f822 router: support for board outline 2018-02-06 09:43:56 +01:00
Tomasz Włostowski 2faf1a1ed3 Initial support for keepout zones in the P&S router. 2018-02-06 09:43:56 +01:00
jean-pierre charras ac3bf11bc4 Fix a minor render issue in GAL mode: hole contours inside a zone outline are not drawn. 2018-02-05 19:50:02 +01:00
Maciej Suminski fe62760f39 Corrected a BOARD::SetElementVisibility() invocation.
Supplementary fix to 6b12fef2.
2018-02-05 12:20:31 +01:00
Jeff Young b0d1e49319 Fix plotting of 360 degree arcs and printing of mirrored arcs.
The second issue is OSX-only; the first is universal.
2018-02-05 07:53:51 +01:00
Jeff Young 6b12fef288 Print items irrespective of render settings.
This fixes SMD pads and module text.  All the other setting were
already correct.

Fixes: lp:1744730
* https://bugs.launchpad.net/kicad/+bug/1744730
2018-02-04 21:26:52 +01:00
jean-pierre charras 141ef0c4be Dialog footprint generators list selector: open the first page (generators list) by default. 2018-02-04 18:38:01 +01:00
jean-pierre charras c7bc154045 Track cleaner: make option "Delete dangling tracks" working again. 2018-02-04 15:05:31 +01:00
jean-pierre charras 821668d96c rename class_collector.h to collector.h 2018-02-04 10:49:37 +01:00
jean-pierre charras 9c22303551 Pcbnew: Fabrication Outputs: Footprint position (.pos) file CSV format : double quote ref, value and package name.
It avoid issues with texts containing a comma, as fields are separated by comma in csv file.

Fixes: lp:1747186
https://bugs.launchpad.net/kicad/+bug/1747186
2018-02-03 21:30:09 +01:00
jean-pierre charras a7a7f62cb7 Specctra export: export roundrect pads with the right shape 2018-02-03 18:50:55 +01:00
jean-pierre charras 1858852f57 rename files 2018-02-02 21:57:12 +01:00
jean-pierre charras dc66b73a2c Make specctra export of custom pad shapes working with Freerouter 2018-02-02 18:52:44 +01:00
Maciej Suminski 95864780e2 Fix cursor freezes in GAL
Launching right click context menu overrides the cursor position, so all
actions executed by the tools will be performed in the right click
position. It created an issue, as the overridden cursor settings were
saved into wrong context if there was another tool activated in the
meantime.

Current implementation saves cursor settings for all tools and restores
them once the right click context menu disappears.

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

Fixes: lp:1746507
* https://bugs.launchpad.net/kicad/+bug/1746507
2018-02-02 19:08:05 +01:00
Maciej Suminski b497673b89 Point Editor: do not modify cursor snap settings 2018-02-02 19:08:05 +01:00
jean-pierre charras d7cfacb6f3 Specctra/Freerouter export fix a few issues:
* Specctra exported polygons are now closed (as required)
* export custom shape is provided in code, but not activated, because i have no way to text it
* fix Specctra export dialog (replace OK and Cancel buttons by only one Close button)
2018-02-02 12:55:11 +01:00
jean-pierre charras 0c8b852e52 rename files 2018-02-01 11:05:01 +01:00
jean-pierre charras e69ddf0e13 rename files 2018-01-31 17:10:01 +01:00
Jeff Young 53a05f18e1 Code review issues from exchange footprints dialog.
Fixes: lp:1466857
* https://bugs.launchpad.net/kicad/+bug/1466857
2018-01-31 10:07:46 -05:00
jean-pierre charras c758e72c1d Remove a useless file and move the 2 methods to suitable files. 2018-01-31 14:54:31 +01:00
jean-pierre charras be746a8e3d rename a few files related to the footprint viewer. 2018-01-31 13:37:36 +01:00
jean-pierre charras 39b4afecfa fix code after file renaming 2018-01-31 09:24:02 +01:00
jean-pierre charras 32aedc99b7 rename files 2018-01-31 09:24:00 +01:00
jean-pierre charras 6d6ef0097b Fix code after renaming files. Minor other fix. 2018-01-30 20:23:35 +01:00
jean-pierre charras d8b9f1081b rename file 2018-01-30 20:23:35 +01:00
jean-pierre charras d4192b4646 rename files 2018-01-30 20:23:34 +01:00
jean-pierre charras b43dc7954c fix code after renaming files 2018-01-30 15:34:09 +01:00
jean-pierre charras ab0a82db19 rename files 2018-01-30 13:55:02 +01:00
jean-pierre charras 342197bb3e fix forgotten code change after renaming 2018-01-30 08:13:33 +01:00
jean-pierre charras 8552f3fedf fix code after renaming files 2018-01-29 22:00:44 +01:00
jean-pierre charras edf9821014 rename files 2018-01-29 21:59:27 +01:00
jean-pierre charras 39fc0656d1 move specctra. files in a specific folder specctra_import_export 2018-01-29 18:09:18 +01:00
jean-pierre charras 30e3f2e781 fix forgotten change after renaming files 2018-01-29 17:34:12 +01:00
jean-pierre charras 5d72aebd22 Fix code after renaming files 2018-01-29 16:40:22 +01:00
jean-pierre charras bc76ec4d67 Rename files according to the name of classes they are defining 2018-01-29 16:40:20 +01:00
jean-pierre charras d0754acf00 Fix code after renaming files 2018-01-29 11:37:29 +01:00
jean-pierre charras 1bc3dfef10 fix compil issue in kicad.i and a minor compil warning 2018-01-28 22:24:51 +01:00
jean-pierre charras 4c5bd01887 Rename a few files 2018-01-28 22:02:31 +01:00