Commit Graph

6675 Commits

Author SHA1 Message Date
Tokita, Hiroshi 9da55d961a Make the descriptions of pin/unpin library translatable 2021-02-19 20:24:49 +00:00
Seth Hillbrand 05b559c9dc Quiet gcc warnings 2021-02-18 11:20:27 -08:00
Jeff Young 66b33834b5 Always enable save; move dirty bit to asterisk in title bar.
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).

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

Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00
Jeff Young 6a5bba2a80 We don't really want users hand-editing library table files.
Fixes https://gitlab.com/kicad/code/kicad/issues/7591
2021-02-18 11:53:36 +00:00
Jeff Young fd91529d88 Quiet Coverity. 2021-02-18 11:53:36 +00:00
jean-pierre charras 5d2dc0b50e Fix a few (minor) issues:
- Make DIALOG_SHIM::SetPosition working)
- rename PCB_BASE_FRAME::SelectLayer() to PCB_BASE_FRAME::SelectOneLayer()
- PCB_BASE_FRAME::SelectOneLayer(): make dismiss dialog by escape key working.
Fixes #7578
https://gitlab.com/kicad/code/kicad/issues/7578
2021-02-17 20:56:43 +01:00
Jeff Young b6a7981e62 Write changes back to grid after using file explorer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7361
2021-02-17 14:08:53 +00:00
Marek Roszko 0d98db2eb3 Lowercase check the kicad data dir name in the macos app check
macOS is case insensitive anyway
2021-02-16 23:30:19 -05:00
Marek Roszko b609c7dcd6 Kick the osx specific path helpers into PATHS 2021-02-16 23:29:26 -05:00
Jon Evans 13a91dd49d Allow overriding documents home with an env var
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7543
2021-02-16 20:44:53 -05:00
Seth Hillbrand dbbe9cdee4 Hide infobar for save when saving 2021-02-16 15:54:43 -08:00
Wayne Stambaugh b959378d58 Attempt to fix Coverity issue 168705. 2021-02-16 17:29:12 -05:00
Wayne Stambaugh e7227a4f21 GAL code cleaning. 2021-02-16 17:25:27 -05:00
Seth Hillbrand df573255e0 Fix crash when switching schematics
When switching schematics that causes an error message (for example if
the schematic needs repair), wx can refresh in between view updates,
leading to a null preview.
2021-02-16 10:12:30 -08:00
Jeff Young f3449452db Special case kicad manager default frame sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7559
2021-02-16 16:24:36 +00:00
Seth Hillbrand 2566547377 Make mac-default delete happy
On mac, the backspace key is commonly used from removing items.  The
forward delete key doesn't really exist (it is hidden behind
fn-backspace), so this modifies our common use of delete.  The
context-dependent usage in router and polygon creation are unaffected as
CONTEXT overrides GLOBAL when processing
2021-02-15 15:04:44 -08:00
Zoltan Gyarmati f997deec75 eeschema: fixing title block variable expanding in text objects
Also fixing an off-by-one error, which also affects pcbnew.

Fixes https://gitlab.com/kicad/code/kicad/issues/7489
2021-02-15 22:24:05 +00:00
Wayne Stambaugh 089b7afacf Eeschema: Eagle schematic plugin parser improvements.
* Fix multi line text alignment.
* Parse schematic frame objects and convert them to lines.
* Make implicit global labels normal size so they can easily be seen.
* Move sheet fields to a more sensible position.
* Parse schematic symbol instances before wires so that the implicit power
  connections can properly be tested.  This will be used at a later time.
* Scale label text size down to allow for differences in label offset and
  graphical items.
2021-02-15 16:44:58 -05:00
Seth Hillbrand d93ba0a06a Choose half-grid for mirror
Using the half-grid allows for odd-grid counts to remain on-grid,
closer to the actual center.

Fixes https://gitlab.com/kicad/code/kicad/issues/7493
2021-02-15 11:59:04 -08:00
Jon Evans 5433adda2e Add extra search paths for importing settings in FlatPak builds 2021-02-14 15:04:42 -05:00
Jeff Young 60d4d5b846 Scale down netnames on tracks so overbars fit.
Also fixes a bug where the overbar ignored the color opacity.

