jean-pierre charras
4f369801f2
Fix a few compil and Coverity warnings.
2020-04-25 08:49:16 +02:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young
2fb2eac4d5
Performance enhancements.
2020-04-24 22:17:45 +01:00
Jeff Young
32db9eb0f1
Add some distances to a few DRC errors.
2020-04-24 22:17:45 +01:00
Jeff Young
c67d819b17
Adjust GTK hack for wxSearchCtrl.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4230
2020-04-24 22:17:45 +01:00
jean-pierre charras
18150e5769
SVG plotter: fix some issues: incorrect bitmap size and missing lines in header
...
Fixes #4256
https://gitlab.com/kicad/code/kicad/issues/4256
2020-04-24 17:19:08 +02:00
Jeff Young
b09463cc86
Improve hack for GTK wxSearchCtrl.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4230
2020-04-24 14:55:15 +01:00
Jeff Young
7f742ef934
Fix typo.
2020-04-24 14:46:22 +01:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jon Evans
69db66e1ea
Fix saving of pcbnew colors when edited from layers widget
2020-04-23 22:33:02 -04:00
Jon Evans
2d95270a31
Add color theme settings to pcbnew
2020-04-23 21:55:29 -04:00
Ian McInerney
60891f0b6d
Add more trace messages in the tool framework
2020-04-23 23:56:53 +01:00
jean-pierre charras
fd59660ec8
Save new svg plot options in the board plot parameters section.
2020-04-23 10:02:59 +02:00
jean-pierre charras
7e0a1a16ee
SVG plotter: use %f instead of %g to print floats.
...
Looks like scientific notation is not always accepted by Inkscape.
2020-04-23 07:59:41 +02:00
jean-pierre charras
825d202480
Fix some strings to help translation.
...
Remove translation mark for strings used in debug, or strings
that cannot be translated (for instance because they are char strings
instead of wide char strings)
2020-04-23 07:40:19 +02:00
Jon Evans
f7ebf2af5e
Add separate color setting for bus junctions
...
Fix plotting and printing to use bus color when
connectivity detects that the junction is on a bus.
Fixes #4098
2020-04-22 21:55:48 -04:00
Michael Kavanagh
e4cbeeab4c
Remove dead code in pcbnew
...
* Remove dead zone printer
* Remove old canvas in pad properties window
2020-04-22 21:50:15 +00:00
Jeff Young
c8140ddb4a
Fix a typo that was keeping units refresh from working.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4249
2020-04-22 22:41:00 +01:00
Jeff Young
5bc6ad9786
Make UNIT_BINDER sensitive to parent frame user unit changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4243
2020-04-22 20:45:45 +01:00
Jeff Young
fbd68722b2
Fix a couple of problems with text stroke thickness.
2020-04-21 21:17:59 +01:00
Oleg Endo
2f1d23312f
add BOARD_CHANGED and UNITS_CHANGED events
2020-04-21 13:23:56 +00:00
Oleg Endo
7bf8a744f1
add support for board listeners
2020-04-21 13:23:56 +00:00
Seth Hillbrand
819f28daf5
Revert part of 9c8941e04
...
This accidentally changed gerber plotting behavior, resulting in invalid
aperture sizes
Fixes https://gitlab.com/kicad/code/kicad/issues/4232
2020-04-20 15:42:23 -07:00
Johannes Pfister
e5042a46ba
Add ability to set SVG plot units and precision
...
ADDED: Ability to set SVG to metric or imperial units
and made it possible to change the size of a step
2020-04-20 22:02:03 +00:00
Jeff Young
10684e9961
Attempt to work around clipping bug on GTK wxSearchCtrl.
2020-04-20 21:49:32 +01:00
Jeff Young
db9fd3be21
Minor cleanup.
2020-04-20 21:49:32 +01:00
Seth Hillbrand
1770a1ea21
Prevent invalid decrement in tool manager
...
Iterating over the tool stack, we potentially remove the current
iterator. If this removal happens at the beginning of the toolstack, we
cannot decrement the iterator to a position before the stack without
creating an invalid state.
2020-04-20 11:50:45 -07:00
Jeff Young
94e2690fed
Fix compile issue on clang.
2020-04-20 17:19:29 +01:00
Jon Evans
3ff3d2cb14
Fix errant $
2020-04-19 19:13:24 -04:00
Jon Evans
b802a3e776
Add command-line option to generate netlist and exit
2020-04-19 19:13:24 -04:00
Jeff Young
c977addfa2
Fix conflict between special char escaper and super/subscript.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4227
2020-04-19 21:16:22 +01:00
Jeff Young
c08a6adb2a
Implement GUI and file R/W for 3D model opacity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2087
2020-04-19 18:24:39 +01:00
Jeff Young
71fd560735
Add "Export to other sheets" to paper settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2177
2020-04-19 18:24:39 +01:00
Ian McInerney
e528769637
Move TOOLS_HOLDER into tools/ folder
...
Also clean up some compiler warnings
2020-04-19 01:51:49 +01:00
Ian McInerney
7bda8178d1
Move library includes to main CMake file
...
Placing them behind the SYSTEM directive tells CMake to tell
the compiler they are system libraries, so it shouldn't show
warnings created from them.
2020-04-19 01:11:56 +01:00
Jeff Young
2b6089240a
Change super/subscript syntax to ^{foo} and _{foo}.
2020-04-18 21:04:41 +01:00
Jeff Young
d7d1cb6f78
A bunch of fixes to Eeschema Find/Replace.
2020-04-18 14:43:08 +01:00
jean-pierre charras
56c31e65f6
Fix a compil issue: Try a better fix than commit 8f0449c
.
2020-04-18 12:36:05 +02:00
jean-pierre charras
8f0449cbab
Fix a compil issue.
2020-04-18 09:02:51 +02:00
Ian McInerney
3b67e3d0a4
Rewrite window positioning logic
...
Now only reposition a window if it is completely on a
disconnected display or if only one corner is on screen
and it is within a region close to the screen border.
CHANGED: Window position on startup should be preserved more
2020-04-18 00:47:38 +01:00
Ian McInerney
b8d2802cfe
Add missing cases to silence compiler warnings
2020-04-18 00:47:35 +01:00
Jeff Young
919a66a703
Remove side-effect from finishTool().
...
It belongs out in the calling loop so that if someone else uses
finishTool() later they won't get bit by it.
This also fixes a crash bug where we weren't deactivating all tools
because we couldn't back up at the beginning of the stack (and the
loop increment therefore went past the first element).
Fixes https://gitlab.com/kicad/code/kicad/issues/4206
2020-04-16 21:58:45 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Tomasz Wlostowski
ee70c6dd5b
NESTED_SETTINGS: allow to create/load without a parent settings object. Used for test/mocking
2020-04-15 13:00:48 +02:00
jean-pierre charras
04ea20dd44
Eeschema, SCH_PAINTER: fix max text thickness issue, to have small texts readable.
2020-04-14 11:08:42 +02:00
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
2020-04-13 20:58:13 +01:00
Jeff Young
122b1ddaae
Unwrap an unnecessary layer now that we have new config stuff.
2020-04-13 20:58:12 +01:00
jean-pierre charras
bdada70ee7
Cosmetic enhancements: add bitmaps to a few context menus.
...
Fix also a minor compil warning.
2020-04-12 10:29:28 +02:00
Jeff Young
84944524cc
Fix crash on OSX when page was changed before hack array was alloc'ed.
2020-04-10 22:49:56 +01:00
Jeff Young
b067e441c7
Show/hide sheet colors when flipping override flag.
2020-04-10 00:35:17 +01:00
Jeff Young
f4e22a9264
Add ability to override individual item colors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4167
2020-04-09 17:17:27 +01:00
Jeff Young
317e98b344
Simplify user model for editing color themes.
2020-04-08 22:34:56 +01:00
Jeff Young
8eb15fe911
Tidy up some Coverity issues.
2020-04-07 17:29:58 +01:00
Jeff Young
76bbb71402
Correct some formatting issues.
2020-04-07 17:29:58 +01:00
Jeff Young
5b70856a85
Change default sheet background color to transparent.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4166
2020-04-06 12:31:59 +01:00
Jeff Young
322ab60cc5
Fix some Coverity issues.
2020-04-06 12:31:59 +01:00
Ian McInerney
cb380cda0c
Fix some build warnings
2020-04-06 00:31:45 +01:00
Jeff Young
b13559c926
Add envVar and text variable resolution to plot directory paths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3808
2020-04-05 23:56:24 +01:00
Jeff Young
cc9ac37a0e
Add text variable support to envVar processing.
2020-04-05 20:52:26 +01:00
Ian McInerney
c0b03a043e
Force menubar update when file history is changed
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4137
2020-04-05 18:05:43 +01:00
Jeff Young
591428b0d9
Remove some problematic global variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4121
2020-04-05 16:17:04 +01:00
Ian McInerney
306ebb0e89
Cleanup dynamic casts in unit binder
2020-04-04 12:24:54 +01:00
Thomas Pointhuber
b707c84b62
Use Record handling for parsing
...
Now, we know how big a record is, and should be able to parse all boards without missing bytes?
2020-04-03 23:22:24 +00:00
Jeff Young
78dfbca9a3
Save pre-eval values for Move Exactly dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4088
2020-04-03 21:47:47 +01:00
Wayne Stambaugh
082944ad06
Minor build warning fixes.
2020-04-03 13:03:23 -04:00
jean-pierre charras
b1b8a32078
fix a few Coverity warnings and compil minor warnings.
2020-04-03 09:54:47 +02:00
Jon Evans
23c1baae8e
Defer image surface destruction until next paint
...
Fixes #4043
(cherry picked from commit dbf786e456f2792476791caf9dadfeb43e9ab383)
2020-04-02 14:36:57 -04:00
jean-pierre charras
161b73e55b
Enable storing pin function (pin name) in pads.
...
This is useful in board routing.
It is plotted in pad attribute TO.P in Gerber files.
2020-04-02 20:14:45 +02:00
Jeff Young
a76ddb52a0
Add sheet borders and backgrounds to Edit Text & Graphics.
...
Also moves sheet border and sheet background colours to preferences
so it's clearer they're just for newly-created items.
Fixes https://gitlab.com/kicad/code/kicad/issues/4144
2020-04-02 14:01:30 +01:00
Jeff Young
811968716c
Add OSX layout hack to PAGED_DIALOG for preferences.
2020-04-02 14:01:30 +01:00
Jeff Young
4966ab802e
Support single-click colour editing in dialogs.
2020-04-02 14:01:30 +01:00
Jeff Young
13d3f57fce
Implement a different solution to refreshing lib trees.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4110
2020-03-31 02:09:31 +01:00
Jeff Young
eb855d40bb
Restore lib tree refreshing, but don't attempt to refresh tree root.
2020-03-30 17:30:26 +01:00
jean-pierre charras
58e03be23c
Fix a compil issue.
2020-03-30 17:38:19 +02:00
Jeff Young
a1d62e0622
Improve some comments.
2020-03-30 14:15:59 +01:00
Jeff Young
41b5872f12
Add ERC & DRC checks for unresolved variables.
2020-03-30 14:15:59 +01:00
Jeff Young
4990d1e7b2
Variable substitution framework.
...
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
jean-pierre charras
9d2712a824
Fix a few Coverity warnings.
...
It also fix:
Fixes #4082
https://gitlab.com/kicad/code/kicad/issues/4082
2020-03-29 18:42:24 +02:00
Ian McInerney
c29c3d9cc1
Diferentiate action types in the tool trace
2020-03-28 22:01:35 +00:00
Jeff Young
88c4254bb5
Discourage use of wxDataViews. WX_GRID is much less problematic.
2020-03-28 16:09:40 +00:00
jean-pierre charras
c41199f048
lib_tree.cpp: Fix a lot of wxWidgets alerts on Windows.
...
On Windows calling m_adapter->RefreshTree() to refresh the tree does not work fine.
Just calling Refresh() is enough.
2020-03-28 11:00:54 +01:00
jean-pierre charras
aebfbda183
DRC dialog: fix a crash when clicking on a item in Footprint Warning panel:
...
if the warning is a missing footprint, obviously there is no marker associated.
It creates a crash due to a null pointer.
Fixes #4114
https://gitlab.com/kicad/code/kicad/issues/4114
2020-03-28 11:00:54 +01:00
jean-pierre charras
53a98b45f0
DIALOG_ABOUT_BASE: fix a minor wxWidgets alert
2020-03-28 11:00:54 +01:00
jean-pierre charras
de7154e8e9
Gerber plotter: Non horiz or vertical oval pads: better plot output:
...
These pads were plotted as a segment. This is not the right way.
Pads must be flashed or plotted as regions, not painted.
They are now plotted as Gerber regions round rectangle pads.
These regions are similar to flashed pads.
2020-03-27 10:34:41 +01:00
Jeff Young
d69ebfae49
Push tool framework base down into TOOL_HOLDER.
...
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
Jeff Young
14788eec94
Performance improvement in wx_grid column label height calc.
...
Don't call GetColLabelValue() repeatedly. It's expensive as it doesn't
cache the string translations.
2020-03-24 19:00:25 +00:00
Jeff Young
c4aed3a8de
Add user-configurability of the LibEdit axes color.
2020-03-24 19:00:25 +00:00
jean-pierre charras
4d9d1a5380
Fix a few compil minor warnings and Coverity minor issues
2020-03-22 09:45:51 +01:00
Jeff Young
d25a63cd02
Don't allow selection flags to leak in to the libmanager cache.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4021
2020-03-21 23:25:08 +00:00
jean-pierre charras
9cb3333d05
Gerber plotter: plot round rectangle pads using a region with arcs.
...
Previously, the region was a usual polygon with arc approximated by segment.
Using a region with arcs is a better way because it allows CAM tools to
identify this region as a round-rect pad.
A side effect is a better shape and smaller files, however not really noticeable in fact.
2020-03-20 19:45:05 +01:00
Jeff Young
e9cd9ee8ff
Actionize the rest of the 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2228
2020-03-19 15:10:32 +00:00
jean-pierre charras
04e4599989
PANEL_SETUP_SEVERITIES: skip non existing error codes in TransferDataFrom/ToWindow
...
Fixes #4066
https://gitlab.com/kicad/code/kicad/issues/4066
2020-03-18 09:17:43 +01:00
Wayne Stambaugh
7dc64f08b7
Eeschema: implement s-expression schematic file formatter.
...
Please note that the symbol cache is not embedded in the schematic file
to allow for round robin testing with the existing file format. Once
the parser round robin testing is complete, the symbol cache will be
embedded in the schematic file.
2020-03-16 09:05:16 -04:00
Jeff Young
cee973dc04
Move ERC error reporting over to the new framework.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-16 11:06:15 +00:00
Jeff Young
085d80e3f3
Remove duplicated settings from preferences.
...
These have now moved to project-specific settings.
2020-03-13 17:28:53 +00:00
jean-pierre charras
08f0e8d6e8
Pcbnew, Gerber output: always generates Aperture Attributes.
...
Previously, for historical reasons, they were added only if
Include Netlist Attributes option was on.
But Aperture Attributes have nothing to do with Netlist Attributes, and good
Gerber files must include them.
2020-03-12 16:57:13 +01:00
Jeff Young
c699fb9e39
Move pin-to-pin errors to Setup Schematic.
2020-03-11 21:43:55 +00:00
Jeff Young
437f888c25
Schematic Setup dialog.
...
Includes:
- moving some of the project settings from the Preferences dialog
- ERC severites
- project-specific field-name templates
Fixes https://gitlab.com/kicad/code/kicad/issues/2145
2020-03-10 18:54:17 +00:00
Jeff Young
bbf5ad6160
Improve dialog spacing and remove 'auto' type decls.
...
Also fixes a couple more coding style issues.
2020-03-10 18:54:17 +00:00
Jeff Young
becc66b583
Change some layer names for better grouping when alphabeticized.
2020-03-10 18:54:17 +00:00
Jeff Young
d875d5850e
Update library trees when their items change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4019
2020-03-08 15:18:19 +00:00
Jeff Young
3e34c1783f
Added sheet border width, border color and background color.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2216
2020-03-08 15:18:19 +00:00
Jon Evans
8cb8d55843
Remove unnecessary exception handling in settings
...
Use optionals instead where a value can be absent
Fixes #4024
2020-03-07 16:06:33 -05:00
Jeff Young
fb00ca12d6
Performance enhancements for stroke font initialisation.
2020-03-07 18:52:30 +00:00
Jeff Young
535033c5c9
Enable editing of sheet fields.
2020-03-07 18:52:30 +00:00
Ian McInerney
a2ad9d67ba
Expose more version strings from CMake
...
Let cmake generate the needed version strings, so we don't
have to spend program time doing it. This simplifies the
settings manager versioning.
Also, convert some file line endings to UNIX from Windows.
A more robust fix for https://gitlab.com/kicad/code/kicad/-/issues/4015 .
2020-03-07 18:43:24 +00:00
Jon Evans
01a6d0067b
Add missing layer name for sheet fields
...
Fixes #4018
2020-03-07 09:44:06 -05:00
Jon Evans
1e61668cee
Make GetSettingsVersion handle extra version appends better
...
Fixes #4015
2020-03-07 09:33:35 -05:00
Jeff Young
fe3e0307d8
Move sheet name and filename to SCH_FIELD architecture.
...
Only internal storage architecture has changed (so far).
2020-03-06 16:23:44 +00:00
Jon Evans
dd56f6f8e2
Increase width of bitmap button on settings migration dialog
2020-03-06 08:15:14 -05:00
Jon Evans
643c97a2f4
ADDED: Schematic plotting can use a dedicated color theme
...
ADDED: PDF, PS, and SVG plots can optionally include the page background color
Fixes #1830
2020-03-06 00:01:02 -05:00
Jon Evans
8660b4c144
ADDED: New color theme editor and multi-theme support
2020-03-06 00:01:03 -05:00
Jon Evans
ca1ab0af16
Set expand flags and minimum button size on migration dialog
...
Hopefully fixes #3989
2020-03-04 21:47:28 -05:00
Seth Hillbrand
e38ab6c699
Treat 0-length ovals as circles
...
Some buggy SVG interpreters can't handle 0-length ovals. In this case,
they are meant to be circles, so we can export as circles in our
plotter.
Fixes https://gitlab.com/kicad/code/kicad/issues/3995
2020-03-04 18:03:20 -06:00
Seth Hillbrand
ecbfea68dd
ADDED: Allow creation of nets in pcbnew
...
When editing pcb items, the creation of a new net to connect existing
pads or traces can be a useful shortcut. This inserts the ability to
optionally create a new net from the Net Selector dropdown menu.
2020-03-04 16:11:47 -06:00
Seth Hillbrand
12088f240d
Fix a couple crashes with small canvases
...
The canvas size is not guaranteed to be strictly > 0, so we need to
enforce a minimum returned size before dividing by it or passing to GAL
initialization
2020-03-04 14:33:42 -06:00
jean-pierre charras
b7cd0c54c2
Fix compil issues, especially on Windows:
...
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young
21469efa63
Make sure EESCHEMA definition gets passed into common.cpp.
...
Also includes a fix to seed timestamps that got incorrectly
written out as '00000000' because of the above.
Fixes https://gitlab.com/kicad/code/kicad/issues/3977
2020-03-04 02:04:18 +00:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Marcus Comstedt
349c0e1a14
gal/opengl: Fix shader link state check
...
The old code caused a bool (size 1) to be overwritten by a GLint (size
4) causing undefined behaviour.
Fixes https://gitlab.com/kicad/code/kicad/issues/3981
2020-03-03 21:47:43 +00:00
Marcus Comstedt
55ac575a88
Cairo GAL: fix incorrect use of pixman formats
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3970
2020-03-03 18:07:30 +00:00
Wayne Stambaugh
e1900161a7
Eeschema: implement new symbol library file s-expression formatter.
...
CHANGES: Symbol library file format has been converted to s-expressions.
Add support code for picking apart symbols at some future junction that
will allow full inheritance conversion of existing symbol libraries. For
now, symbols arranged by unit and body style numbers are nested for round
robin testing of symbol libraries once the parser is complete.
2020-03-03 08:06:22 -05:00
Jon Evans
08ef7de493
Use STL replace instead of Boost in JSON_SETTINGS
2020-03-02 19:18:52 -05:00
jean-pierre charras
911c6eb781
Pcbnew, DIALOG_NETLIST: fix incorrect storage of wx_MessageWindow options.
...
Config values were not stored into the right variables.
Make also an option persistent during the session
in DIALOG_UPDATE_PCB and DIALOG_NETLIST
DIALOG_UPDATE_PCB and DIALOG_NETLIST match options: use same order in dialogs.
2020-03-01 20:49:56 +01:00
Simon Richter
0f105c4c9a
Fix preprocessor expression
...
The "and" and "or" keywords are only defined if <iso646.h> is included.
This fixes the C4067 warnings.
2020-03-01 00:33:45 +00:00
Andrew Downing
2f7ac2b5b4
Don't truncate polar coordinates in position relative dialog/move exact dialog
2020-02-29 02:21:18 +00:00
Jon Evans
72a6963e9e
Free some memory that asan was complaining about
2020-02-27 22:58:33 -05:00
Jon Evans
9cc5b4b3f9
Fix management of nested settings for PNS
2020-02-27 22:53:00 -05:00
Jeff Young
3860ab9f0c
Fix issue returning pointers to items inside std::vector.
...
(When the vector is re-allocated your pointers become bogus.)
2020-02-27 22:00:51 +00:00
Tomasz Wlostowski
ce683c403a
genral: always link libcurl to avoid unresolved symbols in pcbnew
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
6673554866
common: prevent segfault with no edit frame in TOOL_MANAGER
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
33f9843fb7
ACTION_MANAGER: prevent null object call when used without a host frame
2020-02-27 22:02:56 +01:00
Jon Evans
b1fd931251
Use grid color for worksheet page borders
2020-02-25 20:36:27 -05:00
Jon Evans
009641d151
Make libcurl a required dependency and always build KICAD_CURL
2020-02-26 01:03:07 +00:00
Ian McInerney
879a8f4efb
Rework the file history menus to not need references to the file history
...
Keeping a pointer to the actual file history inside a special
file history menu led to many cases of use after free crashes,
so instead rework the actual file history to add the menu
items.
Fixes https://gitlab.com/kicad/code/kicad/issues/3741
2020-02-25 16:18:10 +00:00
Ian McInerney
cc588471ca
Hardcode the minimum window size
...
For some reason, OSX won't return the minimum window size properly
using GetMinWidth/GetMinHeight, so it would not properly adjust
windows with saved size (0,0).
2020-02-25 01:14:06 +00:00
Jeff Young
c7ec110fba
Only center focused items when they're not visible.
...
This includes outside the window and behind an occluding dialog.
This keeps the view from jumping around when focusing on nearby
objects.
2020-02-24 23:19:17 +00:00
Jon Evans
d3d74b36bd
Allow version selection; make buttons the same size
2020-02-22 11:23:47 -05:00
Jon Evans
80233aece9
Fix URL launching on MacOS
2020-02-22 09:47:51 -05:00
Jon Evans
712ae5a953
Check if scaling factor has changed when top-level window is moved
...
Fixes #2592
2020-02-22 01:25:08 +00:00
Jon Evans
96da45f12f
Rework window size and position fixing code
...
Fixes #2624
Fixes #3888
2020-02-22 01:25:08 +00:00
Seth Hillbrand
3af868e3d1
Adding Arcs to TRACKS
...
This expands the TRACKS class to also include ARCS
2020-02-21 23:51:58 +00:00
Jeff Young
ea025a35e5
Change KUUID to KIID.
2020-02-21 22:20:42 +00:00
Jon Evans
a533748796
Cleanup
2020-02-21 09:30:08 -05:00
Jon Evans
ad3e99f933
Fix file history save order
2020-02-21 08:12:53 -05:00
Jon Evans
fcdf2bac0b
Remove dead code
2020-02-21 08:07:15 -05:00
jean-pierre charras
6d44a93eaf
Linking, mingw: Add bcrypt to libraries linked to libcommon.
...
It is already added with MSVC, and must be added with gcc/mingw
However, the cmake option:
add_definitions( -DBOOST_UUID_FORCE_AUTO_LINK )
does not work on msys2 (at least with my cmake version), so another syntax is used.
2020-02-21 10:37:59 +01:00
Jon Evans
ea733639ff
Rearrange about dialog; add easy bug report button
...
Fixes #3871
2020-02-20 22:20:34 -05:00
Jon Evans
da1ba54188
Expose curl_easy_escape via KICAD_CURL_EASY
2020-02-20 22:07:17 -05:00
Jon Evans
dc75c2b800
Factor out utility to launch a given file or folder
2020-02-20 22:07:17 -05:00
Jon Evans
e8e3b4f11e
Rename UUID to KUUID to fix MSVC build
...
Also add another newly-required boost flag
2020-02-20 22:07:17 -05:00
Jeff Young
e69c82f45f
Back out changes which updated the eeschema file format.
...
We'll wait until we have the new eeschema format to turn on UUID
generation for Eeschema. Right now only Pcnbew generates full UUIDs.
2020-02-20 23:40:30 +00:00
Jeff Young
48874a7f19
Fix mis-match between color defaults in old and new systems.
2020-02-20 21:29:52 +00:00
Jeff Young
81dd1d7a68
Timestamp-based paths were ugly. UUID-based ones are worse.
...
Show a human-readable path in the Edit Footprint dialog.
2020-02-20 21:29:52 +00:00
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
2020-02-20 21:29:52 +00:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras
625249322e
Pcbnew: regroup drc files to the already existing drc folder.
2020-02-19 10:31:32 +01:00
jean-pierre charras
021eb2f3a8
Fix incorrect usage of a UTF8 char in a C string in code.
...
Using a UTF8 char inside a C string can work on unix, but not on Windows.
It must be explicitly converted in a unicode value inside a wide string
(like a wxString)
2020-02-16 10:21:36 +01:00
Ian McInerney
43514a18bb
Test every environment variable when doing substitution to remove more directories
...
CHANGED: Use the environment variable that removes the most directories
Fixes https://gitlab.com/kicad/code/kicad/issues/2500
2020-02-14 22:59:18 +00:00
Ian McInerney
36de20a0a7
Allow space to toggle all selected entries in a grid
...
CHANGED: Space now toggles all selected checkboxes in a grid
Fixes https://gitlab.com/kicad/code/kicad/issues/2252
2020-02-14 19:28:18 +00:00
Ian McInerney
4fef513a3f
Fix library table panel path adding and cleanup duplicate dialog
...
When adding a .pretty library, if the actual .pretty folder were
selected then no folder would be added to the list of libraries.
This led to an assert when normalizing paths, and the library
not being added.
2020-02-14 19:07:27 +00:00
Jeff Young
3ec360f15c
Save pinned libraries in project.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2288
2020-02-14 14:22:54 +00:00
jean-pierre charras
f17f10d2a6
Eeschema, DIALOG_UPDATE_FIELDS: ensure mandatory fields are put in list.
...
Add also a comment in common.cpp about using wxLocale instead of setlocale.
DIALOG_UPDATE_FIELDS has issues in non English languages, due to its design.
The fix for mandatory fields is only a partial fix that avoid major issues.
2020-02-14 13:07:13 +01:00
Ian McInerney
25b3cce474
Fix build error and cleanup overzealous refactor changes
2020-02-14 00:56:41 +00:00
Jeff Young
2017389f2d
Pinning for library trees in FPEditor and SymbolEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2288
2020-02-14 00:10:40 +00:00
Seth Hillbrand
39a45f2a81
Correct cyrillic 'f' in newstroke
...
The lowercase greek phi had been used which did not match the cyrillic
f. We use the variant of phi that includes the full strokes instead.
Fixes #3898 | https://gitlab.com/kicad/code/kicad/issues/3898
2020-02-12 14:08:02 -08:00
Seth Hillbrand
03f74c87a1
Update immediate mode location and restart wires
...
The immediate action option clears (or not) the position of the events.
We use this to determine if the command should start at the given
position or merely activate the tool. This was being checked in the
menu options, which only activated for tool commands in the context
menu. Moving to the process event, we catch hotkeys as well.
This also restores the previous logic in eeschema that used a static
variable for storing wires rather than the private class variable.
Starting the draw event now picks up from the existing wires when
activated in immediate mode.
Fixes #3891 | https://gitlab.com/kicad/code/kicad/issues/3891
2020-02-11 09:12:36 -08:00
jean-pierre charras
feab56f6e7
LOCALE_IO: replace the call to setlocale by a call to wxLocale to switch to "C" locale.
...
Previously we call only setlocale( xx, "C" ), but it was not enough on Windows.
Now we call wxLocale("C")
wxLocale calls setlocale, but also make some others initialization in wxWidgets.
It fixes some issues related to comma versus point as fp separator.
Especially wxWidgets warnings are no longer thrown, and a one case of incorrect
conversion is fixed.
2020-02-11 16:19:00 +01:00
Wayne Stambaugh
e933045663
Fix build issue exposed by commit b824051a
.
...
The combination of left over test code in lib_id.h/cpp and the changes
to handle the DEBUG compiler flag correctly on all platforms exposed a
swig issue on debug builds. Removing the offending test from lib_id.h
resolved the issue.
2020-02-07 15:29:03 -05:00
jean-pierre charras
46b72d807b
Kicad manager: Avoid crash when calling configure paths or libraries from main menu,
...
when _eeschema.kiface or _pcbnew.kiface is not found.
Happen mainly when running Kicad from build tree.
Now a suitable error message is displayed.
Fixes #3868
https://gitlab.com/kicad/code/kicad/issues/3868
2020-02-06 11:41:21 +01:00
Ian McInerney
b1240b5b1e
Gracefully shutdown tools when frames are closed
...
If the tools are not gracefully exited, then the stack variables are
never destroyed, so variable lifetime issues can occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/1753
2020-02-05 22:23:24 +00:00
Jon Evans
fe375b4419
Allow sheet pins to be strong drivers if they don't conflict with anything
...
Also try harder to match bus members in case one was renamed by a higher
priority label.
Fixes https://gitlab.com/kicad/code/kicad/issues/3797
2020-02-05 14:23:55 +00:00
Jon Evans
8fb72d8290
ADDED: Expose GetBuildVersion and GetBuildDate to Python
2020-02-05 13:28:44 +01:00
Simon Richter
48ce1239a2
Remove unused LIB_TABLE_ROW::Parse
2020-02-05 09:56:41 +00:00
Ian McInerney
6b8d81e95d
Add zone area to message panel
...
ADDED: Area of zone fill is displayed in the message panel
Fixes https://gitlab.com/kicad/code/kicad/issues/2412
2020-02-05 09:44:53 +00:00
Drew Fustini
f359892de3
Update copyright year in About dialog to 2020
2020-02-03 22:56:42 +00:00
Jeff Young
a1c2abaff5
Get rid of line-weight component of overbar height.
...
It's not really necessary and it messes up text highlighting.
Fixes https://gitlab.com/kicad/code/kicad/issues/3680
2020-02-03 19:35:48 +00:00
jean-pierre charras
465ffff162
Gerber plots: Add initial G01 command to the header,
...
to ensure linear interpolation mode.
To avoid issues, an interpolation mode must be set before first D01 command.
2020-02-03 17:55:19 +01:00
Jeff Young
a04fdf64da
Improve directory handling for Project Save As.
...
1) don't change directory names that we don't recognize
2) when we do, make sure the child files get copied to the
changed name.
Fixes https://gitlab.com/kicad/code/kicad/issues/3834
2020-02-03 15:08:01 +00:00
Ian McInerney
4f82939384
Fix layout in color dialog on GTK
...
Don't initially set the minimum widget size, and instead let it be
computed at launch.
Fixes https://gitlab.com/kicad/code/kicad/issues/2617
2020-02-02 15:28:21 +00:00
jean-pierre charras
79e7a27492
Fix a few Coverity warnings.
2020-02-02 08:55:24 +01:00
jean-pierre charras
ad3c4b37ab
Fix a few coverity warnings
2020-02-01 15:15:51 +01:00
Alexander Shuklin
3d0b3a51f3
Eeschema: Adding back annotation
...
ADDED: Back annotation algorithm,
eeschema back annotation dialog
CHANGED: added some minor helper methods to SCH_REFERENCE_LIST and SCH_REFERENCE,
split SCH_REFERENCE_LIST::CheckAnnotation on 2 parts to reuse code
2020-01-29 16:33:57 +00:00
jean-pierre charras
460060a694
page layout editor: fix incorrect bitmaps bounding box size.
...
Bitmap size is using Eeschema units.
So the size was incorrectly calculated for pl_editor.
2020-01-24 11:52:41 +01:00
Ian McInerney
06c979dfaa
Convert all CMake paths to absolute instead of relative
...
It is cleaner and safer to handle the include and source paths
as absolute from the source directory instead of relative to every
path.
2020-01-22 23:27:20 +00:00
Alexander Stock
974f84a5a6
Use proper encoding in UnescapeString() to speed up processing
...
Use the proper encoding to prevent extraneous conversion encoding conversion inside UnescapeString(). This change reduces the eeschema symbol library loading time (ubuntu and windows build) from 2700ms to 1700ms.
See merge request https://gitlab.com/kicad/code/kicad/merge_requests/70
2020-01-20 10:51:20 +00:00
Mark Roszko
8ac0d84f45
Fix invalid std::array constructor causing MSVC illegal indirection error
2020-01-20 01:30:26 +00:00
Ian McInerney
c4277409d7
Add missing header that broke compilation
2020-01-19 11:52:34 +00:00
Seth Hillbrand
7c296fbcb7
GRID_HELPER: Provide alignment axes from snap points
...
ADDED: alignment lines from item snap points
Alignment lines are shown when moving the cursor horizontally or
vertically from a possible snap point.
2020-01-18 20:43:40 -08:00
jean-pierre charras
d714773c22
Fix a minor compil warning. Add a wxASSERT in hierarch.cpp.
2020-01-18 18:23:21 +01:00
Ian McInerney
39b1f0e1ff
Replace wxCriticalSection with std::mutex
2020-01-15 23:42:16 +00:00
Ian McInerney
415aaabc29
Fix return type in KIDIALOG
...
It was returned as a bool for some reason...
2020-01-15 18:29:15 +00:00
Mark Roszko
a80b2b7e39
KIDIALOG should ignore "cancel" for the do not show again option.
...
Fix #3734
2020-01-15 18:23:07 +00:00
Jeff Young
0f4c56cbbd
Also catch null dereference in case wxASSERT was skipped.
2020-01-15 17:51:48 +00:00
Jeff Young
1bdcb33f75
Handle error returns from lstat.
2020-01-13 20:16:42 +00:00
Jeff Young
9df2cfb328
More uninitialized variables.
2020-01-13 20:16:40 +00:00
Jeff Young
91d1508c16
Fix some Coverity identified issues.
2020-01-13 20:16:40 +00:00
Jeff Young
aeba5c005f
Many callers of uni_forward are not expecting an exception.
...
Remove the throw and used a different mechanism to detect non-unicode.
2020-01-13 15:40:32 +00:00
Ian McInerney
e2853862e5
Cleanup redundant type casting
2020-01-13 14:00:45 +00:00
Ian McInerney
8fc434be19
Formatting change for dynamic cast tests
2020-01-13 01:48:57 +00:00
Ian McInerney
36f6b4a9b4
Clean up redundant dynamic casts
2020-01-13 01:39:08 +00:00
Jeff Young
836c1ea56e
Fix a bunch of un-caught boost::bad_pointer exceptions.
...
This also removes vector cover types which do nothing except obfuscate
the underlying implementation.
Mainly changes SCH_SHEET_PINS and CONFIG_PARAM_ARRAY (which will soon
be replaced by Jon's new stuff).
2020-01-12 19:55:00 +00:00
Ian McInerney
b445ce6632
Clean up pointer casting
...
* Make note of when dynamic cast is actually needed
* Convert some to static cast when we know the type for sure
2020-01-12 19:45:37 +00:00
Ian McInerney
00e58cd974
Fix unintialized values (from coverity scan)
2020-01-12 13:00:42 +00:00
Jeff Young
b343391723
Code cleanup for readibility.
2020-01-11 21:30:48 +00:00
Ian McInerney
f896043067
Fix comments for switch statement fall throughs
...
This cleans up all GCC warnings (-Wimplicit-fallthrough=2) about
implicitly falling through switch cases.
2020-01-11 19:16:32 +00:00
Seth Hillbrand
4ebb87d1c1
Fix Eeschema BW printing
...
Checks forced state when printing to convert images to grayscale.
2020-01-11 09:55:30 -08:00
Seth Hillbrand
195c3d074b
Fix bitmap clipping
...
When printing (using DC context) the bitmap will clear the full screen
unless the clipping region is set to the image itself.
Addresses KSC ticket 126
Fixes #1877 | https://gitlab.com/kicad/code/kicad/issues/1877
2020-01-11 09:47:19 -08:00
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Seth Hillbrand
2a780dba0e
Initialize view variable
...
Sets known initialization value to the last keyboard command
2020-01-10 16:43:01 -08:00
Seth Hillbrand
d1a0102e84
eeschema: Fix print order between worksheet and screen
...
The worksheet should be drawn behind the screen.
2020-01-10 16:33:53 -08:00
Seth Hillbrand
a35db35029
eeschema: Fix bitmap scaling when printing
...
Bitmaps scale internally to 100nm instead of 1mil. There is a better
way to do this but I think we'll be adjusting it again when Cairo
printing in finished.
2020-01-10 16:33:53 -08:00
Jeff Young
0fd68dad62
Fix freed pointer access issue (from Coverity scan).
2020-01-11 00:09:08 +00:00
Jeff Young
7bb9551801
Handle boost exceptions. (From Coverity scan.)
2020-01-11 00:04:01 +00:00
Jeff Young
c27e278e58
Fix uninitialized variable (from Coverity scan).
2020-01-10 22:32:50 +00:00
Jeff Young
5e5edd03f6
Implement super- and subscript printing and plotting for eeschema.
2020-01-10 22:32:49 +00:00
Jeff Young
65c88ba2c3
Reduce the auto-panning margin and implement acceleration.
2020-01-10 22:32:49 +00:00
Seth Hillbrand
77c60d9655
Remove the last vestiges of dlist
...
It served us (mostly) well for more than a decade. It helped KiCad grow
before the std:: came into decent shape or speed. It was a good little
list.
RIP DLIST 2008-2020
2020-01-10 06:37:08 -08:00
Seth Hillbrand
6e5e453d0d
Replace EESchema DLIST
...
This moves EESchema DLIST structures to rtree. These changes are more
fundamental than the pcbnew changes from 9163ac543
888c01d11
d1877d7c1
and 961b22d60
as eeschema operations were more dependent on passing
drawing list references around with SCH_ITEM* objects.
2020-01-10 06:37:08 -08:00
Ian McInerney
a8d9fcb4e0
Fix event handler type casting
...
The old methods were very clunky and not recommended (and didn't
properly cast the function types). This changes to useing the
recommended way of declaring events and casting the event handlers.
2020-01-09 18:08:49 +00:00
jean-pierre charras
d587bd5bca
SVG plotter: fix an issue with mirrored texts.
...
Mirrored texts have a size < 0.
Of course, the actual value for the plotter is the absolute value.
2020-01-09 18:07:56 +01:00
Mark Roszko
ca34ade00c
Make global labels have the same spin style as net/hierarchical labels
...
For legacy reasons, it stored left and right "spin" as flipped integers in the file format.
But the code handled the flip in multiple locations rather than just doing it on file io.
This change unifies the internal code and does the mapping in the file I/O.
2020-01-08 19:07:55 +00:00
Ian McInerney
9e5d52f92d
Cleanup
2020-01-08 01:49:51 +00:00
Ian McInerney
9dff31c2ac
Remove unused DIALOG_FILE_DIR_PICKER
...
This class was replaced with native dialogs for choosing
the files and directories
2020-01-07 23:40:00 +00:00
Jonatan Liljedahl
f433037dcd
Eeschema: simulator: allow dotted traces for current and phase.
...
ADD: Allow drawing of current and phase traces with dotted style
for easier differentiation from voltage and magnitude. The option
is available in the View menu of the simulator.
2020-01-07 19:45:44 +00:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
Simon Richter
270aaec443
Rewrite FBP files generated with unreleased wxFB
...
These use a few features that are too new, causing errors when trying to
edit with a released version of wxFormBuilder.
2020-01-07 13:32:33 +00:00
jean-pierre charras
a46abcd2dc
FILENAME_RESOLVER: fix missing conversion from UTF8 to wide chars.
...
Fixes #3742
https://gitlab.com/kicad/code/kicad/issues/3742
2020-01-07 13:35:37 +01:00
jean-pierre charras
86f9ed1dd9
Allows pad property only by the kicad_advanced feature.
...
pad property is allowed if "UsePadProperty=1" is found in kicad_advanced.
2020-01-06 18:11:01 +01:00
jean-pierre charras
f2518a5120
ADDED: pad fabrication property, as required in latest Gerber file specification.
...
Property is a pad info used mainly for fabrication or test.
Currently, supported properties are:
BGA property (variant of SMD pad)
Fiducial (global to the board or local to the footprint)
Test Point
Heat sink
Castellated.
And are used in Gerber files (copper layers and drill files)
Increment BOARD_FILE_VERSION to 20200104
2020-01-06 16:37:35 +01:00
Seth Hillbrand
49e3542662
Remove unused common defines
2020-01-06 05:55:06 -08:00
Seth Hillbrand
850ca98e7b
Remove outdated RoundTo0
...
With internal units in 100nm, there are no rounding errors when
representing mm coordinates in eeschema.
2020-01-06 05:15:14 -08:00
Jon Evans
21d577e638
Implement Gerber job file writing using nlohmann/json
2020-01-04 10:46:50 -05:00
jean-pierre charras
5707e6eac8
Fix QA arc test according to the new arc bounding box calculation.
...
Previously, the arc center was included in the bounding box,
but this is incorrect.
In many cases it is not in the bbox, and can be very far away.
2020-01-04 10:16:30 +01:00
Ian McInerney
20e7fc8a0e
Properly escape spaces when opening PDFs on windows
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2625
2020-01-03 19:06:49 +00:00
Ian McInerney
2f75dfb09c
Fix symbol editor column widths
...
102b5301
introduced an issue on GTK where the column width was
incorrect when read, then was set incorrectly (a known problem
on GTK tree views). We should only apply that fix on OSX.
Fixes https://gitlab.com/kicad/code/kicad/issues/3720
2020-01-03 17:04:18 +00:00
Ian McInerney
5d46e721e5
pcbnew: Cleanup includes of pcbnew_id.h
...
* Remove unused IDs from the enum
* Remove the include statements from files that no longer need it
2020-01-03 15:39:05 +00:00
Mark Roszko
49db816c82
Pcbnew: improve add existing footprint library browser and button
...
CHANGED: Modify Add Existing Footprint Library button to us OS file/directory browsers
2020-01-03 15:09:26 +00:00
jean-pierre charras
baa1db031e
Fix incorrect arc bounding box calculation.
...
add comments to SHAPE_ARC ctor.
2020-01-03 14:27:00 +01:00
jean-pierre charras
3543de039b
More about code cleaning.
...
Remove useless includes and dead code
2019-12-31 13:08:50 +01:00
jean-pierre charras
2999bcb721
Try to fix SEG::PointCloserThan(), not working for quasi H or V segments.
...
Quasi H or V segments are segments having the same x value or y value
(with a + or -1 max diff) for end points coordinates.
The change is a workaround, not really a fix.
Fixes #3711
https://gitlab.com/kicad/code/kicad/issues/3711
2019-12-29 18:24:17 +01:00
Ian McInerney
5c0656d97f
Move potrace and libcontext into thirdparty directory
...
Part of the cleanup in #3637
2019-12-28 18:17:55 +00:00
Ian McInerney
6faa2188ed
Silence warnings on MacOS about OpenGL deprecation
...
Apple has apparently deprecated OpenGL and replaced it with
their Metal API. It still works for now though.
2019-12-28 16:05:03 +00:00
jean-pierre charras
d5b8e4928c
Gerber P&P files: escape the double quote char inside user strings.
...
This is a reserved char, used to quote user strings
2019-12-28 13:27:31 +01:00
jean-pierre charras
7241247fbc
Pcbnew: add missing storage of dimension units and dimension precision in pcb files.
...
https://gitlab.com/kicad/code/kicad/issues/3712
2019-12-28 13:27:31 +01:00
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
2019-12-28 00:55:11 +00:00
Mark Roszko
d4dee3c5a0
Inner loop iterator should be size_t as well
2019-12-26 13:10:18 +00:00
Mark Roszko
a418242ca7
Prevent oob on LSET::FmtHex call when BITSET size is not a multiple of 4 (which it isn't usually)
2019-12-26 13:10:18 +00:00
Jon Evans
2ea565473f
LSET: Prevent assertion in MSW when size is not a multiple of 4
2019-12-25 11:34:12 -05:00
jean-pierre charras
60dd1cd5c7
Gerber files: update unicode coding to the 2019 06 Gerber specifications.
...
In gbr files, not allowed chars are coded using a 16 bit (4 hexa digits) unicode sequence.
Previously, it was \XXXX and now is \uXXXX escape sequence.
2019-12-21 11:15:57 +01:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Ian McInerney
b9d8849b28
Unify unsaved changes detection logic in all frames
...
Create an IsContentModified() function in each frame
that provides if the content has been modified, and
use that instead of always copying the checks.
2019-12-19 15:34:01 +00:00
Mark Roszko
686b768a3d
Add shutdown blocking on Windows for pcbnew, eeschema and pleditor
...
ADDED: Block shutdown/logoff on Windows when contents have been modified
2019-12-19 14:11:11 +00:00
Jonatan Liljedahl
1e42d6abeb
symbol-editor: Fix MacOS segfault in lib_tree_model_adapter
...
In LIB_TREE_MODEL_ADAPTER::UpdateSearchString(), don't call
AttachTo() on MacOS.
Fixes https://gitlab.com/kicad/code/kicad/issues/3653 and
https://gitlab.com/kicad/code/kicad/issues/3666
2019-12-19 14:01:35 +00:00
Ian McInerney
3370e89967
Update Linux appdata file and CMake version strings
...
CHANGED: Update the Linux appdata file to include new tags
* Include version tags (and others) in the appdata file
* Refactor the version string generation to clean it up
2019-12-18 17:24:07 +00:00
jean-pierre charras
24cd80ef3e
Gerber plotter: modify G02 and G03 commands.
...
They are now in a specific block and no longer combined with an other command.
(combining these commands with an other command (D01 or D02) is deprecated)
Fixes #3677 | https://gitlab.com/kicad/code/kicad/issues/3677
2019-12-18 11:35:28 +01:00
Ian McInerney
c31c99abd1
Update about dialog link to GitLab
...
Fixes #3687
2019-12-17 20:17:03 +00:00
Ian McInerney
0259e0ba07
Cleanup struct initialization and formatting
2019-12-17 16:09:32 +00:00
Ian McInerney
18dbe51d66
Remove WINCE check
...
We don't actually support Win CE
2019-12-17 15:38:38 +00:00
Mark Roszko
bf32122134
common: Remove out of bounds and erroenous array access
2019-12-17 14:10:52 +00:00
Jeff Young
1f07505b27
Fix long-standing issue with arrow keys moving in both axes.
2019-12-15 14:29:47 +00:00
Wayne Stambaugh
1abb198fb4
Minor UI improvement.
...
Use wxMessageDialog instead of wxRichMessageDialog in DisplayErrorMessage
so the platform specific message dialog is used. wxRichMessageDialog
looks different than the stock message dialog on every platform so only
use it when a checkbox is required.
2019-12-14 12:29:38 -05:00
Mark Roszko
ae785194ce
Silence/fix double to float conversion warnings
2019-12-12 21:51:21 +00:00
Seth Hillbrand
eb3d32f967
SHAPE_LINE_CHAIN: Unify constructors
...
Keeps the multi element SHAPE_LINE_CHAIN constructors in a single
routine using std::vector and implicit construction.
2019-12-12 13:54:48 +00:00
Seth Hillbrand
c4d853c1e8
SHAPE_LINE_CHAIN: Remove element access
...
This is the first step to allowing non-segments in the line chain.
External routines cannot be allowed to change the line chain without
going through the internal routines. To accomplish this, we remove the
Vertex() and Point() access routines and only leave the const versions.
Transformations are given for both points as well as the chain itself.
2019-12-12 13:54:48 +00:00
Seth Hillbrand
7d6665c313
Simplify to merge sequential, parallel segments
...
The Simplify() routine can take multiple segments that are in a single
line and merge them into a single segment, reducing the line complexity.
2019-12-12 13:54:48 +00:00
Ian McInerney
179f31d377
Add a minimum size to the part column in the lib trees
...
When the column has 0 width, it becomes hidden and users don't
know where it went or how to get it back.
Fixes https://gitlab.com/kicad/code/kicad/issues/3656
2019-12-10 23:26:07 +00:00
Seth Hillbrand
fa133f3f5c
Plot SVG embedded
...
ADDED: embedded image support for SVG files
Fixes #3643 | https://gitlab.com/kicad/code/kicad/issues/3643
2019-12-08 08:57:33 -08:00
Wayne Stambaugh
54f066fed7
Implement simple inheritance for library symbols.
...
This change completely removes the LIB_ALIAS design pattern an replaces
it by allowing LIB_PART objects to inherit from other LIB_PART objects.
The initial implementation only allows for single inheritance and only
supports the mandatory fields in the derived part because that is all
that the current symbol library file format will support. Once the new
file format is implemented and saving to the old file format is deprecated,
more complex inheritance will be added. The LIB_ALIAS information saved
in the document files was move into the LIB_PART object. This change
impacts virtually every part of the schematic and symbol library editor
code so this commit message is woefully incomplete.
REMOVE: Removed the symbol aliases concept from the schematic and symbol
editors and the symbol viewer.
NEW: Replace the symbol alias concept with simple inheritance that allows
a library symbol to be derived from another library symbol.
2019-12-06 11:33:52 -05:00
Seth Hillbrand
4f4bb96f2b
Suppress false warning of uninit var
2019-12-06 06:27:47 -08:00
Seth Hillbrand
df75167e14
Fix ordering warning and init error for clang
...
The glyphs and bb pointers were reversed.
2019-12-06 04:33:50 -08:00
jean-pierre charras
52db6acb86
Fix a compil issue on Windows.
...
A wxString was defined as const, but on Windows it is modified.
2019-12-06 08:40:58 +01:00
Seth Hillbrand
ac92afcf13
Clean up compile warnings
...
Ratsnest did not need a reserve and then iterative emplace. Instead, we
use resize(). Stroke font gets private vars initialized and kiway
variables that are only used in debug builds are properly scoped for
releases as well
2019-12-05 20:05:21 -08:00
Seth Hillbrand
6983c56cf8
Use const references where possible
...
This avoids copy cost on local vars where we only read.
2019-12-05 14:40:22 -08:00
Seth Hillbrand
c6f5df134c
Minor speed cleanup
...
This adjusts iterators to use const reference when only used for
copy. It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Seth Hillbrand
6f8b399c5f
Replace unused resize() call
...
Calling resize(size()) will only zero out elements that exist above the
vector size(). The memory is not freed in this case. shrink_to_fit()
will accomplish this action (at the discretion of the library)
2019-12-05 13:21:48 -08:00
Seth Hillbrand
4d2e953f42
Cleanup: Replace C-only deprecated headers
...
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
Seth Hillbrand
a2edf9c442
Unified update to C++14 std::make_unique
...
This update replaces the existing uses of unique pointer creation with
the C++14 std::make_unique call that provides proper memory release in
event of an exception.
2019-12-05 10:43:55 -08:00
Seth Hillbrand
65ef8c1894
StrokeFont: Reserve rather than resize
...
Minor speedup by not double-initializing the stroke font vector.
2019-12-04 16:36:06 -08:00
Jeff Young
581dc81358
Performance optimizations for the stroke font.
2019-12-03 17:45:26 +00:00
Jeff Young
089ce90de3
Fix some issues with the previous commit.
2019-12-02 23:35:19 +00:00
Jeff Young
9b36489270
Make sure that libraries are always sorted consistently.
...
Fixes #1847481 | https://gitlab.com/kicad/code/kicad/issues/1847481
2019-12-02 21:52:50 +00:00
Jeff Young
102b530162
Fix library tree updating bug present at least on OSX.
2019-11-29 17:55:01 +00:00
Jonatan Liljedahl
7c7d9c3e3f
Eeschema: simulator plot: allow standard mac pan and pinch to zoom
2019-11-25 09:24:31 -05:00
jean-pierre charras
a6566b9b53
Fix a crash in some languages when loading a dynamic library.
...
The crash is inside wxDynamicLibrary::Load() when loading Eeschema,
and hard to find on Windows (gdb shows nothing).
Perhaps due to some issue with a specific string.
The fix is to switch to "C" locale with LC_COLLATE option to load the dll.
Fixes: lp:1853681
https://bugs.launchpad.net/kicad/+bug/1853681
2019-11-24 11:56:02 +01:00
Ian McInerney
99b9354a51
Add clear recent files action to the menus
...
ADDED: Menu item to allow the recent file lists in each program to be
cleared
Fixes: lp:1821685
* https://bugs.launchpad.net/kicad/+bug/1821685
2019-11-23 23:35:21 +00:00
jean-pierre charras
f7159e4692
Make pin function in pads an advanced feature.
...
Mainly because it creates a new keyword a new keyword in *.kicad_pcb files,
and needs some tests, this is currently a advanced feature.
Enable it by adding "UsePinFunction=1" in "kicad_advanced" config file.
Note also "UsePinFunction=1" only enable saving this info in *.kicad_pcb
and kicad_mod files.
2019-11-23 09:12:44 +01:00
jean-pierre charras
71cd8c57bf
ADDED: Pcbnew, add "pin function" (pin name in eeschema) to pads.
...
The pin name defined in Eeschema is now available as pad info.
Useful for the board designer (the pin function is displayed in the message panel).
Needed for the Gerber P&P files.
2019-11-23 09:12:43 +01:00
jean-pierre charras
767d7f2009
Fix bug (typo?) in gestfich.cpp.
...
Minor enhancement in treeproject_item.cpp
2019-11-19 16:11:56 +01:00
Jeff Young
89ace3b0d0
Apply the overbar fixes from the stroke font to bitmap text.
...
Fixes: lp:1852037
* https://bugs.launchpad.net/kicad/+bug/1852037
2019-11-18 11:36:30 +00:00
jean-pierre charras
c1f88b2d9c
Gerber P&P file: remove BGA option from TO.CMnt attribute.
2019-11-17 20:34:28 +01:00
jean-pierre charras
6f2cbe5982
Pcbnew: housekeeping: move netlist code to netlist_reader sub directory.
2019-11-17 13:58:38 +01:00
jean-pierre charras
c5290de6ec
housekeeping:
...
Remove not used files:
- markdown2html is not used (we are using "Sundown" tool)
- newstroke_font_without_CJK.cpp is removed.
Due to code optimization the full font works fine without memory issues
-fix also a few very minor compil warnings
2019-11-16 09:39:36 +01:00
jean-pierre charras
544867cf2a
ADD: layer stack manager: support of multilayer dielectric between 2 copper layers
...
This feature is useful for advanced microwave applications.
This is the last missing feature in the board stackup management.
2019-11-15 14:33:10 +01:00
Ian McInerney
88e55bbf2d
Recursively delete directories in the project tree
...
Ensure we iterate over all the sub directories and files inside of them
when deleting a directory from the project tree.
Fixes: lp:1852357
* https://bugs.launchpad.net/kicad/+bug/1852357
2019-11-15 00:26:52 +00:00
jean-pierre charras
de2818c113
Fix a few I18n minor issues.
2019-11-12 13:47:35 +01:00
qu1ck
695caa7dfa
Make stroke font bbox calculation consistent with rendering
...
When rendering tabs we count them as 4 + 1 space but when calculating
bbox it is 4 spaces + '?' width, which is a bit wider.
2019-11-11 20:16:59 -08:00
Seth Hillbrand
ed77f522dd
Align text to 4th column correctly
...
Text mod calculation was off by one in alignment
2019-11-11 20:16:59 -08:00
Jeff Young
04b0feb365
Fix a couple of issues in new Save As command.
...
Handle symbols as well as strings in the "source" lists of
netlist files.
Handle Protex gerber file extensions.
Check for project_name-whatever pattern for files that we
don't recognize (such as project_name-NPTH-drl_map.ps)
2019-11-11 20:36:48 +00:00
Ian McInerney
122ec64c02
Make build date update whenever build version does
...
Previously, the build version would only update if the dialog_about.cpp
file were modified. This moves the date generation into the same file
as the build version, so it will be updated whenever a new version
is made.
2019-11-11 18:01:38 +00:00
Jeff Young
55432d9685
Fix issue with overbar processing.
...
Fixes: lp:1852037
* https://bugs.launchpad.net/kicad/+bug/1852037
2019-11-11 13:05:56 +00:00
jean-pierre charras
4de6ed6206
Fix issues created by Adds Save As... to the Kicad manger.
...
Mainly replacing std::string by wxString to manage filenames.
On Windows, a sdt::string cannot manage a filename, unless using
in many places TO_UTF8 and FROM_UTF8.
So the best way is to use a wxString for filenames and error messages.
2019-11-10 09:37:39 +01:00
Jeff Young
b5904b0401
Installment one of project Save As... feature.
...
ADD: Adds Save As... to the File menu for the project window.
Fixes: lp:594051
* https://bugs.launchpad.net/kicad/+bug/594051
2019-11-09 20:22:44 +00:00
Jeff Young
d6e0ec2f24
Fix a couple of edge cases in text drawing.
...
Don't accidentally flip the x-axis glyph size when resetting after
a sub- or superscript.
Special-case three tildes in a row. (We could also do this for
sub- and superscript, but does anyone really need a superscript
^ or a subscript?
Fixes: lp:1851657
* https://bugs.launchpad.net/kicad/+bug/1851657
Fixes: lp:1851880
* https://bugs.launchpad.net/kicad/+bug/1851880
2019-11-09 20:22:44 +00:00
jean-pierre charras
5833392689
FIX: Pcbnew plot BezierCurve: add missing line thickness initialization.
2019-11-09 14:02:41 +01:00
jean-pierre charras
01553a6bd1
FIX: add parameter to GAL::DrawCurve to control the curve to polyline conversion. Cairo supports curves, but not Opengl, that needs a conversion to polyline. This control allows optimization in conversion
2019-11-09 11:41:29 +01:00
jean-pierre charras
943858fd67
FIX: Bezier curves: replace previous algorithm to convert the curve to segments. In some cases it was not working well. Opengl was using an other algo (using the curve properties to create segments) Now only the OpenGL algo is used, with optimization to reduce the number of segments.
2019-11-09 11:41:29 +01:00
Jeff Young
4662205ecb
Fix compiler warnings.
2019-11-05 17:22:51 +00:00
Jeff Young
35c8d64f98
Add super- and subscript support to Eeschema.
...
Note that since the markup might exist for other reasons, it has
to be turned on with a preference setting. (It goes through a set
of bitflags so the same architecture can be used for other markup
structures that we might want to support in the future.)
Note also that this is more about engineering nomenclature than
visual formatting. In that respect it's more similar to overbar
than italic or bold.
2019-11-05 17:22:51 +00:00
jean-pierre charras
5f3353cad1
Add native Bezier curve plot in SVG plotter.
2019-11-05 14:27:07 +01:00
jean-pierre charras
8621a1cf3a
Fix a wxWidgets alert (on wxWidgets 3.1.3)
2019-11-04 17:30:50 +01:00
jean-pierre charras
51ed01d765
GERBER_PLOTTER: small change in code to manage the current selected aperture.
...
Avoid using an iterator to store this aperture because iterators can be invalided
when modifying a list.
Enhancements in gerber_placefile_writer.
2019-11-04 14:33:10 +01:00
Seth Hillbrand
cbb88ce609
tool manager: Don't adjust the iterator to invalid
...
When finishing the first tool, we don't want to return an invalid
iterator
2019-11-03 10:15:21 -08:00
jean-pierre charras
65bf669387
Refinements in gerber placefile writer: allows adding board edge cuts in file.
...
Use a pad bounding box for footprints having no valid courtyard defined.
Refinement also in Gerber files when plotting oval pads.
2019-11-01 18:12:26 +01:00
jean-pierre charras
c59fa1b672
Gerbview: Fix outdated warning message about missing D-Codes and old RS274D files.
...
RS274X Gerber files using only regions (polygons) can be valid, and are not old RS274D files
Now a warning is raised only if there are some missing D codes definitions
(RS274D file or broken RS274X file)
Remove unused var and add comments
Fixes: lp:1850821
https://bugs.launchpad.net/kicad/+bug/1850821
2019-11-01 08:34:24 +01:00
jean-pierre charras
4a0bd46ed6
More work on Gerber pick and place files
...
In P&P files, user strings are now quoted, and use UTF8 encoding
2019-11-01 08:34:24 +01:00
Seth Hillbrand
43768b71c0
Unify string lists of forbidden footprint chars
...
We have forbidden lists maintained in 3 separate locations. This causes
a bit of confusion as to which is correct.
This makes the list uniform but remains to place the character set in a
single location.
2019-10-29 13:31:11 -07:00
jean-pierre charras
bc5dcf182f
keepout in footprint: fix some crashes and issues. Create a specific type (PCB_MODULE_ZONE_AREA_T) for zones in footprint. The new class (MODULE_ZONE_CONTAINER) is the same as ZONE_CONTAINER, but the type ID is PCB_MODULE_ZONE_AREA_T instead of PCB_ZONE_AREA_T.
...
This is mandatory because these zones must be handled differently in many functions.
2019-10-29 11:24:57 +01:00
Seth Hillbrand
bae50fab9f
pcbnew: Fix 45° snapping polygons
...
The constrained draw was constraining the polygon size to fit the
existing points rather than extending the existing points to fit the
user's intent.
This adds a 90° double-joint for the completion polygon that allows the
user to complete common constrained polygons visually based on the
preview with a double-click to finish.
2019-10-24 16:01:14 -07:00
Seth Hillbrand
ea1c8525ce
Increase visibility of polygon preview
...
This set the polygon preview item to wider size and adjusts the draw
order to ensure it remains visible even when antialiasing
2019-10-24 16:00:01 -07:00
Seth Hillbrand
a934fa49aa
Check for tool manager before dereference
...
Changing common settings in EDA_BASE_FRAME may segfault for frames that
don't implement tool manager yet (simulator)
Fixes: lp:1849492
* https://bugs.launchpad.net/kicad/+bug/1849492
2019-10-23 06:45:33 -07:00
jean-pierre charras
10d23ad82d
PROGRESS_REPORTER: fix serious bug in its DTOR: the DTOR was calling Destroy. But Destroy() in wxWidgets calls the DTOR.
...
It can create recursive calls of the DTOR.
2019-10-23 11:28:15 +02:00
jean-pierre charras
8a4ba87fba
Gerber output: Fix incorrect zones outline thickness in filled areas.
...
Fixes: lp:1848929
https://bugs.launchpad.net/kicad/+bug/1848929
2019-10-20 21:15:31 +02:00
Seth Hillbrand
2e1af66a2b
pcbnew: Commit polygon points to new constrained zone
...
Adds leader points if they are not already existing in the zone
Fixes: lp:1846028
* https://bugs.launchpad.net/kicad/+bug/1846028
2019-10-20 09:29:35 -07:00
Seth Hillbrand
70c64d93e4
pcbnew: prevent assert with first pt
...
Finding the pt-to-end intersection requires a segment, so check for
multiple points.
Fixes: lp:1846431
* https://bugs.launchpad.net/kicad/+bug/1846431
2019-10-20 07:39:48 -07:00
jean-pierre charras
846397c692
Fix compil warning
2019-10-19 15:44:40 +02:00
jean-pierre charras
f892ebbb49
Fix issues in Gerber attributes
2019-10-19 11:26:29 +02:00
jean-pierre charras
b9202e81bc
Fix Gerber plot pad oval for pad orientation not n*90 degrees.
...
Use now a Gerber region that support TO attributes like flashed pads.
2019-10-19 11:26:29 +02:00
jean-pierre charras
47f9c505c5
Gerber plot: better handling of polygonal pad shapes plotting
...
update GBR_CMP_PNP_METADATA.
2019-10-19 11:26:29 +02:00
jean-pierre charras
36253450e7
Pcbnew: Add experimental place file (P&P) export in Gerber format.
2019-10-19 11:26:28 +02:00
Seth Hillbrand
6084614371
GAL: Use vector for stroke elements
...
deque structures have higher overhead than vectors. Not usually
problematic, but with hundreds of thousands of characters each with only
a few strokes, the overhead becomes dominant.
2019-10-18 21:48:58 -07:00
Seth Hillbrand
132adf8ac3
Remove Yahoo Groups link
...
Yahoo has discontinued its groups.
See https://help.yahoo.com/kb/groups/SLN31010.html
(cherry picked from commit 1161562bc8
)
2019-10-17 16:00:46 -07:00
Seth Hillbrand
5b8661f2ab
view: Check for viewData in IsVisible()
...
viewData can be NULL, make sure we verify it before dereferencing.
2019-10-15 09:44:16 -07:00
jean-pierre charras
23e09d3de7
some other WXDEBUG replacement
2019-10-14 12:38:52 +02:00
jean-pierre charras
d77ba30a95
Replace __WXDEBUG__ (improperly used) by DEBUG in some #define.
...
__WXDEBUG__ comes from a build option of wxWidgets,
and is not related to a Debug versus Release Kicad build.
2019-10-14 11:17:38 +02:00
jean-pierre charras
4b2d801fec
Gerber file export: avoid duplicate corner when creating polygons (regions in Gerber dialect)
...
Fixes: lp:1847714
https://bugs.launchpad.net/kicad/+bug/1847714
2019-10-11 20:59:23 +02:00
jean-pierre charras
967b9d4a97
Gencad export: fix an issue in hash_eda calculation, that can generate the same hash for 2 different footprints.
...
Therefore, for some footprints, the right footprint was not associated to the component.
The hash calculation was using a XOR to combine 2 sub hash values.
This is not a strong way to combine these hash values.
They are now added. Looks better to identify similar and different footprints.
Fixes: lp:1847575
https://bugs.launchpad.net/kicad/+bug/1847575
2019-10-10 20:18:48 +02:00
jean-pierre charras
c7d636d560
Gerber file generation: fix incorrect aperFunction attribute for graphic items on edge cut layer.
...
Was NonConductor. Must be Profile.
2019-10-09 15:46:35 +02:00
jean-pierre charras
34b26a0ac7
Add KICAD_USE_FONT_REDUCED_SET (default OFF) to build options.
...
It allow using the previous font set without CJK.
The new font (with CJK) is very large (10x), and can create (on Opengl) out of memory issues
with some graphic cards.
2019-10-07 09:50:24 +02:00
Ian McInerney
027658d3da
Fix invalid cursor position access in tool manager
...
Fixes: lp:1846923
* https://bugs.launchpad.net/kicad/+bug/1846923
2019-10-06 13:26:07 +02:00
Seth Hillbrand
8c2ee6c025
Rescale and flip Chinese characters
...
Characters now scale similar to capital latin letters and are correctly
oriented.
Fixes: lp:1846846
* https://bugs.launchpad.net/kicad/+bug/1846846
2019-10-05 07:42:15 -07:00
Ian McInerney
b33c3a5ad8
pcbnew: Clean up extension handling in graphics plugins
...
* Fix wildcard display in the file selector dialog (on GTK
it would show the regex to the user)
* Move the file extension comparison into a common function
2019-10-04 15:43:29 -04:00
Seth Hillbrand
4302bc2562
Fix segfault when getting mouse position
2019-10-04 08:58:32 -07:00
Jeff Young
d22ea0e201
Safety for frames which don't have an m_viewControls.
2019-10-03 22:23:35 +01:00
Ian McInerney
3a2dbf7786
Update pleditor path for run from build directory
2019-10-03 15:00:01 -04:00
Ian McInerney
5862b1559f
Cleanup position handling for TOOL_EVENTs
...
* Make the events generated by the selection of context menu items
have the position where the menu was opened
* Ensure that TC_COMMAND type events have their position set to
be the cursor position where the event originated
2019-10-03 19:04:33 +01:00
jean-pierre charras
ac2373ae16
Gerber plotter: add support of standard aperture regular polygon as flashed shape.
...
Standard apertures are circle, rect, oblong and polygon (regular polygonal shapes with 3 to 12 vertices)
The support of the standard aperture type polygon was missing in Gerber plotter.
2019-10-02 17:33:06 +02:00
jean-pierre charras
49dbc37277
Fix a few issues related to help files in html or markdown.
...
Fix *.cmake scripts that dropped the semicolon in strings during conversion.
Move markdown2html in a separate library.
2019-10-01 17:11:39 +02:00
Jeff Young
58b9d5f69e
Map orientation when converting text types.
...
Also fixes up dangling state when converting.
Fixes: lp:1844716
* https://bugs.launchpad.net/kicad/+bug/1844716
2019-10-01 15:16:43 +01:00
Seth Hillbrand
aad28a3d3c
Adding standard library CJK strokes
...
This also cleans a few strokes that were not up to par in the previous
iteration.
2019-09-30 17:27:03 -07:00
Seth Hillbrand
3a35c75d09
Add CJK ideographs
...
This adds the 20975 ideographs from Open Han Source mapping to the
standard CJK code unicode block.
Fixes: lp:594064
* https://bugs.launchpad.net/kicad/+bug/594064
2019-09-29 12:44:57 -07:00
jean-pierre charras
8ed49b3f68
Add a Markdown to Html converted, to display help written in markdown in a wxHtmlWindow.
...
The help file bridget_tee_formula.md can be displayed in pcb_calculator.
For Help messages, a markdown text (with some basic html tags) is often enough
and is more easy to translate than full html texts.
2019-09-29 17:25:56 +02:00
jean-pierre charras
ce62941bb8
Minor fix: fix misplaced include
2019-09-28 13:46:12 +02:00
Jeff Young
4bf2b6a9f7
Performance enhancements for cross-probing.
...
While found when profiling cross-probing, many of these will also
improve other things.
2019-09-27 19:58:16 +01:00
jean-pierre charras
25dee38f70
DIALOG_ABOUT: add compil date to version info.
2019-09-27 18:15:35 +02:00
Konstantin Baranovskiy
e57c13c2bd
Grid Control: Cells selecting fix.
...
If *editable* cells had been selected by holding and dragging the mouse's left
button, the previous selection were not clearing.
2019-09-26 07:42:42 -07:00
jean-pierre charras
19cf78f802
simulator: plot curves: fix incorrect draw area limits calculation when zooming.
...
Fixes: lp:1674132
https://bugs.launchpad.net/kicad/+bug/1674132
2019-09-26 16:29:52 +02:00
jean-pierre charras
281d77f6b3
Cairo print, on GTK: use a better DPI definition to avoid artifacts rendering (GTK specific)
...
Previously, a 600 DPI was used to set device scale (can create minor visible rounding issues).
Using now 4800 DPI to reduce these rounding artifacts.
Fixes: lp:1845229
https://bugs.launchpad.net/kicad/+bug/1845229
2019-09-25 18:36:38 +02:00
Jakub Kozdon
11f1ce14d1
Eeschema: Option to use also .mod files as a simulation model
...
Fixes: lp:1844718
* https://bugs.launchpad.net/kicad/+bug/1844718
2019-09-20 09:40:55 -07:00
jean-pierre charras
16f4958430
Pcbnew: avoid crash when closing pcbnew if the DRC dialog is open.
...
Cvpcb: change from commit 9ceca583:
the root class close event that save settings is now seeing the close event.
2019-09-19 09:16:12 +02:00
Ian McInerney
bb596ebdaf
Fix width of part selector columns
...
* Move column width manipulation into the lib tree adapter
* Fix issue with GTK where if someone types too fast, the part
column gets 0 width.
Fixes: lp:1841584
* https://bugs.launchpad.net/kicad/+bug/1841584
2019-09-18 16:12:45 -07:00
Ian McInerney
a37d8f2859
Remove unneeded wxWidgets version checks in the code
...
Now that the minimum version is 3.0.0, we don't need to actually
check if the version is greater than 3.0.0 inside the code.
2019-09-18 10:03:53 -04:00
Ian McInerney
d68dd09f63
Run all matching global actions for a hotkey
...
Fixes lp:1834547
https://bugs.launchpad.net/kicad/+bug/1834547
2019-09-18 09:21:43 -04:00
jean-pierre charras
a1fe8cfa5a
Minor changes: cleanup code and prepare code to add more attributes to Object Attributes (.TO)
2019-09-18 11:48:49 +02:00
jean-pierre charras
64b5e8bee2
Minor fix and enhancement code.
2019-09-15 11:10:53 +02:00
Seth Hillbrand
f2bf9fa534
eeschema: Prevent crash on move/drag re-entry
...
Restarting a move/drag operation breaks the stack by starting the tool
without popping it on exit.
TODO: implement RAII for these stack push/pop
2019-09-11 17:01:16 -07:00
Jeff Young
25fa2131d2
Restore PointCloserThan() behaviour to really be "closer than".
...
Change calls which really want it to be "closer than or equal" to
distance + 1.
Fixes: lp:1843329
* https://bugs.launchpad.net/kicad/+bug/1843329
2019-09-10 11:07:47 +01:00
Jeff Young
90fd58871d
Fix zero failure in SEG::PointCloserThan().
...
Fixes: lp:1843329
* https://bugs.launchpad.net/kicad/+bug/1843329
2019-09-09 23:23:43 +01:00
Ian McInerney
2b387f4b4d
Manually put the UNIT_BINDER text on the primary selection clipboard
...
The OnKillFocus handler of the UNIT_BINDER replaces the text in the
control with the evaluated string, which removes the selection. To
get the original text on the primary selection clipboard, we must
add it ourselves.
Fixes: lp:1794623
* https://bugs.launchpad.net/kicad/+bug/1794623
2019-09-09 09:00:59 -07:00
Jeff Young
8dd8740fa3
Performance enhancement for pad drawing.
...
Fixes: lp:1843065
* https://bugs.launchpad.net/kicad/+bug/1843065
2019-09-09 13:45:06 +01:00
Jeff Young
2ac270ce8e
Fix bug with high-frequency plots.
...
Fixes: lp:1839712
* https://bugs.launchpad.net/kicad/+bug/1839712
2019-09-08 01:11:51 +01:00
Jeff Young
6f0d8c3eac
Replace buggy code in TestSegmentHit() with call to SEG::PointCloserThan()
...
Fixes: lp:1843101
* https://bugs.launchpad.net/kicad/+bug/1843101
2019-09-07 23:18:19 +01:00
Jeff Young
14c4175040
Tighten up the board setup dialog layout a bit.
2019-09-07 13:57:38 +01:00
Jeff Young
a612fb690b
Cherry pick of line-ending-safety fix from 5.1.
...
Fixes: lp:1842943
* https://bugs.launchpad.net/kicad/+bug/1842943
2019-09-07 03:14:03 +01:00
Jeff Young
1ac6cbc4a6
A bit more safety around control characters in strings.
2019-09-07 01:08:22 +01:00
Jeff Young
d55f4d05b4
Workaround wxWidgets inability to find the default PDF viewer.
...
Fixes: lp:1843061
* https://bugs.launchpad.net/kicad/+bug/1843061
2019-09-06 23:38:20 +01:00
Jeff Young
2553dd2942
Bail on our custom dockart provider.
...
It appears that it was causing some crashes, and it was never clear
that it looked better anyway.
2019-09-06 23:38:20 +01:00
Jeff Young
10c25a2290
Update frame type enum to match current class names.
2019-09-06 23:38:20 +01:00
Seth Hillbrand
37b3c698c8
fixing comparison warning
2019-09-06 13:17:06 -07:00
Wayne Stambaugh
24454f5105
Pcbnew: fix size of graphics import warning dialog.
...
Use the HTML_MESSAGE_BOX window to present the warning messages rather
than wxMessageBox which would overflow the display when there were a lot
of graphic items that could not be parsed.
Fixes lp:1839565
https://bugs.launchpad.net/kicad/+bug/1839565
2019-09-06 14:57:04 -04:00
jean-pierre charras
bd34348068
Pcbnew: allows using filled polygons in zones with no outline thickness.
...
This option was only available if advanced config "ForceThickZones" was set.
2019-09-06 16:13:41 +02:00
Jeff Young
3bd38ec245
Improve zoom-to-extents for footprints with long text.
...
Fixes: lp:1820540
* https://bugs.launchpad.net/kicad/+bug/1820540
2019-09-05 21:02:29 +01:00
jean-pierre charras
f3f0e20a67
Pcbnew: add a board layer stack manager
...
This is a new feature.
2019-09-05 18:51:18 +02:00
Ian McInerney
8d86d94a4d
wxWidgets compatibility fixes
...
* Remove unneeded check
* Fix WX_GRID since upstream renamed a variable in 3.1.3
2019-09-05 08:11:44 -04:00
Ian McInerney
e675a93b92
Switch preview items to use abstract render settings
2019-09-05 08:11:44 -04:00
Seth Hillbrand
c8a6878eb8
pcbnew: Allow tuning length to be longer than INT_MAX
...
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements. For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.
Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367
2019-09-03 16:41:09 -07:00
Jeff Young
54255cffeb
Cleanup to make implementation names consistent with what they now do.
...
Fixes: lp:1842477
* https://bugs.launchpad.net/kicad/+bug/1842477
2019-09-03 19:29:30 +01:00
Jeff Young
fc50ddda64
Implement Paste Special for eeschema.
...
Also changes the normal paste behaviour to only clear annotations
when a collision is found.
Fixes: lp:1837002
* https://bugs.launchpad.net/kicad/+bug/1837002
2019-09-02 19:24:29 +01:00
Jeff Young
e269b5d1b9
Workaround an issue where a throw terminates (even when there's a catch for it).
...
You can trigger it before this fix by running Cvpcb when a .kicad_mod file is
incorrectly set as "Legacy" in your footprint table.
2019-08-31 15:18:27 +01:00
Seth Hillbrand
ccc3b812b8
Make dialogs look more like frames
...
We use DIALOG_SHIM to display many items that should behave more like
frames with the ability to min/max/resize. This changes the default
custom dialog behavior to the frame-type.
Fixes: lp:1829950
* https://bugs.launchpad.net/kicad/+bug/1829950
2019-08-30 09:24:50 -07:00
Jeff Young
79d062aefc
Don't allow selection dragging when a picker tool is running.
...
Fixes: lp:1841691
* https://bugs.launchpad.net/kicad/+bug/1841691
2019-08-30 10:33:34 +01:00
jean-pierre charras
7ed415cab3
Gerbview: fix bug: did not store the current selected GAL engine in config.
...
Was due to recent changes in config handling.
2019-08-30 09:02:53 +02:00
Jeff Young
2274895acf
Add print preflight so the menu item is only shown when we can print.
...
Fixes: lp:1836473
* https://bugs.launchpad.net/kicad/+bug/1836473
2019-08-29 23:56:16 +01:00
Seth Hillbrand
c3274e15f2
cairo: Minor fixup in delete call
2019-08-28 20:25:27 -07:00
Seth Hillbrand
c3e07a5886
Cleaning Cairo GAL
...
Removed extra allocations that were not used.
Removed unneeded shared pointer
Corrected storage type from RGB to ARGB
2019-08-28 19:29:47 -07:00
Jeff Young
678294b8a6
Try harder to find a viable print solution on GTK.
...
Fixes: lp:1836473
* https://bugs.launchpad.net/kicad/+bug/1836473
2019-08-28 20:04:35 +01:00
Jeff Young
360a52399a
Add printing to RMB project items.
...
Fixes: lp:1836473
* https://bugs.launchpad.net/kicad/+bug/1836473
2019-08-28 17:32:08 +01:00
jean-pierre charras
37b166348a
Fix compil error and minor compil warnings
2019-08-27 09:13:07 +02:00
Seth Hillbrand
b3615b36bb
pcbnew: Retain 45° constraint
...
This also finishes the polygon with 45° lines when chosen as a create
option.
Fixes: lp:1833673
* https://bugs.launchpad.net/kicad/+bug/1833673
(cherry picked from commit fccce265aa
)
2019-08-26 14:36:23 -07:00