Commit Graph

7180 Commits

Author SHA1 Message Date
Seth Hillbrand 0a9a6dec7d Re-add alt as a backup option for heuristic skips 2021-09-05 19:32:07 -07:00
Marek Roszko 525099ea06 Use the correct define for windows 2021-09-05 22:22:27 -04:00
Marek Roszko 0ee79834bb Make alt key slightly better on windows 2021-09-05 22:17:08 -04:00
Seth Hillbrand a8d00bf088 Fix hotkey documentation for modifier update 2021-09-05 13:55:08 -07:00
Seth Hillbrand 240c3b75c4 Move selection disambiguation to long-click
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.

Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young 59c15842f8 Exclude formatting chars from text width approximation.
Fixes https://gitlab.com/kicad/code/kicad/issues/9080
2021-09-04 22:09:32 +01:00
Jon Evans 6de277c226 Fix typo in violation severity importing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9092
2021-09-04 12:20:36 -04:00
Roberto Fernandez Bautista 0aa37d1173 Fix issues with new overbar syntax
- Update sch text help (~~ no longer gets converted to single ~)
- Update Eagle importer to correctly handle new overbar syntax
- Update CADSTAR importer to correctly handle new overbar syntax
2021-09-01 20:25:39 +01:00
Seth Hillbrand 8a305eec32 Remove broken RefDesStringCompare
This function attempted a poor-man's natural compare but it assumed
specific structure of the string.  This broke for strings with
numberings that looked like decimals.

Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.

Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Marek Roszko b32b04d27e Preserve archive timestamps on extract
Fix #9065
2021-09-01 01:04:43 -04:00
Jeff Young 2cdd3c9ebf Work-around incorrect spacing (and order) of buttons on Mac. 2021-08-31 22:39:25 +01:00
Jeff Young 641a6902b7 More robust hex-color interpretation. 2021-08-31 21:41:52 +01:00
Jeff Young 098fdf2981 Performance fixes. 2021-08-31 21:24:20 +01:00
Jeff Young a5e11111a4 Link updating of hex value and opacity slider. 2021-08-31 21:24:20 +01:00
Wayne Stambaugh 5a28a06597 Use wxMessageDialog instead of wxRichMessageDialog.
wxRichMessageDialog does not look like the stock message boxes on any
platform so don't use it unless the checkbox option is required.
2021-08-31 14:41:40 -04:00
Jeff Young e58671e2da Move color picker from CSS to HTML format for colors.
This is an attempt to remove the decimal separator from the equation,
which appears to be causing trouble on MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/9043
2021-08-31 18:56:38 +01:00
Jeff Young b5a3385ea9 Overhaul file locking system.
See bug report for details.

Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
Mike Williams 30987cebfe Gerbview: fix cairo negative items and implement real differential mode
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.

Differential layers are basically the same thing only they use a
different copying operation onto the layers below.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
2021-08-31 12:43:53 +00:00
Jeff Young d61411c853 Fix compile error. 2021-08-30 13:11:42 +01:00
jean-pierre charras f59e66a897 Do not include kicad_curl.h (and therefore curl.h) in kicad_curl_easy.h
curl.h has constraints on Windows (because it includes winsocks2.h) and must be
included before any wxxxx.h.
Because only very few files need curl.h, kicad_curl.h is included only in these files
2021-08-28 15:31:45 +02:00
jean-pierre charras a9829a598e Plugin and Content Manager: fix compil warnings and issues.
- some are Windows (msys2 ?) specific, related to curl.
- some others are shadowed or unused vars.
2021-08-28 10:57:45 +02:00
qu1ck a1521d338e Add colortheme package type 2021-08-27 21:11:47 +00:00
qu1ck 0f7c0e3872 PCM implementation 2021-08-27 21:11:47 +00:00
qu1ck 4be115ca55 Add KICAD6_3RD_PARTY env variable 2021-08-27 21:11:47 +00:00
Seth Hillbrand e7905b05e7 Fix formatting error in datasheet formatting 2021-08-27 11:10:38 -07:00
Mike Williams 0b2e66d3b7 Infobar: Don't use animations on Windows/GTK
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jeff Young f6287053e5 Naming conventions. 2021-08-27 12:52:13 +01:00
Jeff Young 436ad0ede7 Add missing token to DRC rule parser.
Fixes https://gitlab.com/kicad/code/kicad/issues/9041
2021-08-27 12:49:07 +01:00
Albin Dennevi cfea39f967 Updated worksheet templates using v5.99 Drawing Sheet Editor 2021-08-27 11:10:15 +02:00
Albin Dennevi e631dd087b Drawing Sheet Templates corrected 2021-08-26 22:13:42 +02:00
Mike Williams ff9612b6da OpenGL GAL: Enter correct context (and lock) before changing AA mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8528
2021-08-26 18:03:50 +00:00
jean-pierre charras ee5f9034f7 pcb parser: ensure the parser is reinitialized before parsing a new fp file
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Jon Evans 5f2d238c93 Work around GTK issue with wxSearchCtrl
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
jean-pierre charras 4ac2aa675a lib symbols: make fp filter tolerant to spaces in names.
For historical reasons they are stored in a string using spaces as separators.
So each fp filter is now escaped to remove spaces (replaced by {space})
Fixes #9009
https://gitlab.com/kicad/code/kicad/issues/9009
2021-08-23 18:01:31 +02:00
Jon Evans 0814219513 Clean up some handling of project files in standalone
Add control of project creation to Eeschema; change defaults
to enable project creation in both programs.  Properly set
project on newly-created schematics so "Save As" doesn't
get triggered repeatedly.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9000
2021-08-21 12:09:21 -04:00
jean-pierre charras 71b7816de5 DIALOG_GEN_FOOTPRINT_POSITION and dialogs print: minor enhancements:
Gen footprint: 2 options are now stored during a session.
Gerbview and Pcbnew dialogs print: avoid useless large size of right panel.
2021-08-21 11:06:00 +02:00
Seth Hillbrand ae51e60f70 Set User-Agent Header 2021-08-20 17:24:05 -07:00
Seth Hillbrand 463ed6f599 Promote Roberto to Lead Dev in About Box 2021-08-20 17:24:05 -07:00
Seth Hillbrand 4cd9278041 Remove most wxFilepicker wildcards from translations
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
Seth Hillbrand 558995ac21 Order translations by country code
Helps to see which contributor lists are missing
2021-08-20 12:21:36 -07:00
Seth Hillbrand 7ac09c1f9b Add translators (PL and KO) 2021-08-20 12:16:56 -07:00
Jon Evans c80efb0f98 Fix save/load of appearance panel width on show/hide
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Jon Evans 781fb0ad0d Fix loading of auxiliary projects
Projects list wasn't being used properly to track active Prj

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8998
2021-08-19 20:50:41 -04:00
jean-pierre charras 7d8f51dc2e COLOR_SETTINGS: fix a typo that created incorrect saving of 2 options:
m_overrideSchItemColors and m_useBoardStackupColors
2021-08-19 17:39:18 +02:00
Wayne Stambaugh 46b959c3e3 Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
Wayne Stambaugh 6427197962 Remove duplicate headers in plot and associated code. 2021-08-17 15:41:25 -04:00
jean-pierre charras 60c65c2a1d Avoid loading python stuff when starting applications that do not use it.
It is useless, and debug is slightly easier (less constraints) at least on msys2
2021-08-17 19:48:55 +02:00
Wayne Stambaugh 8f30404e42 Plot code cleaning. 2021-08-17 13:44:11 -04:00
Wayne Stambaugh b14b8b5fb1 Move headers from common folders to the appropriate include folders. 2021-08-17 12:40:31 -04:00
Jeff Young 8b5f393804 DRC bug fixes and debugging improvements.
1) Don't wait for UpdateUserInterface to build the (global) list of
layer names.

2) Report clearance resolution between a silk layer and a mask layer.

3) When writing DRC reports, include info about the violating rule.

4) Report "no relevant layers" if we fail to find anything to write
a clearance resolution report about.

