Commit Graph

7813 Commits

Author SHA1 Message Date
Jeff Young aaa7661b94 Check that there's something selected in the tree before exporting.
Fixes: lp:1833295
* https://bugs.launchpad.net/kicad/+bug/1833295
2019-06-18 21:50:53 +01:00
Jeff Young dcbd897a95 Push/pop tools even when selected from the toolbar. 2019-06-18 20:24:15 +01:00
Jeff Young 7dd247f1dc Make better use of TOOL_EVENT parameters. 2019-06-18 20:24:15 +01:00
Seth Hillbrand bc26ccf9f2 pcbnew: Correct polygon flipping in custom pads
Custom pads are referenced to the anchor pad 0-point, so flipping the
polygon should be about 0 and not the flip point.

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

(cherry picked from commit 909a25c147)
2019-06-17 15:27:50 -07:00
Seth Hillbrand 1956c074ba Fix import graphics routines and tests
The returns of KiCad file extensions on GTK contain basic regex matching
case-insensitive file extensions.  We need to match these in the
provider and tests
2019-06-17 14:59:39 -07:00
Jeff Young 7cfe19d9fd Cleanup. 2019-06-17 22:15:20 +01:00
Jeff Young 4eab89d9ef Fix OSX button order issue in Unsaved Changes dialog.
Also changes the presentation of the string when the checkbox appears
so that the "Changes will be lost" warning isn't hidden by the turndown.
This last part may require conditional compilation as it's undocumented.

Lastly, regularizes the Unsaved Changes strings between the apps.
2019-06-17 17:01:57 +01:00
jean-pierre charras 8085899d0a Pcbnew: better approximation of arcs by polygons for pads having a very small size.
Especially, small round rect pads have a ugly shape because the number of segments is
small and the 90 deg arcs are not very well approximated.
The minimal seg count for 90 deg arcs is now 4 (16 segm/circle) for pads.

Fixes: lp:1833005
https://bugs.launchpad.net/kicad/+bug/1833005
2019-06-17 17:26:15 +02:00
Jeff Young 1f35ec5521 Beware of copying events and losing the m_passEvent flag.
Fixes: lp:1833031
* https://bugs.launchpad.net/kicad/+bug/1833031
2019-06-17 14:44:39 +01:00
Seth Hillbrand 37afcd93e2 pcbnew: Fix missing correction to Pad->Polygon transform
The rounded radius needs to be corrected even when there is no clearance
to ensure that the pad segments fall on the arc.
2019-06-17 05:28:52 -07:00
Jeff Young 5d7739a662 Handle '&'s in menu labels.
Fixes: lp:1832904
* https://bugs.launchpad.net/kicad/+bug/1832904
2019-06-17 10:45:23 +01:00
Jeff Young e6d5110ccf Implement I18N for ACTIONs.
It's a bit of a hack because they're statically initialized and
so we can't make use of the _() macro.  We do still want it in the
code, however, because the string harvesting is based off of it.

Fixes: lp:1833000
* https://bugs.launchpad.net/kicad/+bug/1833000
2019-06-17 10:45:23 +01:00
Jeff Young f30c8e0f46 Increase signal-to-noise ratio. 2019-06-16 19:53:30 +01:00
Jeff Young 909aeba3d9 Transition some more stuff from the MVC view to the controller. 2019-06-16 19:53:30 +01:00
jean-pierre charras 66d2060942 Partial fix for missing language selection menu.
The fix is partial because in the list of languages the menuitem corresponding to the selected language is not checked.
2019-06-16 20:35:57 +02:00
jean-pierre charras a076f5092c I18n: fix a few useless leading spaces in messages. 2019-06-16 20:29:11 +02:00
Wayne Stambaugh 77bf575742 CvPcb: fix save changes dialog layout issue.
DIALOG_EXIT was not being laid out correctly after setting the dialog
message.  Rather than fix our custom DIALOG_EXIT, wxMessageDialog and
wxRichMessageDialog were substituted as direct replacements for all
of the variants of DIALOG_EXIT.  This make message dialogs appear more
consistent because wxMessageDialog uses the default platform message
dialog and wxRichMessageDialog uses the default platform rich message
dialog on windows.

Remove DIALOG_EXIT_BASE as it is no longer required.

Fixes lp:1832899

https://bugs.launchpad.net/kicad/+bug/1832899
2019-06-16 12:10:24 -04:00
Jeff Young e4fbd003e0 Make m_passEvent event-specific rather than global.
If a tool called something like clearSelection while processing a
MOUSE_CLICK, the SELECTION_TOOL will pass the clearSelection
COMMAND_EVENT because it handles it as a transition, not as an
event. Because m_passEvent is effectively global, the tool manager
would then interpret that as passing the MOUSE_CLICK and we'd end
up processing the click by multiple tools.
2019-06-16 12:06:49 +01:00
Jeff Young 6d335f2a82 While Seth fixed the main issue, repeated Activate() calls probably still aren't a good idea.
(The main issue was addressed here: 552815d48617c08a6ec29f22c7ecdf1906988e11.)
2019-06-16 11:03:56 +01:00
jean-pierre charras 18ffb405b4 better message in dialog 2019-06-16 09:13:17 +02:00
Jeff Young 0f4bdbd184 Tighten down the POINT_EDITORs a bit more. 2019-06-16 01:33:39 +01:00
Jeff Young f14e41133b OSX compiler didn't like the other syntax. 2019-06-16 01:06:18 +01:00
Jeff Young 945eaceb91 Try and keep POINT_EDITOR and SELECTION_TOOL from fighting with drawing tool.
Set the IS_NEW flags so the POINT_EDITOR doesn't try an poke its head
in, and apply the EE_SELECTION_TOOL hack for mouse clicks leaking
through to the underlying tools.

