Commit Graph

4956 Commits

Author SHA1 Message Date
Jeff Young 44a1cf9f1b Implement quiet-mode for selection clearing.
Also adds comments for exising quiet-mode calls.

Fixes: lp:1843177
* https://bugs.launchpad.net/kicad/+bug/1843177
2019-09-08 19:45:35 +01:00
Jeff Young 0ff20c18a3 More direct selection handling.
Fixes: lp:1842750
* https://bugs.launchpad.net/kicad/+bug/1842750
2019-09-07 20:52:17 +01:00
Jeff Young 2553dd2942 Bail on our custom dockart provider.
It appears that it was causing some crashes, and it was never clear
that it looked better anyway.
2019-09-06 23:38:20 +01:00
Jeff Young 10c25a2290 Update frame type enum to match current class names. 2019-09-06 23:38:20 +01:00
Seth Hillbrand c3226653cc eeschema: Handle broken spin style value
The spin style is stored as a numeric and can be corrupted.  We handle
this by triggering assertions for debugging the bad value while
resetting to default if we have non-valid spin values that are outside
the array.

Fixes: lp:1843091
* https://bugs.launchpad.net/kicad/+bug/1843091
2019-09-06 13:17:12 -07:00
Seth Hillbrand 90b5cd3032 Unify text edit dialog behavior
This makes the pcbnew multiline text editor natively accept tabs in the
same manner as eeschema and extracts key handling routines to the shim
to allow undo/redo.

Also allows Ctrl-Y under Linux in addition to other platforms.  While
not as popular as Ctrl-Shift-Z, it is utilized for Redo in some contexts
2019-09-05 14:11:02 -07:00
Jeff Young 3bd38ec245 Improve zoom-to-extents for footprints with long text.
Fixes: lp:1820540
* https://bugs.launchpad.net/kicad/+bug/1820540
2019-09-05 21:02:29 +01:00
Seth Hillbrand 7a1ced7883 eeschema: Set GTK highlight default to a visible color
This keeps the lighter highlight for MAC defaults
2019-09-04 16:24:03 -07:00
Jeff Young 3996a490a1 Re-allocating a std::vector invalidates its iterators.
When we add enough SHEET_PINs that the vector has to grow, it
re-allocates the vector causing our for-loop to get its knickers
tied in a knot.

Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
2019-09-04 11:50:56 +01:00
Jeff Young 8bbbc66e46 Another attempt to fix the crash-on-selection bug.
Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
2019-09-03 22:29:05 +01:00
Jeff Young 54a85cfaa2 Not everything in a VIEW_GROUP is an EDA_ITEM.
Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
2019-09-03 17:24:50 +01:00
Jeff Young 594fef196f Constrain sheet pins to sheet boundary when rotating.
Fixes: lp:1841714
* https://bugs.launchpad.net/kicad/+bug/1841714
2019-09-03 13:45:38 +01:00
Jeff Young efbc802f4d Fix sheet rotation issues.
1) When sheet pins are on 3 or more sides there's no point in switching
the orientation to vertical.
2) Careful that we don't cause the sheet to walk when rotating and the
sheet-name or file-name is longer than the side it's on.

Fixes: lp:1841714
* https://bugs.launchpad.net/kicad/+bug/1841714
2019-09-02 22:36:55 +01:00
Jeff Young fc50ddda64 Implement Paste Special for eeschema.
Also changes the normal paste behaviour to only clear annotations
when a collision is found.

Fixes: lp:1837002
* https://bugs.launchpad.net/kicad/+bug/1837002
2019-09-02 19:24:29 +01:00
Jeff Young 5e353e8967 Fix another case of selection getting out of sync with dragged items.
Use a big hammer this time.

Fixes: lp:1839780
* https://bugs.launchpad.net/kicad/+bug/1839780
2019-08-31 20:23:06 +01:00
Jeff Young 33625dbd9d Add support for cut/paste of unsaved sheet content.
Fixes: lp:1841801
* https://bugs.launchpad.net/kicad/+bug/1841801
2019-08-30 21:56:57 +01:00
Seth Hillbrand 102f6d69c4 eeschema: Keep list focus in symbol browser
This prevents focus stealing by the canvas in the symbol browser under
GTK.
2019-08-30 09:00:53 -07:00
Jeff Young 71c7bf3274 Avoid ghosting items in original location when pasting. 2019-08-29 23:56:16 +01:00
Jeff Young 02a7a79e0d Use resolved path when trying to load sheet content.
Also, if it can't be loaded then at least initialize it so that we
don't crash later (trying to access a NULL screen).