Fixes https://gitlab.com/kicad/code/kicad/issues/8963
2021-08-17 15:41:12 +01:00
Wayne Stambaugh 8e1015fcc4 Remove all wxWidgets build dependencies from REPORTER object header. 2021-08-16 07:49:39 -04:00
Jeff Young 1a252b4f96 Add a compile error for ill-defined rules, and more performance.
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
jean-pierre charras c6ce367f1e Avoid duplicate strings to avoid typos and not synchronized strings
Fixes #8964
https://gitlab.com/kicad/code/kicad/issues/8964
2021-08-15 17:50:23 +02:00
Jeff Young 41619ebbe2 Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
Jon Evans aae0e7e121 Fix build on Linux
wxString does not automatically cast to std::string
2021-08-14 09:57:01 -04:00
Jeff Young bff247b08a Hook up 3D viewer colors to board stackup.
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young ef9f041279 Don't show 3D color opacities where they're not supported.
Fixes https://gitlab.com/kicad/code/kicad/issues/8938
2021-08-14 14:00:17 +01:00
Jeff Young ed38028eaf Fully resolve path list for Kicad2Step.
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-08-14 11:21:25 +01:00
Jon Evans 37fd7c785e Make macOS path determination tolerant of bundle renaming
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8922
2021-08-13 17:00:45 -04:00
Jeff Young 4c3954aea8 Clearer DRC rule token name for hole_size. 2021-08-13 16:18:56 +01:00
jean-pierre charras a0da252a6a SETTINGS_MANAGER::Prj(): add a wxASSERT to allow python script debug before a crash
Due to a bug, SETTINGS_MANAGER::Prj() returns a null PROJECT when running a
python script from the python console. this wxASSERT helps debugging.
2021-08-13 11:15:12 +02:00
Jeff Young c536a4c4f2 Work around annoying wxWidgets assert. 2021-08-10 16:51:30 +01:00
Jon Evans 6b48825aa0 Add support for ngspice >= 35 version reporting 2021-08-09 17:19:59 -04:00
Jeff Young a10f2b284c Unify negative zero and percent handling in UNIT_BINDER.
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
jean-pierre charras 5f84071cfa Gerber plotter, GERBER_PLOTTER::plotArc( SHAPE_ARC& aArc ): fix missing G75 command 2021-08-06 17:45:57 +02:00
Jeff Young d6443d5a2c Reduce type-casting a bit. 2021-08-04 17:11:35 +01:00
Jeff Young ae99e627bd Quiet Coverity. 2021-08-04 13:55:42 +01:00
Jeff Young c5e195bdff Cleanup (includes and formatting). 2021-08-03 18:37:23 +01:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
david-beinder c34f45f646 Split global label size expansion from TextOffset setting
Global label expansion ratio default is now 37.5%
Wire text offset default is now 15%
2021-08-02 16:40:36 +00:00
david-beinder bab13debcb Improve overbar rendering in PCB and global labels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8584
Moves the font slightly down in global labels
Keeps font with overbar at the same size in PCB OpenGL renderer
2021-08-02 16:40:36 +00:00
Jeff Young 78fd268b18 Retire PARAM_OBSOLETE in favour of a schema migration. 2021-08-02 17:38:15 +01:00
Jeff Young 7d501e8a43 Add PARAM_OBSOLETE to clean out old JSON structures.
While not technically necessary, the old structures can be confusing
to users looking at the files.

Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 12:53:57 +01:00
Jeff Young 4876e1b327 Make sure user.json file gets created if it didn't already exist.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 02:48:23 +01:00
Jeff Young 6f1837b300 Formatting. 2021-08-02 01:52:58 +01:00
Jeff Young c51b1dad72 Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young e636fb32cf Fix typo initializing buswidth with linewidth value.
Also reduces line-wrapping a bit.

I don't think this fixes the linked bug, but I can't reproduce it
and this was found while reviewing the code.

Fixes https://gitlab.com/kicad/code/kicad/issues/8810
2021-08-01 19:33:19 +01:00
Jeff Young 7033dd68c0 Default WX_GRID to no cell overflows.
Fixes https://gitlab.com/kicad/code/kicad/issues/8892
2021-08-01 11:57:45 +01:00
Ian McInerney baf6798695 Check for column existence before checking for tooltip enabled
Otherwise we try to read a bitset at location -1, which triggers
and assert on MSVC.

Fixes https://gitlab.com/kicad/code/kicad/issues/8890
2021-07-29 23:18:26 +01:00
Jeff Young 8aea2cbd03 When ignoring click events don't ignore synthetic ones.
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-07-29 18:07:04 +01:00
Jeff Young f024bf2289 Don't restrict page sizes unnecessarily.
Also don't validate custom sizes unless they are enabled.

Fixes https://gitlab.com/kicad/code/kicad/issues/8880
2021-07-29 16:47:45 +01:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young f221220fe2 Rename layer ids file.
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young 293f207356 Hopefully the last of the symbol id escaping issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 19:44:42 +01:00
Wayne Stambaugh f233f4a0a9 Expunge EDA_FILE_SELECTOR.
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
Jeff Young 6d4c454e8c Fix some more missing escaping for symbol ids.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Ian McInerney 36d66085f5 Add a column showing 3D model file loading errors
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.

Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
Jeff Young 3a5d49f7b2 Make select-all hack work with Scintilla too.
Fixes https://gitlab.com/kicad/code/kicad/issues/8876
2021-07-28 00:16:18 +01:00
Jeff Young 29b23df7a1 Save both front and back soldermask colour preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-07-27 22:26:13 +01:00
Jeff Young 19de38bbae Avoid Mac-standard Cmd+H as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 22:26:13 +01:00
Jeff Young 484b6bae64 Make Reset to Defaults button responsive to current page.
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 17:56:45 +01:00
Jeff Young 886dc2f43e Do-not-show-again section for common prefs & zone fill warning infobar.
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.

Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Jeff Young a2cb3e916a Add a couple of OSX-standard keyboard cmds to Scintilla.
Fixes https://gitlab.com/kicad/code/kicad/issues/8865
2021-07-27 15:15:49 +01:00
Wayne Stambaugh 37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Wayne Stambaugh 78e5e98ea0 Pass VECTOR2I objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Wayne Stambaugh 8fd83cbb95 Pass wxPoint objects by reference instead of on the stack. 2021-07-26 15:35:33 -04:00
Jeff Young e62969d007 Move zone fracture display mode to AdvancedCfg, and add triangulation.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh 89b1fdabe9 Pass COLOR4D object by reference instead of on the stack. 2021-07-26 13:28:56 -04:00
Marek Roszko 8921eef0be Add a "Open Demos Project" shortcut to the kicad launcher
Small UX improvement for the new user....
2021-07-25 21:58:57 -04:00
jean-pierre charras 1aadf45947 DIALOG_SHIM: fix not working initial size when creating a dialog.
The first time a DIALOG_SHIM was created, with a given size, this size
was not taken in account. This this is now forced.
(when recreated during a session, this is the last dialog size that is used)
2021-07-24 18:59:28 +02:00
jean-pierre charras dbf17f83ed Minor fixes (DIALOG_DISPLAY_HTML_TEXT_BASE: ensure min size is working). 2021-07-24 17:03:36 +02:00
Jeff Young 373f0335c8 Convert Altium radial dimensions to leaders.
This is because we don't yet support radial dimensions.

Also fixes a bug where we fail to read an Altium circular track.  We
now convert it to a pair of 180-degree arcs.

Also fixes a bug where we were failing to import prefixes on linear
dimensions.

Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-07-24 14:25:59 +01:00
Jeff Young 531f5480a7 Reduce line-breaks and increase SNR. 2021-07-24 14:25:59 +01:00
Jeff Young 3c1af1af74 Update selected tool string when language changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8813
2021-07-23 20:16:53 +01:00
Wayne Stambaugh 1a301d8eea Stop using wxDialog::EndModal() from inside dialogs.
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal).  Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Pradeepa Senanayake 6001ac0704 Fixed the color picker double click event 2021-07-18 16:28:49 +00:00
Wayne Stambaugh bcd6bddfd4 Start expunging NULL.
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Mika Laitio 1e21daf781 fix if comparison with uninitialized member value
Fix the valgrind warning from the use of an uninitialized
member variable by setting the DEFAULT value for
m_currentNativeCursor in the constructors member initializer list.
This fixes the following warning caused by the SetNativeCursorStyle
method call later on the constructor.

==66660== Warning: client switching stacks?  SP change: 0x1ffeffee40 --> 0xdf7efe8
==66660==          to suppress, use: --max-stackframe=137187819096 or greater
==66660== Conditional jump or move depends on uninitialised value(s)
==66660==    at 0x13F0764E: UnknownInlinedFun (graphics_abstraction_layer.cpp:276)
==66660==    by 0x13F0764E: KIGFX::GAL::GAL(KIGFX::GAL_DISPLAY_OPTIONS&) (graphics_abstraction_layer.cpp:78)

Error can be reproduced and checked from the log.txt
by launching kicad with valgrind command
"valgrind --leak-check=full kicad > log.txt 2>&1"
and then launching the footprint editor from the kicad main dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8784

Signed-off-by: Mika Laitio <lamikr@gmail.com>
2021-07-15 16:18:24 +00:00
Pradeepa Senanayake 6cde086ef9 Double click on defined colour executes OK action
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8778
2021-07-14 23:26:40 +00:00
Jon Evans ae55db77c5 Allow hiding version from manager title bar with advanced config 2021-07-14 18:24:21 -04:00
Wayne Stambaugh 01515680b3 Code cleaning. 2021-07-14 15:47:32 -04:00
Wayne Stambaugh 346b876eb7 Fix Coverity issue #332157. 2021-07-13 17:10:13 -04:00
Jeff Young c3bf51c94b Remove unused variables. 2021-07-13 20:07:49 +01:00
Jeff Young 2739cdbd43 Add error message logging to opening of drawing sheet. 2021-07-13 19:59:03 +01:00
Jeff Young f0513978ff Back-port some fixes from 7.0 branch. 2021-07-13 17:24:23 +01:00
david-beinder 8b3ccab0a3 Implement explicit polygon construction for most pad shapes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8650
2021-07-13 14:51:58 +00:00
luz paz 0446d35f0d Fix source comment/doc typos (follow-up)
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
jean-pierre charras 1151783a34 Gerbview: fix an issue (Debug only) with RoundRect aperture macro.
When a RoundRect aperture macro was used with a radius = 0, a wxWidget assert
was generated, due to incorrect polygonal shape to draw.
2021-07-13 10:23:55 +02:00
jean-pierre charras aefa969931 DIALOG_COLOR_PICKER: speedup the color map bitmaps build.
Use a wxImage to create the bitmap (much faster), instead of a wxMemoryDC.
Fixes #8779
https://gitlab.com/kicad/code/kicad/issues/8779
2021-07-12 13:11:03 +02:00
Marek Roszko 759f0e9a75 Be sure to stop the timer during widget destruction
Also fix a comment elsewhere :D

