Commit Graph

16069 Commits

Author SHA1 Message Date
Seth Hillbrand 60b98a8b4f Suppress non-Mac warning
The return variable is unused, so passing the pointer to a null lambda
drops the warning without incurring compile penalty.
2019-06-11 10:12:00 -07:00
Seth Hillbrand 32052d953f pcbnew: Fix STL blunder when deleting
Deleting objects from a container will invalidate the iterator that
contains the object.  Correct deleting requires capturing the iterator
returned by the erase function.

Fixes: lp:1832331
* https://bugs.launchpad.net/kicad/+bug/1832331
2019-06-11 10:12:00 -07:00
Jeff Young 7726b039b2 Re-jigger standard submenus so they both link AND work. 2019-06-11 18:03:16 +01:00
Jeff Young 05652d4787 Rework the preparation for eeschema's move-tool.
There are a whole bunch of cases which all have to work:
 regular move
 move followed by drag
 drag followed by move
 move followed by duplicate
 duplicate
 paste
and all both with and without Warp Mouse on Move checked.
2019-06-11 18:03:16 +01:00
jean-pierre charras 0359ffb6c7 * Fix a link issue issues on Windows, probably related toircular gal<->common dependency.
The fix used in commit 1e4abac57 to build kicad binary does not work for pcb_calculator.
So I used a ugly but basic trick to force linking some undefined functions found in gal lib.
This issue could be msys2 specific.
2019-06-11 16:20:28 +02:00
John Beard 9625cea57f Fix hotkey debug spew
Two issues:

* Unassigned hotkeys were being passed to WX in the menu strings as
  "<unassigned>". WX doesn't recognise this, and prints debug each time.
  Unassigned hotkeys are no longer rare or naughty, so we shouldn't provoke
  debug spew. Suppress by not appending hotkey strings for actions with 0
  (i.e. unassigned) hotkey IDs.
* The zone cutout tool uses GR_KB_SHIFT, not MD_SHIFT. This causes
  "unknown hotkey" spew from WX.
2019-06-11 14:40:57 +01:00
John Beard 1e4abac579 Fix multiple compilation issues on Linux
* Circular gal<->common dependency bites again. Add 'common'
  again to the 'kicad' target's link libraries. libgal.a depends
  on SHAPE_POLY_SET in common, but common depends on gal. This is
  not a real fix, but it unsticks Linux compilations. Fixing the
  circular dep is an existing bug: https://bugs.launchpad.net/kicad/+bug/1832229

* Missing LEGACY_HK_NAME for ACT_EndTuning: this was probably accidentally
  allowed on some other platform due to different wxString constructors.
  On Linux/GCC, it breaks.

* Unused include from /kicad in export_vrml.cpp. This is not findable
  on Linux, as pcbnew does not include the right dirs for this to be
  found. But it's not used, so just remove it.
2019-06-11 13:58:38 +01:00
Jeff Young b9e07f2a70 Attempt to fix un-resolved sub-menus.
While I'm pretty sure this will work, the issues don't appear on OSX
so I can't be positive.

Fixes: lp:1832049
* https://bugs.launchpad.net/kicad/+bug/1832049
2019-06-11 10:04:21 +01:00
Jeff Young a91934c7b3 Don't update toolbars on mouse-move events.
It produces cursor-lag in some instances, and none of our state changes
currently rely on mouse position.

Fixes: lp:1831541
* https://bugs.launchpad.net/kicad/+bug/1831541
2019-06-11 09:52:01 +01:00
Jeff Young e4d16abcbd Fix overly-generic flag test when synchronizing pins.
Fixes: lp:1832170
* https://bugs.launchpad.net/kicad/+bug/1832170
2019-06-11 09:29:30 +01:00
Jeff Young 09a3c5b280 Update pasted items' parent pointers.
Fixes crashes when trying to manipulate the item after the paste,
and weird redraw behaviour with pins.