Fixes: lp:1841801
* https://bugs.launchpad.net/kicad/+bug/1841801
2019-08-29 23:56:16 +01:00
Jeff Young bc450853ae More robust solution for adding dragged items to selection.
Fixes: lp:1839780
* https://bugs.launchpad.net/kicad/+bug/1839780
2019-08-29 23:56:16 +01:00
Seth Hillbrand 83b2332f1f eeschema: Check for proper type before dereference
When bundling a selection, we need to ensure that we have correct types
before attempting to dereference.

Fixes: lp:1841919
* https://bugs.launchpad.net/kicad/+bug/1841919
2019-08-29 08:47:26 -07:00
Seth Hillbrand 0d3f6a4930 eeschema: Remove Save All
Saving individual parts of a schematic can break the schematic.  This
moves the schematic save option to save all sheets rather than just the
current sheet.

Fixes: lp:1840383
* https://bugs.launchpad.net/kicad/+bug/1840383
2019-08-27 20:21:02 -07:00
Jeff Young ebbb12e978 Give empty preference pages the right parent.
Fixes: lp:1841665
* https://bugs.launchpad.net/kicad/+bug/1841665
2019-08-27 21:50:52 +01:00
Jeff Young 5348f88a8f Add sheet pins to candidate list by hand (as they're not in the view).
Fixes: lp:1841555
* https://bugs.launchpad.net/kicad/+bug/1841555
2019-08-27 21:08:36 +01:00
Jeff Young 359ef0372c Check all item layers before bailing.
Fixes: lp:1840986
* https://bugs.launchpad.net/kicad/+bug/1840986
2019-08-27 20:52:25 +01:00
Jeff Young 83f147c414 Lighten highlight colour so text is easier to read. 2019-08-27 20:35:37 +01:00
Jeff Young 2fba0a4f61 Register COMMON_CONTROL for help menu actions.
Fixes: lp:1841560
* https://bugs.launchpad.net/kicad/+bug/1841560
2019-08-27 19:23:07 +01:00
Jeff Young 559035a7f6 Make sure the menu bar gets activated (ie: don't eat the activate event).
Fixes: lp:1841560
* https://bugs.launchpad.net/kicad/+bug/1841560
2019-08-27 19:23:07 +01:00
Jeff Young a5a237ac32 Improve readability of flag checking. 2019-08-27 19:23:07 +01:00
Jeff Young 49a0907c55 Force deletion of junctions which were selected.
Fixes: lp:1841456
* https://bugs.launchpad.net/kicad/+bug/1841456
2019-08-27 19:23:07 +01:00
Seth Hillbrand 548dbb7c29 eeschema: Add highlight color to configurable list
The highlight color chosen from the system highlight doesn't always show
against the schematic sheet background color.  Allowing the user to
customize with their KiCad theme makes it configurable on par with other
colors.  This is stop-gap until we get full color schemes from
lp:1678345
2019-08-27 10:43:59 -07:00
Seth Hillbrand 85eed87b28 eeschema: Modify all units at the same time
When editing symbol library reference, this ensures that all units are
modified by the same action and the component is not represented by its
subunits.

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

(cherry picked from commit 80e0d848f2)
2019-08-26 20:43:05 -07:00
Jeff Young bc0e67579c Change OK/Cancel to MSW order and move some other dialogs to new system.
(There's no point in following the OSX OK/Cancel order as you can't
tab to buttons on OSX anyway.)
2019-08-26 18:36:35 +01:00
Jeff Young 6b6e9eddee Return control of Symbol and Footprint chooser col widths to user.
The auto-calculation wasn't working out and even with it some users
wanted control.

Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Jeff Young 8d31c9a6c1 Save values of Page Settings Export buttons in project.
Fixes: lp:1791431
* https://bugs.launchpad.net/kicad/+bug/1791431
2019-08-26 18:27:49 +01:00
Jeff Young b109aba663 Add a file browser to the Sheet Properties dialog.
Fixes: lp:1840459
* https://bugs.launchpad.net/kicad/+bug/1840459
2019-08-26 00:45:34 +01:00
Jeff Young 80dd3f8635 Draw datasheet field with the value from the dfm file.
Fixes: lp:1841369
* https://bugs.launchpad.net/kicad/+bug/1841369
2019-08-25 21:51:00 +01:00
Jeff Young 9f80da60c3 Add buttons to MSW tab order.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-24 17:13:35 +01:00
Jeff Young f21467e340 Support tabbing to non-text controls on non-Mac platforms.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-23 22:14:37 +01:00
Jeff Young c85d1fa00c Try out our own tabbing logic.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-22 21:18:24 +01:00
Jeff Young de74590279 Parse bus definitions as a single term.
Fixes: lp:1841043
* https://bugs.launchpad.net/kicad/+bug/1841043
2019-08-22 12:50:23 +01:00
Jeff Young 13b7dd354c Fix tab order in pin properties dialog.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-22 10:54:11 +01:00
Jeff Young 23fd4b64dd Remove curly braces from netname escaping context.
They're now used for bus definition control characters.
Also fixes the sheet pin edit dialog to correctly escape/unescape
netnames.

Fixes: lp:1840834
* https://bugs.launchpad.net/kicad/+bug/1840834
2019-08-22 10:53:39 +01:00
Jeff Young 97212acecb Sort pins by number when grouping by name.
Fixes: lp:1828648
* https://bugs.launchpad.net/kicad/+bug/1828648
2019-08-21 20:34:01 +01:00
Jeff Young a6b7d4f7f6 Support 9 comments in the page setting GUI.
Fixes: lp:1793148
* https://bugs.launchpad.net/kicad/+bug/1793148
2019-08-21 20:34:01 +01:00
Jeff Young bbe5146bbb Refresh items which may have had their dangling state changed.
While it's tempting to look at the changed flag that TestDanglingEnds
returns, it's insuficient as the connectivity algorithm might have
already updated it (and ignored the changed flag).

Fixes: lp:1835107
* https://bugs.launchpad.net/kicad/+bug/1835107
2019-08-21 15:35:02 +01:00
Jeff Young cc93d82025 Don't drop selection until unfold net has been chosen.
Fixes: lp:1831466
* https://bugs.launchpad.net/kicad/+bug/1831466
2019-08-21 15:35:02 +01:00
Seth Hillbrand d65da471b7 EEschema: Plot stroked edges over BG
Items that have BG fill need to be plotted in the background but we
still need their stroked edges to be in the FG.  This is a workaround
that overplots the edges ensuring visual similarity.  Re-working the
plot engine to support layers is a larger project.

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

(cherry picked from commit 6796e8fff6)
2019-08-20 12:03:56 -07:00
Jeff Young a25368cc6b Improve spelling.
The groundwork here is thanks to kunda1.

Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young 195fbbaf23 Reduce confusion by putting all dialog pages as leaf nodes. 2019-08-19 17:46:25 +01:00
Jeff Young f8f5ffd560 Update all aliases of current node after Symbol Properties dialog.
Fixes: lp:1840466
* https://bugs.launchpad.net/kicad/+bug/1840466
2019-08-19 14:25:15 +01:00
Jeff Young 0d90fab01b Add display setting preference pane for PLEditor.
Fixes: lp:1839187
* https://bugs.launchpad.net/kicad/+bug/1839187
2019-08-19 00:06:22 +01:00
Seth Hillbrand 3135b63976 Eeschema: Update pins on paste
We use the pin cache to mark the pin locations for future operations.
This needs to be updated after paste.

Fixes: lp:1840286
* https://bugs.launchpad.net/kicad/+bug/1840286
2019-08-16 09:32:35 -07:00
Ian McInerney 49dd5d838c libedit: Fix inverted Y axis on move command
Also clean up some code formatting issues
2019-08-15 20:13:18 +01:00
Wayne Stambaugh 92fe201c5b Symbol editor: fix mnemonic issues in pin properties dialog.
Control ordering is critical to make dialog mnemonics work correct.  The
static text with the mnemonic must immediately proceed the control and
no additional controls can be added between static text/control pair.
Fixing this required adding the units static text controls after all of
the mnemonic static text controls and their associated edit controls.
Mnemonics do not work for read only controls so all of the combobox
controls were moved after the text controls.

Fixes lp:1818930

https://bugs.launchpad.net/kicad/+bug/1818930
2019-08-15 15:09:21 -04:00
Jeff Young a6b36adb32 Keep value in sync with libId when they match.
Fixes: lp:1797482
* https://bugs.launchpad.net/kicad/+bug/1797482
2019-08-15 17:01:33 +01:00
Jeff Young 29af26565d Fix re-entrancy issue in LibEdit move tool. 2019-08-15 15:51:27 +01:00
Jeff Young 8ba7d4570c Move warp-mouse-on-move setting from Eeschema settings to common settings.
It's also used by the Symbol Editor, and will likely be used by
Pcbnew and friends in the future.
2019-08-15 12:53:04 +01:00
Jeff Young 206b40621e Fix bugs in Eeschema paste.
1) don't ASSERT; use exceptions (which can be caught) instead.
2) clean up LIB_LOGGER so it's only used during sync
3) fix typos in wxLogMessage() calls so they produce output.
4) throw on unrecognized token in loadContent().
5) if clipboard can't be pasted as content then paste as text.

