Commit Graph

6349 Commits

Author SHA1 Message Date
Seth Hillbrand af3789571e Refresh screen after canvas switch
Fixes https://gitlab.com/kicad/code/kicad/issues/7335
2021-01-29 15:33:32 -08:00
jean-pierre charras 7a56608cd5 Fix incorrect path of 3d stock plugins.
Fixes #7330
https://gitlab.com/kicad/code/kicad/issues/7330
2021-01-29 19:29:52 +01:00
Jeff Young 6983bcd55b Push addition of shape width down into computeArcBBox.
Also improves performance by calling GetBoundingBox only once (this
is not always an inexpensive routine for some items, such as
polygons).
2021-01-28 22:29:28 +00:00
Jeff Young 1a7b7e84c6 Use consistent terminology for component placement files.
CHANGED footprint positions files -> component placement files.

Not all footprints get placed, so component is a more neutral word.
Use of "placement" instead of "positions" removes the double-plural
that makes footprint positions files such a mouth-full.

Fixes https://gitlab.com/kicad/code/kicad/issues/7097
2021-01-28 19:24:55 +00:00
Seth Hillbrand 945faba586 Wrap CTOR in try/catch for context errors 2021-01-28 10:55:27 -08:00
Marek Roszko 78dbcdcdb7 Slight fixup to previous library browse change 2021-01-28 07:31:32 -05:00
Jeff Young f0aa6aa442 Fix drop-down-too-narrow-on-first-drop bug. 2021-01-28 11:35:18 +00:00
Marek Roszko a373abd68a Invert the new symbol library flow to push users to default to a different folder for global symbols 2021-01-28 00:40:21 -05:00
Marek Roszko 4c14406788 Further path refinements 2021-01-27 21:48:02 -05:00
Ian McInerney fdf6318218 Ensure cmake commands depend on the cmake file they use
Without this dependency, the build stage won't rerun
if the CMake file changes on disk.
2021-01-28 00:24:22 +00:00
Ian McInerney beb50c529e Reorganize the CMake folder to separate build and configure steps
The BuildSteps folder now contains the CMake scripts that are
called during the build process as individual stages, while
the root CMakeModules directory contains the CMake files used
during the configuration phase.
2021-01-28 00:24:22 +00:00
Marek Roszko a47e8af0d0 Fix up naming of the kiplatform helpers 2021-01-27 19:12:20 -05:00
Marek Roszko 6d4bae1136 Make calculateUserSettingsPath a little more compact and use kiplatform 2021-01-27 19:12:20 -05:00
Marek Roszko bf0ff2a43b Use pretty case for path strings on windows and mac 2021-01-27 19:12:20 -05:00
Marek Roszko 8baa5b46b0 Template not templates 2021-01-27 19:12:19 -05:00
Marek Roszko daf9c4f319 Centralize the 3d cache path 2021-01-27 19:12:19 -05:00
Marek Roszko 7b5397f81f Move PLUGINDIR to the make config.h 2021-01-27 19:12:19 -05:00
Marek Roszko d0aede5caf Fix the m_mruPath default 2021-01-27 19:12:19 -05:00
Marek Roszko 3bea9fc3d9 Add comment blocks 2021-01-27 19:12:18 -05:00
Marek Roszko 14327f3708 Cleanup the 3d plugins paths a little bit 2021-01-27 19:12:18 -05:00
Marek Roszko 8622565480 Add GetUserConfigDir 2021-01-27 19:12:18 -05:00
Marek Roszko 2807a37fc0 Create a stock scripting path helper 2021-01-27 19:12:18 -05:00
Marek Roszko e6dd95e83a Create a default user projects folder 2021-01-27 19:12:18 -05:00
Marek Roszko 28c6967dbc Start trying to shuffle around path management 2021-01-27 19:12:18 -05:00
Jeff Young 7d6a749285 Implement a more aggressive re-entrancy check for SCH drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/7259
2021-01-27 19:51:11 +00:00
mitxela 886cad43bd Cancel drag action when focus is lost 2021-01-27 03:33:22 +00:00
Jon Evans bea310569b Fix parsing of track/via user sizes from legacy boards
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6134
2021-01-26 21:51:36 -05:00
Seth Hillbrand 679a755690 Adjust how wire tool cursors are arranged
Moves the cross-hair active point to the bottom left to align with the
wire graphic

Fixes https://gitlab.com/kicad/code/kicad/issues/7278
2021-01-26 08:44:39 -08:00
Jeff Young 1e9639e89c Save pintype alongside pinfunction (in pads).
Fixes https://gitlab.com/kicad/code/kicad/issues/7283
2021-01-26 15:28:48 +00:00
Jeff Young b576ccef61 Don't double-up tools on tool stack.
Also make sure move tool gets cancelled by other tools being
activated.

Fixes https://gitlab.com/kicad/code/kicad/issues/7259
2021-01-26 10:56:19 +00:00
Michael Kavanagh 98b0558bf6 Icons: make sure all op-amps are the same
+ fix wrong icon in About dialog