Fixes: lp:1832178
* https://bugs.launchpad.net/kicad/+bug/1832178
2019-06-11 09:22:56 +01:00
Jeff Young 9f427da56f Use the ACTION_ID offset when updating the layer pair bitmap. 2019-06-11 09:13:56 +01:00
Jeff Young b36f982272 Fix typo introduced in DLIST erradication.
Fixes: lp:1832030
* https://bugs.launchpad.net/kicad/+bug/1832030
2019-06-11 01:00:43 +01:00
Jeff Young 6623ab91a8 Fix issue with picker tool activation. 2019-06-11 00:25:38 +01:00
Jeff Young e9017ce0b1 Update status bar when selected items are modified.
Fixes: lp:1831801
* https://bugs.launchpad.net/kicad/+bug/1831801
2019-06-10 23:46:01 +01:00
Jeff Young b3e30e50c8 Cleanup. 2019-06-10 23:46:01 +01:00
Jeff Young a3f3fb39de Convert 3DViewer to new hotkey architecture. 2019-06-10 23:46:01 +01:00
Jeff Young aeadc768f6 Add import of hotkeys and fix bugs in reanding and writing hotkeys. 2019-06-10 23:46:01 +01:00
Jeff Young b0e8443383 Sync-ing of menu has been done in CONDITIONAL_MENU for some time now. 2019-06-10 23:46:01 +01:00
Jeff Young 19638b2226 Simplification. 2019-06-10 23:46:01 +01:00
Jeff Young 620395608c Move Kicad Manager launch bar to ACTIONs.
Also fixes a bug where hotkeys weren't getting put in menus.
2019-06-10 23:46:01 +01:00
Jeff Young 31ee95c683 Reconcile tool and menu for Enumerate Pads.
Fixes: lp:1831950
* https://bugs.launchpad.net/kicad/+bug/1831950
2019-06-10 23:46:01 +01:00
Jeff Young bb96255a03 Fix dangerous static_cast-ing to wrong type. 2019-06-10 23:46:01 +01:00
Jeff Young 1f6a5c92d7 Make sure placement menu has a pointer back to its tool.
Fixes: lp:1831730
* https://bugs.launchpad.net/kicad/+bug/1831730
2019-06-10 23:46:01 +01:00
Jeff Young a568e70b99 Follow naming conventions. 2019-06-10 23:46:01 +01:00
Jeff Young 5e49517781 Move hotkeys to ACTION architecture. 2019-06-10 23:46:00 +01:00
Jeff Young c13ef839c1 Tool framework for Kicad Manager frame. 2019-06-10 23:46:00 +01:00
Jeff Young 16cb1e731d Finish moving TOOL_MANAGER down to the EDA_BASE_FRAME level. 2019-06-10 23:46:00 +01:00
Jeff Young c3cc85eb1c A little bit of cleanup. 2019-06-10 23:46:00 +01:00
Jeff Young 193ec692a9 Follow naming conventions. 2019-06-10 23:46:00 +01:00
Jeff Young 6025256e07 Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
Jeff Young d323fb57a7 Give KIWAY_HOLDER its own header file. 2019-06-10 23:46:00 +01:00
Jeff Young 765606012f Convert separate-compilation of selection.cpp to polymorphism. 2019-06-10 23:46:00 +01:00
Jeff Young e606587ff6 Move remaining Symbol Tree ctx menu cmds to ACTIONS.
Also moves the various Player instantiators down into COMMON_TOOLS
for better sharing.
2019-06-10 23:46:00 +01:00
Seth Hillbrand 720889edd0 CMake: Another go at linear dependencies
This simplifies the linear dependencies for custom targets.  Should be
single shot for make this time.

Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
2019-06-10 14:47:14 -07:00
John Beard 7ebda0247f Common: Remove legacy_gal library, fold into common
Return the EDA_DRAW_FRAME class back to common, whence it came (before it was
duplicated into legacy_wx and legacy_gal). Now there is only one
implementation (the GAL one), it doesn't need to be in a separate library.

This simplifies the dependencies for common lib users.
2019-06-10 18:56:57 +01:00
jean-pierre charras beb4348016 Eeschema: fix incorrect saving in prj config on the default netlist format.
It was not always saved, and this was not the default, but the last used format.
2019-06-10 18:44:46 +02:00
jean-pierre charras 074ebe0e2b Pl_editor: fix missing switch to "C" locale when saving selected items in clipboard.
It was only noticeable in countries using a comma as floating point separator.