Fixes https://gitlab.com/kicad/code/kicad/issues/7524
2021-02-14 12:15:26 +00:00
Jon Evans e06aa32780 Launcher tweaks 2021-02-13 08:59:33 -05:00
jean-pierre charras c69cdaff7c Fix a minor wxWidgets alert.
Fixes #7513
https://gitlab.com/kicad/code/kicad/issues/7513
2021-02-13 12:56:12 +01:00
Jon Evans 884de1f932 Allow translations to load from build dir 2021-02-12 22:39:37 -05:00
Seth Hillbrand 8c2fe42ef0 More Undo/Redo Cleanup.
Don't need the reference point or container action type.  Clearing this
command signatures to prevent future confusion/use
2021-02-12 11:26:48 -08:00
Seth Hillbrand d244c09680 Cleanup undo/redo
Mirror/Rotate/etc were all just "Change" items in the undo/redo stack.
This removes the old calls
2021-02-12 10:25:14 -08:00
Jon Evans ab34d94f36 Add a less-intrusive validation system to board setup
For some kinds of issues, we want a way to point them out but
we don't need to keep the user from being able to close the
dialog.  A separate Validate button lets the user check for
issues if desired, but these issues are not "fatal" and can
be ignored if the user wishes.
2021-02-11 22:19:46 -05:00
Jon Evans b708fd36ae Add tooltips to netclass setup panel column headers
Change router tooltips to be more straightforward
2021-02-11 20:50:26 -05:00
Jon Evans af7e4c6ca0 Don't try to pull invalid data from JSON
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7494
2021-02-11 17:25:14 -05:00
Mikolaj Wielgus 1dc0ef01b3 Fix automatic wire tool in gridless mode
The automatic wire tool was not working in the gridless mode because the
grid snapping on/off logic present in `EE_GRID_HELPER`, based on the
value of `m_enableGrid`, was not taking into account that another check,
but for the global KiCad setting, would be performed in the `Align()`
method, which is inherited from `GRID_HELPER`.

I've modified all tests of `m_enableGrid` value to also take the global
setting into account, and moved checks for it to `Align()` method, as
it's more consistent this way.

I've also removed an override of the `Align()` method in the
`PCB_GRID_HELPER` class, as it was made redundant by my changes.

Fixes https://gitlab.com/kicad/code/kicad/issues/7402
2021-02-10 22:07:49 +00:00
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
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
jean-pierre charras 1b7bfa2424 Revert "Fix a minor issue in PANEL_SETUP_NETCLASSES, when resizing it."
This reverts commit 52d8b70d3a.
The fix creates on Linux a serious issue
2020-11-24 14:36:12 +01:00
jean-pierre charras 52d8b70d3a Fix a minor issue in PANEL_SETUP_NETCLASSES, when resizing it.
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 11:29:37 +01:00
Jeff Young 78b505f36a Count head and tail lists as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/6461
2020-11-23 23:54:54 +00:00
Seth Hillbrand 298bc13f5d Delay deletion of the RC_ITEM tree nodes
The wxWidgets call "ItemDeleted" still requires access to the item in
memory, so we delay deletion by storing removed items to the end of the
call

Fixes https://gitlab.com/kicad/code/kicad/issues/6301
2020-11-23 09:52:46 -08:00
jean-pierre charras 064ebd4dc8 Minor fix for include files. 2020-11-23 11:43:22 +01:00
qu1ck b32c2a6c90 Refactor EDA_TEXT::TransformToSegmentList() to return a vector of points
This allows reading text object as it is rendered through python API.
2020-11-23 07:50:54 +00:00
Jeff Young e761df17f5 Netnames are case sensitive.
Fixes https://gitlab.com/kicad/code/kicad/issues/6460
2020-11-23 01:10:08 +00:00
Jeff Young c1b94f9ebf Handle escaped netnames better.
Fixes https://gitlab.com/kicad/code/kicad/issues/6404
2020-11-22 18:20:13 +00:00
Jeff Young 3a4bd6fb8b Fix uninitialized variable. 2020-11-21 20:57:36 +00:00
Jeff Young 1391774f64 Re-factor boundary/courtyard checker error handling.
ADDED Footprint Checker dialog to display the results in.

Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-21 20:57:35 +00:00
jean-pierre charras 64636601b8 Eeschema: fix a Unicode/UTF8 management when pasting items from Clipboard.
Copy to clipboard save items (using S expr description) using wide strings
(not UTF8 encoding).
But Paste from clipboard was not converting the wide string to UTF8 string
when getting the stored data to send it as std::string to the S expr reader.

Fixes #6449
https://gitlab.com/kicad/code/kicad/issues/6449
2020-11-21 10:59:25 +01:00
Jeff Young 0a7ef25453 Replace STROKE_FONT performance fix, this time with correct type.
Also this time with a fixed Cairo implementation and an implemented
BASIC_GAL implementation.

