Commit Graph

8726 Commits

Author SHA1 Message Date
jean-pierre charras 1406341d2d Fix a few doxygen errors (no actual code change) 2023-04-19 16:20:24 +02:00
Jeff Young 3521add640 Suppress newlines in RC_ITEM messages.
Fixes https://gitlab.com/kicad/code/kicad/issues/14569
2023-04-19 14:09:21 +01:00
Marek Roszko 6022979bfe Undo accidental commit change to kiway.cpp 2023-04-18 23:04:51 -04:00
Marek Roszko ea077bc34d Banish ignore.h to core 2023-04-18 22:44:04 -04:00
Seth Hillbrand 82ba67db82 Initialize settings for SINGLE_TOP 2023-04-18 19:27:32 -07:00
Jeff Young 2c34a08bf1 Ignore empty field-name-templates.
Fixes https://gitlab.com/kicad/code/kicad/issues/14552
2023-04-18 17:31:25 +01:00
Jeff Young f72cc6dd51 Amend overly aggressive assert. 2023-04-18 17:31:22 +01:00
Jeff Young 7e5fedef6a Markup fixes.
1) allow escape sequences inside markup sequences
2) keep overbar when inside nested markup
3) always place overbar at full height, not sub/superscript height

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

Fixes https://gitlab.com/kicad/code/kicad/issues/13449
2023-04-17 17:56:54 +01:00
Nimish Telang 51e55dd750 Convert sprintf to snprintf in most files 2023-04-17 15:39:34 +00:00
Jeff Young 86ca90aa2d Fixes to allow copy/paste of pin data.
1) allow paste even if initial cell isn't writeable
2) allow paste to add rows if there's an addHandler defined

Fixes https://gitlab.com/kicad/code/kicad/issues/14508
2023-04-16 23:04:47 +01:00
Jeff Young c6d593a47b Formatting. 2023-04-16 23:04:47 +01:00
Jeff Young cc4a8dcc89 Small improvements to lifecycle safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/14521

Fixes https://gitlab.com/kicad/code/kicad/issues/14315
2023-04-16 18:47:04 +01:00
Jeff Young 6f59740953 Tighten up the lifecycle management of VIEW_ITEMs in
general, and the SYMBOL_VIEWER_FRAME's m_previewItem in
particular.

(Attempted fix for Sentry KICAD-G1.)
2023-04-16 14:21:23 +01:00
Jeff Young b74d964bff Handle legacy libraries with escaped symbol names.
Fixes https://gitlab.com/kicad/code/kicad/issues/14057
2023-04-15 17:47:32 +01:00
Marek Roszko 8fd4909f86 Init curl in InitPgm for thread safety
curl itself highly recommends not initializing curl from within a thread.
Due to the PCM, this can happen in a thread these days.

Pointed out by Érico Rolim in https://gitlab.com/kicad/code/kicad/-/merge_requests/855
2023-04-15 09:18:54 -04:00
Jeff Young d01c023d5a Retire the lib-tree scoring algorithm.
It appears to cause more confusion than help.

Fixes https://gitlab.com/kicad/code/kicad/issues/13905
2023-04-14 23:35:27 +01:00
Lucas Dumont 923f386f08 Dont' create new cell if editing one
Return key is used to change cell line. If cell was in edition, the edition is saved before changing line.

Before this change using return key in the last row, if edited, both saved the change and create new row.