Fixes #8772
2021-07-11 19:17:34 -04:00
jean-pierre charras fb246403d2 PROGRESS_REPORTER: avoid clipping the bottom of the dialog in some cases.
It occurred on Windows, when the message to display is too long and was
displayed using 2 lines.
Now the dialog is resize after changing the message.
Fixes #7953
https://gitlab.com/kicad/code/kicad/issues/7953
2021-07-11 17:52:54 +02:00
Marek Roszko 9162013132 Add advanced cfg to force reloading memory cached 3d models 2021-07-11 00:35:38 -04:00
Marek Roszko 7cb0f8f808 Add ADVANCED_CFG to always reload cached 3d models in memory 2021-07-11 00:31:06 -04:00
Marek Roszko 79b90813ec Add ADVANCED_CFG to skip caching 3d models to file 2021-07-11 00:00:06 -04:00
Jeff Young 01d3a88faa Allow unnamed embedded step files in altium boards.
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young 353dc95f06 Improved spacing. 2021-07-10 10:19:01 +01:00
Jeff Young 625006ca30 Remove front/back SMD pad color now that we have opacity sliders.
Fixes https://gitlab.com/kicad/code/kicad/issues/8761
2021-07-10 10:13:55 +01:00
Jeff Young a06b95bb1f Even out spacing around various panels. 2021-07-09 23:42:45 +01:00
Wayne Stambaugh 6c3ba1c20b Coverity issue fixes.
Issues #332032, #332086, #332157, and #332171.
2021-07-09 10:56:35 -04:00
Jeff Young 9975b8fb10 Attempt to handle deleting double-byte chars in Scintilla. 2021-07-08 20:44:04 +01:00
Jeff Young f59ee53540 Comparen canonicalKey, not raw key.
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-08 15:53:08 +01:00
Jeff Young a4263ebce5 Clean up Altium special string handling
1) Fix a couple of bugs in case processing
2) Make case processing more explicit to prevent more (1)
3) Move label processing to AltiumSpecialStringsToKiCadVariables
4) Strip double-quotes from special strings (and add test cases)
5) Change PROJECTNAME to just filename, not full path
6) PROJECTREV and REVISION are two different things
7) Add support for Altium's Application_BuildNumber
8) Fix some issues in trimming spaces around special strings
2021-07-08 15:34:38 +01:00
Wayne Stambaugh 65c7958293 Coverity issue fixes.
Issues #331869, #331875, #332203, #332159, #332171, #332180, and #332648.
2021-07-08 08:33:08 -04:00
Jeff Young 3f165c70e1 Import more Alitum parameters.
ADDED CURRENT_DATE titleblock token (to go with existing ISSUE_DATE)
ADDED PROJECTNAME schematic token (to go with FILENAME and SHEETNAME)

Converts other parameters to project text variables.
2021-07-08 00:19:31 +01:00
Wayne Stambaugh d6420d458e Fix wxWidgets version check. 2021-07-07 16:52:21 -04:00
Wayne Stambaugh 7ca48c42d9 Fix build error in library tree widget. 2021-07-07 15:50:04 -04:00
Jeff Young a4237c3346 Fix the search widget to process <enter>. 2021-07-07 17:54:22 +01:00
Jeff Young 1e76b7808f Don't post events if un-evaluated-value isn't any different.
Fixes https://gitlab.com/kicad/code/kicad/issues/8745
2021-07-07 12:43:33 +01:00
Jeff Young 190b0ecdeb Formatting. 2021-07-06 20:27:28 +01:00
Wayne Stambaugh 9d348d7e6d Coverity issue fixes. 2021-07-06 13:32:34 -04:00
Jeff Young 799d6690c0 Only convert overbar syntax on names, refdes and text.
In particular, don't try and convert filenames which may be in
windows format.

Fixes https://gitlab.com/kicad/code/kicad/issues/git
2021-07-06 13:30:17 +01:00
Marek Roszko 5116fa6d12 Fix STEPPED_SLIDER glitchlyness on windows
wxWidgets drives some of this problem, it blindly calls SetValue and invokes the win32 update position messages on all the scroll subevents and we end up fighting it as well by inserting the rounded position on each subevent rather than the final one
2021-07-06 00:58:19 -04:00
Marek Roszko 70ce74ed4a Configure page and line size in STEPPED_SLIDER 2021-07-06 00:40:53 -04:00
Marek Roszko c356cd2aa9 Enable the tick marks to actually show on the STEPPED_SLIDER 2021-07-06 00:06:57 -04:00
Marek Roszko 96a177da3d Add more input controls to IsInputControlEditable
O god this is going to eventual cause performance issues....but this fixes keyboard based form input in some places like pl_editor with its dropdowns
2021-07-05 23:47:16 -04:00
Marek Roszko 1fb42c5e43 Try and cleanup the input focus/key event a little 2021-07-05 20:48:48 -04:00
Marek Roszko 12305990bb Fix focus stealing from wxDataViewCtrl 2021-07-05 13:45:06 -04:00
Marek Roszko 84092ce6d4 Update the event handling guard for focused controls 2021-07-05 13:45:06 -04:00
Jon Evans 4f3674bd1d Fix mangling of direct json_pointer access 2021-07-05 12:33:08 -04:00
Jon Evans 3f55093bff JSON_SETTINGS: Provide explicit CloneFrom 2021-07-05 12:26:21 -04:00
Marek Roszko f524d9bec2 Add search control to the focus guard 2021-07-05 11:39:05 -04:00
Marek Roszko 2d696c3606 Update SetHint to SetDescriptiveText 2021-07-05 11:32:00 -04:00
Jeff Young ea6769b702 The REPORTER interface is inherently line-based.
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).

Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Jeff Young 6cc564aead KiCad variable resolution is case sensitive OR all-upper-case.
Bring Altium variable references (which are case-insensitive) in as
all-upper-case.

Fixes https://gitlab.com/kicad/code/kicad/issues/6256
2021-07-05 11:05:46 +01:00
Marek Roszko d2aeddc6cb Add debouncing to the choose symbol dialog.
More potato pc friendly in theory.
2021-07-04 21:59:51 -04:00
Marek Roszko 3b33f94c56 Use a wxSearchCtrl instead of wxTextCtrl for the symbol chooser window
This just makes it prettier with the search icon and cancel
2021-07-04 21:24:03 -04:00
Marek Roszko 8e229a26c8 Fix define check added in dd11f86000 2021-07-04 18:50:58 -04:00
Jeff Young dd11f86000 Don't show Ctrl-W for Close on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8391
2021-07-04 23:22:39 +01:00
Jeff Young 8f0104f921 Fix case of CLion getting a little carried away. 2021-07-04 16:23:57 +01:00
Mikolaj Wielgus 8b2b3ca797 Define .wbk in wildcards_and_files.{cpp,h}, cosmetic code changes 2021-07-04 14:04:03 +00:00
Jeff Young c11ee69499 Save 3D prefs after editing, and load some of them into FP Props.
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
2021-07-04 13:20:55 +01:00
david-beinder f33ea6f997 Kiway: Improve performance by using IDs and clearing closed frame entries 2021-07-03 22:48:46 +00:00
david-beinder a5308e5f5c Fix python console toggle to work across pcbnew/eeschema 2021-07-03 22:48:46 +00:00
Jeff Young 5e30be66aa Quiet unused variable warning on Mac. 2021-07-03 23:39:34 +01:00
Jon Evans e95323a37e Revert "Remove unused variable."
It's only unused on Mac

This reverts commit d3fb22014f.
2021-07-03 16:48:46 -04:00
Jeff Young d3fb22014f Remove unused variable. 2021-07-03 21:16:15 +01:00
Wayne Stambaugh 3f6811f413 Minor dialog layout improvements. 2021-07-02 11:36:06 -04:00
Jeff Young f8a34d98b3 Support for overbar syntax in Altium importer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-01 21:03:53 +01:00
Wayne Stambaugh 175b474c3e Coverity issue fixes.
Fixes issues #280412, #314755, #329615, #332459, #332157, #332167,
2021-06-30 18:08:49 -04:00
Jeff Young 6810912f09 Refuse to load schematics from the future.
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.

Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).

Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young 5cac8afe1d Remove long-dead revision support for LIB_IDs. 2021-06-30 13:12:57 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road.  Better
to just escape them.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Jeff Young 0c2ac9a711 Move GUI font code to common.
This also allows the Mac fixes for font facenames to be more
compartmentalized.

Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young 1db33c7b3a More safety (and better impl) for not sharing FP table/info stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 12:46:16 +01:00
Jeff Young a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young 3347531f70 Better zoom defaults for 3D viewer.
Also includes a fix for 3D model viewer in the file dialog for Retina
(and possibly other HIDPI) displays.

Fixes https://gitlab.com/kicad/code/kicad/issues/6144
2021-06-28 19:08:23 +01:00
Jeff Young 4594d88417 Help string for netclass colors.
Fixes https://gitlab.com/kicad/code/kicad/issues/7514
2021-06-28 13:23:41 +01:00
Jeff Young d296bec5b8 Differentiate aSingleLine mode for SCINTILLA_TRICKS
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.

Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young 062c4fda62 More error message regularization (and translatability improvements). 2021-06-28 00:45:24 +01:00
Jeff Young 4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young 0d72e253f0 Use correct error message box.
(Also updates the string to avoid the never-ending Mac double-quote
problem.)
2021-06-27 10:58:05 +01:00
Marek Roszko ff2190630e Optimize UnescapeString slightly to avoid repeated wxString::at calls 2021-06-27 00:54:52 -04:00
Marek Roszko 7802037495 Namespace the env_vars.h functions 2021-06-27 00:38:19 -04:00
Jeff Young 0f27618125 Use a list dialog that can be parented by the Board Setup dialog.
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)