Fixes https://gitlab.com/kicad/code/kicad/issues/6447
2020-11-20 11:24:52 +00:00
Marek Roszko 1db882ed1b Partially revert 876b87b64e
This broke all text objects (for me on Windows at least)
2020-11-19 19:34:54 -05:00
Jeff Young 9e9946628a Go back to arrow cursor on a cancel (or finish).
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2020-11-19 20:09:28 +00:00
Jeff Young 876b87b64e Minor performance fixes for PCBNew selections. 2020-11-19 17:23:02 +00:00
Jeff Young 9512b1c5c3 Formatting. 2020-11-19 13:35:26 +00:00
jean-pierre charras 048715ab91 Gerber output: fix incorrect creation of trapezoid apertures.
When creating 4 corners (trapezoid) apertures, the rotation parameter was
not tested, therefore shapes actually used could have incorrect rotation.

Fixes #6432
https://gitlab.com/kicad/code/kicad/issues/6432
2020-11-19 09:16:56 +01:00
Dominik Wernberger 99da663e82 Remove unused variables plus some more fixes from CppCheck
Remove unused variables plus a few more fixes from CppCheck

Remove unused variables plus a few more fixes from CppCheck
2020-11-19 02:28:47 +00:00
Marek Roszko bdc41f7365 Don't search hardcoded (and never valid on non-english) Windows paths 2020-11-18 19:22:00 -05:00
Werni 0e44f5128c Add const specifiers 2020-11-18 19:50:36 +00:00
Jeff Young c1d1c12b41 Simplify message panel code.
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Jeff Young cb5ec8bce1 Make Eeschema cursors update without waiting for mouse movement. 2020-11-18 17:32:40 +00:00
Wayne Stambaugh 04a3619428 Fix opening symbol documentation field paths with spaces on GTK.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6422
2020-11-18 11:54:12 -05:00
Marek Roszko 16e3e59495 Split out arrayDim and MIRROR templates from macros.h
These were not macros
2020-11-17 20:21:04 -05:00
Jeff Young 54427fd594 Make sure deleted text items are removed from view and selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/6407
2020-11-17 20:48:15 +00:00
jean-pierre charras 94a358c592 fix 2 compil issues 2020-11-17 19:32:20 +01:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Ian McInerney 7d1a4a4224 Add version information to footprint sexpr files and clipboard
This allows the parser to properly interpret the sexpr version
of the footprint so that it can throw future format errors or
do version specific parsing properly.
2020-11-16 23:19:09 +00:00
Wayne Stambaugh 577e99d49d Minor hotkey list panel layout improvement.
Use wxCOL_WIDTH_AUTOSIZE instead of fixed column sizes.  This doesn't fix
the initial sizer layout issue on wxWidgets 3.0 but at least resizing the
dialog has better column width behavior.
2020-11-16 17:46:39 -05:00
Jeff Young 7933935b4a Naming conventions. 2020-11-16 00:04:55 +00:00
Ian McInerney b31e97cfed Fix FP/PCB_SHAPE fill sexpr syntax to be backwards compatible
Previously the fill for shapes inside a footprint was not being
properly imported from older versions becase the default of no
flag changed from representing filled to representing no fill.

Introduce explicit filling information, and continue to treat no
flag on a polygon as meaning it is filled (which is the legacy
behavior).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6393
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6390
2020-11-15 21:28:27 +00:00
Jeff Young 1ce1e493d6 A rule zone is not really a BOARD_CONNECTED_ITEM.
Or at least it shouldn't always be treated as one.

