Commit Graph

890 Commits

Author SHA1 Message Date
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 89ebab5df2 Comments for SELECTION_TOOL::guessSelectionCandidates(). 2018-03-18 22:17:27 +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
Seth Hillbrand 8639c308fa Spelling "free-stanging" -> "free-standing" 2018-03-08 12:33:32 -08: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
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
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
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
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
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
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
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 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
Wayne Stambaugh 3a73e775de Revert "Separate copper and graphical zone tools"
This reverts commit fea71c9f8f.
2018-02-24 08:31:25 -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
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 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 4da47f2c01 Forbid drawing self-intersecting polygons. 2018-02-22 16:24:08 +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
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 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
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
Michael 3b085f0d03 Pcbnew new menubar structure 2018-02-18 11:27:52 -05: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
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
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
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
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 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
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
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 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
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
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
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 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
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
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