I also removed the UpdateUI stuff which was probably causing:

Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young 5c21f93803 Consistency in progress and error messages. 2021-06-26 13:23:43 +01:00
Thomas Pointhuber e50eaed7b9 altium: Improve parsing of UTF-8 data
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Jeff Young 95ec9c786c Board setup spacing. 2021-06-26 10:55:31 +01:00
Jeff Young 1f4a56005e Remove extraneous isPrinting test.
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
Jeff Young cbe7f9057b Add link to wxWidgets bug report. 2021-06-25 10:09:49 +01:00
jean-pierre charras 964cbb95d3 gestfich.cpp: fix an issue on wxGTK when calling wxLaunchDefaultApplication()
- On wxGTK version < 3.1, the filename must be quoted if containing spaces,
and can be always quoted.
- On wxGTK version >= 3.1, the filename must *never* be quoted because
a quoted filename breaks wxLaunchDefaultApplication().
Fixes #8670
https://gitlab.com/kicad/code/kicad/issues/8670
2021-06-25 11:06:41 +02:00
Jeff Young 27804e40e2 Go back to using space-width for tabs (instead of max-char-width).
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.

Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac.  (This bug may also exist on the other
platforms, but each would need its own fix.)

Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.

Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
jean-pierre charras 450b0c9e27 single_top.cpp: re-add lines removed by commit 5fa5a73c, needed in stand-alone.
Otherwise, the main frame created in stand-alone mode is never shown.
2021-06-24 09:04:27 +02:00
Jeff Young 5fa5a73c6d File open/import progress dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/6864

Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Jeff Young 3269f45776 Add wxDataView-style defensive code to wxListView usage.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-22 22:25:06 +01:00
Marek Roszko c72914c43c Use Normalize instead of MakeAbsolute
Ugh doing this while headhurts much
2021-06-21 18:07:23 -04:00
Marek Roszko 5184908dd1 Fix accidental oversight for linux run from build dir paths 2021-06-21 18:05:38 -04:00
Marek Roszko aadb62bd42 Avoid generating paths on windows with ".." in them
This causes wxwidgets to failover to legacy windows dialogs as windows doesn't know how to handle them being passed to dialogs.
2021-06-21 18:03:55 -04:00
Jeff Young fb4343bc8f Expand text bounding boxes a bit for diacriticals, descenders, etc.
Fixes https://gitlab.com/kicad/code/kicad/issues/8551
2021-06-20 23:22:56 +01:00
Jeff Young 99da3d1336 Bail on single instance checker.
We lock the project file, board, and schematic now, so the second copy
can only open them read-only.  While issues might remain, it's unclear
the warning ever prevented anyone from shooting themselves in the foot
anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/7465
2021-06-20 21:37:02 +01:00
Jeff Young 3d7e18561d Checkpoint of app-specific single-instance checking.
(I'm about to nuke single-instance checking entirely, but wanted to
make sure this was captured in GIT somewhere.)
2021-06-20 21:37:02 +01:00
Jeff Young 8631d670a4 Don't selectall in GTK text boxes.
It's not clear that it's normal platform behaviour, and some GTK
window managers fail to non draw the selection in inactive text
boxes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8197
2021-06-20 21:37:02 +01:00
Jeff Young 5a43392eae Protect against double overbar format conversion. 2021-06-20 11:26:16 +01:00
Jeff Young 937f5138db Make zoom-to-fit margin big enough for infobar.
Otherwise part of the document is obscured behind it by default.
2021-06-19 22:45:47 +01:00
Érico Nogueira 88a8ef949c Remove OpenSSL locking from kicad_curl.
It's fair to assume all libcurl versions in circulation will already be
using OpenSSL>=1.1.0. This code is also unnecessary on platforms that
use other libcurl SSL backends, such as Debian's libcurl-gnutls package.
2021-06-19 19:43:54 +00:00
Jon Evans 518ccb3f9a Fix typo 2021-06-19 15:10:35 -04:00
Jon Evans 5a832fc337 Fix assert that fires sometimes when closing windows on mac 2021-06-18 18:15:00 -04:00
Jon Evans 1edc232af1 Only run window position correction on wxMac
Other platforms seem to handle this properly already, and
fighting against size changes is not desirable
2021-06-18 12:47:10 -04:00
Jon Evans 4c8a4e3d47 Fix wx 3.0 build 2021-06-18 00:21:56 -04:00
Jon Evans 32c21f4a94 Fix several window sizing problems on macOS
- Remove outdated y-offset that prevented restoring full-height
  (client area returned by wx is correct these days)
- Clamp frame geometry to fit new display when display is changed
- Handle when an automatic window reposition causes a DPI change

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8341
2021-06-17 23:59:19 -04:00
Jeff Young 7fde05e8ee Add title to Save Changes dialog. 2021-06-17 18:23:58 +01:00
Jeff Young 1722bc03b0 Consistent terminology and punctuation. 2021-06-17 00:05:17 +01:00
Mikolaj Wielgus 2a3d8e22b6 Do not create overbar from "~~" when converting to new format
Fixes bug 4 from https://gitlab.com/kicad/code/kicad/-/issues/8591.
2021-06-16 22:35:39 +00:00
Jeff Young 0d2ea6223b Don't throw in a release build if the "keep" namespace is missing.
Fixes https://gitlab.com/kicad/code/kicad/issues/8618
2021-06-16 17:31:31 +01:00
Marek Roszko 45c7c7c350 Remove unused m_crossHairPosition 2021-06-15 21:25:27 -04:00
Mikolaj Wielgus 9a42ec753f Recognize ' ', '}', ')' as terminators of overbar in conversion
Fixes bug 3 in https://gitlab.com/kicad/code/kicad/-/issues/8591.
2021-06-15 22:07:35 +00:00
Jeff Young abc5a6e775 Migrate net names in netclass info.
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 00:17:39 +01:00
Jeff Young 38312f0aca Don't rely on exception processing for normal flow.
Also make sure when we do update the json in the parent to use the
form that will create the object if it doesn't already exist.
2021-06-15 00:17:39 +01:00
Wayne Stambaugh fb46cd8bc5 Expunge the use of the word component from Eeschema code.
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Jeff Young 2c1da70181 Write all variables to temp config file and have Kicad2Step use that.
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-06-14 16:54:45 +01:00
Michal Schulz 44978f00e3 Use compiler-agnostic designation of fall-through in switch/case. 2021-06-14 14:52:37 +00:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Mikolaj Wielgus 2af06a9d60 Fix stroke text size calculation and bitmap text overbar
Fixes bug 1 from https://gitlab.com/kicad/code/kicad/-/issues/8591.

Fixes a bug where no overbar would appear in bitmap text.
2021-06-14 09:09:30 +00:00
david-beinder da833ad7dd Separate focus from hover state in BITMAP_BUTTON, trigger after mouse down+up
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8556
Adds AcceptDragInAsClick() to maintain support for use in toolbar palettes
2021-06-13 17:00:41 +00:00
Jon Evans db276909ba Get rid of screen border region logic
This prevents restoring perfectly-valid screen locations, and
I'm not sure what problem it is trying to solve (it's already
disabled on Windows, and this is confirmed to mess up restoring
locations on Mac/Linux).

If this was actually fixing a problem, the fix needs to be more
targeted, but since I don't know what the problem was, I'm just
going to take it out for now and wait for a potential problem
to pop up again.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8595
2021-06-13 12:52:09 -04:00
Jeff Young 74cefecaac Add legacy empty-string token handling to EDA_TEXT. 2021-06-13 12:11:01 +01:00
Jeff Young a64ac820db Refresh canvas after running event from toolbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/8592
2021-06-12 22:31:25 +01:00
Jeff Young d044e6fed3 Don't try and convert legacy empty-string tokens to overbar syntax. 2021-06-12 20:40:41 +01:00
Jeff Young db8cbad2d7 Add Ctrl-Q symbol to quit items in menus.
Fixes https://gitlab.com/kicad/code/kicad/issues/8391
2021-06-12 11:59:28 +01:00
Jeff Young 9328c78b08 Fix issue with overbars in bitmap text. 2021-06-12 11:49:12 +01:00
Jeff Young be980df1ca Fix uninitialized variable. 2021-06-12 11:33:18 +01:00
Seth Hillbrand 09e1a0dc48 Increase maximum zoom for pcbnew and gerbview
Zoom levels remain the same but high zooms reachable by mouse wheel

Fixes https://gitlab.com/kicad/code/kicad/issues/7093
2021-06-11 14:26:38 -07:00
Jeff Young 096e342386 Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
Mikolaj Wielgus 63c263090f Add versioning to page layout editor worksheets 2021-06-11 18:40:57 +00:00
Mikolaj Wielgus ade38f48bc Add conversion from old `~...~` to new `~{...}` notation 2021-06-11 18:40:57 +00:00
Mikolaj Wielgus 3d520ebe1e Replace `~...~` overbar syntax with `~{...}`
Fixes https://gitlab.com/kicad/code/kicad/issues/8134

