Jeff Young
3be876c388
Cleanup of trace logs from Simon Richter.
2018-04-17 17:27:18 +01:00
Jeff Young
000457db7c
Move Fields Editor to wxGrid.
...
Makes in-place editing much easier and fixes some other issues
(see bug reports).
Fixed sorting bugs in References and added better sorting for
Values.
Removed Description column as it wasn't editable and caused more
confusion than value.
Removed auto-column-width after initial render.
Re-implemented undo/redo.
Fixes: lp:1749287
* https://bugs.launchpad.net/kicad/+bug/1749287
Fixes: lp:1737361
* https://bugs.launchpad.net/kicad/+bug/1737361
Fixes: lp:1759756
* https://bugs.launchpad.net/kicad/+bug/1759756
Fixes: lp:1763223
* https://bugs.launchpad.net/kicad/+bug/1763223
Fixes: lp:1761378
* https://bugs.launchpad.net/kicad/+bug/1761378
2018-04-17 11:39:44 +01:00
Jeff Young
12ec56bc15
Prevent reentrancy in footprint loading.
...
Also removes parallel implementation in favour of using the
normal one (with a new wxGauge-backed PROGRESS_REPORTER).
Fixes: lp:1764196
* https://bugs.launchpad.net/kicad/+bug/1764196
2018-04-16 23:19:08 +01:00
jean-pierre charras
3e64c9de38
Fix incorrect behavior of ReplaceIllegalFileNameChars( wxString& aName, int aReplaceChar ) for non ASCII8 chars.
...
(this function was using a comparison using chars to test wide chars)
Fixes: lp:1764055
https://bugs.launchpad.net/kicad/+bug/1764055
2018-04-15 10:06:53 +02:00
Wayne Stambaugh
9b5bbd7c77
Fix wxFileDialog assertion when worksheet file has absolute path.
...
Fixes lp: 1763887
https://bugs.launchpad.net/kicad/+bug/1763887
2018-04-14 10:51:15 -04:00
Wayne Stambaugh
a1acec5f13
Revert broken hotkey fix.
...
The hotkey fix committed in 53b1ec81
broke non-us keyboards. Change the
hotkey help hotkey from '?' to Ctrl+F1 to prevent the hotkey list dialog
from being shown when placing a bus wire junction in Eeschema and when
changing the track posture in Pcbnew. This is still broken in the GAL
framework.
2018-04-14 08:24:25 -04:00
Wayne Stambaugh
81843c37a4
Organize trace debugging code for ease of maintenance.
2018-04-13 09:59:01 -04:00
Maciej Suminski
3f734eb1b5
Improved validation of library and entry names
...
Symbol/footprint library and entry have the same set of forbidden
characters with a single exception, space character. To accommodate for
this difference, LIB_ID validation and fix methods have been extended to
specify the LIB_ID type that is checked (schematic/board).
LIB_ID::HasIllegalChars() and LIB_ID::FixIllegalChars() had two different
sets of characters treated as invalid in LIB_IDs. The set has been
factored out to another function to avoid duplication.
2018-04-13 14:24:57 +02:00
jean-pierre charras
e57435c0fc
Fix compil issue (created by commit "Added std::less specialization for wxPoint") with wxWidgets 3.1.1
2018-04-13 11:06:46 +02:00
Maciej Suminski
b766dbc7a4
Added std::less specialization for wxPoint
...
Requried to use wxPoint as key type in maps
2018-04-12 18:09:18 +02:00
jean-pierre charras
c421840a9e
Cvpcb: avoid crash on start if _pcbnew.kiface (needed by cvpcb) is not found.
2018-04-12 11:07:43 +02:00
Maciej Suminski
0d8692da20
Changed ACTION_MANAGER assert() calls to wxASSERT()
...
wxASSERT(), contrary to assert() does not terminate the program when
triggered. As assertions in ACTION_MANAGER are not critical and should be
treated as warnings - there is no need to close the program.
2018-04-12 08:47:09 +02:00
jean-pierre charras
4f3b77347a
DIALOG_ENV_VAR_CONFIG: allows using lowercase chars when typing an env var name. these lowercase chars are converted to uppercase on the fly.
...
Previously, lowercase chars were not accepted, and nothing was displayed when trying to type a name in lowercase chars.
2018-04-10 20:23:49 +02:00
Jeff Young
d54a252eaa
Check zone fills for being out-of-date during DRC.
2018-04-09 11:05:14 +01:00
Carsten Schoenert
a11714b1a4
fix misspelled 'an other' -> 'another'
2018-04-08 13:24:37 -04:00
Carsten Schoenert
77b3a662fc
fix misspelled 'Allows to' -> 'Allows one to'
2018-04-08 13:24:30 -04:00
Carsten Schoenert
1f32f7c55b
fix misspelled 'allows to' -> 'allows one to'
2018-04-08 13:24:18 -04:00
jean-pierre charras
7f6e26e55a
DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list.
...
It make this function thread-safe (as far as wxString is thread-safe)
2018-04-07 19:57:26 +02:00
Kristoffer Ödmark
fdb6bbab7b
Footprint Wizard now also handles custom Env paths
2018-04-06 14:51:09 +01:00
Jeff Young
df43f071e1
Keep track of open sockets and dispose of them in d'tor.
...
Fixes: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
Jeff Young
5e36fe8df7
Move timestamp setting where it will alwasy get set.
...
Also update the rest of the symbol-chooser usage to current
specs, including examining the timestamp to see if the list
needs loading at all.
Partial fix to: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
jean-pierre charras
70988271c1
WX_TEXT_ENTRY_DIALOG: fix a wxASSERT ( very minor issue in debug mode)
2018-04-04 10:40:27 +02:00
jean-pierre charras
f8a3ec4974
Add a method to facilitate Tools handling in main frame toolbars.
...
Fix also a bug in gerbview_frame.cpp, about a broken toolbar accessor (fortunately not used in current code)
2018-04-03 13:00:20 +02:00
Wayne Stambaugh
4b2ced341e
Fix button sizer padding in WX_TEXT_ENTRY_DIALOG.
2018-04-02 18:05:37 -04:00
Wayne Stambaugh
53b1ec8146
Fix track posture hotkey bug on windows.
...
The change track posture hotkey '/' was getting interpreted as the show
hotkey list shortcut '?' on windows. This fix is temporary hack to fix
the problem which much more involved than the simple #ifdef/#endif used
to fix this issue.
Add key code tracing to help analyze key codes for future development.
2018-04-02 18:05:37 -04:00
jean-pierre charras
0171547154
Context menu: use same message for Zoom and Grid in Legacy mode and GAL mode.
...
a minor cosmetic other fix in Eeschema, edit submenu.
2018-04-01 21:09:52 +02:00
jean-pierre charras
e750417fa0
Eeschema: fix many wxASSERT when trying to open menus from the main menubar.
...
This is due to the fact the same ID was used for menuitems in menubar,
and tools in toobars.
Especially, some items were not compatible due to different attributes.
Windows does not accept the same ID for 2 items inside the same frame.
It creates issues (items not shown, Asserts, ...)
2018-04-01 20:58:27 +02:00
Jon Evans
e3d9a23867
Properly escape urls passed to wxLaunchDefaultBrowser()
2018-03-30 22:02:13 -04:00
Seth Hillbrand
8bb9084ea9
Revise TestSegmentHit to catch missing hits
...
Fixes issue where TestSegmentHit falsely skips segments that are
slightly off 45°. Improves speed of function by exiting on non-hits
more quickly. Simplifies function and removes magic numbers.
2018-03-30 17:26:34 -07:00
Maciej Suminski
7483a73a5f
Set OK button as the default one in WX_TEXT_ENTRY_DIALOG
...
Enables accepting the input by pressing the Return key.
2018-03-30 15:29:48 +02:00
Jon Evans
b8c282fa6f
Don't complain about perfectly-closed polygons as self-intersecting
2018-03-29 22:20:00 -04:00
Jon Evans
081c77f6bd
OPENGL_GAL::DrawSegment(): Enforce nonzero width to match Cairo
...
Fixes: lp:1759958
* https://bugs.launchpad.net/kicad/+bug/1759958
2018-03-29 22:13:46 -04:00
Jon Evans
ed99251f0b
Add explicit file:// URI scheme for html help files
...
This fixes the help location on MacOS
2018-03-28 17:18:15 -04:00
jean-pierre charras
6740a37632
move and swap layers: make changes undoable.
...
minor code cleanup.
2018-03-28 15:30:11 +02:00
Seth Hillbrand
545e6bbd0c
Defining time_t for Python
...
Fixes: lp:1732738
* https://bugs.launchpad.net/kicad/+bug/1732738
2018-03-27 09:43:23 -07:00
Seth Hillbrand
ced0fcee1e
Updating Eagle Importer to take curved zones
...
Fixes: lp:1755879
* https://bugs.launchpad.net/kicad/+bug/1755879
2018-03-26 15:09:56 -07:00
Jeff Young
8b94606fb5
Promote selection up context menu hierarchy.
...
This is so that tools checking for a selected item won't think
the menu has been cancelled if the selection was in a submenu.
Fixes: lp:1758372
* https://bugs.launchpad.net/kicad/+bug/1758372
2018-03-26 20:35:49 +01:00
Jon Evans
1dd4af2972
Sort VIEW_GROUP drawing by layer order
...
Fixes: lp:1757146
* https://bugs.launchpad.net/kicad/+bug/1757146
2018-03-26 10:18:50 -04:00
Wayne Stambaugh
c8c5b5da07
Fix zoom to selection in bug in gal canvas.
2018-03-25 16:12:56 -04:00
Jeff Young
f4ce8766e3
Implement shared FOOTPRINT_LIST.
...
While we already cache the loaded footprint files, parsing said files
into the list is also time-intensive. Since the FOOTPRINT_LIST is
already hash-stamped against the current timestamps of the files that
make up the list, sharing a single copy of the list is quite
straight-forward.
2018-03-25 19:21:28 +01:00
Jeff Young
b24b0d5dfe
Dialog-ize CvPcb and implement proper Save.
...
Save now goes to disk (instead of just the in-memory schemaitc),
and the UI attempts to make this clear.
2018-03-25 19:21:27 +01:00
Wayne Stambaugh
8d8c422a19
Add zoom to selection menu entry to all editors.
...
Fixes lp:1753339
https://bugs.launchpad.net/kicad/+bug/1753339
2018-03-25 12:34:19 -04:00
Jeff Young
97fffe875f
Notify clients when GRID_TRICKS toggles checkboxes.
2018-03-24 13:13:57 +00:00
jean-pierre charras
6940f92469
Fix compil issue and warning on Windows/msys2
2018-03-23 15:07:38 +01:00
Jeff Young
5957bc7dba
Make sure checkboxes refresh on Linux.
2018-03-23 13:33:17 +00:00
Jeff Young
fbf10e941b
Switch zone fillets to absolute-error algorithm.
...
And some general cleanup to related constants, etc.
2018-03-23 12:46:17 +00:00
Jeff Young
a0364a1137
Don't make user click twice to toggle checkbox in wxGrid.
2018-03-23 12:46:17 +00:00
Maciej Suminski
6331f94544
OpenGL GAL: safer error handling
...
Replaced assert() with wxCHECK(), so in case of problems methods return
instead of continuing with invalid state/data, wherever possible.
2018-03-22 18:20:02 +01:00
Jeff Young
99e659ff54
Coverity fixes.
2018-03-21 23:11:55 +00:00
Maciej Suminski
dfd2a8fc48
NumericEvaluator: return false for invalid expressions
...
Clearing bClError flag in NumericEvaluator::parseOk() made the
expression look valid, even if the flag has been set for a previous
token. Now it is cleared before an expression is parsed and verified
after parser finishes.
Fixes: lp:1756995
* https://bugs.launchpad.net/kicad/+bug/1756995
2018-03-21 17:11:35 +01:00
Jon Evans
3103e3dc4c
DRC: Center zoom on marker location, not DRC item start location
...
For some DRC checks, the location of the marker is not the location
of the first item in the resulting DRC_ITEM, so centering the screen
on PointA of the DRC_ITEM can be confusing.
2018-03-19 22:25:55 -04:00
Maciej Suminski
b40bf4c0ea
Center DIALOG_SHIM position if it would have appeared off the screen
...
DIALOG_SHIM stores the dialog position, so every time it is shown, it is
displayed in the same location. This caused problems on multidisplay
setups, as dialogs could show up off the screen if the original display
has been detached in the meantime, effectively making them inaccesible
to the user.
Fixes: lp:1756623
* https://bugs.launchpad.net/kicad/+bug/1756623
2018-03-20 00:02:22 +01:00
Maciej Suminski
a42aed3305
Added "Copy" to right click menu in WX_HTML_REPORT_PANEL
2018-03-19 17:15:07 +01:00
Maciej Suminski
17d63dbc1f
Fixed text alignment in WX_HTML_REPORT_PANEL
2018-03-19 17:04:38 +01:00
jean-pierre charras
2ff74cb3fc
Add support for .gbrjob new file format (JSON format) in Gerbview
...
Add experimental code to generate .gbrjob files in the new JSON file format
2018-03-19 15:14:20 +01:00
Carsten Schoenert
bc1b10bc92
AboutDialog_main.cpp: update the link to the libraries
...
The KiCad official libraries have now a own dedicated website.
2018-03-18 11:21:24 -04:00
Carsten Schoenert
4723aae18c
AboutDialog_main.cpp: re-adding i18n macros
...
Some strings in the About Kicad dialog are not displayed as translated
strings due the strings not marked as i18n based strings.
2018-03-18 11:21:24 -04:00
Jeff Young
e0e0687cd7
Revert "Allow 5.0 to read 6.0 files with hole-to-hole clearance settings."
...
This reverts commit 0a4c04530a
.
2018-03-16 22:22:15 +00:00
Jeff Young
b8fd2f3c79
Revert "Don't be pedantic about the file format."
...
This reverts commit 1537cbc59c
.
2018-03-16 18:11:36 +00:00
Jeff Young
1537cbc59c
Don't be pedantic about the file format.
...
It's just another form of nagging.
2018-03-16 16:57:38 +00:00
Jeff Young
0a4c04530a
Allow 5.0 to read 6.0 files with hole-to-hole clearance settings.
2018-03-16 00:48:35 +00:00
Jeff Young
3d12a6889b
Make sure ERC and DRC item lists respect color themes.
...
Fixes: lp:1492953
* https://bugs.launchpad.net/kicad/+bug/1492953
2018-03-14 14:15:16 +00:00
Jon Evans
543faa385b
PDF Plotter: handle edge-case arc/circle drawing correctly
...
Fixes: lp:1752771
* https://bugs.launchpad.net/kicad/+bug/1752771
2018-03-13 21:01:06 -04:00
Maciej Suminski
4055c435a5
Eagle PCB import: unified code for handling pad properties
2018-03-13 14:44:35 +01:00
Maciej Suminski
4c9be316dd
Eagle import: minor ECOORD refactor
...
- changed EAGLE_UNIT enum names from EAGLE_* to EU_*
- renamed ToNanoMeters() to ConvertToNm() and added a comment
- added ToMils() and ToNanoMeters() method
2018-03-13 14:44:34 +01:00
Jeff Young
f32f14dc8f
Add WX_TEXT_ENTRY_DIALOG which inherits from DIALOG_SHIM.
...
Fixes: lp:1754977
* https://bugs.launchpad.net/kicad/+bug/1754977
2018-03-12 22:45:51 +00:00
Tomasz Wlostowski
b1f613071d
eeschema: workaround for 64kByte string length limit in wxString::Format() causing segfaults in netlist update under Windows
...
Fixes: lp:1754402
* https://bugs.launchpad.net/kicad/+bug/1754402
2018-03-12 18:26:25 +01:00
jean-pierre charras
2230abde1b
page layout editor: fix a crash on block move.
...
This crash was due to a pointer initialized to a temporary reference.
Very minor coding style fixes
2018-03-10 10:25:07 +01:00
Seth Hillbrand
ea4cee3393
Set Eagle import generated timestamps to KiCad std
2018-03-09 13:12:18 -08:00
Seth Hillbrand
26392f8070
Remove spaces from start of common translated words
2018-03-09 08:40:43 -08:00
Maciej Suminski
30a78f00bc
Use 32-bit timestamps for imported Eagle files
...
Fixes: lp:1754610
* https://bugs.launchpad.net/kicad/+bug/1754610
2018-03-09 14:27:35 +01:00
jean-pierre charras
51fe063524
Circle to polygon conversion: a few enhancements:
...
* Remove duplicate code
* fix incorrect formulas is some places
* add comments
2018-03-09 13:28:47 +01:00
Jon Evans
9c62792245
SVG Plotter: Handle edge-case arc and circle drawing
2018-03-08 22:44:26 -05:00
Jon Evans
921e68107b
OpenGL: Make circle/arc drawing match Cairo for some edge cases
2018-03-08 22:04:33 -05:00
Jeff Young
f1b48eb4f4
Fix default button and focus for ModEdit save.
...
Fixes: lp:1752546
* https://bugs.launchpad.net/kicad/+bug/1752546
2018-03-09 00:52:45 +00:00
Jeff Young
4693fd6200
Resolve env vars when looking up documentation files.
...
Fixes: lp:1729276
* https://bugs.launchpad.net/kicad/+bug/1729276
2018-03-08 23:51:10 +00:00
Seth Hillbrand
a607174f9a
Fix english grammar
2018-03-08 12:33:32 -08:00
Jeff Young
182b134872
Don't overwite env vars with settings.
...
Fixes: lp:1740022
* https://bugs.launchpad.net/kicad/+bug/1740022
2018-03-08 19:17:31 +00:00
Maciej Suminski
0bdae22af7
ResolveFile() handles absolute paths
...
Fixes: lp:1753094
* https://bugs.launchpad.net/kicad/+bug/1753094
2018-03-08 11:35:27 +01:00
Maciej Suminski
9ce768c29a
Modified STROKE_FONT::ComputeStringBoundaryLimits() to process multiline strings
...
Removed a declaration of a not existing method (STROKE_FONT::ComputeTextLineSize()).
Fixes: lp:1747967
* https://bugs.launchpad.net/kicad/+bug/1747967
2018-03-08 10:56:34 +01:00
Maciej Suminski
dfc47464d7
Added ReplaceIllegalFileNameChars() for wxString&
2018-03-08 09:06:15 +01:00
Jeff Young
2b34426c36
Only set always-show-scrollbars in constructor on Mac.
...
Fixes: lp:1753592
* https://bugs.launchpad.net/kicad/+bug/1753592
2018-03-06 20:31:44 +00:00
Maciej Suminski
aff350f593
LIB_ID: change strcpy() to strncpy() for safety
2018-03-06 14:25:18 +01:00
Jeff Young
90e2c8dd7f
Get rid of first-scroll jerkiness in eeschema.
2018-03-05 00:07:50 +00:00
Maciej Suminski
f7158e834d
Created STDOUT_REPORTER class for debugging
2018-03-04 16:45:42 +01:00
Jeff Young
284c346828
Don't cache github libraries above nginx server.
...
It's too expensive to fetch the timestamps when the github
server is busy. See Dick Hollenbeck's comments at the top of
github_plugin.cpp for more info.
Also adds some safety to the other caching algorithms after
seeing github_plugin's wild-west usage of the kicad_plugin.
Fixes: lp:1753143
* https://bugs.launchpad.net/kicad/+bug/1753143
2018-03-04 01:16:59 +00:00
Tomasz Włostowski
af7064ef89
pcbnew: synchronize zone visibility view menu entries with the toolbar buttons
2018-03-03 17:38:28 +01:00
Seth Hillbrand
e6245c5c5a
Fix type comparison warning
2018-03-02 17:08:01 -08:00
Maciej Suminski
3f1a3fe65b
Derive DIALOG_MULTI_OPTIONS from wxMultiChoiceDialog
2018-03-02 18:09:27 +01:00
Maciej Suminski
be13bb0013
Refactored SelectSingleOption() to take advantage of wxSingleChoiceDialog.
2018-03-02 17:43:59 +01:00
Maciej Suminski
18167f829a
Derive KIDIALOG from wxRichMessageDialog
...
wxRichMessageDialog already offers a dialog with a checkbox, so
the custom dialog setup code is not necessary anymore.
2018-03-02 17:05:35 +01:00
Maciej Suminski
1d5df8e975
Renamed KI_DIALOG to KIDIALOG
2018-03-02 11:57:03 +01:00
Maciej Suminski
52fcddf4f4
Allow drawing self-intersecting polygons, just display a warning
...
Fixes: lp:1751654
* https://bugs.launchpad.net/kicad/+bug/1751654
2018-03-02 10:58:43 +01:00
Jon Evans
37beb726e3
GerbView: Implement in-place GAL layer reordering (for X2 sorting)
2018-02-27 20:59:07 +01:00
jean-pierre charras
5f578c884c
Fix SetValue() method in TEXT_CTRL_EVAL
...
Normal SetValue() call would temporarily change the displayed
value, but as soon as the text widget receives focus again, the original
expression (not evaluated) is restored.
To avoid this, the original expression is cleared in the associated
NumericEvaluator object.
2018-02-27 12:47:43 +01:00
Maciej Suminski
5f2b8e0409
Change NumericEvaluator::clear() to optionally accept an object to clear
2018-02-27 12:47:32 +01:00
Maciej Suminski
ad6571a508
GAL profiling: changed wxLogDebug() to wxLogTrace() for DRAW_PANEL_GAL
2018-02-26 17:22:47 +01:00
Maciej Suminski
b9285cf0e5
Display theta character correctly in ruler tool
...
Fixes: lp:1749549
* https://bugs.launchpad.net/kicad/+bug/1749549
2018-02-26 10:38:40 +01:00
Jon Evans
e21f18a176
Don't use the RTREE in UpdateAllLayersOrder() / UpdateAllLayersColor()
...
Since we are going to inspect every item for these calls, we don't
need to use the RTREE search, which is expensive with high item count.
This results in ~50% improvement in layer switching time in GerbView
when working with a set of large Gerber files.
2018-02-25 19:10:02 -05:00
Jon Evans
4ec7a02ccd
Add a method to conditionally update VIEW_ITEMs (GerbView performance)
2018-02-25 18:20:44 -05:00