Fixes https://gitlab.com/kicad/code/kicad/issues/6382
2020-11-15 20:23:15 +00:00
Jeff Young 3f1a58bd06 Replace "module" with "footprint" in PCB sexpr. 2020-11-15 20:23:15 +00:00
Jeff Young 7bd31d5237 Naming conventions. 2020-11-14 18:26:03 +00:00
Marek Roszko 5100f720ef Don't hard crash on a failed kiway player due to null reference
This is possible if a kiface fails loading due to missing dlls, etc
2020-11-13 21:42:32 -05:00
Jeff Young ec020dd19f First-class support for filled shapes. 2020-11-14 01:40:32 +00:00
Jeff Young 47e86d76fb Cleanup prior to adding filled flag. 2020-11-13 21:07:36 +00:00
Jeff Young 1aaa690eb5 Remove errant extra include. 2020-11-13 18:10:41 +00:00
Jeff Young bfe750f88a Temp hack for square looking buttons on OSX. 2020-11-13 17:55:54 +00:00
Jeff Young bdbb68f813 MODULE -> FOOTPRINT. 2020-11-13 16:04:03 +00:00
Jeff Young 3451ac3088 PCB_MODULE_T -> PCB_FOOTPRINT_T 2020-11-13 15:16:24 +00:00
Jeff Young 63a54d003e More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 522d64968e Yet more module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young f5443de7f9 D_PAD -> PAD. 2020-11-13 15:16:24 +00:00
Jeff Young f0d0e17aab Prepare for MODULE -> FOOTPRINT. 2020-11-13 15:16:24 +00:00
Jeff Young 84dd5108ba Remove some "class_" prefixes from files. 2020-11-13 15:16:23 +00:00
Jeff Young f7333ad64a Update some classnames including archaic zone names. 2020-11-12 10:31:25 +00:00
Wayne Stambaugh d7ad315826 Minor paged dialog layout fixes. 2020-11-11 09:24:53 -05:00
Mark Roszko e7bf2b6256 Update comment 2020-11-11 13:45:46 +00:00
Marek Roszko 2a3e6ee1b5 Nix another easily triggered infinite event loop on Windows
This infinite loop was triggered on any dynamic scaling change with KiCad open.
Either local display scale change OR Remote Desktop.
2020-11-10 19:59:29 -05:00
Ian McInerney c207a90999 Use new upstream IsCheckable function in UI update event handling
This function is introduced in wxWidgets 3.1.5 and allows you to
query the event with if it should be checked or not instead of
having to figure it out based on the item type.
2020-11-11 00:41:02 +00:00
Ian McInerney 05595da235 Cosmetic fixes to the toolbar palettes
* Align the top of the buttons in the palette with the toolbar button
* Don't check the button in the palette, since the toolbar button will
  show as checked.
2020-11-11 00:41:02 +00:00
Ian McInerney d88eaaf477 Fix various compiler and Coverity warnings 2020-11-11 00:41:02 +00:00
Ian McInerney 11e6cac42b Introduce EGL backend support for the OpenGL canvas
wxWidgets 3.1.5+ on Linux will compile with the Wayland EGL
canvas as the backend instead of the X11 backend. This requires a
version of GLEW compiled with the proper EGL defines and a different
header/code for certain parts that are X11 GLEW specific.

This introduces an in-tree version of GLEW that will be built with the
GLEW_EGL flag then statically linked into the KiCad executables when
EGL support is needed.
2020-11-11 00:41:02 +00:00
Wayne Stambaugh 7e556ed91d Pcbnew: minor page properties dialog layout fixes. 2020-11-10 17:29:46 -05:00
Jeff Young 13e939ffa0 More Module -> Footprint. 2020-11-10 21:20:03 +00:00
Jeff Young 812b714ccd More Module -> Footprint and a bit of formatting cleanup. 2020-11-10 20:53:12 +00:00
Wayne Stambaugh 4ea3914d4e Coverity fixes.
CIDs: 312996, 305508, 305509, 305510, 312992, 312997, 312994, 312995,
312968, and 306650.
2020-11-10 08:50:16 -05:00
Jeff Young 1f5213946e Restore accidentally-removed allowsSpaces architecture.
Fixes https://gitlab.com/kicad/code/kicad/issues/6252
2020-11-08 00:34:04 +00:00
Jeff Young ad1e8ebda8 Cleanup formatting. 2020-11-07 21:40:56 +00:00
Jeff Young 17c9f7c61f Cleanup formatting. 2020-11-07 21:21:56 +00:00
Jeff Young bfd8a62852 Formatting and naming conventions. 2020-11-07 18:50:30 +00:00
Marek Roszko 2d33b23530 Fix formatting 2020-11-07 09:51:09 -05:00
Marek Roszko df49e0bb0d Don't leave dangling pointers 2020-11-07 09:48:59 -05:00
Jeff Young 69c1171320 Add PDFWriter debug mode (ie: uncompressed output).
Fixes https://gitlab.com/kicad/code/kicad/issues/5593
2020-11-06 10:56:45 +00:00
Marek Roszko 05b5d2de00 Cleanup/downscope variable 2020-11-06 00:38:53 -05:00
Marek Roszko 9ed1ad06f7 The canvas should get the focus on clicks not the window
Fix #6308
2020-11-06 00:37:05 -05:00
Marek Roszko 08ca80a2d8 Smooth out redrawing of toolbars by not letting wx pointlessly calculate both orientations
Monkey patch

