Commit Graph

6185 Commits

Author SHA1 Message Date
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