Fixes: lp:1840172
* https://bugs.launchpad.net/kicad/+bug/1840172
2019-08-15 10:00:23 +01:00
Jeff Young b4c8657904 Fix non-visible-part or conversion items from getting selected.
Also renames lib_draw_item to lib_item to match the class.

Fixes: lp:1840170
* https://bugs.launchpad.net/kicad/+bug/1840170
2019-08-15 10:00:23 +01:00
Jeff Young 3cdf88f2c6 CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
Ian McInerney 8493daf9ff Unify menu item creation for closing a window
* Push a function into CONDITIONAL_MENU that adds the item
* Modify the tooltip for close and exit items to have the
  program name

Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
2019-08-14 09:35:15 +01:00
Wayne Stambaugh 0328f3e33b Eeschema: fix bug in sheet name comparisons on Windows.
The use of wxPATH_UNIX when calling GetFullPath() on windows drops the
volume identifier (c:\) from the file name which will cause comparison
failures.
2019-08-13 16:33:57 -04:00
Jeff Young c2d77a7300 Add some defensive code to prevent re-entrant printing.
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2019-08-13 18:00:09 +01:00
Jeff Young a33d67f6b4 Push shift/cmd+<enter> processing down into dialog shim.
This will make them more uniform rather than only supported when
something else is using <enter>.