Fix #5705
2020-11-05 20:56:14 -05:00
Simon Richter b78e2c8c28 Add missing <algorithm> 2020-11-06 00:37:57 +00:00
Marek Roszko 262bb06d91 Avoid stealing focus from text controls when hovering over canvas
Fix #4879
Fix #4888
2020-11-04 22:22:45 -05:00
Jeff Young 1899209e9b Support unicode text on the clipboard.
Fixes https://gitlab.com/kicad/code/kicad/issues/6294

Fixes https://gitlab.com/kicad/code/kicad/issues/1802
2020-11-04 23:14:44 +00:00
Jeff Young cec9081b39 Drop fudge factors to 0.1um.
We believe that our recent fixes to Clipper will allow this.  If not,
they may need to be bumped back up to 0.5um.
2020-11-04 18:32:27 +00:00
Jeff Young f6c17001e4 Formatting 2020-11-04 13:46:51 +00:00
Marek Roszko 8eaf9915c1 Check if the window is foreground before causing a focus war
Fix #6250
2020-11-04 07:51:36 -05:00
Oleg Endo a238209f3f Add group-by-suffix display option in net inspector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2469
2020-11-04 02:49:19 +00:00
Ian McInerney 831d020544 Cleanup parent usage in the ACTION_TOOLBAR
When we look for icon scaling, we should be using the wxWidgets
parent as the scaling window not the tool manager's frame (even though
they are probably the same). (this also removes several dynamic_casts).
2020-11-04 01:42:18 +00:00
Ian McInerney 3d47eb0d49 Fix localization of the menu strings with accelerator strings
The accelerator strings really shouldn't be part of the translation,
and some translations have cause the accelerator keys to be incorrectly
handled. It is simpler to make it separate and just join them to the
translated string.

Make all accelerator modifiers use lowercased Ctrl instead of CTRL
to be the same as the other modifiers.

Fixes https://gitlab.com/kicad/code/kicad/issues/5992
2020-11-04 01:31:52 +00:00
jean-pierre charras f9a19f1d13 Language selection: do not disallow switching to English language when the
English dictionnary is missing. It is not mandatory because all messages are
in English, just restricted to ASCII7 chars

Fixes #6261
https://gitlab.com/kicad/code/kicad/issues/6261
2020-11-03 11:47:28 +01:00
Jeff Young a95e2184da A more generic error message when route start pt violates DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/1812
2020-11-01 18:23:07 +00:00
Marek Roszko 6e9ddd9c93 Enable canvas switching in pl_editor 2020-10-31 17:20:12 -04:00
Marek Roszko 98e07a77ef On second thought, don't use the intermediate canvastype variable 2020-10-31 16:57:54 -04:00
Marek Roszko 3b2b8ec229 Centralize/fix duplicated canvas type resolution between gerbview and pcbnew 2020-10-31 16:42:24 -04:00
Jon Evans 52cb410952 Cannot use two layers of temporary in range-for (yet)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6244
2020-10-31 15:13:30 -04:00
Jeff Young ae77dfc455 Fix crash bug in marker deletion. 2020-10-31 15:45:41 +00:00
Jeff Young d5addb692c Move a bunch of DRC tests to RTrees. 2020-10-31 15:45:41 +00:00
Mark Roszko 98ece9df72 Remove infinitely recursive loop on Windows (in special cases)
This looks like it was always intended for macOS but was accidentally changed for Windows as well.
If this is a requirement on windows, I'm sure theres better ways to fix it....
2020-10-31 13:44:50 +00:00
Jeff Young bddc97df30 LibEdit -> SymbolEditor 2020-10-31 10:28:21 +00:00
Roberto Fernandez Bautista fe415c4134 Check GLEW functions exist before calling them
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6235
2020-10-30 20:17:27 +00:00
Roberto Fernandez Bautista 33385d0bb0 Combine return statements in OPENGL_GAL::CheckFeatures 2020-10-30 20:17:27 +00:00
Seth Hillbrand 7c94983758 Fix translation issue
We cannot use verb-based substitution in translated strings
2020-10-30 12:48:22 -07:00
Seth Hillbrand 75e46a0037 Fix sizing of Configure Paths
On GTK, the grid shoudl not be marked dirty unless the size of the grid
actually changes.  Doing so prevents focus loss on the edit field
2020-10-30 10:56:43 -07:00
Seth Hillbrand 9ed6cdd943 Remove GITHUB plugins
KiCad github downloads are no longer supported

Fixes https://gitlab.com/kicad/code/kicad/issues/6182
2020-10-29 16:45:04 -07:00
Seth Hillbrand 3bd080b64e Unselect and freeze before starting reset
In some cases, the BeforeReset() will cause an iteration over the tree
elements.  If we have deleted an element before doing this, we risk a
corruption/crash.

