Roberto Fernandez Bautista
f530b12c31
CADSTAR Schematic Archive Importer: Handle undefined pin number in part
...
Use terminal pin number (i.e. from the symbol definition) when the pin
number is undefined in the part.
This fixes a bug that resulted in symbols with "0" as the pin numbers.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
cc27c31ab0
CADSTAR Schematic Archive Importer: Import common fields visibilities
...
Import field visibilities for Ref, Value and Part Name
Also fix incorrect loading of designator from previous commit
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
297ff282f1
CADSTAR Importer: Update copyright years and remove white spaces
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
b0051c07cb
CADSTAR Schematic Archive Importer: Load all fields in symbols
...
- Load Fields in the library items as well as schematic instances
- Remove invalid characters (e.g. '\n', '\t', '\r') in fields
- Load footprint field (assume that the footprint library name
is the same as the filename of the schematic)
2021-02-10 18:49:20 +00:00
Jeff Young
a30ae6a237
Pass un-pretty-printed bus names through menu help text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7412
2021-02-10 15:03:06 +00:00
Seth Hillbrand
430310bb75
Add identifying info per request
...
We don't use e-mail addresses for contributors in the about box these
days. The field is re-purposed as an optional additional field to allow
for disambiguation of contributors, should they request it.
2021-02-09 17:26:13 -08:00
Jon Evans
9ce255dc77
Use a different color for front and back courtyards
2021-02-09 20:15:30 -05:00
Marek Roszko
872184fe8b
Revert "Bump minimum required CMake version to 3.10"
...
This reverts commit a475f45753
.
2021-02-09 18:46:13 -05:00
Seth Hillbrand
505844f68c
Generalize the Ctrl-Q to all frames
...
Rather than adding our handler to each frame separately, we initialize
the Ctrl-Q quit action at the base frame to be consistent
2021-02-09 11:43:42 -08:00
Seth Hillbrand
3d920c4088
Fix tab spacing to use widest character as ref
...
We had been using each 4th column of spaces. But we needed an absolute
spacing rather than relative to the existing text to match spacing
between the input text box and our stroke font
2021-02-09 09:44:00 -08:00
Wayne Stambaugh
5ecef204cd
Coding policy fixes.
...
Using "this->" violates coding policy section 2.7.
2021-02-09 11:35:43 -05:00
Jeff Young
02aca4a7d7
Don't run off the end of a string.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7461
2021-02-08 12:28:15 +00:00
Simon Richter
a475f45753
Bump minimum required CMake version to 3.10
...
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
Thomas Pointhuber
c255dede17
altium: loosen up ReadProperties check a bit, to allow reading of likely malformed altium files.
2021-02-07 16:52:31 +01:00
Jeff Young
f6aa25df52
Make bitmap text measuring cognizant of overbars.
...
Also adds fallback for when text contains super- or subscript.
Fixes https://gitlab.com/kicad/code/kicad/issues/6846
2021-02-07 13:59:53 +00:00
Michael Kavanagh
404d18763d
Icons: try a new version of the 'new' badge
...
and use it more consistently.
2021-02-06 22:51:56 +00:00
Jeff Young
ac479a1c75
Fix regression in immediate actions.
...
Add some more comments to attempt to document our egregious series
of hacks over this.
Fixes https://gitlab.com/kicad/code/kicad/issues/7432
2021-02-05 16:18:28 +00:00
Jeff Young
2ad5108e7d
Don't depend on wxWidgets dotted and dashed line styles.
...
Turns out they're buggy on OSX.
Fixes https://gitlab.com/kicad/code/kicad/issues/7144
2021-02-05 16:18:28 +00:00
Marek Roszko
1572d90ee7
Revert "Always return a path if we can't normalize it"
...
This reverts commit 7bdea16b1f
.
2021-02-05 00:49:34 -05:00
Marek Roszko
7bdea16b1f
Always return a path if we can't normalize it
...
Fix #7323
2021-02-04 23:55:18 -05:00
Jon Evans
7a55dff566
Archiver: reduce set of archived files for auto-backup
...
Keep around only source files that are modified by KiCad;
other files can be re-generated.
2021-02-04 17:24:13 -05:00
Seth Hillbrand
4657ca5d4f
Fix GTK crash when multiple libraries are expanded
...
Once more into the gtk_tree_view breach.
This may also be related to https://gitlab.com/kicad/code/kicad/-/issues/7344
Fixes https://gitlab.com/kicad/code/kicad/issues/7422
2021-02-04 13:20:33 -08:00
Jon Evans
d25341901c
Skip backup if project folder isn't writeable
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7405
2021-02-03 19:17:32 -05:00
Jon Evans
3ac5fd6342
Get rid of wx popups when opening a read-only project
2021-02-03 19:17:32 -05:00
Seth Hillbrand
238aa2b5b0
Snap to eeschema lines
...
Allows easier snapping to lines when drawing in eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/7378
2021-02-02 19:33:18 -08:00
Jon Evans
4db7a5af56
Make sure print mode is off by default
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7388
2021-02-02 21:21:16 -05:00
Roberto Fernandez Bautista
098241e403
About->Version info. Allow clipboard data to be available after closing KiCad.
...
Fixes a bug in GTK that erased the data on the clipboard after exiting KiCad.
2021-02-03 01:55:05 +00:00
Roberto Fernandez Bautista
9aedeae5c3
Don't log error messages when using the clipboard
...
wxClipboard::GetData()and wxClipboard::SetData() both log a "wxLogSysError" error-level message (see for example: https://github.com/wxWidgets/wxWidgets/blob/v3.1.4/src/msw/clipbrd.cpp#L703 ). This logged message gets displayed as a messagebox to the user.
The logging can be disabled temporarily by creating a wxLogNull object. See https://docs.wxwidgets.org/3.0/classwx_log_null.html
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6956
2021-02-03 01:55:05 +00:00
Jeff Young
b8e97bb6b6
Only apply B&W printer fixes when printing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7388
2021-02-02 15:37:30 +00:00
Jeff Young
7688fdc94f
Hack to prevent multiple simulation commands from stacking up.
...
Can happen if someone hammers away on the probe and/or tune tools
without ever mousing over the schematic in between.
*May* fix the below bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/6876
2021-02-02 01:23:22 +00:00
Jeff Young
1394c1f4d4
Retire disabled buttons in favour of info boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7229
2021-02-01 22:56:55 +00:00
Jon Evans
eba98aa9f6
Change default Ctrl+H hotkey to 3-state layer view mode
2021-02-01 17:37:17 -05:00
Wayne Stambaugh
c11ded24cd
Add instrumentation to track down local issues in symbol library file code.
2021-02-01 12:57:16 -05:00
Jeff Young
1f27b7e7df
Don't render hole walls when no physical layers are visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7369
2021-02-01 17:14:30 +00:00
Marek Roszko
47ada0ffba
Remove duplicate LAYER_VIA_THROUGH entry in theme
2021-02-01 11:51:42 -05:00
Marek Roszko
32bf88fa8e
Point to the user template path by default in pl editor
2021-01-31 23:57:41 -05:00
Seth Hillbrand
0125986588
Remove unused grid button
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7360
2021-01-31 13:55:10 -08:00
Marek Roszko
9770ba9739
Fix odd/even check in cairo. Modulo 1 is always 0 on ints.
2021-01-31 11:59:49 -05:00
Thomas Pointhuber
db3b79a046
altium: Fix #6462 improve parsing of metric units
...
Because Altium uses imperial units for storage, this leads to rounding errors.
This code tries to correct those rounding errors for the user.
2021-01-31 16:18:57 +01:00
Jon Evans
abf0a46dce
Refactor PICKER_TOOL and push up snapping disable functionality
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7348
2021-01-31 09:50:41 -05:00
Thomas Pointhuber
9ddfd82b91
altium: Fix #6242 by increasing clamp limit for unit conversation. Furthermore fix error which happens when parsing negative units.
2021-01-31 13:59:51 +01:00
jean-pierre charras
c155218582
Sim plot: fix a rounding issue that can create a missing point in a plot.
...
Due to a truncation when converting a value to integer, the first point was
sometimes missing because it looked like out of plot range.
Fix also a cosmetic issue in dialog.
Fixes #7345
https://gitlab.com/kicad/code/kicad/issues/7345
2021-01-31 10:36:26 +01:00
Mikolaj Wielgus
8eca23aabe
Mark null project initial screen as zoom-initialized
...
The variable `m_Initialized` in `BASE_SCREEN` is used by
`SCH_EDIT_FRAME` to mark whether a screen had its zoom level initialized
by the "zoom to fit screen" action. When this variable is `false`, the
function `SCH_EDIT_FRAME::DisplayCurrentSheet()` performs "zoom to fit
screen", modifying the zoom level. This function is indirectly called in
the undo routines, so if `m_Initialized` is not set to `true`, a zoom
change will occur when the user undoes an operation, a behavior that is
undesired.
`m_Initialized` was not initialized to `true` for the null schematic
(the schematic that is loaded if no project is loaded), causing the
aforementioned undesired behavior.
To prevent this, I've changed the `SCH_EDIT_FRAME` constructor to set
`m_Initialized` to `true`, since it zooms to fit screen already. I've
moved `m_Initialized` from `BASE_SCREEN` to `SCH_SCREEN`, as it is used
only in Eeschema, and renamed it to `m_zoomInitialized`, a name I
believe that better describes what this variable does.
I've also introduced the function `SCH_EDIT_FRAME::initScreenZoom()` to
group the "zoom to fit screen" action with setting `m_Initialized` to
`true`, as they often should occur together.
I'd also like to say that I'm not confident whether
`SCH_EDIT_FRAME::DisplayCurrentSheet()` should perform the zoom level
initialization at this point, but I have decided to not change this
behavior for now, as the commit history suggests it's several years old.
Fixes https://gitlab.com/kicad/code/kicad/issues/7343
2021-01-31 00:49:11 +00:00
Mikolaj Wielgus
a6b2fb3819
Page layout editor: Fix bitmap bounding box
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7315
2021-01-30 20:39:16 +00:00
jean-pierre charras
fabafe719d
Use aperture macro for custom pads. Optimize aperture macros for free polygons.
...
These aperture macros were previously used but only for chamfered round rect.
They are now also used for custom pads (previously drawn as regions).
They are also optimized, i.e. only one aperture macro is created for a given shape.
(previously, one aperture macro was created for each chamfered round rect pad.)
So now all pads are flashed.
2021-01-30 18:14:58 +01:00
Jeff Young
a235103e48
Redo pad & via painting (again).
...
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.
Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.
Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast. The hole wall
is drawn in high contrast. This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).
Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00
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