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