Fixes: lp:1838353
* https://bugs.launchpad.net/kicad/+bug/1838353
2019-08-13 16:53:40 +01:00
Jeff Young e855b244ae Highlight whole net for simulation voltage probe. 2019-08-12 22:21:09 +01:00
Michael Kavanagh b414cbfada Cleanup doDelete ACTIONs 2019-08-12 13:49:55 -04:00
Michael Kavanagh 79b2ff7551 Refactor deleteTool ACTION removing duplicates 2019-08-12 13:49:55 -04:00
Michael Kavanagh db59c7011b Unify menubar delete action 2019-08-12 13:49:55 -04:00
Wayne Stambaugh 9020a3a26c Eeschema: remove dead code from LIB_PART object. 2019-08-12 12:13:21 -04:00
jean-pierre charras 9b6e1cb1cd Fix incorrect I18n string. 2019-08-12 12:52:49 +02:00
Jeff Young 039bd92ea5 Make LibEdit respect the Move-warps-cursor setting. 2019-08-10 11:58:05 +01:00
jean-pierre charras 3796b2fe7f Fix minor compil warnings (signed/unsigned comparison) 2019-08-10 09:18:19 +02:00
Jeff Young 441c2c240f Use a transform matrix to address some print bugs.
Sadly, this only works on MSW until wxWidgets 3.1.1.

Fixes: lp:1464773
* https://bugs.launchpad.net/kicad/+bug/1464773
2019-08-09 11:33:17 +01:00
Jeff Young 885497ec1f Don't allow degenerate arcs when dragging editing handles.
Fixes: lp:1839536
* https://bugs.launchpad.net/kicad/+bug/1839536
2019-08-08 21:22:43 +01:00
Jeff Young c5fb8518d2 Redraw pins when placing when they are modified.
Fixes: lp:1839363
* https://bugs.launchpad.net/kicad/+bug/1839363
2019-08-08 14:09:42 +01:00
Jeff Young 9fe7bfb596 Check for focus loss from dialog before doing cut/copy/paste in edit frame.
Fixes: lp:1838708
* https://bugs.launchpad.net/kicad/+bug/1838708
2019-08-08 13:51:23 +01:00
Jeff Young 8db8119564 Redraw selection halos after zooming.
Fixes: lp:1838869
* https://bugs.launchpad.net/kicad/+bug/1838869
2019-08-08 13:51:23 +01:00
Jeff Young 8b3e257648 Shorten ERC dialog options page.
Fixes: lp:1839338
* https://bugs.launchpad.net/kicad/+bug/1839338
2019-08-07 20:08:24 +01:00
Jeff Young 56bf72cc5d OpenGL context must be saved/restored around a translation.
Also includes a bunch of code cleanup.