Fixes: lp:1832211
https://bugs.launchpad.net/kicad/+bug/1832211
2019-06-10 11:55:52 +02:00
Seth Hillbrand bc096dc4ee Eagle: Fix stacked NC pin import
Since Eagle does not connect stacked NC pins but KiCad will if the pins
are coincident, we choose to only import the first of the stacked NC
pins.  While this creates symbols that are slightly different in pin
count from the Eagle version, it keeps the schematic and netlist
functionally correct relative to the Eagle version.

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

(cherry picked from commit 370109b868)
2019-06-09 17:03:44 -07:00
Seth Hillbrand 0035445456 pcbnew: Allow DRC violations when marked
We shouldn't consider any obstacles when we are routing in DRC violation
mode.

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

(cherry picked from commit 3b3165ad51)
2019-06-09 13:03:08 -07:00
jean-pierre charras 929b1a1275 Better message for translation. 2019-06-09 17:53:03 +02:00
jean-pierre charras bc27b0ed5f Sim spice: fix unescaped netnames in spice netlist and simulator dialogs.
Net names in eeschema that include '/' are escaped ('/' replaced by "{slash}")
Escaped netnames are only for internal use, and must be unescaped in spice netlist and dialogs.
2019-06-09 17:48:01 +02:00
Seth Hillbrand 838e8aef04 Adding MIT license
The tinyspline library is under MIT, so needs to be included in our
license bundle.
2019-06-09 08:43:43 -07:00
Seth Hillbrand 4a52062a54 GAL: Make high-contrast meld into background
This mixes the de-emphasized layers into the background color rather
than merely a black color.  This also keeps some of the original layer
color.

Fixes: lp:1831316
* https://bugs.launchpad.net/kicad/+bug/1831316
2019-06-09 08:16:58 -07:00
jean-pierre charras 63eb552e0a Fix issue in cairo_gal when drawing a 360 deg arc (in fact a circle).
It was due to a angle normalization between -360 and 360 degrees.
So, in arcs, if the start angle and end angle diff is n*360 deg,
this normalization gives start angle = end angle.
The fix forces end angle = start angle+360deg in this case.

Fixes: lp:1832096
https://bugs.launchpad.net/kicad/+bug/1832096
2019-06-09 11:06:00 +02:00
Seth Hillbrand b75017830f modedit: Clear undo when importing
Importing a footprint is creating a new board.  Undo breaks here as we
don't maintain undo/redo across boards.

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

(cherry picked from commit 5ce0e7265b)
2019-06-08 19:48:28 -07:00
Seth Hillbrand 35da498a32 bitmap2component: Fix logic for alpha mask
For POTRACE, black is the foreground and white is the background.  We
should keep the convention by requiring the pixin to be less than the
black threshhold as well as the alpha to be at least the alpha
threshhold.

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

(cherry picked from commit f1704fd61a)
2019-06-08 12:06:18 -07:00
Seth Hillbrand 81c5ba257b pcbnew: Ensure cursor remains set during tool activity
Mouse capture end is called by some actions such as save board.  This
resets the cursor image but doesn't change the current tool.  Resetting
the cursor image during action prevents this.

(cherry picked from commit 35e87128f5)

Fixes: lp:1831888
* https://bugs.launchpad.net/kicad/+bug/1831888
2019-06-08 10:25:24 -07:00
Seth Hillbrand 23f9d4642d pcbnew: Add tooltip explaining limits on Import Vector Graphics
The tooltip is shown when selecting a file.  Explains that fonts and
bitmaps will be ignored by the conversion.
2019-06-08 09:43:12 -07:00
Seth Hillbrand f7550940ee Import Vector Dialog formatting
This standardizes the import vector graphics file dialog to use the
sbSizer titles instead of bold+lines.  Tooltip changes will be in the
next change as we don't change strings for bugfix releases and this
commit is targeted for 5.1.3

Fixes: lp:1823462
* https://bugs.launchpad.net/kicad/+bug/1823462
2019-06-08 09:36:40 -07:00