After this change, it'll just save the just, and will need a second key press to create a new row.
2023-04-14 16:44:09 +00:00
Marek Roszko 0eefde6046 Fix build error pre wx 3.1.6 2023-04-13 18:20:16 -04:00
Alex 21103924f4 Don't crash when canceling initial setup in Manage Footprint Libraries 2023-04-13 22:16:56 +03:00
Mike Williams 33b2b5b09d STEP Export: Update options to reflect DNP and Unspecified filtering
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14125
2023-04-13 10:33:03 -04:00
Lucas Dumont 3c24017aa4 Check KiFACE return value
Avoid segfault when cancelling initial global library setup
2023-04-13 13:31:02 +00:00
Jeff Young 8e29a054f3 Performance improvement for GetShownColumns.
(This needs to be fast as it's called from OnUpdateUI events.)
2023-04-13 13:45:22 +01:00
Ian McInerney 6c05801d9e Make the property grid compatible with wx 3.3 2023-04-12 18:57:12 +01:00
Ian McInerney 73a1e63e8e Modify how we print the wx version compat macros 2023-04-12 18:57:12 +01:00
Ian McInerney 8f3bbf36f8 Replace __WXGTK20__ with __WXGTK__
We no longer care about a GTK2 vs 3 difference, we only support GTK 3.
2023-04-12 18:57:12 +01:00
Ian McInerney f0684510f0 Replace wxScopedPtr with std::unique_ptr
Upstream has deprecated wxScopedPtr and recommends users switch to using
std::unique_ptr instead.
2023-04-12 18:57:12 +01:00
Ian McInerney a77e94d16f Add hack to speed up font choice box widget creation
There are problems internal to GTK that mean creating choice boxes with
a lot of items is a very slow process. This hack works around one of
those issues to make it faster to create and display the menu in the
choice box.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14277
2023-04-12 15:23:34 +01:00
jean-pierre charras 8d206d6a67 LIB_TABLE_GRID_TRICKS, popup context menu: fix minor issues:
- add separator only if needed
- ensure selection parameters are up to date.
2023-04-12 08:12:22 +02:00
Marek Roszko bfad8bb0d5 Prevent VIEW::UpdateItems and onShowTimer from firing repaints if GAL did not complete init
This appears to be a possible event race on startup

Fixes sentry KICAD-10A
2023-04-11 22:09:05 -04:00
Jeff Young 01564a254f Make sure "Item" and "Description" end up in the translation database. 2023-04-11 23:56:12 +01:00
Jeff Young eef3492fc0 Make symbol/footprint trees sensitive to language change. 2023-04-11 23:51:58 +01:00
qu1ck 0c049eccc7 Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
jean-pierre charras b2554ad611 manage libraries dialog: show new state of widgets as soon as the context-menu
activate/deactivate changes their state
Fixes #14517
https://gitlab.com/kicad/code/kicad/issues/14517
2023-04-11 18:46:07 +02:00
jean-pierre charras e208685f85 DIALOG_SHIM: fix missing aEvent.Skip() in DIALOG_SHIM::onChildSetFocus().
This method was added in commit a914f6e9.
Missing Skip() created issues on Windows (text edit cursor not shown in dialogs)
2023-04-11 10:54:50 +02:00
qu1ck a6d10c8e97 Enable warnings on msvc 2023-04-11 00:17:50 +00:00
Mike Williams 32eb1ef77e Sch->PCB: propagate DNP from symbols to footprints attributes
Also add a 3D viewer toggle.
2023-04-10 13:11:21 -04:00
Jeff Young a914f6e992 First <ESC> after an edit in a textEdit cancels the edit.
(Second will exit the dialog.)

Fixes https://gitlab.com/kicad/code/kicad/issues/14514
2023-04-10 15:13:43 +01:00
Jeff Young 374d3d52ef Rollback wxChoice -> wxComboBox changes for now.
wxComboBox still has serious issues on macOS.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/14413
2023-04-09 23:00:33 +01:00
Jeff Young 9252793fdb Add select-all to TEXT_ENTRY_TRICKS.
Fixes https://gitlab.com/kicad/code/kicad/issues/14237

Fixes https://gitlab.com/kicad/code/kicad/issues/13304
2023-04-09 21:25:09 +01:00
jean-pierre charras c6bcfda84c DIALOG_IMAGE_PROPERTIES: fix some issues:
- add missing dialog_image_properties_base.fpb file
- fix not displayed image.
2023-04-08 16:41:55 +02:00
jean-pierre charras 8ca0ba8118 add missing .fpb file 2023-04-08 16:41:55 +02:00
Ian McInerney a0b5de91f3 Move forgotten file to core library
Turns out, there was a cpp file for hte core library, so turn the
library into a static library.
2023-04-08 00:37:49 +01:00
Ian McInerney 07d613d0d2 Subclass wxDataViewCtrl to include our helpers
It is cleaner to just extend the class with these functions rather than
having the separate functions.
2023-04-08 00:07:33 +01:00
Seth Hillbrand 5fcc1135a8 Revert "Modernizes search for Cairo, Fontconfig, Freetype, HarfBuzz and Pixman"
This reverts commit 9efd24a69d.

Breaks MSW builds, so this is a non-starter for now
2023-04-07 10:12:43 -07:00
Seth Hillbrand 2cd854af14 Move Spacemouse to advanced config
The spacemouse driver, particularly on Mac, is extremely unstable and
causes crashes even when not being used.  This places the interface
behind an advanced config flag to ensure that users can affirmatively
opt-in to the potential for crashes
2023-04-07 10:08:43 -07:00
Nimish Telang 9efd24a69d Modernizes search for Cairo, Fontconfig, Freetype, HarfBuzz and Pixman 2023-04-07 16:15:53 +00:00
Alex e91b53fc39 opengl_gal: Remove extra padding of bitmap textures.
Since the format has been changed to RGBA8, default (UN)PACK_ALIGNMENT = 4
works correctly, so the texture width padding to 4 is not needed anymore.

Fixes https://gitlab.com/kicad/code/kicad/issues/14432
2023-04-07 13:52:43 +03:00
Ian McInerney 18ea3be3f2 Revert "Reintroduce constexpr to COLOR4D"
This reverts commit 33da9b2327 and the
following commit dc08c48f33.

C++17 changed the behavior of static class member variables that are
constexpr defined. Previously this definition/declaration split was
valid for constexpr members, but after C++17 the static constexpr member
variables are automatically inlined, so the declaration is no longer
exported in some compilers (GCC 9/10/11 seem to have problems).

An alternate way of constexpr member variables is putting the
initialization in the class definition, but we can't init a COLOR4D
object when defining the COLOR4D class.

For now, revert this change until we can figure out the proper way of
architecting these colors.
2023-04-06 20:18:31 +01:00
Ian McInerney ea62b145ff Introduce core interface library
This library is meant to move non-EDA items (language extensions,
library extensions, etc.) into the lowest-level of our dependency chain.
This library should never depend on anyother non-thirdparty code in the
kicad codebase.
2023-04-06 15:01:18 +01:00
Ian McInerney 33da9b2327 Reintroduce constexpr to COLOR4D
This fixes the initialization-order fiasco in the color initialization
sequence, which was originally fixed by making COLOR4D constexpr, but
was then reintroduced when the assert was changed to wxASSERT (wxASSERT
is not compatible with constexpr).
2023-04-05 14:07:01 +01:00
Wayne Stambaugh c3e6825d62 Add hashing to and unit tests for some low level objects. 2023-04-04 15:28:34 -04:00
Jeff Young a9b2234f4e Use a softer Reset for grid settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/14458
2023-04-04 17:05:21 +01:00
Jeff Young 13e79af8a0 Eagle template footprints don't actually belong to board.
Set their parent to nullptr before deleting (as the board may have
already been deleted).

Likely fix for Sentry KICAD-79.
2023-04-04 14:18:49 +01:00
Jeff Young b3e2cf218f Fix Mac crash-on-quit when timed infobar is up. 2023-04-03 23:44:40 +01:00
Seth Hillbrand d135295ac8 Update translator contributions
Adds a number of missing contributors to our translations
2023-04-03 13:07:15 -07:00
Jeff Young 9b4627e782 Don't pass a FRAME-based UNITS_PROVIDER to a modeless dialog.
(The dialog may outlive said frame.)
Should fix Sentry KICAD-3A.
2023-04-03 17:18:33 +01:00
Mike Williams 98e846459a BOM Presets: don't use designated initializers 2023-04-03 11:24:38 -04:00
Mike Williams 9c3d93eb34 BOM Generator: wire up forced exclusion, optional DNP exclusion 2023-04-03 09:07:52 -04:00
Mike Williams c5cc313da9 Symbol Fields Table: BOM presets saved in JSON settings 2023-04-03 09:07:52 -04:00
Mike Williams 753ae21fd4 BOM Generator: wire up to kicad-cli 2023-04-03 09:07:52 -04:00
Mike Williams 4ac0d71ad4 Grid Tricks: don't override paste into actively editing cell
Also strip linebreaks and tabs if we are in a single cell.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12276
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8361
2023-04-03 09:07:51 -04:00
Jeff Young 28028c941e Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
Jeff Young 7ca057ea02 Marginally increase sliver width checker's bogus segment tolerance.
Fixes https://gitlab.com/kicad/code/kicad/issues/14449
2023-04-02 16:43:29 +01:00
Ian McInerney 8351c8923a Make version info work without lsb-release installed 2023-04-02 00:30:36 +01:00
Jeff Young bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
Wayne Stambaugh 28776f5745 Text attributes object improvements.
* Add compare method to COLOR4D object.
* Add unit test to validate COLOR4D comparison method.
* Add missing color test in text attribute comparison method.
* Add unit test for text attribute object.
* Remove unnecessary headers from text attribute header.
* Move text attribute code into separate source file.
2023-03-29 12:53:45 -04:00
Jon Evans 65193487a6 Properties: Rename methods to better reflect their purposes 2023-03-26 19:43:16 -04:00
jean-pierre charras 4e27e91b2f KICAD_CURL_EASY: fix compil warnings (avoid using deprecated functions) 2023-03-25 10:18:05 +01:00
Marek Roszko 8a8589b9db Fix cli crash due to dialogs buried in the pcb parser...
Fixes sentry KICAD-Q2
2023-03-24 19:52:48 -04:00
Seth Hillbrand 0b54eb6edb Backout change unrelated to 19d0aceda3 2023-03-24 12:28:03 -07:00
Seth Hillbrand 19d0aceda3 Remove superfluous m_status variable
This used to be used to store information for the item similar to
m_state but it has been deprecated and no uses remained
2023-03-24 09:38:39 -07:00
Nimish Telang f7bf3011fb Use bundled Find{CURL,ZLIB}.cmake 2023-03-24 12:54:52 +00:00
jean-pierre charras 7aace908e1 Gerber plotter: fix incorrect arcs in regions when using a plot offset.
The arc center in Gerber units was incorrectly calculated.
Fixes #14402
https://gitlab.com/kicad/code/kicad/issues/14402
2023-03-24 11:25:25 +01:00
Marek Roszko c65e33ac13 Prevent crash in color settings due to dropdown weirdness
Fixes sentry reported crash KICAD-R6
2023-03-23 19:46:47 -04:00
Salvador E. Tropea 7e3f1b1a00 Adds the missing plot formats to `kicad-cli sch export` 2023-03-22 02:14:50 +00:00
David Holdeman 79fbde0894 Add option to use drill/place file origin for kicad-cli gerber export 2023-03-21 12:18:14 +00:00
Ian McInerney 016c958021 Always build spice simulator support
The simulator has advanced considerably, and it is seeing lots of active
development, so make it a required part of KiCad. Additionally, the
build without the simulator has actually been broken for a while, so no
one clearly is building without ngspice right now.
2023-03-20 16:54:32 +00:00
jean-pierre charras 10d4c63c31 EDA_SHAPE_DESC(): catch a std::runtime_error when emitted by
template<typename T> T Get( PROPERTY_BASE* aProperty ) to avoid a crash,
and displays in Debug mode the runtime error message.
Fixes #14347
https://gitlab.com/kicad/code/kicad/issues/14347
2023-03-20 16:07:08 +01:00
Chartreuse 0d5976c52b Diff Layer Transparancy Fallback for Low Framebuffer Count 2023-03-20 13:05:24 +00:00
Jeff Young a14c017def Save location of legend in worksheet.
Also provides a different cursor when over a legend (to make it clearer
that you can drag it).
2023-03-20 09:51:41 +00:00
Jeff Young ec6d709929 Make sure legend reflects gain/phase for AC small signal analyses.
Fixes https://gitlab.com/kicad/code/kicad/issues/14301
2023-03-19 23:02:58 +00:00
Jeff Young 6f44b85c13 Formatting. (No functional changes.) 2023-03-19 22:09:43 +00:00
Alex 10c4b948cb Support canceling initial global library table setup. 2023-03-19 14:30:53 +03:00
Alex 672c468342 Fix clashing error dialogs when can't load dynamic library. 2023-03-19 13:01:54 +03:00
Alex b89545e484 GTK: Fix settings import paths showing up twice. 2023-03-19 12:51:37 +03:00
Roberto Fernandez Bautista c5362c9b0a CADSTAR: Parse PINNOOFFSET and PINNOANGLE 2023-03-16 21:07:08 +01:00
Roberto Fernandez Bautista a5dc528c88 CADSTAR: Fix edge case in parts grammar (symbol name can be quoted) 2023-03-16 21:07:08 +01:00
Roberto Fernandez Bautista 59d88e1871 CADSTAR Parts: Add parsing of hierarchy tree 2023-03-16 21:07:07 +01:00
Roberto Fernandez Bautista b70fe88145 CADSTAR Parts: Fix parsing of hidden pins (possible for several pins per net!) 2023-03-16 21:07:07 +01:00
Roberto Fernandez Bautista 6ab2112135 ADDED: CADSTAR Parts Libraries (.lib) 2023-03-16 21:07:07 +01:00
Roberto Fernandez Bautista 8f83f27336 CADSTAR SCH: Refactor loading of symbols out of loading part info 2023-03-16 21:07:06 +01:00
Roberto Fernandez Bautista c34207b726 CADSTAR: Remove wxPoint + improve formatting 2023-03-16 21:07:06 +01:00
Roberto Fernandez Bautista e8ead30baf WIP: CADSTAR Parts now shows up in library tables and is handled correctly (todo: read cadstar header) 2023-03-16 21:07:05 +01:00
Roberto Fernandez Bautista f45ab30fa6 Add parsing for symbols and pins (Parser now complete) 2023-03-16 21:07:05 +01:00
Roberto Fernandez Bautista e2a4d58e8f Extract CADSTAR PIN_TYPE and PIN::POSITION into a separate header 2023-03-16 21:07:04 +01:00
Roberto Fernandez Bautista 379e3b2fbb Add CADSTAR Parts Library (.lib) parser and qa tests 2023-03-16 21:07:04 +01:00
Alex fc6279a2ea Improve EC_CONVERGING behaviour when lines are almost collinear.
(somewhat)
2023-03-16 05:41:58 +03:00
jean-pierre charras 412368b7f9 PDF plotter: encode the letters ( and ) in strings with context CTX_JS_STR
They are separators and cannot be used in user strings.
Fixes #14302
https://gitlab.com/kicad/code/kicad/issues/14302
2023-03-15 09:31:49 +01:00
Jeff Young 1058d36315 Unrotate/unflip board footprint to match library copy.
Fixes https://gitlab.com/kicad/code/kicad/issues/14276
2023-03-13 22:36:25 +00:00
Jeff Young 7b3e01ce52 Select correct face from a .ttc file.
Fixes https://gitlab.com/kicad/code/kicad/issues/13314
2023-03-13 18:29:55 +00:00
Jeff Young 0fb1ccff21 Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
Wayne Stambaugh 66f6168163 Fix mode-less dialog issues.
Don't assume the dialog is mode-less and call Destroy() from within a
dialog method.  This will most assuredly crash if the dialog is shown
modally or quasi-modally.

Don't leak memory for mode-less dialogs created on the stack.  Make sure
when the parent frame window is closed that all mode-less dialog memory
is cleaned up.  Dialogs are not child windows like controls and toolbars
so their memory does not automatically get cleaned up when the parent
window is destroyed.

Do not directly access frame parent window's pointer in dialog destructors.
Apparently the tear down order when destroying mode-less dialogs is not
guaranteed so the parent window may get deleted before the dialog causing
a crash when accessing the parent window pointer from the dialog dtor.

Do not close mode-less dialogs in the parent frame's destructor.  This
doesn't guarantee that the dialog(s) will be destroyed before the parent
but it may reduce some careless mode-less dialog event handling in the
future.
2023-03-13 12:04:01 -04:00
Jeff Young dc78797274 Support SHEET_PATH when printing.
Fixes https://gitlab.com/kicad/code/kicad/issues/14233
2023-03-12 22:24:06 +00:00
Jeff Young c4ef08bead Exercise more caution with user filenames.
In particular, don't assume "1" is an extension in "Schematic_1.1".

Fixes https://gitlab.com/kicad/code/kicad/issues/14263
2023-03-12 15:52:45 +00:00
Jeff Young 99247adf15 Fix uninitialized variable. 2023-03-12 12:56:12 +00:00
Jeff Young 74f064d3aa Don't keep smart pointers to wxWindows, particularly modeless ones.
wxWindows have their own lifecycle management.
2023-03-11 19:36:01 +00:00
Ian McInerney e20b33cb66 Fix boost dependencies
* Add Boost::locale explicetly to the CMake since nanoodbc requires it
* Don't let nanoodbc add all Boost libraries to the link line, since it
  is used in common, and it was pulling the unit test framework into
  common then.
2023-03-11 13:29:45 +00:00
Jeff Young c9351dfd67 Drawing improvements for symbol & footprint diffs.
Moves forced-transparency setting down into VIEW_ITEM so that it can
be used to place forced-transparent objects in a different target.
This keeps EnableDepthTest() from equalizing the alpha values between
the two symbols (or two footprints).
2023-03-11 12:45:16 +00:00
Mike Williams b32ba16da4 UI: Add Numpad Enter as "Return" equivalent in missing places
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14244
2023-03-10 16:25:17 -05:00
Jeff Young 357427d803 Graphical diff for board vs library footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/13736
2023-03-10 17:16:40 +00:00
Ian McInerney 56b7d570f9 Remove uses of climits header/defines
2 of the 3 includes never used it, and the other could be switched to
  the C++ numeric_limits class.
2023-03-10 17:08:56 +00:00
Seth Hillbrand d405fff1d8 Correct alpha blending in PDF plot
We fake the alpha channel by pre-multiplying but we forgot to account
for the downscaling of the input channel value in addition to correcting
the alpha * white.  This led to clipping when the values overflowed

Fixes https://gitlab.com/kicad/code/kicad/issues/14238
2023-03-10 09:00:12 -08:00
Ian McInerney a6ebd60c3b CMake: Modernize Boost import to use imported targets 2023-03-10 16:38:35 +00:00
Seth Hillbrand d2cc252fc7 Move via/track/grid selection widget to wxComboBox
The wxComboBox drops nicely from the top of the screen, showing the full
element list, opposed to the choice widget that centers the selection
and places the list off the top of the screen if there are many
elements.  This was broke for MacOS until wx3.2

Fixes https://gitlab.com/kicad/code/kicad/issues/1866
2023-03-09 11:45:44 -08:00
Jeff Young bc0d59801a Graphical diff for schematic vs library symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/13736
2023-03-09 18:04:52 +00:00
Jeff Young 2d6ab62da4 ADDED: schematic/library diff for symbols. 2023-03-09 18:04:52 +00:00
Salvador E. Tropea 13de3c0656 Use constants for the names of the built-in colors
- Avoid repetition and errors from typos
- Allow simple changes
- Simpler data type handling, the constants are wxString

(Cherry-picked from f135881bd6 in 7.0)
2023-03-07 10:34:42 +00:00
Jeff Young 98d7b14dbc A better solution to keep SPICE netlist from being entirely selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/14177
2023-03-06 18:46:01 +00:00
Jeff Young 65c9988d45 Improve cache performance. 2023-03-06 17:18:01 +00:00
Jeff Young 9b9efb9002 Cache for netclass pattern assignments. 2023-03-06 13:56:04 +00:00
qu1ck 88062c5fc3 Add vector3 to swig
Fixes regression in 7.0 making fp 3d model offsets not accessible in
python

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14179
2023-03-05 15:59:22 -08:00
Jon Evans 7b3fd2113c Improve sheet rendering performance
- Cache font markup parsing
- Cache SCH_SYMBOL::GetOrientation
- Don't construct new strings each time in GetDefaultFieldName
2023-03-05 17:41:46 -05:00
Jeff Young 461def2719 Move automatic dimension processing inside PCB_DIMENSION_BASE.
Also move dimension precision to an enum so it can get a proper dropdown
in the properties inspector.
2023-03-05 15:19:06 +00:00
jean-pierre charras f569cffa8e Step exporter fixes and enhancements:
- fix duplicate code and a few bugs (some are due to changes in code over the years)
- ADDED: option to export tracks and vias on external layers Exporting tracks is *very* time consuming,
and need a bit of optimization.
2023-03-05 12:55:15 +01:00
Jeff Young 23accffc6d Add Property Inspector support for dimension objects.
Includes changing the class hierarchy so that dimension objects inherit
from PCB_TEXT rather than containing a PCB_TEXT member variable.
2023-03-04 23:16:46 +00:00
Jon Evans 610e787ada Move to requiring explicit action to save project settings 2023-03-04 14:25:07 -05:00
Jon Evans eba0783b38 Fix rotation/flipping properties for text boxes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14159
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14164
2023-03-04 13:11:15 -05:00
Wayne Stambaugh 4e99812145 Coverity fixes and code cleaning. 2023-03-04 13:02:05 -05:00
Jeff Young f41f04b301 Hook up AddField handler to GRID_TRICKS for SCH dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/git/14153
2023-03-02 18:17:41 +00:00
Wayne Stambaugh 789bf6455a Coverity fixes and code cleaning. 2023-03-02 09:04:47 -05:00
Salvador E. Tropea a6b1a09edf Fix rounding errors in gerber files
The userToDeviceCoordinates helper returns a VECTOR2D
Converting it to VECTOR2I back and forth is a bug and generates rounding errors
Cherry picked from stable branch
2023-02-28 20:27:16 +01:00
Johannes Pfister a87550a2c6 When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined 2023-02-28 11:59:47 +00:00
Roberto Fernandez Bautista b03366c9e8 Fix CADSTAR importer memory leaks
We were leaking the xml tree when throwing exceptions
2023-02-27 23:57:39 +01:00
jean-pierre charras 8b47c94f6e PANEL_COLOR_SETTINGS: swap swatches and texts to avoid annoying truncation.
In some languages, the texts can be long, and create truncation of the left
column. So if the left column shows swatches they are truncated, or not visible
Truncating long texts is less annoying.
Fixes #14052
https://gitlab.com/kicad/code/kicad/issues/14052
2023-02-27 08:35:35 +01:00
Jeff Young fe9370ceea Don't allocate all of memory when the coord system turns inside out.
Fixes https://gitlab.com/kicad/code/kicad/issues/14088
2023-02-26 21:53:05 +00:00
Roberto Fernandez Bautista 698d0b7e92 CADSTAR Sch: Fix loading of graphical arc shapes
Correctly load arc shapes as real arcs instead of approximating now that
v7 supports graphical arcs in the schematic.

Also fix calculation of arc geometry for ccw arcs.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14101
2023-02-26 19:46:34 +01:00
jean-pierre charras 51d46c0e73 plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings
Old PLOTTER::Text is not (yet) removed, but it use negative text size
to mirrored text, which is not really compatible with some plotters (especially PDF).
Using TEXT_ATTRIBUTES is much easy and much better,
so PLOTTER::PlotText() is added.
Note: "old" PLOTTER::Text() is not removed yet.
2023-02-26 14:44:53 +01:00
jean-pierre charras bbfc5c272e Fix my commit d07738a06c.
( a DC->SetPen() was deleted by mistake)
2023-02-25 19:06:46 +01:00
jean-pierre charras ece34e1a0c Plot Gerber format: ensure all attributes are added to polygon items.
Especially, TA.AperFunction,EtchedComponent for net tie footprints using polygons.
2023-02-25 19:06:46 +01:00
Jeff Young 9a0aeb4344 Adjust AC-small-signal plot names when saving placeholders.
Fixes https://gitlab.com/kicad/code/kicad/issues/14016
2023-02-25 13:26:33 +00:00
Jeff Young ee956673b1 Respect readOnly cells in GRID_TRICKS.
Also fixes setting colors in the signals grid as it allows us to make
it editable again.

Fixes https://gitlab.com/kicad/code/kicad/issues/14079
2023-02-25 11:02:12 +00:00
Seth Hillbrand bce402a01c Revert font spacing/tabs to the v6 model
While convoluted, this model matches as best we have found so far, the
alignment with scintilla.  The spacing is character size for N-1 of the
characters in the 4-space tab stops.  The final character is sized for
the actual space character in the stroke font (0.761905)

Fixes https://gitlab.com/kicad/code/kicad/issues/13791
2023-02-24 17:15:57 -08:00
Jeff Young 65a10bd425 Remove unused member variable. 2023-02-24 22:43:23 +00:00
Jeff Young 150d2fd281 Tweak the Mac default selection highlight color for better visibility. 2023-02-24 12:44:55 +00:00
Jeff Young 4bb508eacf Adjust stroke font baseline offset to better match 6.0.
Fixes https://gitlab.com/kicad/code/kicad/issues/13886
2023-02-24 12:44:55 +00:00
Jon Evans 1651b44ab1 Fix some PCB_SHAPE properties
Hide irrelevant position/start/end properties
for shape classes that don't use them.
2023-02-23 20:23:44 -05:00
Seth Hillbrand 81256c0fa4 Prevent mutex deadlock
The overbar function in outline fonts recursively calls the text
function which already owns the lock.  To avoid this, we have an
unlocked variant that is wrapped by the exposed text function

Fixes https://gitlab.com/kicad/code/kicad/issues/14015
2023-02-23 14:59:59 -08:00
jean-pierre charras bc8a78c6df Eeschema plot: honor B&W plot option for bitmap images.
Fixes #14013
https://gitlab.com/kicad/code/kicad/issues/14013
2023-02-23 09:50:05 +01:00
Jon Evans f076f6fb46 Preserve unknown keys in JSON_SETTINGS
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13847
2023-02-22 19:00:47 -05:00
jean-pierre charras dce8826eb2 Fix incorrect tilt of italic texts when plotting them.
Fixes #14023
https://gitlab.com/kicad/code/kicad/issues/14023
2023-02-22 16:55:20 +01:00
Jon Evans 43d3a18b86 Improve HiDPI handling of appearance/layer controls 2023-02-22 09:20:36 -05:00
Jon Evans 89ef6b36f4 Fix layer widget in HiDPI situations 2023-02-22 09:20:30 -05:00
Salvador E. Tropea 915446a472 Create the built-in colors in the constructor
This is needed so Python scripts can get built-in colors using the
SETTINGS_MANAGER.GetColorSettings() member.
Otherwise calling it with a built-in name crashes.


(cherry picked from commit aee6d9d01c)
2023-02-22 12:52:44 +00:00
jean-pierre charras 814dcdab31 Fix compatibility with wxWidgetsversion < 3.1.6 2023-02-22 10:05:37 +01:00
Ian McInerney be19e967dc Remove WX_COMPATIBILITY flag
Some classes had been originally designed to be usable separate from wx,
but over time our uses of the classes have become entertwined with wx
features (e.g. colors), and various changes have also leaked wx into the
classes unguarded. So just remove the option to hide wx in those classes
to simplify the code.
2023-02-22 01:44:06 +00:00
Ian McInerney 0ba116a3ee Remove unused functions from COLOR4D 2023-02-22 01:44:06 +00:00
Ian McInerney bcb93e9aa7 Modernize setting of compiler definitions in CMake
add_compile_definitions was added in 3.12, and our minimum is now
greater than that.
2023-02-22 01:44:06 +00:00
Marek Roszko 39e69a3d29 Fix up handling of font names available in multiple names
ttf fonts can declare multiple language names. Many by default opt to just declare one and not tag it any particular language.
However, there are CJK languages that typically leverage this function the most. They'll tag both a "en" and a cjk lang family name in CJK characters.

To be as user friendly as possible, we need to display said fonts in the CJK languages if KiCad to set to such a locale.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14011
2023-02-21 20:26:41 -05:00
jean-pierre charras d07738a06c gr_basic.cpp: ensure a pen with width = 0 is transparent.
Setting its color to COLOR4D::UNSPECIFIED (i.e. opacity = 0) is not enough
for all  platforms (i.e. Windows)
2023-02-21 20:06:54 +01:00
Jeff Young 6fcb95b24e ADDED user-defined signals. 2023-02-21 13:32:01 +00:00
Jeff Young ae0cf19923 Nullptr safety. 2023-02-21 13:32:01 +00:00
Jeff Young 87eb4401e3 Add Scintilla support to WX_GRID. 2023-02-21 13:32:01 +00:00
jean-pierre charras b05b33a9ff Fix a compil issue with gcc12.2 and Coverity warnings. 2023-02-21 11:54:38 +01:00
Mark Roszko 365c7be4ed Fix symbol contributor link 2023-02-20 19:44:37 +00:00
jean-pierre charras 31be74b8b3 Fix a few Coverity warnings 2023-02-20 09:25:01 +01:00
Marek Roszko 343e3aee55 Remove unused m_sockets 2023-02-19 23:49:43 -05:00
Marek Roszko 30a49462fe Fix crash parsing cadstar
Fixes sentry KICAD-B2
2023-02-19 08:06:35 -05:00
Marek Roszko c5a2c9c773 Try to prevent a crash in mpFXY::Plot
Fixes sentry kicad-c0
2023-02-19 00:38:42 -05:00
Marek Roszko d55e2049e5 Silence some warnings with static_casts 2023-02-18 23:36:50 -05:00
Marek Roszko aacc9746e3 Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
Marek Roszko dffd2da8c8 Fix the shared_lock added and micro-opt the reindex 2023-02-18 11:28:19 -05:00
Marek Roszko e053fbefd7 Use a shared_mutex to read/write lock the nickIndex
Fixes sentry kicad-ax
2023-02-18 10:17:58 -05:00
Jon Evans f7d59f2e89 Enable properties panel in footprint editor 2023-02-17 20:35:56 -05:00
qu1ck 2975f53647 PCM: auto reload global libs after dialog is run
This adds Reset() method to KIFACE to reload global libs stored in
global static vars.
Also refactors some lib reload code in various frames to have
common MAIL_RELOAD_LIB handler.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12500
2023-02-17 17:24:32 +00:00
Mark Roszko 7b4abb1f7b FT_Face is also not thread, protect getTextAsGlyphs 2023-02-17 14:39:52 +00:00
Marek Roszko 65d5b34da3 freetype is not thread safe, zone filler can trigger multi-thread access
sentry KICAD-B1

https://freetype.org/freetype2/docs/reference/ft2-base_interface.html
[Since 2.5.6] In multi-threaded applications it is easiest to use one FT_Library object per thread.
In case this is too cumbersome, a single FT_Library object across threads is possible also, as long as a mutex lock is used around FT_New_Face and FT_Done_Face.
2023-02-17 07:26:52 -05:00
Seth Hillbrand 576bef4ba0 Fix Ukrainian language name
Should refer to the language not to a Ukrainian person
2023-02-16 15:10:47 -08:00
Seth Hillbrand 5c1b15f8e3 Make LIB_TREE_NODE sort irreflexive
std::sort requires explicit ordering of all elements.  It does not allow
for equality in its output
2023-02-16 13:00:18 -08:00
Marek Roszko c189053ee5 CURLINFO_SIZE_DOWNLOAD_T is a enum entry, use the version check instead 2023-02-14 23:44:46 -05:00
Marek Roszko 94b5ddbb50 CURLOPT_XFERINFOFUNCTION is an enum entry not a define, the check is invalid 2023-02-14 23:24:02 -05:00
Jon Evans e5b376721d Properties: remove assertion that no longer makes sense 2023-02-14 21:08:36 -05:00
Jon Evans 473979d686 Fix handling of PPI when loading embedded images
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13884
2023-02-14 19:42:06 -05:00
Jeff Young 03484aedbc Workaround wxWidgets enforced min pen width by using transparent pen.
Also fixes some bugs in our shape printing code when a border is not
specified but a fill is.

Fixes https://gitlab.com/kicad/code/kicad/issues/13891
2023-02-14 14:44:04 +00:00
Mike Williams 4b07e3e413 Common Actions: Find Previous
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8968
2023-02-14 08:21:37 -05:00
Jeff Young 785f1acdb0 Archive .ibs files.
Also archives .pkg files that share a name with an archived .ibs file.

Fixes https://gitlab.com/kicad/code/kicad/issues/12102
2023-02-14 11:59:17 +00:00
Marek Roszko e8e407dfba It's not impossible for the font face to fail loading
LoadFont()'s only usage already checked for nullptr to fallback, let's actually return nullptr on a failed load

Fixes sentry KICAD-8Z
Make the cause of sentry KICAD-95
2023-02-13 20:09:05 -05:00
Marek Roszko 9647a22e50 Prevent another GAL crash on init due to psuedo-race
Fixes Sentry KICAD-98
2023-02-13 19:10:49 -05:00
Jeff Young eb7fec52d5 Add archiving of SPICE files.
Fixes https://gitlab.com/kicad/code/kicad/issues/12102
2023-02-13 22:46:07 +00:00
Mike Williams d915cb780e Search Pane: add Activation (enter/double click) event support 2023-02-13 10:57:05 -05:00
Marek Roszko 58350b4521 Ensure gal is initialized before letting DoRepaint blowup spectacularly.
Maybe a fix for KICAD-6B
2023-02-13 07:18:07 -05:00
Jeff Young 837ba323fb Add doc link to custom rules syntax help.
Fixes https://gitlab.com/kicad/code/kicad/issues/13727
2023-02-12 21:34:35 +00:00
Marek Roszko 4665823089 Turn on and fix MSVC compliance mode issues
We want /permissive- to enable debug performance improvements in MSVC 17.5+.
This flag is also default under C++20 so we'll have to deal with these compile issues anyway at some point in the future.

In particular, MSVC becomes pedantic about ternary types.
See https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170#ambiguous-conditional-operator-arguments

MSFT cites https://cplusplus.github.io/CWG/issues/1805.html
2023-02-12 16:30:37 -05:00
Jeff Young 1e756dbdd8 Save cursor positions in sim workbook. 2023-02-12 20:40:23 +00:00
Jeff Young e5176ff4d6 ADDED power dissipation plotting and cursors.
Also fixes a bug so that voltages, currents and power dissipations are
only probed if the flag is set -- this keeps ngspice from throwing an
error if you probe something twice (for instance, if you have .probe
commands in text and turn off the auto-probing).
2023-02-11 21:11:07 +00:00
Jeff Young bc108023b3 ADDED operating point overlay for SCH_EDIT_FRAME.
Fixes https://gitlab.com/kicad/code/kicad/issues/11253
2023-02-11 21:11:07 +00:00
Jeff Young 2a5bb71fbd ADDED operating point text variables for labels and symbols.
ADDED formatting for cursors and operationg points

Also fixes a bunch of bugs to make the new cursors work with .ac sims.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/6965
2023-02-11 21:11:07 +00:00
Jeff Young 39d35a8bec Better cursor feedback for plot window. 2023-02-11 21:11:07 +00:00
Jeff Young f0bd25b397 ADDED use-settable simulation trace colors.
Fixes https://gitlab.com/kicad/code/kicad/issues/2536
2023-02-11 21:11:07 +00:00
Jeff Young 09822c7f18 ADDED direct access to signals & cursors.
ADDED differential cursors.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/6221
2023-02-11 21:11:07 +00:00
Jeff Young 8b4c4b8500 Board-specific hint for board version of Net Settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/13630
2023-02-11 21:11:07 +00:00
Jeff Young 0dcc34ddc8 Simplify Remove Unused Pads dialog. 2023-02-11 21:11:07 +00:00
Jeff Young b000d68def Move simulator to tool framework. 2023-02-11 21:11:07 +00:00
Jeff Young 946e0a4b98 ADDED support for e-series based tuning. 2023-02-11 21:11:07 +00:00
Jon Evans 61dd4b7043 Properties: fix rebuilding when availability changes 2023-02-11 15:50:51 -05:00
Marek Roszko 189ce373bb Remove default hotkeys for grid set/reset.
This is a waste of hotkeys for what should be seldom used activities.
If a user needs hotkeys for this, they can bind them manually
2023-02-11 13:20:53 -05:00
Jon Evans eb240fda9a Properties: introduce validators; re-enable zone hatch settings 2023-02-11 11:44:58 -05:00
Jon Evans 254168c788 Properties: introduce method chaining for initialization 2023-02-11 11:44:58 -05:00
Jon Evans 609ef96e42 Attempt to fix GitLab template duplication 2023-02-11 11:41:12 -05:00
Jon Evans 6948a0bebd Expose new netclass storage to SWIG
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13337
2023-02-11 09:50:24 -05:00
Alex 822d7af4b7 Hide scrollbars in editors by default. 2023-02-11 16:39:09 +03:00
Seth Hillbrand fda3feaf3f Revert "Add doc link to custom rules syntax help."
This reverts commit 7874735810.
2023-02-10 15:33:03 -08:00
Alex 4ac6d6a0bd Fix "wxEXPAND overrides alignment flags in box sizers" assert.
wxALIGN_CENTER_VERTICAL flag is ignored if wxEXPAND is present in
box sizers.
2023-02-11 02:15:44 +03:00
FPiorski 7978fdbfce Plot colored drawing sheet text with the correct color 2023-02-09 14:12:48 +00:00
jean-pierre charras 5da5ccc4bf pagelayout_editor: fix some minor issues:
- text color not always stored in file
- Indicator for changes in main title not updated after save.
2023-02-09 14:16:26 +01:00
jean-pierre charras ae2da76615 Pcb printing: fix incorrect pos. of the board when printed without worksheet.
Fixes #13258
https://gitlab.com/kicad/code/kicad/issues/13258
2023-02-08 11:05:31 +01:00
jean-pierre charras a493a2c822 kicad-cli, pcbnew pàlot: honor the color options when ploting pdf files
--black-and-white and -t were shown in help, but not handled
Fixes #13805
https://gitlab.com/kicad/code/kicad/issues/13805
2023-02-07 20:20:45 +01:00
jean-pierre charras 0d903d43a0 pagelayout editor: Add tests for invalid parameters.
Invalid parameters are repeat count < 1, size < 0 and default size < 0.01 mm
2023-02-07 12:53:34 +01:00
Seth Hillbrand 823607796b Additional safety around wks bitmaps
Invalid files can create large problems for unloaded PNG data

Fixes https://gitlab.com/kicad/code/kicad/issues/13801
2023-02-07 12:08:39 +01:00
jean-pierre charras 23d0e6b4c0 Fix compil on msys2 (Structured Exception Handling not really supported) 2023-02-05 10:39:25 +01:00
Alex 525d0da126 Move __try into lambda. 2023-02-05 07:55:01 +03:00
Alex b913e9be1e Move more of defragment inside the __try block. 2023-02-05 07:45:03 +03:00
Alex 74a242c662 Catch access violation in defragment due to OpenGL drivers on Windows. 2023-02-05 07:03:04 +03:00
jean-pierre charras 729be64850 Preferences dialog: try to reduce its width, in non English languages.
Step 2: Remove some useless spacers, and do not force some widgets
to have a too large size.
2023-02-04 17:45:39 +01:00
jean-pierre charras 6b5eeeb861 Preferences dialog: try to reduce its width, in non English languages.
Remove some useless spacers, and do not force some widgets to have a to
large size (by removing empty areas).
Work in progress: one panel is still too big.
2023-02-04 14:36:14 +01:00
jean-pierre charras 90e759e738 Dialogs: minor cosmetic fixes (reduce a few spaces between widgets) 2023-02-03 16:58:30 +01:00
Graham Keeth 9a34178f66 add CURRENT_DATE to text var autocomplete 2023-02-03 00:10:55 +00:00
Wayne Stambaugh e20c86ad5e Minor dialog layout improvements. 2023-02-02 16:54:52 -05:00
Jeff Young 7874735810 Add doc link to custom rules syntax help.
Fixes https://gitlab.com/kicad/code/kicad/issues/13727
2023-02-01 23:40:53 +00:00
jean-pierre charras 8b6fda2890 PANEL_COMMON_SETTINGS_BASE: Reduce the minimal width of the panel.
Other languages than English can have much bigger sentences, thus
creating a very large panel.
2023-02-01 11:29:55 +01:00
Jon Evans ee2cdc01e7 Make common settings options not stretched out 2023-01-31 21:57:30 -05:00
Marek Roszko 7d80815b7b Just use hash for sentry release for all builds for now 2023-01-31 21:17:11 -05:00
Marek Roszko 719be61627 Silence some kicad-cli loading errors on clean installs 2023-01-31 20:57:31 -05:00
Seth Hillbrand ef964f2303 Move Ivan Chuba to Ukrainian 2023-01-30 11:52:59 -08:00
Seth Hillbrand 6a993ffb13 Update contributors lists for v7 2023-01-30 09:31:55 -08:00
Marek Roszko 5163cb6976 Don't use SystemDirsAppend on windows for finding the docs
TODO, yeet SystemDirsAppend entirely on Windows into the sun

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11589
2023-01-29 20:50:16 -05:00
kliment ef8062bfad pcbnew: Change some of the default settings in board setup and netclasses 2023-01-29 23:20:40 +00:00
Marek Roszko 80b1826095 Fix sentry release tagging broken by 98d55ce8 2023-01-29 11:51:03 -05:00
Marek Roszko 088cadfefc Attempt to select PCM themes for cli by their display name
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13648
2023-01-28 17:07:06 -05:00
Jon Evans d04cda35c5 Handle hidden attribute in fp-lib-table
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13689
2023-01-28 09:23:25 -05:00
Marek Roszko 4d811ba975 Enable layer arg for fp export svg 2023-01-27 23:45:42 -05:00
Seth Hillbrand 9ad2e9f25d Standardize view checking
Uses wxCHECK* functions for mesage display and correct behavior when
encountering an invalid layer
2023-01-27 12:35:36 -08:00
jean-pierre charras ff46b7b1e5 fix compil warnings 2023-01-27 18:25:09 +01:00
Jeff Young 36d44e0ef2 Fix vertical centering of buttons in button row. 2023-01-27 12:34:50 +00:00
Marek Roszko d8bde5bcfe Avoid the sentry prompt in kicad-cli
Fixes KICAD-47
2023-01-27 06:52:40 -05:00
Alex a872ed11bf Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
Seth Hillbrand 242b9855dd Protect VIEW against oddball items
Importing may have more view layers than we allocate.  In these cases,
we need to avoid accidentally writing to unallocated view layers

Fixes https://gitlab.com/kicad/code/kicad/issues/13638
2023-01-26 11:22:56 -08:00
Seth Hillbrand bcc1e28bab Fix Windows build error
bc Microsoft owns all the words
2023-01-25 16:45:04 -08:00
Seth Hillbrand 33bef16376 Simplify the winding calculation
This algorithm is more robust against points and cheaper to execute.
2023-01-25 13:13:38 -08:00
Seth Hillbrand cf52bfcc55 Handle missing Bold/Ital outline fonts
If the font face doesn't include a Bold or Italic version, we still want
to display the font as bold/italic, so we fake it with freetype.

This also prevents recurring error messages where the outline font warns
about "substitutes" within the same font family.

Also allows variants on the weight descriptor to be used without
throwing a substitution warning

Fixes https://gitlab.com/kicad/code/kicad/issues/13654
2023-01-25 13:13:38 -08:00
Jeff Young 51293858b3 Allow empty lib tables.
Fixes https://gitlab.com/kicad/code/kicad/issues/13653
2023-01-24 23:45:55 +00:00
Jon Evans 769afa6fe6 Properties: refactoring 2023-01-24 12:08:37 -05:00
Jon Evans 890103a012 Properties: Fix handling of mixed value selections 2023-01-24 11:51:26 -05:00
Marek Roszko 669d302ccf Revert "Try to handle fetching the player frame slightly safely"
This reverts commit 679a3a6552.
2023-01-24 06:54:10 -05:00
Marek Roszko 679a3a6552 Try to handle fetching the player frame slightly safely
Maybe a fix for KICAD-3A
2023-01-23 22:02:37 -05:00
Jeff Young 220c5a259b Refresh schematic's copy of template fieldnames after preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/13203
2023-01-24 00:07:40 +00:00
Seth Hillbrand 442ee52905 Add versioning to lib tables
Sets lib table version to allow easier migration between versions
2023-01-23 22:21:12 +00:00
Seth Hillbrand 70a57505de Migrate lib tables to KICAD7 on open
If KiCad does not detect an environmental variable set for the old
library table variables AND the library table being opened references
the unset env var, we will dynamically update the env var to the new
value

Fixes https://gitlab.com/kicad/code/kicad/issues/13464
2023-01-23 22:21:12 +00:00
Seth Hillbrand efe12f2da5 Cleanup variable naming
Also remove ancient/unused code for lazy resolving
2023-01-23 22:21:12 +00:00
Seth Hillbrand a9ed47f06c Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
aris-kimi 09b83b95d0 PCB Editor: Locked filter unchecked by default
And some minor code style improvement in one place

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13246
2023-01-23 11:36:06 +00:00
Graham Keeth 3f3a43ee5a add gkeeth to docs team in about dialog 2023-01-23 11:34:28 +00:00
Jon Evans e76fd128c3 Stop treating OpenProjectFiles failure like a fatal error
There is no need to try to bail out if this call fails,
and the bail-out was wiping out the app settings.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13427
2023-01-22 22:48:31 -05:00
Jon Evans e419b0bfe8 Support sub-libraries in symbol library browser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12842
2023-01-22 19:25:15 -05:00
jean-pierre charras 1551477f00 Eeschema: Try to fix printing issues for bitmaps.
These issues are highly dependent on wxWidgets version
Tested on W10 with wx 3.1.5, 3.1.7 and 3.2.1
Fixes #12461
https://gitlab.com/kicad/code/kicad/issues/12461
2023-01-22 20:03:29 +01:00
Jeff Young bf8762c57c Streamline color lookup (and a bit of wxS). 2023-01-22 17:18:03 +00:00
Jon Evans 09cb222252 Change indeterminate checkbox behavior to be more intuitive
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13604
2023-01-22 12:10:45 -05:00
Jon Evans 351f668645 Separate selection change updates from properties updates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13624
2023-01-22 12:10:45 -05:00
Alex 2628ab3e16 Update About dialog. 2023-01-22 19:09:49 +03:00
Marek Roszko 0ff32d20cd wxS more things 2023-01-22 09:41:42 -05:00
Marek Roszko 323bec4adc Remove hidden undocumented env var for worksheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8342
2023-01-22 08:56:28 -05:00
jean-pierre charras e900e472ce Fix compil and Coverity warnings 2023-01-22 09:40:09 +01:00
Jon Evans 3a9ef02fdf Clean up handling of selection changes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13620
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13609
2023-01-21 17:37:29 -05:00
jean-pierre charras f14e24d2cf PDF_plotter: fix crash when the font used to plot texts is not specified.
(In this case the default Kicad font must be used)
Fixes #13615
https://gitlab.com/kicad/code/kicad/issues/13615
2023-01-21 20:12:30 +01:00
Marek Roszko b2421c7d9f Fix tiny bug in double 2 string formatting
- I forgot to handle the trailing dots when I added the fmt variant
- UIDouble2Str (the original) lacked the comma check
- Add unit test lol
2023-01-21 13:54:52 -05:00
Chris Morgan 2b128c79f2 sprintf -> snprintf to silence some compiler warnings 2023-01-21 18:39:51 +00:00
Seth Hillbrand 3465fe3e50 Allow variable recursion
Simple recursion of variable expansion allows for multiple use cases in
portability of designs.  This also includes basic prevention of
recursion loops

Fixes https://gitlab.com/kicad/code/kicad/issues/10398
2023-01-20 16:44:48 -08:00
Seth Hillbrand 9986eb5cf6 Don't show error when added new paths
Empty paths should be discarded instead of throwing an error about
missing data
2023-01-20 16:43:16 -08:00
Seth Hillbrand d8ac53d7b4 Fix 3D model resolution for older boards
Older boards use older 3d model environmental variables.  We need to
support both older environmental variables (if the user has them) as
well as updated environmental variables (if the user only has a single
3d model path)

This updated the environmental resolver to look first in the named
location and then substitute the new location if the old location is not
defined in the environment

Fixes https://gitlab.com/kicad/code/kicad/issues/10674
2023-01-20 15:59:23 -08:00
Seth Hillbrand e6dbca051c Force realtime connectivity on
The pressure relief valve was not useful for common work patterns as it
forced the recalculation on many common actions such as bus expansion.
This caused it to actually feel slower than with the pressure relief
valve off.

For most schematics, realtime is now fast enough to not need the valve
and for those that are extremely complex, removing the valve helps this
run more predictably
2023-01-20 15:17:57 -08:00
Seth Hillbrand 5347fbdbb1 Update languages to be installed for release
Languages that have been abandoned or are not yet sufficiently
translated are not shipped with release.  The po files and existing
translations remain and will be re-enabled post release for future
development
2023-01-20 13:23:13 -08:00
Jeff Young b0ba898a27 nullptr safety (necessary during startup before project exists)
Fixes https://gitlab.com/kicad/code/kicad/issues/13608
2023-01-20 19:28:18 +00:00
Jeff Young 2367c5cf1b Fix another early return while evaluating text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/13610
2023-01-20 19:20:15 +00:00
Jon Evans 6cce99e0d0 Support showing Value field in symbol chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13527
2023-01-19 22:14:10 -05:00
Seth Hillbrand da1707d5ba Place hidden PDF text behind words better
Rather than hiding a single line at once, we align each word in the
string with the approximate location of the output word.  This allows
better selecting text in the output pdf

Fixes https://gitlab.com/kicad/code/kicad/issues/12159
2023-01-19 15:53:46 -08:00
Mike Williams 7ab651f078 Common: make grid prev/next wrap
Consistent with our other keys like change track and via sizes.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9051
2023-01-19 11:47:03 -05:00
kliment 0e04c4b1da Add librarian credits 2023-01-19 16:28:31 +00:00
Wayne Stambaugh 774f3f9794 Use wxMessageDialog in IsOK() on GTK builds.
wxRichMessageDialog does not have the same appearance as the native
message dialogs on GTK builds so they look completely out of place.
2023-01-19 08:28:48 -05:00
Jeff Young 47ae8bdb86 Fix duplicated message. 2023-01-19 11:01:22 +00:00
Seth Hillbrand 7e5a2450b8 Move multiple wxMessageBox to DisplayErrorMessage
Also provide protection for headless running in multiple callsites

Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-18 16:54:01 -08:00
Jeff Young ae55b1581e Use error message routine that checks for headless mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-19 00:19:00 +00:00
Dag Lem cff0560088 Eagle schematic import: Handling of escaped text 2023-01-18 12:33:36 +00:00
Jeff Young 3af9c658e6 Don't specify fonts in wxFormBuilder. It only leads to pain.
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-18 12:28:07 +00:00
Jeff Young f399dc0c3a Nullptr safety. (Sentry KICAD-4F) 2023-01-18 01:16:57 +00:00
Jeff Young 26c821962f Simplify and regularize text variable substitution architecture.
EDA_ITEMs are responsible for giving their parent a crack at it if
they failed to resolve it.  This recurses all the way up to the schematic/
board, and then to the project.

Cross-reference handling is also move to the EDA_ITEMs.  It must be done
before bubbling up so that we don't end up in loops.  (The aDepth parameter
will break the loop, but without having done anything useful.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 17:05:41 +00:00
Mike Williams 369c0efade Bitmaps: respect source DPI
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13565
2023-01-17 11:20:17 -05:00
Jeff Young ea1d7c5d97 Update Eagle imported variable mapping to better match Eagle output.
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 13:43:47 +00:00
Jeff Young 8ac0543a5e Try a bigger hammer to keep wxFormBuilder from messing up grid fonts.
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-17 13:41:53 +00:00
Wayne Stambaugh 7361414f4c Fix GCC build issue on Linux. 2023-01-17 07:59:09 -05:00
Marek Roszko 1edf84d756 More wxS ugh 2023-01-17 07:43:04 -05:00
Marek Roszko d2c0f5fc2a More wxSing 2023-01-16 23:14:38 -05:00
Marek Roszko ac94995f70 Some more wxS 2023-01-16 19:07:50 -05:00
aris-kimi b1308d21c3 Calculator eseries, remove trailing spaces from 3R and 4R 2023-01-16 17:18:21 +00:00
Jeff Young 9315e885ee Substitute variables in imported symbol text.
Also allows mulit-line text items to be imported.

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-16 16:01:45 +00:00
JamesJCode 3d6045a7c8 Supress wxLocale warnings when no matching locale found when setting default locale on MacOS
Re-fixes warning appearing in https://gitlab.com/kicad/code/kicad/-/issues/13371#note_1238532117
2023-01-16 14:12:16 +00:00
Jeff Young 62649b868c Ensure good fonts in grid headers.
Also moves rendering to a flat look for headers (instead of a beveled
border).

Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-16 02:47:14 +00:00
Marek Roszko 789db0cecb Some more wxS 2023-01-15 21:32:23 -05:00
Marek Roszko 57c66a50ac Add some missing wxS wraps 2023-01-15 20:24:29 -05:00
Jeff Young ca1fb732c8 Share Eagle var substitution between board and schematic importers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-15 22:27:19 +00:00
Roberto Fernandez Bautista 355e817302 Move DefaultTransform definition to transform.cpp, so it can be shared 2023-01-15 19:17:51 +01:00
jean-pierre charras 96a0bd556e Pcb calculator: fix not working calculation in E Series.
Fixes #13519
https://gitlab.com/kicad/code/kicad/issues/13519
2023-01-14 15:36:00 +01:00
Simon Richter dc9aaf7844 Fix mismatched deallocation
The strings are allocated via strdup() -> malloc(), and need to be freed
with free(), the array is allocated with operator new[], and needs to be
deallocated with operator delete[].
2023-01-13 14:48:26 +01:00
James Jackson 8f2f53192b On MacOS, ensure the application locale is set to the system default
Fixes #11046
2023-01-12 21:39:08 +00:00
Seth Hillbrand a5e6f11682 Fix crash when closing non-modal 2023-01-12 13:21:22 -08:00
Seth Hillbrand fa91d906d0 Fix event blocker on GTK
We block events when a modal window is active.  But detecting when the
modal window is closed is harder on GTK than just counting modal closes
because the modal flag can sometimes be unset before the wxEVT_SHOW
event fires.  Instead, we track the stack of modal windows opened and
close the window and subsequent windows when the object pointer matches

Fixes https://gitlab.com/kicad/code/kicad/issues/13372
2023-01-12 11:53:00 -08:00
Jon Evans c530bdb5a1 Rename GetSelectMenuText to GetItemDescription
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
Jon Evans 05b578a9bb Bitmaps: use original size for caching
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13486
2023-01-11 21:15:07 -05:00
Jon Evans 253122dc78 BITMAP_BASE: update original when converting to greyscale
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13487
2023-01-11 21:07:50 -05:00
Seth Hillbrand a206f6717d Desaturate the symbols in DNP for print/plot
The desaturation should match screen display

Fixes https://gitlab.com/kicad/code/kicad/issues/13481
2023-01-11 13:44:08 -08:00
Seth Hillbrand 248399f771 Standardize print/plot terms
Use choice box for color/bw selection
"border and title block" -> "drawing sheet"

Fixes https://gitlab.com/kicad/code/kicad/issues/13128
2023-01-11 12:30:02 -08:00
Seth Hillbrand 481c2493a4 Fix comile on Linux 2023-01-10 19:49:36 -08:00
Jeff Young 30c9deb9d5 Flat(er) look for paged dialogs. 2023-01-11 01:11:25 +00:00
Roberto Fernandez Bautista 99d02ac7c0 CADSTAR SCH: Load symbol shapes with correct fill state
Changes architecture of importer to use SHAPE_LINE_CHAIN.

For now lets just load symbol shapes like this, but we could update code
for all other loading operations (also in PCB).

FIxes https://gitlab.com/kicad/code/kicad/-/issues/8060
2023-01-10 22:28:01 +01:00
Roberto Fernandez Bautista ee6e86d1db Add conversion from CADSTAR SHAPE to SHAPE_POLY_SET 2023-01-10 22:28:01 +01:00
Wayne Stambaugh c3ded7a03d Remove board editor standard dialog button static line separators. 2023-01-09 08:49:38 -05:00
Marek Roszko 9f71e9af03 Add arg to plot hidden symbol pins in cli 2023-01-08 22:39:38 -05:00
Jeff Young f17ddf5c88 Terminate overbar notation correctly.
Fixes https://gitlab.com/kicad/code/kicad/issues/13438
2023-01-08 20:08:53 +00:00
Wayne Stambaugh 9c0445ed98 Remove schematic editor standard dialog button static line separators. 2023-01-08 14:26:10 -05:00
Wayne Stambaugh f28ea5e784 Remove standard dialog button static line separators.
For the sake of consistency across all dialogs and window that behave
like dialogs, remove the static line that separates the main part of
the dialog from the standard buttons.  This only applies to windows
that have the standard button on the bottom of the frame.

This covers the 3D viewer, CvPcb, common, GerbView and KiCad dialogs.
2023-01-08 13:15:33 -05:00
Alex 53dedb2c99 Prefer later versions in import of previous settings 2023-01-08 00:24:23 +05:00
Jeff Young aeb0d1d887 Use a more reliable conversion to UTF8.
Fixes https://gitlab.com/kicad/code/kicad/issues/12722

Fixes https://gitlab.com/kicad/code/kicad/issues/13313
2023-01-07 13:13:13 +00:00
Jon Evans 2f7f41b090 Do not pattern-match against the empty net
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13412
2023-01-06 17:25:36 -05:00
Jeff Young e315eb871c Size columns after we've restored saved size of dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/13278
2023-01-06 14:33:44 +00:00
qu1ck 7dfa100ff0 Correctly refresh the board after action plugin run and maintain
selection
2023-01-05 14:05:15 -08:00
Jon Evans 1d9783ed32 Suppress wxWidgets popups when locale can't be loaded for some reason
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13371
2023-01-05 12:39:16 -05:00
Jeff Young 3d8d27caf3 Make sure ResetGridSizes works for SCH apps. 2023-01-05 16:30:55 +00:00
Jeff Young 3b021d98be Completely remove reading SCH grid sizes from config files.
It messes up too many things if you put metric grids in there.

Fixes https://gitlab.com/kicad/code/kicad/issues/13345
2023-01-05 12:25:43 +00:00
Seth Hillbrand 611fcc2f19 Initialize m_originalBitmap when loading PNG data
Fixes https://gitlab.com/kicad/code/kicad/issues/13374
2023-01-04 11:32:15 -08:00
Seth Hillbrand 98d55ce82f Avoid rebuilding with each commit
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h.  Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Roberto Fernandez Bautista f518d08bf8 Update the bounding box when printing "Fit to Page"
Fixes edge case from c5d8dffca4

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13370
2023-01-04 14:44:36 +01:00
Roberto Fernandez Bautista 00655f9f29 Default to Fast Antialiasing for OpenGL GAL 2023-01-04 14:44:36 +01:00
Roberto Fernandez Bautista 1eef438a96 Always default to Accelerated (OpenGL) rendering and fallback if required
When falling back the GAL, let's not update the user preference and instead
just keep track of the failure that happened this session.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11720
2023-01-04 12:58:19 +00:00
Jon Evans 8894b8e669 Implement bitmap rotation and mirroring without texture modification in opengl_gal 2023-01-04 00:26:45 +00:00
Jon Evans ac3ed02283 Rework bitmap cache and enable it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko 8ab9934143 Use our own cmake module path variable to avoid conflicting with the main ones listy functional 2023-01-03 19:18:16 -05:00
Roberto Fernandez Bautista 2d4ec7cab7 Happy New Year 2023! 2023-01-03 15:55:08 +01:00
Jeff Young 056349e5ea Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
jean-pierre charras 40e41d0129 Protect against null pointer use.
Fixes #13349
https://gitlab.com/kicad/code/kicad/issues/13349
2023-01-02 15:42:49 +01:00
jean-pierre charras e8114dc49a Minor compil and Coverity warnings fixes. 2023-01-02 10:21:42 +01:00
Alex c1ea90abc6 Handle view centering properly when drag-panning and zooming. 2023-01-02 14:20:43 +05:00
Gary Kim 8e8a3c7bdc
Do not translate name in version info
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00