Fixes https://gitlab.com/kicad/code/kicad/issues/7214
2021-01-25 14:21:22 +00:00
Wayne Stambaugh 6ab1144ea3 Fix broken Doxygen comment specifiers.
Please note, ///> is not a valid Doxygen comment specifier.  ///< is the
correct specifier to use for single line or short Doxygen comments.
2021-01-25 07:42:36 -05:00
Seth Hillbrand 02f91c52a0 Avoid nag confirmation in scintilla
If we need to confirm abandoning changes, we need to do it in the dialog
where we check for dialog changes.
2021-01-24 12:31:04 -08:00
Jeff Young d5d9372839 Don't cancel dialog when esc-ing out of autocomplete. 2021-01-23 22:55:03 +00:00
Jeff Young d1c604e699 Run filters on <ENTER> in filter text; don't OK dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/7247
2021-01-23 22:55:03 +00:00
jean-pierre charras 15cc368918 Gerber plotter: prepare optimization of aperture macros type free polygons.
They are used for chamfered round rect pads, and can be used for custom shaped pads.
No actual change currently, but the shape rotation of custom pads and chamfered rr pads
can be now used in gerber plots.
2021-01-23 21:15:27 +01:00
mitxela 16c7180ff5 Remove SetGrabMouse and revert some behaviours 2021-01-23 13:35:39 +00:00
mitxela 905fd63c9f Fix autopanning behaviour for left-click-drag 2021-01-23 13:35:39 +00:00
mitxela f7cd21c70d Move windows-specific mouse capture stuff into ifdefs 2021-01-23 13:35:39 +00:00
mitxela bfd7a9e956 Suppress assertions caused by closing the window while mouse is captured
Closing the window while dragging with unsaved changes causes a dialog box, triggering a capture-lost event. Closing the window while dragging without unsaved changes causes an assertion about destroying a window with mouse capture.
2021-01-23 13:35:39 +00:00
mitxela 39be962a69 Restructure mouse capture to avoid recapture asserts 2021-01-23 13:35:39 +00:00
Marek Roszko b1d394258f Fix grammar 2021-01-22 21:25:23 -05:00
Jeff Young f5e35af1a5 Transmit pin electrical types through to pads. 2021-01-23 00:10:01 +00:00
Marek Roszko 320ca5a0d0 Prevent KiCad launch on Windows 7 if python 3.8 or newer is bundled
Soon to be a permanent check regardless of python on Windows
2021-01-21 21:58:53 -05:00
Michael Kavanagh 1750faac4b Icons: make copy/paste a bit more standard
+ Paste special shouldn't share an icon with paste
2021-01-19 22:57:25 +00:00
Jeff Young fa93cd8faa Remove colour setting for internal layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7149
2021-01-19 11:28:15 +00:00
jean-pierre charras fed56572f8 Refinements and fixes in auto-pan.
Add comments.
Fix incorrect comparison.
Fix a too fast auto-pan speed when auto-pan acceleration was not set to the minimal value.
2021-01-19 10:45:41 +01:00
Jeff Young eb80ac464a Remove ability to select "Other" footprint from Symbol Chooser.
We no longer run as a QuasiModal (due to 5206), so we can't put up
the Footprint Browser.

Fixes https://gitlab.com/kicad/code/kicad/issues/7174
2021-01-19 01:18:41 +00:00
mitxela 744d745ee5 Allow endless panning
Warp the cursor if it leaves the window while panning, to allow endless motion.
2021-01-18 22:07:59 +00:00
Ian McInerney 44655b98de Initialize variables properly 2021-01-18 18:35:10 +00:00
Jeff Young f3a6d2655e Improvements to ERC and bus parsing.
1) Add some nullptr safety to ERC.
2) Allow unconnected flagging on bus/wire entries.
3) Allow commas in bus group definitions.

Fixes https://gitlab.com/kicad/code/kicad/issues/7155
2021-01-17 16:24:22 +00:00
Jeff Young f1221a9ca3 Resolve text variables in title blocks for outputing to netlist.
Fixes https://gitlab.com/kicad/code/kicad/issues/7153
2021-01-17 16:24:22 +00:00
Jeff Young 68efdb2fff Push shared parts of GRID_HELPERs into common. 2021-01-16 23:18:10 +00:00
Jeff Young 288ecb9a02 Fix logic error in recent commit.
Fixes https://gitlab.com/kicad/code/kicad/issues/7118
2021-01-15 20:55:56 +00:00
Jeff Young 08d595c9bf Move title block fields to global availability in PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/7118
2021-01-15 15:41:18 +00:00
Wayne Stambaugh 664c301cc7 Coverity fixes.
The Boost UUID random generator can throw an entropy error in the KIID
object constructor which leaves the UUID generator in an undefined state.
This is treated as a fatal error and KiCad is closed.  The likelihood of
this occurring is low but at least now it is properly handled and cannot
result in UUID clashes.

Reports 305311, 305372, 305492, 314743, 314754, 314757, 316277.
2021-01-15 08:03:36 -05:00
Roberto Fernandez Bautista 58fa411260 CADSTAR importer: Parse missing SIGNALREF ATTROWNER
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7068
2021-01-14 00:13:34 +00:00
Wayne Stambaugh 2d64613bbb Coverity fixes.
Reports 314745, 316271, and 316269.
2021-01-13 11:23:09 -05:00
Jon Evans d2d4ffe6d0 Dismiss infobar if it's dismissable on board save
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7071
2021-01-12 23:24:13 -05:00
Ian McInerney ac3e677fae Cleanup some compile warnings 2021-01-13 02:12:59 +00:00
Seth Hillbrand f303b07086 Initialize translation dictionary to default
Initializes the dictionary before potential messages are shown on the
screen.