Fixes: lp:1832911
* https://bugs.launchpad.net/kicad/+bug/1832911
2019-06-15 20:43:52 +01:00
Jeff Young 19aba615c2 Remove selection condition from conditional menu separators.
We don't allow duplicate separators anyway so all they really do
is complicate the code.
2019-06-15 20:43:51 +01:00
Jeff Young 5610261dce Immediate-action hotkeys (and context menu actions) for eeschema. 2019-06-15 20:43:51 +01:00
Seth Hillbrand 77643fe9b6 pcbnew: Restore select items filter
This restores the distinction between selecting tracks and selecting
items in the expand call.  It does not yet fully address lp:1832902
2019-06-15 10:08:36 -07:00
Seth Hillbrand 4f4b24a638 pcbnew: Draw dynamic ratsnest with curved lines
When selected, curved ratsnest lines can be used for all ratsnest not
just the static set.

Fixes: lp:1832929
* https://bugs.launchpad.net/kicad/+bug/1832929
2019-06-15 08:17:28 -07:00
Seth Hillbrand 79e2000af4 Fix case-sensitive import using KiCad std
Fixes: lp:1832853
* https://bugs.launchpad.net/kicad/+bug/1832853
2019-06-15 08:08:41 -07:00
Seth Hillbrand 2dd82cbca7 Revert the ClearIfOutside logic.
This workflow needs better indicators before it will be anything but
confusing.

Fixes: lp:1832714
* https://bugs.launchpad.net/kicad/+bug/1832714
2019-06-14 20:10:04 -07:00
jean-pierre charras f550ecaf1f Better tooltip and fix a typo. 2019-06-14 20:50:46 +02:00
Seth Hillbrand 51511eda85 CMake adjust Linux build
Instead of linking the same target name and re-building, we can install
the file to a new name.  This speeds the build process and keeps linking
routines from stepping on each other.  Available now that we are at
CMake 3.0.2

Fixes: lp:1789468
* https://bugs.launchpad.net/kicad/+bug/1789468
2019-06-14 11:01:17 -07:00
Seth Hillbrand 36f70704eb import_gfx: Make file selection case-insensitive
This adds the upper-case version of files names to the selection box for
filesystems that support case-sensitive file names.

Fixes: lp:1832853
* https://bugs.launchpad.net/kicad/+bug/1832853
2019-06-14 08:35:03 -07:00
Ian McInerney d5f680ecd2 Allow DXF to be exported in either inches or millimeters
Fixes: lp:1832188
* https://bugs.launchpad.net/kicad/+bug/1832188
2019-06-13 15:18:20 -07:00
Ian McInerney b2c848579a pcbnew: Update plot dialog to contain a unit selector for DXF 2019-06-13 15:18:07 -07:00
Seth Hillbrand fb3d1bdb59 Clear some compile warnings 2019-06-13 15:16:54 -07:00
Jeff Young 8f84c3ec4f Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
Steven A. Falco 1edeba7fb4 Show the current grid setting. 2019-06-13 14:34:39 -04:00
Jeff Young 517c79c9cd Don't require changes before enabling Export Footprint.
Fixes: lp:1832730
* https://bugs.launchpad.net/kicad/+bug/1832730
2019-06-13 16:28:39 +01:00
Jeff Young f0cd7a5fd9 Clean up duplicted Find action processing. 2019-06-13 15:51:32 +01:00
Jeff Young ce1f35a1be Cleanup some left-over vestiages of the legacy canvas architecture. 2019-06-13 15:51:32 +01:00
Jeff Young df08f9921f Make place drill origin and place grid origin one-shot commands.
Fixes: lp:1751747
* https://bugs.launchpad.net/kicad/+bug/1751747
2019-06-13 15:51:32 +01:00
Jeff Young ae8daee83c Don't let point editor interrupt other operations.
Fixes: lp:1832416
* https://bugs.launchpad.net/kicad/+bug/1832416
2019-06-13 15:51:32 +01:00
Seth Hillbrand daad58e511 pcbnew: Add option to show ratsnest while moving
Re-works ratsnest display options in the configuration parameters rather
than the board file.  Moves ratsnest options to central preferences
location.

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

Fixes: lp:1821183
* https://bugs.launchpad.net/kicad/+bug/1821183
2019-06-12 17:36:02 -07:00
Tomasz Włostowski 51b9319246 pcbnew: updated connectivity algorithm to support JP's no-outline zones 2019-06-12 20:57:31 +02:00
Seth Hillbrand 0571ff6ce2 pcbnew: Centralize selection clearing
Also adds check for items before getting BBox.

Fixes: lp:1832601
* https://bugs.launchpad.net/kicad/+bug/1832601
2019-06-12 09:06:23 -07:00
Seth Hillbrand e691704a82 pcbnew: Edit when cursor in in selection
Prevents certain edit tools from handling the action unless the cursor
remains inside the selection bounding box.

For now this is a UX test but the behavior may be expanded into Eeschema
as well.

Fixes: lp:1827242
* https://bugs.launchpad.net/kicad/+bug/1827242
2019-06-12 05:28:48 -07:00
Jeff Young 2348537769 Add a command to toggle between last two highlighted nets. 2019-06-12 12:43:12 +01:00
Seppe Stas 455ee4c08c Set KiCad version in MacOS apps
Uses CMake's configure_file function [1] to automaticaly set the
CFBundleShortVersionString [2] value in every app's Info.plist file.

Also updates the CFBundleLongVersionString and CFBundleVersion with the
extended KiCad Version

[1]: https://cmake.org/cmake/help/latest/command/configure_file.html
[2]: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
2019-06-12 04:40:03 -07:00
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