Fixes: lp:1838655
* https://bugs.launchpad.net/kicad/+bug/1838655
2019-08-07 19:25:03 +01:00
Seth Hillbrand 5151cd0bfe C++14: Remove unused make_unique.h
Also removes header references now that we are in C++14, this is
built-in to the std
2019-08-07 09:27:31 -07:00
jean-pierre charras 4e90b2d48b DIALOG_CHOOSE_COMPONENT: fix a crash when the option "footprint view" is activated.
The crash was due a not tested null pointer.

Fixes: lp:1839282
https://bugs.launchpad.net/kicad/+bug/1839282
2019-08-07 18:06:27 +02:00
Seth Hillbrand 2e66d80af8 erc: Avoid casting between iterators
The iterator for containers should always match the container type.
Using auto here re-forces the match.
2019-08-06 15:28:26 -07:00
Seth Hillbrand 2b55f8a1aa netlist: avoid cast to different iterator
This ensures the list iteration matches the container
2019-08-06 15:28:25 -07:00
Jeff Young 2a3e82a144 Add copy support to Symbol Chooser's details panel.
Fixes: lp:git
* https://bugs.launchpad.net/kicad/+bug/git
2019-08-06 11:50:19 -06:00
Jeff Young a96158e26b Add current probe to SPICE simulation.
Fixes: lp:1740321
* https://bugs.launchpad.net/kicad/+bug/1740321
2019-08-05 16:48:18 -06:00
Jeff Young 23d824de66 Simulator improvements.
1) Add highlighting to simProbe and simTune tools.
2) Probe tool should accept wires and pins, not wires and components.
3) Give simulator window a flat look to match rest of Kicad.
4) Collapse whitespace out of simulator window.
5) Add some error messages.
6) Add some whitespace to simulation setting dialog.
2019-08-05 16:48:18 -06:00
Jeff Young 1a68d7c200 Cleanup no-longer-used variable. 2019-08-05 16:48:18 -06:00
Seth Hillbrand 91446c1515 eeschema: Fix list invalidation
When removing a junction, we need to keep the next pointer for deleted
item, marking them with a flag until committed.

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

(cherry picked from commit 4363e6a213)
2019-08-05 09:04:47 -07:00
Jeff Young fb3aa446e1 Remove Run Simulator command from Export Spice Netlist.
Also cleans up the Export Netlist dialog to be more platform compliant.

Fixes: lp:1591777
* https://bugs.launchpad.net/kicad/+bug/1591777
2019-08-04 16:25:36 -06:00
Jeff Young 97d70d7844 Fix cursor bugs in simulation.
1) cancel simProbe or simTune when simulator window closed
2) handle non-stock cursors through SetCurrentCursor()

Fixes: lp:1833583
* https://bugs.launchpad.net/kicad/+bug/1833583
2019-08-04 16:25:36 -06:00
jean-pierre charras 120637bd9b A few I18n minor fixes. 2019-08-04 10:33:54 +02:00
Jeff Young fb1d7811b1 Internal netnames must be used internally.
GetShownNetname() is only for the GUI, or for external programs.

Fixes: lp:1834510
* https://bugs.launchpad.net/kicad/+bug/1834510
2019-08-03 21:35:55 -06:00
Ian McInerney ce7833b982 Warp display when selecting schematic items
When selecting items where the reference point is off-screen, GTK
would default the cursor to jump to the bottom of the screen.