Fixes https://gitlab.com/kicad/code/kicad/issues/7076
2021-01-12 13:33:40 -08:00
Dominik Wernberger 07635d2fc7 Minor adjustments 2021-01-12 20:51:31 +00:00
Dominik Wernberger ac94d72d2d Add more const specifiers 2021-01-12 20:51:31 +00:00
Dominik Wernberger ec0af24f13 Make wxFindReplaceData argument const 2021-01-12 20:51:31 +00:00
Dominik Wernberger bb2881a5ab Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
Michael Kavanagh a00b9cc821 Icons: general tweaks and pixel alignment
+ minor rename
+ fix missing bitmap in DRC panel
2021-01-11 23:31:25 +00:00
Michael Kavanagh 32f7f30958 Icons: remove where they don't make sense
Also avoid icon reuse
2021-01-11 23:31:25 +00:00
Jeff Young a36f655dcd Consistent formatting. 2021-01-11 22:09:36 +00:00
Jeff Young 50889a9ed6 Promote mouse drag settings to full enums. 2021-01-11 22:09:36 +00:00
jean-pierre charras be542c05f2 Gerber output, aperture macros: better compatibility with old Gerber readers.
In some macros we are using a circle as primitive (primitive 1).
It needs 4 mandatory prms and one optional (not used by Kicad, always 0) prm.
This not used optional prm can create issues with old Gerber readers, so it is removed now.
Fixes #7047
https://gitlab.com/kicad/code/kicad/issues/7047
2021-01-11 16:03:01 +01:00
Jeff Young a4d417f5c0 Get rid of "drill" terminology when talking about finish hole size.
Fixes https://gitlab.com/kicad/code/kicad/issues/7044
2021-01-11 13:49:43 +00:00
Wayne Stambaugh 1eee72ec65 Fix library tree behavior when duplicate project table entry is disabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Jeff Young 6c648df4c6 Support 3 drag vs. select options, and unifiy with other drag prefs.
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00
jean-pierre charras 1ff2622b3c wxGTK: fix an issue in WIDGET_HOTKEY_LIST ctor.
fixed for wxWidgets 3.0, but still existing in 3.1
2021-01-10 12:53:34 +01:00
Seth Hillbrand ffb3748cfc Don't crash when getting multiple wx calls
Multiple size calls will assert trying to re-lock the GAL context.  Just
skip the second one.
2021-01-09 13:05:58 -08:00
Jeff Young a42d8cecd7 Allow either decimal separator when parsing numbers.
Fixes https://gitlab.com/kicad/code/kicad/issues/7022
2021-01-09 17:16:29 +00:00
Jeff Young df69ce5e67 Layout and textual simplification and cleanup. 2021-01-09 13:47:24 +00:00
Jeff Young e4f29d358c Formatting. 2021-01-09 13:47:24 +00:00
Jeff Young d0af4e9f9d Save a cancel value when asked if it's not being used to cancel.
Many, many KIDIALOGs use OK/Cancel and then rename both buttons to
confirm or deny some action.  In those cases we *do* want to store
the deny actions if they check "Do Not Show Again".

Fixes https://gitlab.com/kicad/code/kicad/issues/6979
2021-01-08 21:32:19 +00:00
Seth Hillbrand e73b852c2a Forgot a '0' in tool tip commit 2021-01-08 10:27:27 -08:00
Seth Hillbrand c5b6cf722d Adjust Windows tooltip display time
While most platforms keep the tooltips if the mouse doesn't move, MSW
will hide the tooltip after 5 seconds (by default).  This bumps that up
to 10s for all tooltips in the program.

Fixes https://gitlab.com/kicad/code/kicad/issues/6836
2021-01-08 10:09:35 -08:00
Seth Hillbrand 1e4d81e3c4 Protect against invalid HOME variable
Fixes https://gitlab.com/kicad/code/kicad/issues/6990
2021-01-07 15:13:45 -08:00
jean-pierre charras bf332b3189 Fix minor compil warnings 2021-01-07 20:55:24 +01:00
Jeff Young 2bf13c6e49 Quote string context only needs to escape double-quotes.
Escaping other things (such as braces) breaks other features (such
as text variables).

Fixes https://gitlab.com/kicad/code/kicad/issues/6973
2021-01-07 14:33:27 +00:00
Seth Hillbrand 52f822dedb Remember autotrack width setting
Fixes https://gitlab.com/kicad/code/kicad/issues/6971
2021-01-06 20:11:32 -08:00
Jeff Young f372c8025b Better sizing for some conditional dialogs.
These dialogs don't have growable features but do have conditional
features, so the size is better adjusted automatically by the code
then by the user.
2021-01-07 01:27:12 +00:00
Seth Hillbrand 099ddb1517 Update Lanugage list with new contributions 2021-01-06 14:23:59 -08:00
Michael Kavanagh 5d9b2d3fea Icons: new filter icon
+ remove icons where they don't make sense.
2021-01-06 00:35:20 +00:00
Alexis Lockwood 6f228f9dea hpgl_plotter: correct formatting 2021-01-05 22:42:21 +00:00
Alexis Lockwood f5b7595675 Add user coordinate support to HPGL plotter 2021-01-05 22:42:21 +00:00
Zoltan Gyarmati 5676117d0b Make small drill marks size configurable via advanced config for both printing and plotting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1972
2021-01-05 22:37:34 +00:00
Hanya a4b3b3c115 Fix some glyph of CJK characters 2021-01-05 19:11:41 +00:00
Seth Hillbrand 68240821d4 Make Linux/Mac cursors black again
This makes cursor color conditional on the system default.  Some themes
in Linux and all Macs are black cursor on white background.
2021-01-05 09:47:17 -08:00
Jeff Young 648c42f643 Show collisions preventing routing from starting.
Also introduces a callback to the infobar so that the view can be
cleaned up when the timer expires.

Fixes https://gitlab.com/kicad/code/kicad/issues/6930
2021-01-04 19:19:55 +00:00
Jeff Young 1ddd0e53bb Remove dead code. 2021-01-04 19:19:55 +00:00
Seth Hillbrand 8af4cf88a0 Fix crash when deleting symbol in GTK
So many things can go wrong with this control in GTK.  We have to
collapse the tree when updating the search string to avoid a crash when
referencing a child object but collapsing the tree will iterate over
elements and crash when we have deleted a symbol.

The temporary fix for this nonsense is to carefully order the calls.
We only need to collapse the search tree if we are not keeping our state
(in other words if we are fully re-building the tree)

