Jeff Young
acbddc904b
Don't consider newly-added labels when looking for terminal items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15313
(cherry picked from commit 6cef504d2d
)
2023-08-15 17:52:27 +01:00
Jeff Young
dba36c07fe
Only re-build the members grid when we have to.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15320
(cherry picked from commit d3329a0781
)
2023-08-15 17:26:14 +01:00
Jon Evans
88dfe6eb9c
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
(cherry picked from commit 4c4bbdc8f3
)
2023-08-15 01:39:09 +00:00
Jon Evans
255ff5d789
Manual cherry-pick of 256c7fa7
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15367
2023-08-07 11:36:36 -04:00
Seth Hillbrand
2d96c6ad22
Better fix for #15217
...
Rather than rely on a quirk, we avoid the modified structure
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
(cherry picked from commit 248404a0d1
)
2023-08-04 13:59:23 -07:00
Seth Hillbrand
ef7ec13861
Fix-up for previous commit
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
(cherry picked from commit 018d60eb40
)
2023-08-04 13:59:23 -07:00
Seth Hillbrand
8008e09918
Change stale_bus_members to work around MSVC issue
...
Somehow, MSVC vector gets corrupted in certain cases. While the
mechanism is unclear, using an unordered_set avoids this problem
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
(cherry picked from commit 7bd3992350
)
2023-08-04 13:59:23 -07:00
Jon Evans
56aff41b7e
Database libraries performance improvements
...
Rework caching system and optimize queries
(cherry picked from commit 39a5929f33
)
2023-08-04 17:57:46 +00:00
Roberto Fernandez Bautista
74b1f603df
Ensure symbols in subsheets are added to multi-unit map before re-annotating
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14918
(cherry picked from commit 6d3f512e15
)
2023-08-04 01:22:26 +02:00
jean-pierre charras
8625a59d4c
Fix a display issue in wxStyledTextCtrl widgets in dialogs (Windows specific).
...
It happens when a text is using some esoteric unicode chars.
Fixes #15314
https://gitlab.com/kicad/code/kicad/-/issues/15314
2023-08-03 18:44:57 +02:00
jean-pierre charras
cb4289fd19
Eeschema: fix position of shadow shape of graphic texts in a footprint.
...
From master branch
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-08-03 15:44:39 +02:00
Jon Evans
228fe71eb4
Do not force focus on dataview in RC dialogs
...
On GTK, this causes the first item to be selected, firing the
selection handler and causing unwanted side effects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11925
(cherry picked from commit 7804c2177c
)
2023-08-03 13:06:37 +00:00
Ian McInerney
e5df16ba2b
Pass proper parent to symbol viewer frame when changing symbols
...
Fixes sentry KICAD-1Z9
Fixes sentry KICAD-22J
(Cherry-picked from 1f5719ef3a
)
2023-08-02 23:29:04 +01:00
jean-pierre charras
0f4bd34bce
Eeschema: Export symbols to New Library: Fix Cancel button not working
...
This bug can crash Eeschema.
Fixes #15278
https://gitlab.com/kicad/code/kicad/-/issues/15278
2023-07-27 15:16:33 +02:00
Kuba Sunderland-Ober
b7363225da
Ensure the bitmap exported to the clipboard is valid.
...
Fixes #14808
https://gitlab.com/kicad/code/kicad/-/issues/14808
(cherry picked from commit e852d04043
)
2023-07-25 11:14:36 -07:00
Seth Hillbrand
2fa05ed245
Sort the bus alias set by name
...
If we place pointers in a set, they are sorted by the pointer value in
memory, not the data, so we need a custom comparator
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11890
(cherry picked from commit f7f67c6d53
)
2023-07-21 09:04:46 -07:00
jean-pierre charras
cc2637b310
Symbol editor, DIALOG_FIELD_PROPERTIES: fix missing initialization of font.
...
In Symbol editor, trying to change the font of a field did nothing.
From master branch
2023-07-18 19:41:56 +02:00
Jeff Young
e1c6f4f58f
Repair new switch-based Global Update Text & Graphics.
...
We were forgetting to handle wire and bus labels.
2023-07-16 20:24:20 +01:00
Jeff Young
c50888fc79
Use loaded colours for DNP symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15203
(cherry picked from commit 89e2cb0b85
)
2023-07-16 20:06:41 +01:00
Jeff Young
0562776b7a
Fix logic errors in DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
...
(We can't exit out if it doesn't match a particular type as we haven't
checked the other types yet. Use a switch to prevent this.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15206
(cherry picked from commit a16033f624
)
2023-07-16 20:04:43 +01:00
Jeff Young
9cf79ffb5a
Pick up snapped item's line properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15192
(cherry picked from commit 89780d353a
)
2023-07-16 20:03:03 +01:00
Jeff Young
63b0ef65e0
Try both ends to see if one is a wire.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15178
(cherry picked from commit 5f8583cd25
)
2023-07-16 20:02:29 +01:00
Jeff Young
e53269c37f
Don't DisplayCurrentSheet() if we're already on it.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14305
(cherry picked from commit efac777f28
)
2023-07-09 21:55:54 +01:00
Jeff Young
0652267d00
Don't reset page unless we have to.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15033
(cherry picked from commit f892194be4
)
2023-07-09 21:08:52 +01:00
Jeff Young
76f8b3df22
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
(cherry picked from commit ef6866757e
)
2023-07-09 21:08:51 +01:00
Alex Shvartzkop
6f384c8802
Altium schematic: import net label justification.
...
(cherry picked from commit 37772ac29e
)
2023-07-09 05:46:11 +05:00
Alex Shvartzkop
7078381175
Eeschema printing: fix bg fill when paper orientation or size differs.
...
(cherry picked from commit 86458ae582
)
2023-07-09 05:46:11 +05:00
Alex Shvartzkop
dfc17244d4
Perf: don't search for niluuid items when moving cursor in eeschema.
...
Reduces CPU usage by 60% in some cases.
(cherry picked from commit 55b31030c0
)
2023-07-09 05:46:11 +05:00
jean-pierre charras
713cb032b5
Fix some (minor) issues when drawing shadow texts of RULER_ITEM and pin names.
...
From master branch (commits 355575e4
, 1698fb66
and 965aaa21
)
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-07-06 19:57:49 +02:00
Marek Roszko
24ed144200
Fix EDA_TEXT creation that worked due to implicit cast
...
A leftover from the units object rework and I forgot to double back. The DEFAULT_SIZE_TEXT is set inside the constructor now
(cherry picked from commit b5e420c33c
)
2023-07-05 13:16:10 +00:00
Seth Hillbrand
8b26f50003
SIM_VALUE stores significants in 64-bit
...
stol isn't neccesarily 64-bit though, so we use stoll and catch the
overflow if we have bad input data
Fixes KICAD-2EF
(cherry picked from commit 7779a01d48
)
2023-06-29 10:45:29 -07:00
Fabien Corona
bf78ac7a6c
IBIS: model type should not be case sensitive
...
Fixes #15068
(cherry picked from commit 8abb701727
)
2023-06-28 21:03:49 +00:00
jean-pierre charras
f974c8259e
spice_library_parser: catch an exception thrown when a spice model cannot be built.
...
Fixes #15012
https://gitlab.com/kicad/code/kicad/-/issues/15012
2023-06-20 10:34:50 +02:00
Seth Hillbrand
6fc393c7db
Upgrade file locking
...
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed. Also includes the ability to override the lock, with
information about the original owner
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734
(cherry picked from commit 122be418bb
)
2023-06-18 01:06:40 +02:00
Seth Hillbrand
361fdcce1b
Maintain file permissions when renaming
...
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files. This updates the
permissions to match the existing values where possible
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
(cherry picked from commit 48ecd742eb
)
2023-06-18 01:06:14 +02:00
Jeff Young
e7ae6cd190
Recompute intersheet refs while printing.
...
Also fixes a bug where the schematic offset wasn't being added to
intersheet refs when printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14978
(cherry picked from commit e3eb0abc5f
)
2023-06-17 18:12:44 +01:00
Alex Shvartzkop
a5ded3341a
Adapt panels to PAGED_DIALOG sizing algorithm.
...
Also some cosmetic fixes (GTK).
(cherry picked from commit d3be62f644
)
2023-06-17 15:19:26 +03:00
Alex Shvartzkop
c61931996a
PAGED_DIALOG: allow setting initial size in ctor.
...
(cherry picked from commit f5da58e17d
)
2023-06-17 15:19:26 +03:00
Alex
bfcdec47c1
Move bitmap setup to ctor in eeschema annotation options.
...
(cherry picked from commit 26c25c5475
)
2023-06-17 15:19:25 +03:00
Jeff Young
a01f9f99f4
More protection around an exceedingly dangerous hack.
...
The API is needed for wxFormBuilder, and I couldn't figure out any
way around it, but we can at least reduce the risk of someone calling
it accidentally (again).
(cherry picked from commit 46564055f4
)
2023-06-14 13:57:27 +01:00
Jeff Young
7b1e75e6ed
Don't accidentally add NULL ptrs to the LibSymbols cache.
...
Operator[] will add a blank element if it isn't found in the map.
Probably Sentry KICAD-23Y.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14927
(cherry picked from commit 96073402ce
)
2023-06-11 22:31:18 +01:00
Salvador E. Tropea
561441b48a
Adds the missing plot formats to `kicad-cli sch export`
2023-06-11 13:56:24 -04:00
Jeff Young
4060ec3038
Treat canvas item as current when tree view contains no selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12702
(cherry picked from commit 1528f4700c
)
2023-06-10 10:57:14 +01:00
Jeff Young
bc0a53a226
Increased mutex safety.
...
Don't even query the size() without having at least a shared_lock.
*May* prevent KICAD-4S, but seems unlikely.
(cherry picked from commit f3d3ade1dc
)
2023-06-10 10:57:14 +01:00
Jeff Young
6d996e31b8
Don't dim SCH_FIELDs when selecting them.
...
(They were only getting drawn on top of the selection shadow when
drawn by their parent symbol because LIB_FIELD was correctly
setting the view layers but SCH_FIELD was not.)
(cherry picked from commit 2300b0d2a3
)
2023-06-10 10:57:14 +01:00
Mike Williams
c3a6bf3d40
UI: Add Numpad Enter as "Return" equivalent in missing places
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14244
2023-06-05 08:58:50 -04:00
Jeff Young
d09f88d53b
Every time I search for SCH_TEXT* it doesn't work....
...
(cherry picked from commit b8986709bf
)
2023-06-04 21:15:36 +01:00
Jeff Young
06f17d9415
Don't call OnPageSettingsChanges on Undo/Redo.
...
It's incredibly expensive (multiple seconds on a document with
lots of text in an outline font).
(cherry picked from commit 81d7428fd2
)
2023-06-04 21:15:30 +01:00
Jeff Young
16f286735d
Cache LIB_PIN text extents for performance.
...
Also fixes a bug where we didn't triangulate at all when the char
count didn't warrant the likely overhead of spinning up a
thread_pool.
And fix another bug where EDA_TEXT::GetRenderCache() wasn't using
the given font.
Also reverts using the cache for drawing-sheet text. The text
items are created from scratch from the data items each time
they're drawn, so there's never an existing cache to make use of.
Instead, we now check that the item is in the view, using a very
approximate bounding box generator (because even generating a
real bounding box shows up large in profiles).
And, lastly, fixes a bug where EndPos was never considered in
DS_DATA_ITEM::IsInsidePage().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14822
(cherry picked from commit f35a88ce0b
)
2023-06-04 21:11:06 +01:00
Jeff Young
45c7490180
Outline font performance improvements.
...
1) Don't fracture font glyphs when generating them; we're going
to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303
(cherry picked from commit 4ed267394a
)
2023-06-04 20:57:14 +01:00