Fixes: lp:1838843
* https://bugs.launchpad.net/kicad/+bug/1838843
2019-08-03 19:17:53 -06:00
Jeff Young b6b26b4e1e Add some defensive code to prevent crash when no undo record is stacked.
Fixes: lp:1838843
* https://bugs.launchpad.net/kicad/+bug/1838843
2019-08-03 17:20:54 -06:00
Jeff Young 5503727d3d Fix some placement bugs with selection haloes on text.
Fixes: lp:1838841
* https://bugs.launchpad.net/kicad/+bug/1838841
2019-08-03 17:20:54 -06:00
Jeff Young 7349fe2e72 Move line rendering to the proper layer. 2019-08-03 17:20:54 -06:00
jean-pierre charras 7bfbcef942 Make some strings more easily translatable
DIALOG_BOARD_STATISTICS: fix some minor issues.
2019-08-03 09:32:10 +02:00
Jeff Young f756af788e Fix missing CTRL+W in libEdit and modEdit.
Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
2019-08-02 15:56:29 -06:00
Jeff Young cc82e59003 Push the Quit/Close menu logic down into common. 2019-08-02 14:32:49 -06:00
Jeff Young c624ee9cff Re-parent new objects on duplicate.
Fixes: lp:1838269
* https://bugs.launchpad.net/kicad/+bug/1838269
2019-08-01 21:40:18 -06:00
Jeff Young 937e3c2d48 Make m_Text private so we don't keep getting bugs where m_shown_text fails to get updated.
Fixes: lp:1838655
* https://bugs.launchpad.net/kicad/+bug/1838655
2019-08-01 20:36:59 -06:00
Jeff Young 2738848336 Improve selection halo scaling so it's not hard to see at large zooms. 2019-08-01 20:36:59 -06:00
Seth Hillbrand 643c7f25f5 eeschema: Properly map edge cases of legacy onto GAL
While we do not generate these arcs internally, some external tools
generate arcs that are technically valid but display correctly only
because of an oddity in the degeneracy mapping.

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

(cherry picked from commit cf949609b2)
2019-08-01 11:57:53 -07:00
Wayne Stambaugh 8789ab9265 Eeschema: remove rogue symbol libraries from project file.
Check for symbol libraries that somehow ended up in the project file
after remapping occurred and remove all of them to prevent potentially
broken symbol library links.

Add nagware dialog to warn the user and a checkbox to never show the
dialog again.

Fixes lp:1838185

https://bugs.launchpad.net/kicad/+bug/1838185
2019-08-01 13:26:21 -04:00
jean-pierre charras 9dcf3b862c Eeschema: fix the bounding box size drawn around the bitmap when selected.
Images have a scale factor and this factor was taken in account twice
For image having a scale factor not equal to 1.0, the bounding box was too big (or too small)
2019-08-01 08:48:01 +02:00
Jeff Young cd4983f092 Switch selection color to platform selection color. 2019-07-31 22:52:22 -06:00
Jeff Young 03a33b6b56 Selection fixes for multi-part lib items.
1) Don't select pins from other units/conversions
2) Don't delete pins from other units/conversions

Fixes: lp:1838511
* https://bugs.launchpad.net/kicad/+bug/1838511
2019-07-31 22:34:24 -06:00
Wayne Stambaugh b595dc0d3b Eeschema: fix edit sheet bug.
Remove an existing sheet from the current page that requires a schematic
load from file to prevent a corrupt screen list from causing a segfault.

Merge the edit sheet file loading with the append schematic code since
they are functionally the same.  This allows the sheet edit code to
take advantage of all of the added broken symbol library links added in
the recent append schematic fixes.

Fixes lp:1835841

https://bugs.launchpad.net/kicad/+bug/1835841
2019-07-30 08:21:33 -04:00
Jeff Young 6bf1ac45e3 New selection highlighting model for eeschema. 2019-07-29 19:57:41 -06:00
Jeff Young c03535343c Don't apply GTK fix to OSX: it produces somewhat random crashes.
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-28 11:28:42 -06:00
Jeff Young 70270f5bd1 Fix accidental commit of debugging change. 2019-07-27 23:33:34 -06:00
Jeff Young 0a0eb35ee8 Update comments with latest test results. 2019-07-27 23:27:21 -06:00
Jon Evans ab766e6c1c Don't absorb neighbors based on weak component pins
Fixes: lp:1838140
* https://bugs.launchpad.net/kicad/+bug/1838140
2019-07-27 11:29:11 -04:00
Jon Evans b99c71744f Properly handle nested bus absorption 2019-07-27 10:51:38 -04:00
Jeff Young 2af41e87f9 Don't add first found object to selection until Find (or return) is hit.
Fixes: lp:1838021
* https://bugs.launchpad.net/kicad/+bug/1838021
2019-07-27 00:20:52 -06:00
Jeff Young daac54b5d2 Update shown text cache in undo/redo.
Fixes: lp:1837772
* https://bugs.launchpad.net/kicad/+bug/1837772
2019-07-26 23:59:05 -06:00
Jeff Young 3904d7ccfc Push some search stuff down into EDA_DRAW_FRAME so it can be shared.
Also rewrites the PCBNew Find dialog to make use of the above, including:
1) searching in user-defined footprint fields
2) searching in pcb text
3) a history list in the search popup
4) case sensitive searching
5) word sensitive searching
6) the ability to turn wildcard searching on/off
7) better placement of the result when the dialog obscures part of the
window