Fixes https://gitlab.com/kicad/code/kicad/issues/6910
2021-01-04 09:15:40 -08:00
Konstantin Baranovskiy 92787cfa23 Make Configure KiCad Settings Path dialog translatable. 2021-01-04 14:28:05 +02:00
Jeff Young 980a8cfb39 Use "Cmd" instead of "Ctrl" on OSX. 2021-01-03 14:42:57 +00:00
Jeff Young 491fc2c8f2 Save DXF plot params to file and remove some dead code.
Fixes https://gitlab.com/kicad/code/kicad/issues/6720
2021-01-03 14:22:25 +00:00
Drew Fustini 8cdeb4d7bd Update KiCad Developers copyright year 2021-01-03 06:47:02 +00:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
Michael Kavanagh 791d1f513c Icons: fix some 3D viewer icons
- remove old palette icon in favour of new one
 - use dark grey in new icon (instead of light grey)
 - use generic gear for 3D display options
2021-01-02 23:16:33 +00:00
Jon Evans decca8baba Do not migrate the versioned env variables
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6914
2021-01-02 10:47:06 -05:00
Seth Hillbrand d880606e72 Happy New Year
May 2021 be an improvement
2021-01-01 12:01:18 -08:00
Seth Hillbrand 8de9cff4e0 Change environmental variables to human-readable
Versions specific variables that may point to objects that change
through versions, allowing multiple KiCad versions to operate correctly
(even on MSW) on the same machine.
2021-01-01 16:20:35 +00:00
Mark Roszko a572be54e1 Fix sysdirsappend for msvc 2021-01-01 02:21:23 +00:00
Mark Roszko 4f21b943d4 Make search stack path_seps correct for msvc 2021-01-01 02:18:32 +00:00
Seth Hillbrand f8f34982c0 Escape PCB text
Also keep a fail-safe for unescaping strings that are not previously
escaped

Fixes https://gitlab.com/kicad/code/kicad/issues/6901
2020-12-31 17:17:27 -08:00
Wayne Stambaugh f6a1d703ec Fix some build warnings in the importer code. 2020-12-30 18:19:43 -05:00
Roberto Fernandez Bautista b168b74919 CADSTAR Archive Importer: Fix position of multiline text with NO_ALIGNMENT in CADSTAR 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista a2cbbb963e CADSTAR PCB Archive Loader: Correctly handle Dimension text
Do not parse fields in dimension text to allow splitting it into prefix and suffix
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 9ed4780fec CADSTAR Archive Importer: Change architecture to Parse CADSTAR fields and store them in a static map
Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
2020-12-30 18:53:42 +00:00
Jon Evans a637f310d0 Store zone display mode in project local settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6886
2020-12-29 17:19:01 -05:00
Jon Evans 950ccad220 Fix missing pcbcommon file 2020-12-29 15:26:14 -05:00
Jon Evans 76e8c62269 PCB_VIEW: Fix a few ASAN issues 2020-12-29 14:58:45 -05:00
Jeff Young dec68a782c Cleanup. 2020-12-29 12:41:24 +00:00
jean-pierre charras dc28de16d4 Refinement in infobar
- Fix a minor coding style issue.
- Remove double buffering, not needed with the new code, and that creates a
minor cosmetic issue when showing or hiding the infobar.
2020-12-29 11:13:07 +01:00
jean-pierre charras bfea2ab9f4 Fix incorrect calculation of infobar width on Linux and Windows.
The calculation was using the frame width, instead of the the GAL
canvas width.
Fixes #6865
https://gitlab.com/kicad/code/kicad/issues/6865
2020-12-29 10:32:22 +01:00
jean-pierre charras aee23e991c Fix not working LaunchExternal() on Linux on wxWidgets 3.1.4
Adding quotes breaks the path actually used to run the browser.
However they are needed on wxWidgets 3.0
2020-12-29 10:29:54 +01:00
PJM a761d42c12 Common: Typo in file extension description
CHANGED: The description for .erc files reads:

Electronic rule check file

This MR changes it to read...

Electrical rule check file

...which is the commonly accepted definition for ERC

Fixes https://gitlab.com/kicad/code/kicad/issues/6868
2020-12-28 15:33:26 +00:00
Jeff Young 253b2da717 Dead code cleanup. 2020-12-25 23:07:49 +00:00
Jeff Young 0d57f90982 Make sure SCH-related frames use the schematic worksheet color.
Fixes https://gitlab.com/kicad/code/kicad/issues/6843
2020-12-25 16:59:41 +00:00
Jeff Young 7a081b7c04 Naming consistency. 2020-12-25 16:59:41 +00:00
Seth Hillbrand 1b8658137d Change name reference per list request 2020-12-25 06:05:06 -08:00
Jeff Young 359c29639f Fix access into empty container.
Fixes https://gitlab.com/kicad/code/kicad/issues/6840
2020-12-24 19:43:33 +00:00
Jeff Young 1d874e690e Fix initial focus issue on OSX. 2020-12-24 10:36:29 +00:00
Jeff Young 5fffde09d4 Improve SNR and formatting. 2020-12-24 10:36:29 +00:00
Werni 599c35edce Fix memory leak in COLOR_SETTINGS 2020-12-24 00:24:44 +00:00
Jeff Young 6b420b191a Use color theme backgrounds in page previews.
Also includes a *lot* of const fixing to make it happen.

Fixes https://gitlab.com/kicad/code/kicad/issues/6811
2020-12-23 23:18:38 +00:00
Jeff Young caefc9dc91 Fix minor spacing issue in Symbol Chooser. 2020-12-23 18:33:17 +00:00
Hanya 55bb407256 Add halfwidth and fullwidth forms to stroke font 2020-12-23 16:43:39 +00:00
Seth Hillbrand 6641168cbc Update KiCad website links 2020-12-22 17:38:56 -08:00
Jeff Young 9bc7aff3d0 Fix compile error on Linux and MSW. 2020-12-22 21:53:46 +00:00
Jeff Young 47ea51ec34 Allow both aui-manager-based infobars and window overlay infobars. 2020-12-22 21:36:39 +00:00
Jeff Young 93dc7feea3 Remove multi-threading for footprint loading.
Also don't load the footprints up front.  The whole purpose of the
footprint-info stuff is to have enough info about the footprints to
filter them *without* loading.  After that just load individual
footprints as we need them.