Fixes https://gitlab.com/kicad/code/kicad/issues/4227
2021-06-11 18:40:57 +00:00
Jeff Young 7fdbe2f387 Fix uninitialized variable found by JP. 2021-06-11 19:38:16 +01:00
Jeff Young 16b0147af8 Prefix DIMENSION types. 2021-06-11 17:59:44 +01:00
Jeff Young 44086ff2b2 Pull 3D preferences into KiCad preferences architecture.
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
Wayne Stambaugh fbc135e69f Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
luz paz 5f1e9bc8a7 Fix typos in source code 2021-06-10 01:24:15 +00:00
luz paz f968fc8719 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
david-beinder 053bd66650 Fix localization of OS unsupported message, disallow bug reports from W7 2021-06-09 19:01:54 +00:00
jean-pierre charras 5cce3f6e18 Fix a few Coverity warnings (not initialized vars) and a minor compil warning 2021-06-09 19:03:44 +02:00
Jeff Young 9411d301a0 Repair recent pass-by-reference cleanup.
Fixes https://gitlab.com/kicad/code/kicad/issues/8576
2021-06-09 10:56:53 +01:00
Marek Roszko fad5f9881a Remove abandoned variable and thus another include 2021-06-09 00:07:12 -04:00
Marek Roszko d946d6e68f Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
Marek Roszko 19faadf149 Move wx/dynlib.h include to source file 2021-06-08 21:35:02 -04:00
Seth Hillbrand ea283625a7 Further simplification of AA regime
Reduce each (Accel & Fallback) to 3 options: Off, Fast, Good.  Fast AA
in accelerated canvas uses SMAA with tweaks suggested by David Beinder.
Good AA is super-sampled x2.

Cairo is similarly reduced to Off, Fast, Good, which map to the Cairo
options themselves.  Best is removed as it mostly affects text rendering
and not line drawing (as our text is)
2021-06-08 17:20:41 -07:00
Marek Roszko 6e01ce84b9 Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars 2021-06-08 19:12:30 -04:00
Marek Roszko b2f5c989a6 Suppress leaking eda_item so much via undo_redo_container.h 2021-06-08 19:12:30 -04:00
Marek Roszko 20134e4a1b Evict some more eda_item.h includes 2021-06-08 19:12:29 -04:00
Jeff Young 2aaec31832 Don't put up "old version" warning for gerbview-generated PCBs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8574
2021-06-08 22:12:44 +01:00
Wayne Stambaugh e6346e3103 Pass objects by reference instead of on the stack part 2. 2021-06-08 13:47:21 -04:00
Wayne Stambaugh 9ebabb222c Pass objects by reference instead of on the stack. 2021-06-08 10:09:38 -04:00
Marek Roszko ab82b01714 Evict the last bits of wx.h 2021-06-07 20:23:27 -04:00
Jon Evans ad6256bdca Fix linux/wx3.0 build 2021-06-07 19:07:49 -04:00
Marek Roszko 0e16db0c25 Kick wx.h mostly out of common 2021-06-07 18:38:52 -04:00
Marek Roszko ca9b719af3 Add missing headers for linux post wx.h removal 2021-06-07 18:22:20 -04:00
Marek Roszko 69d7a23e1c Start cleaning out wx/wx.h in cpp files 2021-06-07 18:20:47 -04:00
Marek Roszko 8f2819cfa4 Kill the last of wx/wx.h in headers 2021-06-07 17:59:20 -04:00
Johannes Maibaum 022dd6072c Add utility method to resolve symlinks
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Jeff Young 3ff670d2a4 Disable ACTIONS::openPreferences for now.
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
Wayne Stambaugh 08e8b17029 Minor plotter code improvements. 2021-06-07 14:32:27 -04:00
Seth Hillbrand 4c293e0936 Clarify AA options
Moves the OpenGL AA options to the same Fast/Balanced/HQ options as used
in Fallback.  Fast and Balanced are the SMAA options, with decreasing
threshholds and more processing in the balanced version.  HQ is
supersampling x2.  This takes more memory and may not work for HiDPI
screens with underpowered graphics cards.  But it looks the best of the
three options.

The SSx4 option is removed as it added little benefit in either regular
or HiDPI screens

Fixes https://gitlab.com/kicad/code/kicad/issues/5196
2021-06-07 09:40:15 -07:00
Seth Hillbrand 0a31e2d4fd Tweak AA settings for fast/balanced SMAA 2021-06-07 09:40:14 -07:00
jean-pierre charras 6cfc2755ed Remove a useless "#include wx/wx.h" from wx_html_report_panel.h 2021-06-07 09:26:13 +02:00
Marek Roszko 3ae4aa493f cadstar_archive_parser.h doesn't need dsnlexer.h 2021-06-06 19:34:53 -04:00
Marek Roszko 5bb6f8c5e3 hashtables.h doesn't need eda_item.h 2021-06-06 19:11:35 -04:00
Marek Roszko 10e60acf34 Clean up including of board_design_settings.h 2021-06-06 15:03:42 -04:00
Ian McInerney dc27079b71 cleanup tool event and tool action includes 2021-06-06 18:26:26 +01:00
Marek Roszko 527bda5d58 Split out selection.cpp to reduce header sharing
selection.h is included into 782 compilation units....
2021-06-06 11:09:07 -04:00
Marek Roszko fcb21038cb Reduce some eda_item.h usage in headers 2021-06-06 11:09:06 -04:00
Dominik Sliwa 3d45e8dccc Fix macos build 2021-06-06 14:37:39 +00:00
Marek Roszko e234e4dc8b Remove wx/log.h from vertex_manager.h 2021-06-06 09:31:00 -04:00
Marek Roszko 581ba21865 Remove wx includes out of cadstar_archive_loader.h 2021-06-06 09:28:02 -04:00
Jon Evans eaf178cd2a Fix load of nested settings 2021-06-06 08:39:02 -04:00
Jon Evans 28909c1a72 Maybe fix arch build 2021-06-05 22:10:23 -04:00
Jon Evans c9a660a80c Rework JSON integration to speed up build 2021-06-05 17:08:38 -04:00
david-beinder 86add3bb85 Fix MSVC C4312 warnings when casting 32bit ints to pointer types on 64bit builds 2021-06-05 02:57:51 +00:00
Jeff Young 5f37161c74 Tooltip for selection tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/8544
2021-06-04 23:13:14 +01:00
david-beinder 2b4564571c GAL: Tune SMAA to have a conservative and aggressive mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8522
Conservative makes SMAA usable in Eeschema through weaker AA.
Aggressive reduces some artifacts compared to the High preset.
Restores the unused Ultra preset in the shader source to its original state.
2021-06-04 17:48:34 +00:00
Michal Schulz 8da77422d0 added missing wx/scrolwin.h header. Required by wxScrolledWindow. 2021-06-04 17:46:07 +00:00
Marek Roszko 564826feae Use wxRect in dialog_shim rather than eda_rect for purely gui logic 2021-06-03 21:11:08 -04:00
Seth Hillbrand cccdaddd50 Adding SHAPE_ARC direct plotting 2021-06-03 17:12:56 -07:00
Seth Hillbrand 3d4ce0796e Add Gerber plot for SHAPE_ARC and SHAPE_LINE_CHAIN 2021-06-03 17:12:56 -07:00
Marek Roszko b1c9083743 Remove the wx/docview.h include 2021-06-03 18:42:08 -04:00
Marek Roszko 4e94b1fe86 Remove the universal sockets include 2021-06-03 17:59:46 -04:00
Seth Hillbrand 4486cdb92e Don't use wxApp-dependent functions in headless
When running headless, e.g. from Python script, the wxApp has not be
instantiated, so we cannot use wxConfig.  In this case, we fall back to
the class defaults in ADVANCED_CONFIG()
2021-06-03 12:31:45 -07:00
Ian McInerney 2de010f08b Fix ordering of class constructor init list 2021-06-03 20:04:00 +01:00
Hajo Nils Krabbenhöft 937f502158 Improve accelerated supersampling 2x antialiasing
Avoid fractional pixel offsets by forcing integer division of m_screenSize.
Shift rounded lookAtPoint onto OpenGL pixel center to ensure consistent rounding to int.
The pixel 0..1 @ 1x needs to fill the area 0..2 @ 2x so its center moves by 0.5 * (pixel size @ 1x).
2021-06-03 17:53:51 +00:00
Wayne Stambaugh 7c14e4e967 Common widget header housekeeping. 2021-06-03 12:02:45 -04:00
Ian McInerney 5306ba4d55 Add missing header to eda_base_frame 2021-06-03 13:45:41 +01:00
Marek Roszko 4df3cb912d Remove another leaky wx/log.h header 2021-06-03 08:11:15 -04:00
Marek Roszko 7faee5eda5 Stop salt the eart with wxhtml.h 2021-06-03 07:49:49 -04:00
Marek Roszko b5b76eedf7 Avoid sharing gdicmn for just bitmaps 2021-06-03 01:46:04 -04:00
Marek Roszko 8ea180c6b7 Don't leak wx/debug everywhere via tool_event 2021-06-03 01:36:12 -04:00
Marek Roszko 29783f125b Eliminate one wxRect constructor in BOX2
The only usage auto converted to BOX2D anyway...
2021-06-03 01:27:15 -04:00
Ian McInerney 3ab69939f9 Remove wx.h from many files 2021-06-03 02:19:20 +01:00
Marek Roszko af2707929d Don't leak a wx header via eda_item.h
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04:00
Marek Roszko eeb405c196 Cleanup some more excess math/util includes 2021-06-02 00:50:46 -04:00
Jon Evans c8f308dd36 Update hotkeys dumper to use asciidoctor keyboard macro 2021-06-01 22:46:02 -04:00
Marek Roszko 45d1684bbe Move inline function declaration to allow removing include 2021-06-01 19:03:22 -04:00
Marek Roszko cf2bb5692a Remove the wxLog calls from math/util.h for now
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Seth Hillbrand 3ca9e2d2b6 Add missing wxString* conversion
Python needs to know how to optionally convert to a wxString* for SWIG
to build out the interface.
2021-06-01 20:18:24 +00:00
Marek Roszko 6b18803221 Fix another typedef conflict 2021-06-01 20:18:24 +00:00
Seth Hillbrand c0bc6b1107 Fix compile errors on MSVC 2021-06-01 20:18:24 +00:00
Seth Hillbrand 88e4b7f7c4 Update Python Helpers 2021-06-01 20:18:24 +00:00
Seth Hillbrand bf1437899e Add Python Tool to pcbnew 2021-06-01 20:18:24 +00:00
Seth Hillbrand c7d188a8d0 Centralizing SCRIPTING class 2021-06-01 20:18:24 +00:00
Seth Hillbrand 192fbfd5e5 Finalize Python Frame 2021-06-01 20:18:24 +00:00
Seth Hillbrand 81d58bcea9 Working python window 2021-06-01 20:18:24 +00:00
Seth Hillbrand f274a00c08 Remove PYTHON_* compile options 2021-06-01 20:18:24 +00:00
Jon Evans 247da631f9 Revert "Fix typo and clean up leftover tracks"
This reverts commit ed66c0f14d.