Fixes https://gitlab.com/kicad/code/kicad/issues/6192
2020-10-29 15:45:56 -07:00
Jeff Young 5a644aa3fb QuasiModal needs to be used for any dialog hosting a help window.
Fixes https://gitlab.com/kicad/code/kicad/issues/5897
2020-10-28 23:07:15 +00:00
Jeff Young 89f8078381 Bi-directional tooltips for Update PCB from Schematic and viceversa.
Fixes https://gitlab.com/kicad/code/kicad/issues/6186
2020-10-27 22:54:22 +00:00
jean-pierre charras 73c7154891 Fix another Coverity warning. 2020-10-27 14:16:38 +01:00
Werni a7d5d1f091 Add more consts all over the place 2020-10-27 11:03:35 +00:00
Ian McInerney 31e626f279 Cleanup creation of all our smart pointers 2020-10-26 23:52:44 +00:00
Marek Roszko ee6c8b60ac Strip wx.h from color_swatch.h 2020-10-25 22:42:05 -04:00
Marek Roszko 1984581c46 Remove common.h from more headers 2020-10-25 22:29:53 -04:00
Marek Roszko 1167862c86 Split wx_filename out of common 2020-10-25 20:01:13 -04:00
Marek Roszko 14c18b7e64 Move ui functions out of common and into ui_common 2020-10-25 20:01:12 -04:00
Marek Roszko 91e5611341 Move dialog_configure_paths.h and dialog_edit_library_tables.h to dialogs folder 2020-10-25 20:01:12 -04:00
Marek Roszko e49ac45b84 HTML_MESSAGE_BOX is a dialog 2020-10-25 20:01:12 -04:00
Marek Roszko a785f70ea1 msgpanel is a widget, shove it to the right folder. 2020-10-25 20:01:12 -04:00
Jon Evans dfa1024c7e Don't translate grave accents to themselves
NOTE: because SCINTILLA_TRICKS is using a wxEVT_CHAR_HOOK,
it doesn't get the translated keycodes, so both ` and ~
look like ` to the call to ConvertSmartQuotesAndDashes

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6171
2020-10-25 18:58:21 -04:00
Jon Evans c085375531 Create color settings path if missing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5274
2020-10-25 17:09:58 -04:00
Jeff Young 8c93fc76ae Don't require keepout zones to be named.
insideArea() now takes A, B, a UUID or a zone name.  (Only the UUID
is new.)
2020-10-25 21:08:09 +00:00
Jon Evans 48a67e1ff8 Set a few more ERCs to be warnings by default 2020-10-25 16:32:15 -04:00
Jon Evans 09ade9fe51 Inhibit point editor while drag-selecting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6155
2020-10-25 12:13:25 -04:00
jean-pierre charras 34179cd039 Add missing icon in menu, and fix them in other menus 2020-10-25 14:51:08 +01:00
Jeff Young 13b4c46063 Use a bigger hammer with wxWidgets.
As if the original hack wasn't embarassing enough, the only change
here is to make the number bigger.

WICKED HILLARY wanted to use wxBoxSizers that are FAR TOO SMALL.
So sad.
But we're going to look at that.  I think we're going to have
BIG wxBoxSizers.  Probably the BIGGEST wxBoxSizers of anyone.

(The bug is that the Sheet Border swatch in PANEL_EESCHEMA_SETTINGS
doesn't otherwise get drawn unless that panel is the one showing
when preferences is opened.)
2020-10-25 13:38:15 +00:00
jean-pierre charras d6f91c810f Fix a few compil and Coverity warnings. 2020-10-25 10:02:07 +01:00
Marek Roszko 133b011124 Move StripTrailingZeros to kicad_string.h 2020-10-25 00:02:53 -04:00
Marek Roszko e928b2d8fd Split EDA_UNITS out from common. 2020-10-25 00:02:52 -04:00
Wayne Stambaugh 16b0689841 Make HTML message box close on escape key.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6110
2020-10-24 15:58:30 -04:00
Jeff Young 66e3e12a9d Allow screen rendering to be maxError out from WYSIWYG.
Correcting the error is more trouble than it is worth, and anyway
might not be corrected exactly the same way plotting/filling/DRC
is corrected anyway.
2020-10-24 19:39:19 +01:00
jean-pierre charras cc81d97f78 Opengl DrawArcSegment(): refinements for a better look of control points.
Use a segment count multiple of 2, because we have a control point on the
middle of the arc, and the look is better if it is on a segment junction
because there is no arc to segment approx error
2020-10-24 17:26:44 +02:00
jean-pierre charras 6d12a0c95b OPENGL_GAL, DrawArcSegment(): do not modify the radius of arc.
The radius correction does not fix correctly approximation errors,
and creates serious issues for thin arcs:
- control point outside the arc
- HitTest active area outside the arc shown on screen
- Cairo and opengl gives different arc positions.
- the formula used in radius correction is probably incorrect.
2020-10-24 16:29:26 +02:00
Marek Roszko 81a7afc76e Use kicad_algo directly rather than common.h 2020-10-24 08:53:11 -04:00
Marek Roszko 68484e9b38 Nix some global richio.h 2020-10-24 08:44:03 -04:00
Marek Roszko 77ece552f7 Remove macros.h from files that don't need it 2020-10-24 08:28:02 -04:00
Marek Roszko 64484f5fc4 Split KIID out of common.h 2020-10-24 00:17:08 -04:00
Marek Roszko 4d5796fb9a Extract swig binding macros to their own header 2020-10-24 00:17:07 -04:00
Marek Roszko 304e5faf36 Move wxStringSplit to kicad_string 2020-10-24 00:17:07 -04:00
Seth Hillbrand b7f115bf5f Don't write translated strings
Even though the translation isn't used, the choice of locale can create
unwanted diffs
2020-10-23 19:53:25 -07:00
Marek Roszko 1d559108c8 Move LOCALE_IO out of common.h 2020-10-23 21:49:42 -04:00
Marek Roszko 472ea039dd Remove common.h from bitmap.cpp 2020-10-23 21:49:42 -04:00
Marek Roszko c027398df3 common.h not needed in advanced_config.cpp 2020-10-23 21:49:41 -04:00
Marek Roszko 4d6e4bd622 Remove common.h from env_vars.cpp 2020-10-23 21:49:41 -04:00
Jeff Young 58c006bc45 Register properties for ARC elements so we can get their netclass.
Also improves GAL arc drawing and polygonization.

Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-23 14:27:36 +01:00
Thomas Pointhuber 47786fa976 altium: Correctly handle symbol names containing invalid chars
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6082
2020-10-23 14:30:29 +02:00
Jon Evans 7fcef7268b Handle read-only settings files better
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5688
2020-10-22 20:31:04 -04:00
Jeff Young 41fd8293e8 Don't apply clearance to keepout zones.
Also improves the clearance and keepout reporting.

Fixes https://gitlab.com/kicad/code/kicad/issues/6118
2020-10-22 21:29:04 +01:00
Jon Evans 35c7ba0a8a Fix hover/highlight of line edit points
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6104
2020-10-21 20:37:15 -04:00
Simon Richter 3f48aca721 Add missing <algorithm> 2020-10-21 22:51:22 +00:00
Seth Hillbrand ae1004776f Correct Cairo GAL dot rendering
This matches the OpenGL dot rendering.  Patch from dsa-t with minor
changes

Fixes https://gitlab.com/kicad/code/kicad/issues/5832
2020-10-21 12:31:21 -07:00
Seth Hillbrand 7997456893 Update single_top.cpp to fix errant "footprint" text 2020-10-21 18:13:31 +00:00
jean-pierre charras c87faad344 Python compatibility: move DXF_PLOTTER::DXF_UNITS to DXF_UNITS in pcb_plot_params.h
Fixes #6034
https://gitlab.com/kicad/code/kicad/issues/6034
2020-10-21 18:29:53 +02:00
jean-pierre charras b907f79485 python wrap: fix undefined FILLED/SKETCH constants in pcbnew.py
Fixes #6070
https://gitlab.com/kicad/code/kicad/issues/6070
2020-10-21 13:23:06 +02:00
Seth Hillbrand f8a4edb1c9 First pass renaming module to footprint
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Jeff Young 3d135189d3 Fix grid resizing issues.
Normally we don't want to resize when a control is open (such as a
drop-down), but it appears safe enough when all the controls are
just text-button controls.

Fixes https://gitlab.com/kicad/code/kicad/issues/6090
2020-10-20 23:34:19 +01:00
Jeff Young e5089d783d Remove multi-label entry feature.
It was causing problems with surprising behaviour and issues with
allowing spaces in existing labels.  We'll work on something better
for 7.0....

Fixes https://gitlab.com/kicad/code/kicad/issues/6073
2020-10-20 22:53:44 +01:00
Seth Hillbrand 2292c362c0 Remove launchpad in favor of GitLab 2020-10-20 14:47:32 -07:00
Roberto Fernandez Bautista 006c462d8f ADDED: Fillet Tracks tool in pcbnew
Select two or more track segments and run the "Fillet Tracks" tool.
2020-10-20 21:23:05 +00:00
Seth Hillbrand 2a43b88115 Standardize PostScript capitalizaiton 2020-10-20 13:09:13 -07:00
Seth Hillbrand e0b439492f Unify temporary string -> dummy 2020-10-20 12:26:33 -07:00
Seth Hillbrand 4085757aeb Remove beginning/ending spaces in translations
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jeff Young f772e49d25 Adjust DRC badge spacing on OSX.
Also added dynamic badge sizing based on number of digits.
2020-10-20 16:57:56 +01:00
Ian McInerney 7c9acc605d Introduce a new number badge UI element for DRC and ERC reporting
This new badge allows for proper UI scaling and will not cut off
the number being displayed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jon Evans f8d38fc6c0 Slight tweak to schematic background color 2020-10-19 20:55:34 -04:00
Roberto Fernandez Bautista e7ab924a86 CADSTAR PCB Archive Importer: Resolve comments in MR
- Change wxASSERT(false) to wxFAIL_MSG
- Fix double negative
- Add small comment to TXT_HEIGHT_RATIO
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 7839a508b3 CADSTAR PCB Archive Importer: Fix imported text height
Apply a scaling factor derived from CADSTAR's default font
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 5273c77fbf CADSTAR PCB Archive Importer: Parse TRUNK and TRUNKREF, display error if present (no KiCad equivalent) 2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 8b13140122 CADSTAR Archive Importer: Parse missing ROUTEREASSIGN node in ROUTECODE 2020-10-20 00:00:05 +00:00
Marek Roszko df590b1109 Reduce the "default" maximum scale factor down a magnitude.
Testing reveals 25000 is absolute overkill. A 4mil trace at 2000 is already an entire GAL canvas on 1080p.

Eeschema already uses its own setting of 1000 max.
2020-10-19 19:06:09 -04:00
Marek Roszko f1e2bdc2d0 Prevent zoom to fit from going to crazy zooms on blank canvas
Fix #6062
2020-10-19 18:51:32 -04:00
Wayne Stambaugh 8ff51d8899 Eeschema: add schematic sheet page number.
The groundwork has now been laid for per sheet instance data.  Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.

ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
Jon Evans a28f154cc5 Fix fallback color theme name
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6064
2020-10-19 12:02:55 -04:00
Jeff Young 91f2a0ef1d Fix uninitialized variable. 2020-10-19 12:07:43 +01:00
jean-pierre charras e4675ee9a6 Fix missing include (linux). 2020-10-19 10:25:55 +02:00
jean-pierre charras 539ac4c214 Remove a few include<wx/wx.h> in many files that do not actually use this include. 2020-10-19 09:00:50 +02:00
Jon Evans 88fbb9d367 Don't allow resetting read-only themes 2020-10-18 22:20:43 -04:00
Jeff Young dd53b9c399 Bail on 45º text in pin conflicts map.
Fixes https://gitlab.com/kicad/code/kicad/issues/5515
2020-10-18 20:28:23 +01:00
Jon Evans e735d21824 Maximize main editors by default if config is missing
Also set default size for other windows to something slightly
larger than it was before
2020-10-18 14:38:55 -04:00
Jon Evans c388bf0f92 Update default color theme
Blue is the new green :)

ADDED: built-in read-only color themes support
Classic theme is still available for those who love it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
Marek Roszko ae6900e7d7 Suppress the opengl test from generating "ghost frames" on Windows which appear and quickly disappear 2020-10-18 13:48:45 -04:00
Jon Evans cc71f7d050 Add some missing headers required on wx3.0 at least 2020-10-18 12:45:41 -04:00
Marek Roszko da96c9959d Undo last commit and fix include. Woops 2020-10-18 12:43:38 -04:00
Marek Roszko 1f3796bd7a Add missing include due to commit f6b4b66a 2020-10-18 12:42:51 -04:00
Marek Roszko 6fa8ebab85 Remove the auto centering of dialog_shims as a experiment
Windows handles default positions better such as remembering the last position if we don't start centering it unconditionally

Fix #6032
2020-10-18 12:34:24 -04:00
jean-pierre charras f6b4b66a86 Avoid include wx/wx.h in many files that do not actually use this include.
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko a5c9151800 Move the dock art provider to a pointer instance 2020-10-18 11:31:44 -04:00
Marek Roszko 496532b6ea Guard off the dock art size change temporarily for win32 and wxwidgets 3.1 2020-10-18 11:09:14 -04:00