Fixes https://gitlab.com/kicad/code/kicad/issues/6177
2020-12-21 22:03:24 +00:00
lê văn lập 1adb86aa52 Add vietnamese language 2020-12-21 18:54:24 +00:00
Hanya b2a0070d66 Add hiragana and katakana glyphs 2020-12-21 18:37:35 +00:00
Jeff Young 0ba43ca231 Use library icon for footprint browsing for more visual distinction. 2020-12-21 17:37:53 +00:00
jean-pierre charras eb7dc6ddd9 Minor fixes. In stand alone show the frame as soon as possible.
Especially when running Pcbnew to open a complex board the frame is shown faster.
Add also a busy cursor when loading files and building the data.
2020-12-21 17:44:10 +01:00
Wayne Stambaugh c36f3ab521 Coverity fix for 280374. 2020-12-21 07:53:41 -05:00
Jon Evans 70c397a9b4 Implement free vias fully
CHANGED: manually-placed (stitching) vias won't have their nets automatically updated
(unless the via is placed directly on a track segment)

CHANGED: stitching vias can be placed on footprint pads and pick up their nets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5484
2020-12-20 16:29:50 -05:00
Jon Evans 81ce1a07ee Fix a few issues with builtin color themes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6754
2020-12-20 14:43:41 -05:00
Jeff Young 79c7cf12c9 Make sure bus members get escaped after parsing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6400
2020-12-20 18:02:16 +00:00
Jeff Young 3d852372ca Handle nested unescaping (for buses in particular).
Also adds a few missing unescape() calls when showing netnames to the
user.

Fixes https://gitlab.com/kicad/code/kicad/issues/6400
2020-12-20 15:59:09 +00:00
Jeff Young 7bc42f387a Make sure splitter sashes are visible.
Also might fix 6791, although that's probably a long-shot.

Fixes https://gitlab.com/kicad/code/kicad/issues/6791
2020-12-20 12:35:41 +00:00
Wayne Stambaugh f06a5894b3 Header clean up round 3. 2020-12-19 18:29:10 -05:00
PJM 21bd1c0f00 Preferences: Detect conflict assigning hotkeys already assigned in common
CHANGED: Currently KiCad only checks for hotkey assignment conflicts
within the same program.  However, if a hotkey is already assigned in
"common", it will also assign it to the specific program requested.  When
the hotkey is pressed, the original asignment in "common" will take
precedence and it's action performed instead of the new action.

This MR looks for and detects hotkey assignment conflicts in both the
current program section and the "common" section.

Fixes https://gitlab.com/kicad/code/kicad/issues/1920
2020-12-19 22:29:38 +00:00
Jon Evans be5102a6e0 Prevent refresh loops on GTK/MSW
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6787

(cherry picked from commit 281180512f)
2020-12-19 15:00:18 -05:00
Jon Evans 93173fca93 Fix refresh logic on MacOS to prevent excessive redraws
This new logic does not need to be MacOS-specific; it should
account for timer inconsistencies on any platform.

Thanks to Mark for the suggestions.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6222
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6332

(cherry picked from commit d79aee3f78)
2020-12-19 15:00:18 -05:00
Wayne Stambaugh a1fae02427 Header clean up round 2. 2020-12-19 13:55:28 -05:00
Alexis Lockwood f1aa82aad6 HPGL_PLOTTER: add missing include 2020-12-19 10:16:42 -07:00
Marek Roszko 9b0a137d6c Stop bludgeoncompiling dialog_page_settings
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Wayne Stambaugh 06aa1506ee Add optional project parameter to PCB plugin load method.
The optional PROJECT parameter is primarily used for third party plugins
that need to store project information loaded by the plugin.
2020-12-18 10:40:51 -05:00
jean-pierre charras bd7c3447e0 Fix a few compil issues.
Round 2: Fixes #6782
https://gitlab.com/kicad/code/kicad/issues/6782
2020-12-18 16:16:16 +01:00
jean-pierre charras 34fb55dc9c Fix a compil issue.
Fixes #6782
https://gitlab.com/kicad/code/kicad/issues/6782
2020-12-18 14:17:20 +01:00
Alexis Lockwood 4ce91d3e92 HPGL improvements and optimizations for physical plotters
- Sort HPGL plots for speed
- Reduce HPGL circle precision for tiny circles
- Teach HPGL plotter about filled rectangles
2020-12-18 07:21:59 +00:00
Alexis Lockwood 54d2748032 HPGL driver: collect graphics to plot later
This will later enable sorting the items for efficiency, which will then
facilitate things that would otherwise be impossibly slow (e.g.
switching pens)
2020-12-18 07:21:59 +00:00
Alexis Lockwood 5937b38312 HPGL: Fix bug when plotting negative line widths 2020-12-18 07:21:59 +00:00
Alexis Lockwood a59cab24b8 HPGL: Fix missing point in custom pad outline 2020-12-18 07:21:59 +00:00
Jeff Young 1c0d4ac02d Simplify some error messages. 2020-12-18 00:30:26 +00:00
Jeff Young bb232e6ac6 Unify LIB_IDs now that both are stored in sexpr files.
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
Jeff Young c4117c1ecf Adjust text and shadow offsets for flipped view.
Fixes https://gitlab.com/kicad/code/kicad/issues/6776
2020-12-18 00:30:26 +00:00
Wayne Stambaugh aab3c936f0 Move headers from common folders to appropriate include folders round 2. 2020-12-17 11:44:03 -05:00
Wayne Stambaugh 08cf9a1e20 Move headers from common folders to appropriate include folders round 1. 2020-12-17 08:12:18 -05:00
Jon Evans a7ea63e610 Hack around broken column sizing in wxGTK 3.0 for hotkey editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6767
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6396
2020-12-16 20:51:18 -05:00
Ian McInerney fc20eaa083 Fix some compiler and Coverity warnings 2020-12-17 00:30:22 +00:00
Jeff Young b9b4618c8e Take a stab at fixing the GTK severity heading clipping issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/6766
2020-12-17 00:24:02 +00:00
Ben Dooks 651e7f664d Fix type-cast in page_layout_reader.cpp
The wksFile.Read() call returns a size_t which is then compared
with a int. Make the filelen variable a size_t to make sure it is
of the correct width.