Fixes: lp:1838006
* https://bugs.launchpad.net/kicad/+bug/1838006
2019-07-26 17:53:32 -06:00
Jeff Young 21b90de829 Another attempt to work around Apple's [NSAlert runModal] bug.
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-26 16:47:17 -06:00
Jeff Young 77334628c4 Change default tool behaviour to skip unhandled events.
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly.  wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do.  (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)

I played around with a couple of ways to fix wxEVT_CHAR_HOOK.  Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.

So I’m changing it so that most tools now skip at the end of their
event loops.  I left out a couple that I felt were high risk (length
tuning, for instance).  But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.

Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
Jeff Young 815602d1af Fix missing AF_ACTIVATE flags on some tools.
Fixes: lp:1813659
* https://bugs.launchpad.net/kicad/+bug/1813659
2019-07-26 12:21:24 -06:00
jean-pierre charras 6b031d9b9e Symbol editor: fix an issue when editing LIB_RECTANGLE graphic items.
The point editor expects rectangles with a height and width > 0.
Previously, this constraint did not exist,
so some LIB_RECTANGLE graphic items can create issues when trying to move a corner.
Now, the LIB_RECTANGLE graphic item is normalized before trying to move a corner.
2019-07-26 10:40:40 +02:00
Seth Hillbrand 7759ad7e27 eeschema: Clean up backup name
This fixes the last suffix that was missed by 168fa09f5.  The schematic
backup files should have the suffix .sch-bak to distinguish from
.kicad_pcb-bak or other backups.

(cherry picked from commit b6fe4ff637)
2019-07-23 16:15:04 -07:00
Jeff Young b858fa38c4 Fix crash bugs in picker tools. 2019-07-21 19:06:06 -06:00
jean-pierre charras de4854d112 Eeschema - restrict buses and wires to H and V orientation was taken in account only when activating the Create Bus or Wire tool.
Now taken in account during creation.

Fixes: lp:1837308
https://bugs.launchpad.net/kicad/+bug/1837308
2019-07-21 10:02:43 +02:00
Jeff Young 4d4adf0753 A possible hack to work around the apple runModal bug.
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-20 17:31:56 -06:00
jean-pierre charras 858db3c104 Synchronize toolbars state with current options after rebuilding them.
Previously, for instance after modifying preferences or language,
they were rebuilt but the tools state was not set due to a missing call to SyncToolbars() after rebuilding.
2019-07-20 18:16:35 +02:00
jean-pierre charras 1b5e1cd4d2 Fix complements the fix b428d74: make best zoom taken in account immediately. 2019-07-20 14:26:46 +02:00
Jeff Young 0821f1ac11 Move crosshairs to found item; remove find highlighting when find dialog closed.
Fixes: lp:1837069
* https://bugs.launchpad.net/kicad/+bug/1837069
2019-07-19 18:41:11 -06:00
Jeff Young 0b08e4dcd2 Deactivate other tools when running one based on a PICKER.
In particular, if the last one was a PICKER tool, then we're going
to assert on "click-handler-already-set".

Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06:00
Jeff Young fcff0dd228 Cleanup. 2019-07-19 15:29:10 -06:00
Wayne Stambaugh 9fae30162d Eeschema: fix many append schematic bugs.
Do not add cache library from another project to old library list.  This
is wrong and can cause all kinds of symbol library linking issues.  It's
better to force the user to fix broken symbol library links than the false
security of using multiple cache libraries.