Revert "Clean up co-linear tracks after finishing routing"

This reverts commit 1a102f03c0.

More complex solution needed

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8526
2021-06-01 11:18:00 -04:00
Jon Evans 1a102f03c0 Clean up co-linear tracks after finishing routing
This involved adding some extra infrastructure to be able
to handle the case where a track that is sitting in the
router's commit waiting to be added to the board actually
needs to be deleted instead.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8419
2021-05-31 17:36:38 -04:00
Jon Evans 793f133815 Apply shift-hotkey fix to all platforms
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1809
2021-05-31 11:44:00 -04:00
Jeff Young c4cabb38d5 More worksheet -> drawing sheet cleanup.
Fixes https://gitlab.com/kicad/code/kicad/issues/8516
2021-05-31 12:26:44 +01:00
Tomasz Wlostowski 2b955437b6 VIEW_OVERLAY: add Get[Fill/Stroke]Color methods. 2021-05-31 00:15:16 +02:00
Jon Evans d856b01d32 Contextual hotkeys can overlap for different tools
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8512
2021-05-30 14:12:03 -04:00
Jon Evans b7f32d7f53 Clean up some layout of pages in Board Setup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8474
2021-05-30 14:04:00 -04:00
Jeff Young 58fe89a050 Fix some issues with button alignment and order on OSX. 2021-05-29 22:10:43 +01:00
Jon Evans ae84696341 Fix shift-modified hotkeys in GTK (thanks Ian)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1809
2021-05-29 13:18:20 -04:00
jean-pierre charras 81c7fb61f8 Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
jean-pierre charras 37c31196f4 Eeschema, importFile: build the HTML report messages before displaying the dialog.
Fixes #8507
https://gitlab.com/kicad/code/kicad/issues/8507
2021-05-29 10:23:11 +02:00
Seth Hillbrand ebcce9ae0a Handle directory entries in Archive Project
ZIP archives may have entries that are only directories.  We should not
try to extract this entries (they have no length); instead, we merely
create the path and continue
2021-05-28 16:24:15 -07:00
Seth Hillbrand 752ae4d519 Rename modification flag routines
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand 11438eb0ec Add standard wire orange and correct color init
Initialized COLOR4D takes an EDA_COLOR_T enum but then referenced it as
an index to the color table.  This uses the enum as comparison against
the table-stored enum.

Adds standard orange to picker swatches
2021-05-28 11:51:54 -07:00
Seth Hillbrand d7f219e98f Unify IsSave and IsModify
The flags and calls were used identically, leading to potential
confusion/bugs.  Testing for modification should go through
IsContentModified()
2021-05-28 11:51:54 -07:00
Wayne Stambaugh 19607f1488 Fix file browser text button default path handling. 2021-05-27 14:19:06 -04:00
david-beinder c692b04eb9 Improve native language names
Use the most common form, same as Wikipedia
2021-05-26 07:03:42 +00:00
Seth Hillbrand 2131a44889 Correct Finnish language name
Fixes https://gitlab.com/kicad/code/kicad/issues/8464
2021-05-21 13:29:40 -07:00
Jeff Young 4a77a4080d Fix Coverity warning. 2021-05-21 14:38:15 +01:00
Jeff Young e93e9fa3e5 Add rudimentary type checking to rule eval with reporter.
Also cleaned up existing error reporting to not expend CPU cycles
when there was no reporter.

Fixes https://gitlab.com/kicad/code/kicad/issues/8438
2021-05-20 23:06:24 +01:00
Jeff Young ccaf9e11df Load footprint info when there's no cache available.
Fixes https://gitlab.com/kicad/code/kicad/issues/8371
2021-05-14 22:24:21 +01:00
jean-pierre charras 6f9dbd3548 Add missing surname to a contributor. 2021-05-12 08:18:05 +02:00
Jeff Young 12f985f978 Add Quit and Close to the HotKeys list.
Fixes https://gitlab.com/kicad/code/kicad/issues/8391
2021-05-11 23:25:13 +01:00
Jeff Young 7356f9568d Move grid disable modifier from ALT to CTRL.
Also had to move the H/V/45 disable modifier from CTRL to SHIFT.

Fixes https://gitlab.com/kicad/code/kicad/issues/8124
2021-05-09 20:17:40 +01:00
david-beinder 49d02560e4 In footprint filter, check pin count mismatch first 2021-05-06 22:00:06 +00:00
Jeff Young 2e3860de6f Naming conventions. 2021-05-05 22:58:40 +01:00
Wayne Stambaugh d2a7f81b10 Debugging improvements and clean up.
* Remove unused wxLogDebug calls.
* Add add application level character tracing to detect unhandled key
  events.
* Catch unhandled exceptions in KiCad main event loop like single top
  applications.
2021-05-03 18:08:15 -04:00
Roberto Fernandez Bautista f2677340f2 Access the new paste behaviour via a new Paste Special... dialog
ADDED Paste Special... action in pcbnew

CHANGED Additional options for Paste Special... in eeschema, including
"Assign unique reference designators to pasted instance"
2021-05-03 19:38:32 +01:00
Roberto Fernandez Bautista 0f0c5c194b Add qa test: save and reload schematic with page numbers
Note: PGM_BASE::InitPgm() is creating a SETTINGS_MANAGER object, which
in turn tries to display a "migrate settings" dialog when no settings
are found, but obviously the dialog can't be displayed inside docker.

Needed to add an optional parameter to InitPgm() in order to allow
running in headless mode.
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista ae009e0758 Ensure clipboard data is available after KiCad closes
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista 5822cd85c4 Fix eeschema copy/paste: save and load sheet and symbol instances
Save sheet and symbol instance information to the clipboard on copy

Load sheet and symbol instance information from the clipboard on paste
and renumber page numbers after loading.

Correctly handle pasting in a multiple hierarchy by ensuring symbol and
sheet instances are updated for all instances of the destination sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8207
2021-05-03 19:38:31 +01:00
jean-pierre charras aee1593678 Fix wxWidgets alerts
Fixes #8346
https://gitlab.com/kicad/code/kicad/issues/8346
2021-05-02 16:02:33 +02:00
jean-pierre charras 6b9e44e59c pl_editor: save comment associated to DS_DATA_ITEM graphic items.
The editor has an entry to set a comment associated to a graphic item.
It is only for the designer, but the code to save it in .wks file when not empty was missing.
The code to read it exists since the beginning, so no change in file format
2021-05-02 08:59:15 +02:00
Jeff Young 16ebb3a433 Fix Mac compile error and clean up some other includes. 2021-05-01 22:25:41 +01:00
Marek Roszko 0dd746548a DS_DATA_MODEL::LoadDrawingSheet actually was meant to accept blank filenames as a good thing
It was there...if you stared at it long enough
2021-05-01 15:55:25 -04:00
Marek Roszko 6b03b26364 Actually ensure we cleanup in case of failure in dialog_page_settings 2021-05-01 14:14:57 -04:00
Marek Roszko d4bb1cbc63 Make drawing sheet loading slightly smarter 2021-05-01 14:11:31 -04:00
jean-pierre charras f6f2284851 Fix missing includes on Linux after commit 0427bda7 2021-05-01 20:05:01 +02:00
Jon Evans 5b040f16a3 Refactor environment variable storage
CHANGED: Environment variables defined outside of KiCad will no longer
         be saved in the settings file.  Paths can be configured via
         the Configure Paths dialog and those changes will be saved in
         the settings file if the new path is different from the default
         and the path variable was not defined in the system environment.