Fixes the following warning:

kicad/common/page_layout/page_layout_reader.cpp: In member function ‘void WS_DATA_MODEL::SetPageLayout(const wxString&, bool)’:
kicad/common/page_layout/page_layout_reader.cpp:853:41: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  853 |     if( wksFile.Read( buffer, filelen ) != filelen )
2020-12-16 10:59:26 +00:00
Seth Hillbrand b7875e4d41 Setup file_* icons
Don't use the same "post_*" icon in the treeview.  The badge gives an
action that doesn't apply in the treeview.

Also renames different file blobs to the "file_*" prefix.
2020-12-15 14:48:09 -08:00
jean-pierre charras 00255f2a9c Fix a compil warning. 2020-12-15 16:20:58 +01:00
Jeff Young c1a74b427a Translucent magnifying glass on footprint & library browser icons.
Also renamed.
2020-12-14 22:15:43 +00:00
Seth Hillbrand 500db27802 Icons: The return of the ladybug
Completely new ladybug icon for the Report Bug menu item.
2020-12-14 10:32:45 -08:00
Marek Roszko e07848d887 Make the footprint preview control bg the same as the preview itself
Fix #5571
2020-12-14 09:48:26 -05:00
Jeff Young 3b35bfc0a5 Don't write out synthetic severities (they're headings).
Fixes https://gitlab.com/kicad/code/kicad/issues/6726
2020-12-14 13:34:53 +00:00
Jeff Young d0e008053a Fix compile issue on OSX. 2020-12-13 23:46:20 +00:00
Jeff Young 126d40f9d3 "Sheet label" too confusing w/ sheet names and fields. Use "sheet pin". 2020-12-13 22:43:09 +00:00
Marek Roszko 8b843d023c Double buffer the info panel
Fix #6721
2020-12-13 13:14:19 -05:00
Michael Kavanagh cc43b66daf Icons: use correct size for open action in toolbar
Previously 16x16 was used
2020-12-13 16:10:26 +00:00
Jeff Young e32686a80b Formatting. 2020-12-13 11:42:03 +00:00
Marek Roszko 7565f60a03 Swap wxFileInputStream/wxFileOutputStream for the buffered kind 2020-12-12 18:52:02 -05:00
Michael Kavanagh dce4d04113 Add 24x24 size refresh icon
Previously 16x16 was being used alongside 24x24
2020-12-12 18:51:55 +00:00
Marek Roszko d67cf2f9af Replace wxFile usage with wxFFile
Buffered libc wxFFile is better thinking about syscall wxFile going wrong.
2020-12-12 13:16:23 -05:00
jean-pierre charras 5d7a6ea990 DIALOG_ABOUT: fix incorrect size of bitmaps: it is now 24x24 pixels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6716
2020-12-12 18:29:47 +01:00
Marek Roszko 3ae87ba613 Use wxFFileOutputStream in place of previous wxFFile switch
wxFFile with fwrite still has a chance of partial writes.
wxFFileOutputStream provides WriteAll which will iterate until all bytes written or error.
2020-12-12 10:46:30 -05:00
Marek Roszko b4e4e1cf5e Use wxFFile instead of wxFile for saving json settings/json_settings.cpp
wxFile is dangerous, it's ::Write method is a direct map to the write syscall. It does not handle partial writes!
This must be handled in our code which we don't.
2020-12-12 10:00:49 -05:00
Marek Roszko 67d8af4a4f Use buffered file write for hotkeys
Not a important change in the slightest but who knows, it might help someone saving to a network drive
2020-12-12 09:50:52 -05:00
Jeff Young 65f9212f46 Naming conventions. 2020-12-12 03:43:41 +00:00
Jeff Young 42d96fcadc Naming conventions. 2020-12-12 03:43:41 +00:00
Michael Kavanagh cf6f0b9b92 Use trash icon where appropriate 2020-12-11 17:05:11 -08:00
Jeff Young 412c9c8c4e Save should be disabled only if the file is up-to-date.
Any other issues (such as locked files) need to produce a dialog
with info for the user.
2020-12-11 23:58:30 +00:00
jean-pierre charras f26a1a32e0 UNIT_BINDER: better support of DEGREES units (and some fixes).
Especially, add a way to define the number of digits in mantissa.
base_units.cpp: set number of digits in mantissa to 3 instead of 1 for DEGREES
2020-12-11 16:26:58 +01:00
Jeff Young 73b7b104cd Fix some issues with Infobar sizing.
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Marek Roszko 0967995a80 Replace wxTextFile for writing fp info cache
wxTextFile uses wxFile which uses write syscalls which means its unbuffered.
This makes file IO more expensive against network shares where it will flush far too aggressively.
wxTextFile is fine for reads however.
2020-12-10 21:34:40 -05:00
Jeff Young 645c49427c Fix hotkey editing on OSX.
Focus was on the dialog instead of the panel.  The dialog doesn't
have the IsUserPanel flag set and so wxEVT_CHAR processing doesn't
happen.  (Why?  I haven't a clue.)

Also fixed some more performance issues with the auto-column-widths.

Fixes https://gitlab.com/kicad/code/kicad/issues/6591
2020-12-11 01:54:39 +00:00
Jeff Young fc57860caf Formatting. 2020-12-11 01:54:39 +00:00
Jeff Young 5888d376a7 Handle special cases for ending overbar text.
Fixes https://gitlab.com/kicad/code/kicad/issues/6695
2020-12-10 18:38:31 +00:00
Jeff Young 98330098ac Yet another overhaul to locking.
This unifies everything under a single architecture with a "don't
show again" dialog.  Since everything now goes through the same
path it should be reasonably easy to make it do whatever we want
in the future.

Right now it presents 3 options: modify only unlocked items, override
locks and modify all items, or cancel command.
2020-12-10 17:36:19 +00:00
Marek Roszko 7fcc2e638c Fix flickering on msgpanel paints 2020-12-09 20:21:51 -05:00
Ian McInerney be4b6ec06a Cleanup compiler warnings 2020-12-09 23:13:33 +00:00
Wayne Stambaugh ec97d1d737 Remove unnecessary decimal point notation test on application start. 2020-12-09 13:53:50 -05:00
Seth Hillbrand c87a1ca17a Allow checkboxes in Windows with/without bitmaps
Fixes https://gitlab.com/kicad/code/kicad/issues/6675
2020-12-08 16:14:22 -08:00
Seth Hillbrand 17d0ad53b4 Update Show DCode icon 2020-12-08 15:14:24 -08:00
Seth Hillbrand 211f9199f8 Remove edit_module in favor of module.svg 2020-12-08 12:22:17 -08:00
Jeff Young fec0a1fbc8 Take II. 2020-12-08 18:43:43 +00:00
Jeff Young ef39711e3e Remove accidentally checked-in debuggin code. 2020-12-08 18:34:34 +00:00
Jeff Young b26a5972c5 LIB_TREE's SetFocus() override no longer getting called.
The KIPLATFORM stuff forces focus, but not through the SetFocus()
call.

Fixes https://gitlab.com/kicad/code/kicad/issues/6657
2020-12-08 17:46:10 +00:00
Jeff Young d1a9efa5fc Try out an animating, obscuring infobar. 2020-12-08 15:05:35 +00:00
Jeff Young b1f0bf7334 More consistent naming. 2020-12-08 13:05:39 +00:00
Marek Roszko abb5cb8310 Fix up msg panel status on save slightly
- pcbnew should use status bar on success like eeschema
- Add a helper to clear msgpanel and set it in one go to avoid redraw delays due to doing processing in between
2020-12-08 00:28:07 -05:00
Ian McInerney 27fa3a422a Restore trace strings in the tool stack
This is a partial revert of d43eefbad5.
2020-12-07 22:03:43 +00:00
jean-pierre charras 413ff4525b DIALOG_CONFIGURE_PATHS: fix issue: html help window never destroyed.
Once the help button is clicked, the html help window is created but never destroyed.
It prevent Kicad to be fully closed
(closing Kicad does not fully close Kicad and leave something like a zombie process)
2020-12-07 10:28:54 +01:00
Jeff Young d0f9503ee0 Add grouping for violation severities.
Fixes https://gitlab.com/kicad/code/kicad/issues/6616
2020-12-06 19:14:48 +00:00
Jeff Young 3e6b658b92 Use stronger language when talking to wx. 2020-12-06 14:57:26 +00:00
Jeff Young 9234745d6d Formatting. 2020-12-06 11:51:14 +00:00
Jeff Young d43eefbad5 Formatting. 2020-12-05 19:44:01 +00:00
Seth Hillbrand 3704c1cdb7 New icons for v6
Fixes https://gitlab.com/kicad/code/kicad/issues/2542
2020-12-05 11:17:15 -08:00
Jeff Young 8781ce7efb Huge performance win for Preferences.
The Hotkey list was recalculating the widths of all columns on
every single cell addition.
2020-12-05 01:19:10 +00:00
Jeff Young 4d3224a9cb Fix off-by-one error when deleting single marker.
Fixes https://gitlab.com/kicad/code/kicad/issues/6625
2020-12-04 14:01:54 +00:00
jean-pierre charras c47871e775 EDA_BASE_FRAME::ShowInfoBarMsg: add option to show a close button.
Same for EDA_BASE_FRAME::ShowInfoBarError and EDA_BASE_FRAME::ShowInfoBarWarning
2020-12-04 14:45:14 +01:00
Seth Hillbrand 0533a23185 Fix/workaround GTK libtree issue with multi-unit symbols
When preparing for clearing the tree, GTK requires walking through
parents.  After calling "Freeze()" to protect against returning bad data
(see #6458 and #4471), we can no longer access Parent() from GTK and the
tree cannot be cleared.

The fix is to collapse the first element if it is open.  This prevents
the common case of the history elements being expanded in the tree

Fixes https://gitlab.com/kicad/code/kicad/issues/6102

(cherry picked from commit 7eea344f91)
2020-12-03 14:39:05 -08:00
Jeff Young e0b4e5135c Tilt real-estate allocation more toward net membership.
Fixes https://gitlab.com/kicad/code/kicad/issues/6601
2020-12-03 15:58:17 +00:00
Jeff Young 599a33a9c6 Make PLEditor greedy selections of rectangles sparse.
Fixes https://gitlab.com/kicad/code/kicad/issues/6278
2020-12-02 23:18:33 +00:00
jean-pierre charras 64f555079a Code cleanup related to zoom:
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
2020-12-02 18:35:28 +01:00
jean-pierre charras 71ab42e60a Minor fixes and cleanup related to zoom definitions.
Mainly move 2 define relative to Zoom from convert_to_biu.h to zoom_defines.h.
Will make some changes/fixes in zoom code more easy.
2020-12-02 10:14:35 +01:00
Jeff Young 4b2d9a5054 Don't draw ruler ticks outside the viewport.
Fixes https://gitlab.com/kicad/code/kicad/issues/6518
2020-12-02 00:29:00 +00:00
Jeff Young df262eaa06 Make prev/next marker work reliably on all platforms.
Requires us to move from arrow-keys to our own commands (the only
way that the OSX wxWidgets impl doesn't eat the keys when the dataVIew
has focus).

While there we might as well add a command to exlucde markers.

ADDED Prev Marker, Next Marker, Exclude Marker

Fixes https://gitlab.com/kicad/code/kicad/issues/6575

Fixes https://gitlab.com/kicad/code/kicad/issues/5501
2020-12-01 22:37:07 +00:00
Jeff Young 3c521942ed Smarten isEmpty checks to include nothing-but-whitespace.
Fixes https://gitlab.com/kicad/code/kicad/issues/6567
2020-12-01 16:39:06 +00:00
Jeff Young 7f8faffa3a Trim down ever-expanding context menu. 2020-12-01 14:04:01 +00:00
Ian McInerney 308ab8cafa Properly scale the ticks for all imperial units on the preview ruler
Fixes https://gitlab.com/kicad/code/kicad/issues/6564
2020-12-01 01:20:28 +00:00
Jeff Young de9d1eb93e Don't write local settings of imported project into current settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/6552
2020-11-30 23:10:21 +00:00
Jeff Young 3a9a6e22bc Fix issues in reporting netclasses.
1) make sure we get the default netclass when we want it
2) escape for HTML (particularly important for "<invalid>", but also
for reporting user rule names, netclass names, etc.)
2020-11-30 14:38:06 +00:00
Jeff Young e09271ca0e Fixes for hole clearance and hole-to-hole tests.
1) Separate out CONSTRAINT types
2) Filter both source and dest pads/vias for drilled holes when doing
   hole-to-hole checks.  We were checking the items being put into the
   DRC RTree, but not the items we were scanning.