Use correct paths when appending schematic outside of the current project
path when hierarchical sheets are appended.  If the path can be relative,
give the user the option to use either relative or absolute paths.

Do not change symbol library names in schematics appended from a source
outside the current project.  This will almost ensure the symbol library
links will be broken in the source project.

When the appended schematic is from another project, attempt to check all
of the possible combinations of symbol library table importing that could
cause broken symbol library links and give the user the option of canceling
the append operation or live with the possibility that there may be broken
symbol library links.

When the append schematic is in the current project path but not part of
the schematic, check to see if there are any library nicknames that do
no exist in the project symbol library table and give the user a chance
to cancel the append process.
2019-07-19 11:39:29 -04:00
jean-pierre charras b3b32fa966 Revert "Fix ngspice netlisting when net names contain '/'"
This reverts commit eadf6d93bc.

because the issue with net names containing '/' is not actually inside the netlist.
This commit eadf creates issues with ngspice 2.8 and older, and do not fix anything in ngspice
2019-07-19 16:13:10 +02:00
jean-pierre charras e32a50b34d Simulator: fix a crash when using the "Probe" or "Tune" tool, when clicking on an item is schematic editor. 2019-07-19 10:12:54 +02:00
Seth Hillbrand 5324b65fb0 eeschema: Don't trust the pointer
We are not guaranteed a selection.  Keep pointers to the front items
guarded.  This can happen after repeating a new item, e.g.
2019-07-17 18:21:36 -07:00
Seth Hillbrand b877d17138 Fix compile error
wx 3.0 doesn't have emplace_back() so we need to accept the
copy-instantiate penalty
2019-07-17 14:32:22 -07:00
Jeff Young 3de00eef5f Cleanup. 2019-07-17 21:45:43 +01:00
Jeff Young d67c2d13c7 Fix re-entrancy problem in cross-probing.
Fixes: lp:1836940
* https://bugs.launchpad.net/kicad/+bug/1836940

Fixes: lp:1836937
* https://bugs.launchpad.net/kicad/+bug/1836937
2019-07-17 21:35:28 +01:00
Simon Richter 05353049b5 Pull in macro definition for strncasecmp on MSVC 2019-07-17 08:10:47 -04:00
Jeff Young 6cd7d9fb89 Go back to inconsistent cross-probing for now.
Selecting in Eeschema has major issues, as does highlighting in
pcbnew.  So for now we do highlighting in eeschema and selecting
in pcbnew.  Improving highlighting for pcbnew would be the next
logical step....

Fixes: lp:1836640
* https://bugs.launchpad.net/kicad/+bug/1836640
2019-07-17 12:45:34 +01:00
Jeff Young 920f128cc7 Change line-end encoding of multi-line textbox.
Fixes: lp:1836757
* https://bugs.launchpad.net/kicad/+bug/1836757
2019-07-16 20:45:44 +01:00
Jeff Young 8d79661996 Convert symbol/module cross-probing to a selection model.
Net/net cross-probing stays a highlight model.

Fixes: lp:1836600
* https://bugs.launchpad.net/kicad/+bug/1836600
2019-07-16 20:25:25 +01:00
Jeff Young a61673a144 Fix compile error for those who have to use the somewhat feeble gcc. 2019-07-16 15:11:50 +01:00
Jeff Young 787b16db98 Draw invisible pins in grey in pin preview.
Also pins the zoom at 100% as we don't seem to be very good at
calculating the bounding box for short pins.

Fixes: lp:1836658
* https://bugs.launchpad.net/kicad/+bug/1836658
2019-07-16 02:05:22 +01:00
Jeff Young 7d10b29592 Cleanup unused includes. 2019-07-16 01:15:33 +01:00
Jeff Young 3069fd5974 Exit point editor after an <esc> while dragging.
Fixes: lp:1836652
* https://bugs.launchpad.net/kicad/+bug/1836652
2019-07-16 01:09:49 +01:00
Jeff Young e816a0c29d Push Eeschema & PLEditor PICKER_TOOLs down into common.
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young 58ca5b71a9 A more robust fix for 36f1d023f0.
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.

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

Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
jean-pierre charras dad8c9821b Fix a minor compil warning. 2019-07-15 10:33:03 +02:00
Jeff Young f30cd67411 Use standard save-changes dialog.
(It also has the buttons in the right order for Mac.)
2019-07-14 21:40:21 +01:00