2021-05-01 13:39:43 -04:00
jean-pierre charras 0427bda768 Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Marek Roszko cc1bfd4c18 Harden drawing sheet loading slightly...
The fact it blindly assumed it would always work makes me sad :( So this is just ducktape
2021-05-01 13:20:58 -04:00
Marek Roszko eb343d3f8f Avoid using the string type name as a variable name 2021-05-01 11:13:53 -04:00
Marek Roszko b243c2280d enum class PAD_SHAPE_T 2021-05-01 08:22:35 -04:00
Marek Roszko ca1b98a4ab Fix type in check just added for arch 2021-04-30 19:25:57 -04:00
Marek Roszko cbad18ad98 Hide gal profiling behind KICAD_GAL_PROFILE cmake option
__WXDEBUG__ is too easy to get set
2021-04-30 19:24:36 -04:00
Marek Roszko 51fee0a3ad Add binary bitness in version info.
Fix #4425
2021-04-30 19:24:36 -04:00
Marek Roszko f083f043cb Account for taskbar being on top for determining window positions on launch
Windows doesnt need an ambiguous "screen border region" defined in percent, it's an absolute area given in pixels
Also we need to check the top corner y value to the ClientArea returned from the wxDisplay, in the situation the task bar is on top.

Fix #7850
2021-04-29 20:18:19 -04:00
Jon Evans 64d35ecebc Enable dark mode for MacOS 2021-04-28 23:24:19 -04:00
Jon Evans f00cee438f Fix running from build dir on MacOS after recent build system changes 2021-04-28 23:21:19 -04:00
Hanya 4b5cff8c5d Readd half and full width forms 2021-04-28 17:27:07 +00:00
Jeff Young ddeac126ad Dialog spacing.
On OSX GUI guidelines require "destructive" buttons to be spaced away
from other buttons.
2021-04-25 19:28:41 +01:00
Jon Evans d3194cc6db Work around wxWidgets ConvertToDisabled not being dark-mode aware
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8297
2021-04-25 13:05:23 -04:00
Ian McInerney ecd9bf696e Be consistent about using nullptr instead of 0
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Jon Evans e7d3bf29aa Don't save project for legacy board without explicit action
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7368
2021-04-21 21:27:23 -04:00
Marcus A. Romer 6fdf567b21 Redirect to website when help files are missing
In case the documentation and help files from kicad-doc are not
installed or are located in a folder where KiCad cannot find them, an
info dialog is shown offering the user the option to access the online
help system instead.

Fixes https://gitlab.com/kicad/code/kicad/issues/2142
2021-04-21 19:19:25 +00:00
Marcus A. Romer c5e77e9739 Respect KICAD_DOCS when searching for help files
On Linux, the documentation and help files are potentially installed to
a non-standard location (i.e., outside of /usr/share/doc/kicad/). This
can be the case when, e.g., multiple versions of KiCad are installed in
parallel. Making KICAD_DOCS available at run-time is the only viable
solution to allow the applications to find the help files in this case.

Fixes https://gitlab.com/kicad/code/kicad/issues/7874
2021-04-21 19:19:25 +00:00
Marcus A. Romer a97ccbf7ed Refactor help file search logic
Rely on existing code to initialise the list of paths in which the KiCad
documentation might be located, thereby making SearchHelpFileFullPath
platform-agnostic and easier to read.
2021-04-21 19:19:25 +00:00
Jeff Young dff5e7c55e Adjust infobar error/warning times.
My last bump up in the times might have been too much.  Try to find a
middle ground.
2021-04-21 15:40:59 +01:00
Jon Evans 693413b47e Fix project saving in pcbnew standalone when project is new
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8244
2021-04-20 20:59:51 -04:00
Marek Roszko ce3a84f579 Consolidate wx aui dock art color setting 2021-04-19 21:12:02 -04:00
Jon Evans eac2700af6 Launcher: use unscaled bitmaps
This is not really a toolbar so we should not scale here
2021-04-19 17:18:17 -04:00
jean-pierre charras 1bfa3dc6a5 Fix an annoying issue (wxMSW specific) about X_VIEW_CONTROLS::CaptureCursor()
On MSW, CaptureMouse() was sometimes called event if the GAL panel has
captured the mouse (that was not accepted by wxMSW), although HasCapture()
returns false.
(Perhaps some race condition between events)
The fix add a flag to avoid calling twice CaptureMouse() after only one
wxEVT_MOUSE_CAPTURE_LOST event was received.
Fixes #8239
https://gitlab.com/kicad/code/kicad/issues/8239
2021-04-19 21:23:07 +02:00
Jonathan Haas 325ab738b5 Use a slightly less egregious hack to enforce linespacing in DRC reporter, that also works on GTK
Fixes https://gitlab.com/kicad/code/kicad/issues/7319
2021-04-18 20:18:02 +00:00
Ian McInerney ae91042544 Implement thread safety for symbol loading routines
These functions can be called from any thread of the library
loader, so we need to ensure we have some thread safety with them.
2021-04-18 18:39:46 +01:00
Jeff Young 13473420e5 Remove duplicated routine and fix bug in UTIL version. 2021-04-17 15:10:59 +01:00
Wayne Stambaugh 2ae264751f Rename class_board_stackup.{h|cpp} to board_stackup.{h|cpp}. 2021-04-16 17:07:06 -04:00
Ian McInerney 43425d7306 Add logging of the functions used in the coroutine implemntation 2021-04-16 17:49:52 +01:00
Ian McInerney e7798d8f23 Add another logging call to the tool manager 2021-04-16 17:49:52 +01:00
Ian McInerney e237b6a2af Add thread sanitizer support to Cmake 2021-04-16 17:49:52 +01:00
Ian McInerney 0bdce00c42 Be explicit we don't care about the wxID of the control 2021-04-16 17:49:52 +01:00
Jeff Young 3a6a919097 Improve clarity in the Print dialog around edge cuts layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/8200
2021-04-16 16:53:51 +01:00
Jon Evans 433e148e08 Move some string formatting functions out of base_units
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
Marek Roszko 43e93cc801 Force disable the native dropdown caret on grid comboctrl's we create
Fix #7212
2021-04-14 22:54:40 -04:00
Marek Roszko cb215a0abe Ensure our grid helper comboctrls generate returns as events instead of internally processing
Fix #1874
2021-04-14 21:37:21 -04:00
jean-pierre charras 7c64dba333 NUMERIC_EVALUATOR::parseSetResult(): fix incorrect use of %g to print a double.
This function is used in UNIT_BINDER, that does not accept floating notation
with exponent, that can be generated by parseSetResult().
As a result: values < 0.0001 cannot be entered in a UNIT_BINDER.
2021-04-14 19:47:03 +02:00
Jon Evans 4f191ce2c7 Squash GCC warning about boolean expression 2021-04-13 21:53:43 -04:00
Johannes Maibaum 39c1387b5b Allow to relocate EDA libraries out of KICAD_DATA
Introduce a new advanced config variable `KICAD_LIBRARY_DATA` which can
be used to move templates, symbols, footprints, and 3dmodels out of
`KICAD_DATA`. If not defined, everything is kept as before.

To facilitate this, PATHS::GetStockEDALibraryPath() is added. This
allows to differentiate code paths looking for EDA library data vs. code
paths looking for plugins, demos, and the like.

Thanks to Aimylios for the hints and suggestions with regards to the
stock EDA library data path handling on Windows and MacOS.
2021-04-14 01:51:22 +00:00
Jeff Young f7cc6d1e1e Fix save as and save copy as for project files. 2021-04-13 17:56:50 +01:00
Seth Hillbrand dec5734ff2 Add Hiroshi Tokita to translators 2021-04-12 15:19:07 -07:00
Roberto Fernandez Bautista 9148542219 CADSTAR Schematic: Fix Text Positioning within Symbols 2021-04-12 20:25:03 +01:00
Jon Evans 7784d7cb12 PNS: Fix visible area restriction
VIEW::GetBoundary() returns the entire view area, not the visible area.
Surprisingly, we had no API for this, so I added one.

Also, changed the dragger behavior to toggle between optimizing just the
modified area and optimizing the visible area, i.e. we will now never
optimize off-screen portions of the dragged track.
2021-04-10 16:13:08 -04:00
Thomas Pointhuber f13eb13b9a altium: import images from SchDoc 2021-04-10 21:52:37 +02:00
david-beinder 4c9f7c414d Add my name to contributors list, remove duplicate 2021-04-09 22:38:15 +00:00
david-beinder 6b0ff156ae Allow creating uppercase net names in net selector
Also show option to create a new net if the search string is a substring of an already existing net name
2021-04-09 22:38:15 +00:00
Jon Evans 7dd6a182f2 Unhide the Altium schematic importer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8069
2021-04-08 22:22:03 -04:00
Jon Evans 5ae54c1610 Fix Windows stock BOM plugins dir
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8147
2021-04-08 22:16:20 -04:00
Seth Hillbrand d48adf9c77 Update donate link to use in-app variant 2021-04-08 16:58:45 -07:00
Seth Hillbrand da6f9c399f Add in-app donate link 2021-04-08 16:58:45 -07:00
Jeff Young b83380b2ba Performance: don't look up map entry twice.
Fixes https://gitlab.com/kicad/code/kicad/issues/8157
2021-04-08 23:10:30 +01:00
Ian McInerney 1a727558b0 Switch update event handlers to use the event instead of pointers
It is safer to use the event to pass the enable/string
instead of pointers, since using the pointers could trigger
other UI events.
2021-04-07 17:39:48 +01:00
Roberto Fernandez Bautista 235688e459 Less restrictive Arc Track Dragging tool
Use the connecting straight tracks even if not exactly parallel - allow
an error margin configurable in ADVANCED_CFG (default 1 degree). Also
be less strict about end point matching and use the width of the track
as the criteria to determine suitability.

Finally, delete any short lengths of track at the end of the operation
and amend the arc end points to keep connectivity.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7967
2021-04-06 12:52:01 +00:00
jean-pierre charras fc04ece458 PDF plotter: fix a incorrect item in the header.
Fixes #5593
https://gitlab.com/kicad/code/kicad/issues/5593
2021-04-06 11:28:56 +02:00
Roberto Fernandez Bautista d041578150 CADSTAR Schematic: Fix import of text alignment
Ensure that the text alignment applied to text objects corresponds to
valid text alignments that can be set within eeschema

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8090
2021-04-05 20:15:08 +01:00
Roberto Fernandez Bautista 213d2fe977 CADSTAR: Parse missing NOTPICKABLE node 2021-04-05 20:15:08 +01:00
Jonathan Haas f21111fda6 Add myself to contributors, fix minor ordering problems in contributor list 2021-04-05 16:15:25 +02:00
Jonathan Haas 55679be2e3 Fix some typos across the codebase 2021-04-05 16:15:25 +02:00
Ian McInerney e08387ce3d Make the GAL responsible for the native cursor management
The native cursor must be set on the GAL canvas wx object,
not its frame (otherwise on GTK the cursor is only set
when we get a request for it from the WM and not immediately).

Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2021-04-05 02:36:12 +01:00
Carsten Schoenert 8dff3725ac Typo fix: Correct 'allow to' -> 'allows one to' 2021-04-03 13:39:50 +00:00
Jon Evans c1573744be Lock project files when opening; open locked projects read-only
Also clean up an include-what-you-use problem

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8037
2021-04-02 19:29:56 -04:00
Ian McInerney 8ea18c0639 Don't steal focus from other windows on GTK
Before, it was possible for the canvas to steal the
focus if the cursor was only moved over it and not
clicked. Now, the canvas will only take the focus if
the frame is active.

Fixes https://gitlab.com/kicad/code/kicad/issues/7233
2021-04-03 00:17:28 +01:00
Ian McInerney 1db5e2bc96 Don't force an entire refresh of toolbars to update sizes
Forcing an entire refresh of the toolbars is wasteful,
so instead just update the sizers directly.
2021-04-02 19:12:21 +01:00
Jeff Young e1a3a8338c File left out of previous commit. 2021-04-01 18:10:04 +01:00
Jeff Young a4fba7014e Give the infobar a reasonable colour on Mac. 2021-04-01 11:55:48 +01:00
Jeff Young 0c4184f1a4 Split lib tree initialization into a two-pass affair.
This is under the supposition that we can't set the column widths
on some Mac instances because the host controls haven't yet been
created.  This is primarily conjecture based on looking at things
that have the *possibility* of going wrong.  Why this only happens
in some installs is beyond me.

Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-04-01 10:51:29 +01:00
Jeff Young 2ad69fc56b Move importers from wxLog to REPORTER.
Fixes https://gitlab.com/kicad/code/kicad/issues/6389
2021-03-31 22:54:30 +01:00
Roberto Fernandez Bautista a530c22eff Shorten "Allow free pads" tooltip and rename button "Skip Locked Items" 2021-03-31 18:28:18 +00:00
Roberto Fernandez Bautista 484cc924a8 Clarify Locked Items Query dialog
Explain better what the dialog does when each option is selected.
2021-03-31 18:28:18 +00:00
Ian McInerney 0a0935e0f3 Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
After commit 9535153f9e there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
2021-03-30 23:20:22 +00:00
Jeff Young 676d862bee Don't allow really narrow widths for tree control.
Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-03-30 20:59:11 +01:00
jean-pierre charras 6eb2e2a6e3 Fp editor: do not change item UUIDs when loading a footprint from library.
Fixes #8066
https://gitlab.com/kicad/code/kicad/issues/8066
2021-03-30 12:58:22 +02:00
Jon Evans 0377eea45e Do not migrate hotkeys from old versions
We don't have a migration handler that can resolve conflicts
and tell the difference between hotkey changes that KiCad made
that we want users to adapt to, and hotkey changes made by the
user.

So, the least-bad option for 6.0 is to just not migrate old
hotkey config files.

See https://gitlab.com/kicad/code/kicad/-/issues/7816
2021-03-29 18:14:24 -04:00
Jon Evans 7a4f5be37e Add back Mac special-case to GetStockPlugins3DPath
3D plugins are not like other plugins

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7750
2021-03-29 17:07:37 -04:00
Wayne Stambaugh 6d2f80b4cf Pcbnew: add write board netlist to file support.
This is hidden behind an advanced configuration setting and is primarily
useful for developers trying to troubleshoot the netlist payload sent
from the board editor to the schematic editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/8051
2021-03-28 08:38:29 -04:00
Jeff Young 8a8167ff0a Use app display name in messages to user.
Fixes https://gitlab.com/kicad/code/kicad/issues/8038
2021-03-28 13:08:27 +01:00
Jeff Young 673baa0864 Allow menu to close before putting up dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/8055
2021-03-28 13:08:27 +01:00
Ian McInerney 475ac3697f Ensure toolbar controls have the correct width on frame creation
Otherwise they could be slightly too small and then look odd.
2021-03-28 13:07:56 +01:00
Ian McInerney 7bfa8575fa Remove redundant information from import/export menu item labels
Saying "Import/Export" on the labels when the submenu has "Import"
or "Export" in it is redundant.

Note that we can't just update the action text with the new name,
because that is used in the hotkey list and would become too confusing
without the "Import"/"Export" text.
2021-03-27 18:50:35 +00:00
Ian McInerney 57518fd0f9 Update the icon set + toolbars when the system color theme changes
This ensures the icons switch from dark<->light when set
to the automatic theme.
2021-03-26 15:50:56 +00:00
Ian McInerney 3146d03aaa Properly ellipsize layer names in the GerbView layer manager
Before, the layers were always ellipsized if the name was >30
characters, even if the widget was wide enough to display
the full name. Now they are ellipsized when needed (e.g. if
the widget is shrunk small enough).

Fixes https://gitlab.com/kicad/code/kicad/issues/1919
2021-03-26 15:50:56 +00:00
Ian McInerney f6041fb52d Force update of some text when activation status changes
The text areas aren't always redrawn when the window is activated
or deactivated, so we need to force a refresh of the text to ensure
it is the correct font color.
2021-03-26 15:50:56 +00:00
Ian McInerney 804c09b8f2 Use wx to draw the arrow on the collapsable pane
This allows for color changes and scaling of the arrow
when the display needs it (e.g. HiDPI displays).

Also make the arrow and text respond to if the window is
active to mimic native controls.

Fixes https://gitlab.com/kicad/code/kicad/issues/6042
2021-03-26 15:50:56 +00:00
Ian McInerney 1d81826409 Use disabled text in message panel when window isn't active
When the window is not active, the status bar uses disabled text,
so the message panel sticks out because it is then using a different
text color. This is most noticable in dark mode.
2021-03-26 15:50:56 +00:00
Jeff Young 262badf6ea Back out arrow support for lib trees. 2021-03-25 15:51:00 +00:00
Jeff Young 7593ee3917 Add right/left arrows for exapand/collapse.
Fixes https://gitlab.com/kicad/code/kicad/issues/8022
2021-03-25 12:23:18 +00:00
qu1ck 75819206a0 Add support for dark theme in plugin icons
Action plugin authors can specify alternative icon path for dark theme.
If it's not specified then standard icon will be used for both light and
dark themes. If neither icon is specified then the default puzzle piece
icon is used.

Fixes #7984
2021-03-24 21:59:30 +00:00
Jon Evans 7e8bd2e561 Need to allow recreation of socket holder
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8017
2021-03-24 17:07:34 -04:00
Ian McInerney 2da2b00560 wxPython ruins everything...
They really should just use a released version of wxWidgets
in their released versions and not some random commit from
the development tree.
2021-03-24 13:28:48 +00:00
Ian McInerney d430fae05d OSX doesn't get the latest and greatest things 2021-03-23 21:44:34 +00:00
Jon Evans df84a90f6c Turn down timeouts for socket connection 2021-03-23 17:43:24 -04:00
Ian McInerney a94a481574 Fix compile warnings
Some simple warnings and also a deprecation warning from wx
because they felt that a function should be renamed...
2021-03-23 19:46:49 +00:00
Ian McInerney 41f88dbabc Refactor platform-specific init into two phases
The first phase is for the environment before the OS
apps are created, and the second phase is for after
the OS app is created but before all of our processing.

Fixes https://gitlab.com/kicad/code/kicad/issues/7992
2021-03-23 19:11:08 +00:00
Jon Evans 41d97e0007 Fix thread cleanup issue on Windows/msys2 2021-03-23 13:39:20 -04:00
Jon Evans 9020611657 Cleanup 2021-03-22 23:42:48 -04:00
Jon Evans 4dbeb15024 Use a worker thread to send socket commands
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6503
2021-03-23 03:20:40 +00:00
Wayne Stambaugh d96cccbf20 OpenGL GAL tracing improvements. 2021-03-22 17:45:49 -04:00
Jeff Young f24f0d93a5 Make OK default in inspectors (and hook up to close window).
Fixes https://gitlab.com/kicad/code/kicad/issues/7831
2021-03-22 21:20:54 +00:00
Jon Evans e0fdfbe1d5 createThemeList takes a filename, not a name
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7075
2021-03-21 21:03:01 -04:00