3) Add hole clearance to Board Setup Constraints panel.

Fixes https://gitlab.com/kicad/code/kicad/issues/6546

Fixes https://gitlab.com/kicad/code/kicad/issues/4683
2020-11-29 23:35:23 +00:00
jean-pierre charras d3d26f2892 Update the zoom level as soon as it is modified by the mouse wheel
The zoom level displayed on the bottom of the canvas was not immediately
displayed, only after a mouse move.

Fixes #6542
https://gitlab.com/kicad/code/kicad/issues/6542
2020-11-29 17:46:24 +01:00
Jeff Young 3b18fa84bf Null pointer safety (from Coverity). 2020-11-29 10:57:45 +00:00
Jeff Young 056ff36b4b Fix indentation in migrate settings dialog. 2020-11-29 10:57:45 +00:00
Michael Kavanagh b8303a3484 Fix migrate settings dialog ui bug
Fixes https://gitlab.com/kicad/code/kicad/issues/6258
2020-11-29 08:41:15 +00:00
Roberto Fernandez Bautista f2ba9f7ac3 CADSTAR PCB Archive Importer: Correctly load the pad numbers as per the original design
To load the pad numbers correctly we need to also check the PART DEFINITION for each component
2020-11-28 17:18:17 +00:00
jean-pierre charras 005c3b84ad Better fix for incorrect page preview in Page Settings when the worksheet contains a bitmap
The actual size of pixels was incorrectly set.
Fix also bad names for a few vars and methods in BITMAP_BASE.
2020-11-28 10:53:26 +01:00
Jeff Young 896ad4a749 Rewrite PCBNew selection disambiguation based on shapes.
The new shape architecture gives us the opportunity to make text
selection much more intuitive by actually looking at the glyph
shapes.  Before text would be selected when you clicked in the
descenders area (which was usually blank given uppercase letters
and digits).

Fixes https://gitlab.com/kicad/code/kicad/issues/6525
2020-11-27 22:03:14 +00:00
jean-pierre charras 4f651901aa Fix incorrect page preview in Page Settings dialog when the worksheet contains a bitmap 2020-11-27 15:42:27 +01:00
RigoLigoRLC ef75ce9035 Fix: refusal of creation of non-existent directory tree on plotting
Fixed https://gitlab.com/kicad/code/kicad/-/issues/6394
wxWidgets uses wxFileName::Mkdir to create a directory tree like `mkdir
-p`.
2020-11-27 07:24:14 +00:00
Jeff Young fc2bdc49de Once more into the depths of hell... er, I mean fix a focus issue.
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).

This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).

Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young 2a87980d45 Remove overly verbose messaging. 2020-11-26 16:47:40 +00:00
Jeff Young 94de8ada97 Formatting and naming conventions. 2020-11-26 16:47:40 +00:00
Jeff Young b8414174af Duplicate Eeschema's select-ref-number strategy in PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/6504
2020-11-25 17:13:00 +00:00
Jeff Young f436360196 Consistency in capitalization and plurality. 2020-11-25 17:13:00 +00:00
Ian McInerney d50d728d19 Cleanup compiler warnings 2020-11-25 00:08:09 +00:00
Jeff Young 9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
jean-pierre charras 696fc7e46e Fix a minor issue in PANEL_SETUP_NETCLASSES, when resizing it. Second attempt.
If a class name choice widget is selected, resizing the panel does not
move the opened widgets, until it is closed.

Fixes #6474
https://gitlab.com/kicad/code/kicad/issues/6474
2020-11-24 17:03:48 +01:00
Jeff Young dbc7831d0c Potential fix for recursive error crash.
Fixes https://gitlab.com/kicad/code/kicad/issues/6471
2020-11-24 13:48:33 +00:00