Jeff Young
7b71e55ab9
Don't allow updates to shown_text outside of cacheShownText().
...
But also don't use cacheShownText() in c'tors, as it will not call
the subclass's version.
2023-08-07 23:22:09 +01:00
Roberto Fernandez Bautista
3bf9797620
PNS: add new "EnableRouterDump" kicad_advanced setting
2023-08-07 23:43:54 +02:00
Jeff Young
60f0db09aa
Make sure text gets rendered in correct colour.
2023-08-07 21:44:04 +01:00
Jeff Young
778213ba8f
LEGACY_FACTOR was upside-down.
...
(Should be 1.68/1.61, not 1.61/1.68.)
2023-08-07 14:01:58 +01:00
Jeff Young
f5c7455901
Better spacing for page settings.
2023-08-07 14:01:58 +01:00
Jeff Young
f43b90b15f
Lazy context handling for SVG plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15325
2023-08-07 14:01:58 +01:00
Jon Evans
256c7fa788
Fix character specifier in validator format string
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15367
2023-08-07 08:38:19 -04:00
Alex Shvartzkop
717ee350c8
Support >180 deg arcs in schematic.
2023-08-07 14:18:38 +03:00
Jeff Young
b993311d47
Archive simulator workbook files.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15364
2023-08-06 21:57:02 +01:00
Marek Roszko
74ce1de3f4
Allow KICAD_TEST_NOTI to work with no existing file
2023-08-06 16:27:42 -04:00
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2023-08-06 20:57:41 +01:00
Marek Roszko
a0ebedc0ac
Add a KICAD_TEST_NOTI env var for a fake notification on launch
2023-08-06 15:51:35 -04:00
Jon Evans
5cbe3c5d42
PNS: Fix a few issues with debug logging
...
Hide non-copper layers for clarity
Fix saving of router settings
2023-08-06 15:30:58 -04:00
Marek Roszko
ca55656850
Prevent negative center calc on BITMAP_BUTTON
2023-08-06 13:53:34 -04:00
Marek Roszko
856b70b4df
Add an extra spacer field for macOS statusbar
...
macOS lacks grippers and lets status bar fields use the rounded corner which we don't want
2023-08-06 12:05:06 -04:00
jean-pierre charras
5e04e90fb3
LENGTH_TUNER_TOOL: fix a bug (missing initialization) creating a serious isse.
...
m_inLengthTuner was not initialized, preventing the tool to be started (sometimes)
Fix also a few not initialized members.
2023-08-06 13:20:43 +02:00
Jon Evans
4c4bbdc8f3
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
2023-08-06 00:56:51 -04:00
Jeff Young
77c19261f6
Fix build.
2023-08-05 18:52:02 +01:00
jean-pierre charras
f18feb2a46
kicad-cli, export plot PDF and SVG: add missing option --drill-shape-opt.
...
It allows pad/via holes to ber plotted at actual size, small size, or not.
This option exists in GUI, but was missing in kicad-cli.
2023-08-05 18:18:18 +02:00
Marek Roszko
084ec1d669
Add no notifications text, declare frame border style
2023-08-05 11:53:04 -04:00
Jeff Young
0413270012
ADDED: Move Corner To... and Move Midpoint To...
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5012
2023-08-05 16:43:55 +01:00
Marek Roszko
5319316815
Enhance the status bar with background progress and notifications
2023-08-04 22:06:08 -04:00
Seth Hillbrand
c38ed7044a
ADDED: DNP flag for position file export
...
Adds ability to exclude footprints with DNP flag from position files in
dialog and cli
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15353
2023-08-04 11:02:54 -07:00
Seth Hillbrand
02335010ff
Don't try to get a translated empty string
...
Hashing an empty string can be crashy. And empty strings are reserved
in gettext, so we shouldn't try.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15354
2023-08-04 10:08:30 -07:00
Jeff Young
c697a934b2
Update layer names to current terminology.
...
Also fixes some out-of-date tooltips/names.
2023-08-04 11:37:46 +01:00
Ian McInerney
f463b9d017
Don't calculate minor ticks when there are no major ticks to be between
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15179#note_1480427547
2023-08-03 22:27:38 +01:00
Mike Williams
a75fb44349
Common: add fast grid cycling
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12339
2023-08-03 11:57:51 -04:00
Mike Williams
22c609fb7b
Schematic: handle aligning unaligned sheet pins in aligned sheet
...
Also fix a rounding bug.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15050
2023-08-03 11:11:34 -04:00
Jeff Young
686dfba77a
ADDED autocomplete for value field in Symbol Properties dialog.
2023-08-02 20:45:52 +01:00
Jeff Young
8ac49d0bab
General cleanup, coding standards, removal of dead code, etc.
2023-08-02 16:56:56 +01:00
Jeff Young
f897b4bac1
Remove cover routines for std::vector.
...
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00
Josue Huaroto
74695b0995
Change variable substitution for paths in Windows.
2023-08-02 15:40:57 +00:00
Mike Williams
37fdcce0a0
Fields Editor Table: add checkboxes for fields representing attributes
...
DNP, Exclude from ..., etc.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15300
2023-08-01 14:33:30 -04:00
Mike Williams
25e391719e
Fields Table: convert special strings like Quantity to named variables
...
Before, we did not actually prevent users from adding a field also named
Quantity to their symbols. This of course does not play nicely with the
assumptions that Quantity is a special column in the fields editor.
By making it a named variable, the user can safely add it to a symbol
and it will not be editable, and will also work in the fields table
editor as expected.
2023-08-01 10:55:32 -04:00
Jon Evans
148e111579
Refactor pin orientation to be an enum class
...
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
Kuba Sunderland-Ober
589030d672
Add the fraction numeric form glyphs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14398
2023-07-25 16:58:16 +00:00
Mike Williams
132a0ada73
Grid Overrides: support grids-per-type that override the current grid.
...
Schematic only at this point while we test and refine.
PCB support is a future addition.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
...
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344
about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Kuba Sunderland-Ober
b8fc45b14d
Implement fontconv in Python.
...
This fixes metrics of U+1F98 (ᾘ)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14398
2023-07-24 22:23:11 +00:00
Seth Hillbrand
32ad42a435
Add 3dconnexion driver version check
...
Re-enable 3dconnexion driver by default as we are able to gate the
driver versions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13362
2023-07-24 18:09:52 +00:00
Mike Williams
7d9f791518
kicad-cli: sch bom export: fix inability to disable grouping
...
Just set --group-by default to "" (No default grouping), and drop the
additional --group option. Also fix the exclude DNP option.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15246
2023-07-23 13:59:28 -04:00
aris-kimi
ce58208d77
Add missing licence lines in iec60664 and naming update
2023-07-23 14:12:03 +00:00
Alex Shvartzkop
24452f41ad
Improvements to Altium PCB/footprint importer:
...
- Support unicode footprint names
- Set default footprint text size and thickness to match KLC
- Position Reference at the top, Value at the bottom of fp bounding box
2023-07-22 08:55:53 +05:00
Seth Hillbrand
7fe83993cf
Be smarter about releasing lockfiles
...
If KiCad crashes or exits without deleting the lockfile, don't show the
warning message unless we are not the one who locked it or there are
other KiCad instances running locally.
This should catch 99% of the cases where the message is shown
incorrectly. There may be some corner cases where the lock file is
created on a network drive using two different machines with the same
name and same user but these cases should be (famous last words)
sufficiently rare as to not be observed in practice
2023-07-21 15:40:19 -07:00
Seth Hillbrand
e71422d2cf
Avoid bulking drawing sheet polygons
...
On the drawing sheet, the polygons are always filled and shouldn't have
additional stroking
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15242
2023-07-21 11:22:32 -07:00
Jeff Young
06f19aa761
Implement y axis locking for secondary y axes.
...
Still a bit of a work-in-progress.
Also fixes some bugs with formatting of measurements and cursor values.
2023-07-20 17:21:19 +01:00
Jeff Young
9c08d4febe
ADDED support for simulation plot margins and GUI for Y axis locking.
2023-07-19 23:40:10 +01:00
Jeff Young
65f66755ee
Reduce overhead for unused code.
2023-07-19 23:25:05 +01:00
Jeff Young
764913207c
Read legend position from workbook.
2023-07-19 23:25:04 +01:00
jean-pierre charras
df11673f86
GetISO8601CurrentDateTime(): use %z format on msys2 build ucrt64
...
(however ucrt64 on msys2 has an issue (crash) with json validator and
can be used only for tests)
2023-07-18 11:23:09 +02:00
Ian McInerney
da1e82d57e
Fix the fix done in fa0338a9e6
2023-07-17 22:15:11 +01:00
Jeff Young
fa0338a9e6
Streamline Mac patches.
2023-07-17 22:07:36 +01:00
Jeff Young
f23f75866f
Remove dead code.
2023-07-17 22:06:45 +01:00
Jeff Young
64fea38e61
Seems linux impl is different....
2023-07-17 22:05:04 +01:00
Jeff Young
19073b3e61
Fix background drawing for disabled LAYER_BOX_SELECTOR.
2023-07-17 20:30:52 +01:00
Jon Evans
4e3fd816cb
Properties: rework color editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15145
2023-07-16 17:37:36 -04:00
Roberto Fernandez Bautista
6f035de988
Revert "Fix crash when opening schematic setup dialog"
...
This reverts commit 1a5fb68ace
.
[It was already fixed by b7d53e4b18
]
2023-07-16 21:47:27 +02:00
Roberto Fernandez Bautista
1a5fb68ace
Fix crash when opening schematic setup dialog
...
m_openPreferencesButton was not correctly initialised to nullptr
2023-07-16 21:42:05 +02:00
jean-pierre charras
58a9b75883
Eechema: Do Not Place markers: add a specific setting for their color.
...
Previously, the color was the ERROR ERC marker color.
Now they have a specific color.
2023-07-16 20:46:30 +02:00
Jeff Young
b7d53e4b18
Fix uninitialized var.
...
(Also follow Mac GUI guidelines, odd as they are.)
2023-07-16 19:29:38 +01:00
Jeff Young
7b81e964ab
Don't copy lock files during project Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15207
2023-07-16 15:40:17 +01:00
Jeff Young
63c83b3aed
Remove dead code, and some formatting cleanup.
2023-07-16 14:43:29 +01:00
jean-pierre charras
0741471092
GetISO8601CurrentDateTime(): workaround on msys2 to fix a format issue.
...
on msys2 the format %z is seen as %Z, which is not acceptable here.
so %z format is removed on msys2
2023-07-16 09:31:28 +02:00
jean-pierre charras
0ecf5033e2
string_utils: Add From_UTF8( const char* cstring ) and From_UTF8( const std::string aString ),
...
mainly because we now use std::string in a lot of function using previously char*
FROM_UTF8(const char* cstring) now calls From_UTF8(const char* cstring)
2023-07-16 08:21:43 +02:00
Marek Roszko
76cef27014
Remove needless utf8 conversion due to sleepyness
2023-07-15 13:34:34 -04:00
Marek Roszko
3233bbe0ba
Make exported date time strings use ISO8601 format
...
Also rename the function to be explicit on its result format
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15185
2023-07-14 23:24:12 -04:00
Marek Roszko
cbb8835c87
Add policy to alter curl revoke settings on windows
2023-07-13 19:01:04 -04:00
Marek Roszko
b0fa2561b6
Add support for enum based policies
2023-07-13 19:01:04 -04:00
Mike Williams
c0a5be4e9f
Hotkeys: add support for alternate hotkeys
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4422
2023-07-13 10:11:46 -04:00
Josue Huaroto
4cad021ef4
Add Open preferences folder button in Preferences Dialog
2023-07-13 14:10:31 +00:00
jean-pierre charras
34e9de72ae
fix a compil warning (shadowed var)
2023-07-13 07:46:08 +02:00
Ian McInerney
5aff8b6a6e
Switch to string_view in tool action construction
...
The TOOL_ACTION_ARGS construction method is supposed to be fairly light
weight, so instead of creating/destroying strings all the time, pass
string_views to the actual string data instead.
wx doesn't currently support string_view -> wxString implicitly
currently, so we have to do the conversion ourself.
2023-07-13 00:53:06 +01:00
Ian McInerney
e926952f66
Break long header link with TOOL_ACTION and TOOLS_HOLDER
2023-07-13 00:18:20 +01:00
John Beard
09c0f713cd
Add fillet and chamfer icons
2023-07-12 19:21:47 +01:00
Jeff Young
56752e9bad
Move some MRU paths from app to project.
...
Also augments Save As path updating to handle these newly-moved paths,
and to handle absolute paths that point into the project directory.
2023-07-12 17:30:42 +01:00
Mike Williams
265720ec65
BOM Export: add DNP to Group By * defaults
...
Closer to the BOM export scripts we are trying to replace, and gives the
user a clue that fields with variables names are way to export other
data.
2023-07-12 12:16:14 -04:00
Mike Williams
e2f47ecabb
Common: add GetTextVars for unexpanded variable names
2023-07-12 12:16:14 -04:00
Mike Williams
500779fc80
Properties: add ability to override writeable attribute
2023-07-12 12:16:14 -04:00
Marek Roszko
8abd32c97c
HideSplash() earlier before the initial frame->Show()
...
There are instances we can throw modals very fast on frame show :/
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15168
2023-07-12 06:55:01 -04:00
Mark Roszko
a38875d6dd
Add env variable to turn on curl verbose
2023-07-11 01:42:51 +00:00
mitxela
12be115c78
Prevent horizontal scrolling while zoom modifier is held
2023-07-10 19:37:46 +00:00
Jeff Young
eedf319ba4
Don't double-offset effective text shapes.
...
Also fixes several bugs with intersheet ref fields. (It's possible for
other fields to have an ID of 0.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
2023-07-10 19:32:00 +01:00
Alex Shvartzkop
176b308128
Update graphics error message, don't try drawing after.
2023-07-10 09:32:21 +05:00
Alex Shvartzkop
bad08f88a0
Restart drawing after switching backend to fallback.
2023-07-10 09:32:21 +05:00
Alex Shvartzkop
6a123e2381
OpenGL GAL: fix reserved vertices calculation in drawSegmentChain.
2023-07-10 09:32:21 +05:00
jean-pierre charras
4f3e7e6821
*.wks files: always save text font when it is not the default font.
...
Fixes #15154
https://gitlab.com/kicad/code/kicad/-/issues/15154
2023-07-09 10:51:33 +02:00
Jeff Young
692e060ff4
Fill in missing EDA_ITEM_DESC KICAD_T.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15144
2023-07-08 20:40:30 +01:00
Jeff Young
c8e8b71198
TestDanglingEnds needs to test sheet pins as well.
...
Also fixes a bug where zooming doesn't get a redraw until mouse moves.
Also fixes a couple of bugs where dangling markers on SCH_SHEET_PINs
and SCH_HIERLABELs weren't getting drawn.
Also simplifies drawing algorithm by removing aesthetic offset (which
wasn't implemented when pin is drawn as part of selection VIEW_GROUP).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-08 12:55:45 +01:00
Alex Shvartzkop
2689037bde
PDF plotting: support bitmaps with transparency.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5979
2023-07-07 23:29:46 +05:00
Jeff Young
bde9c2cbc5
ADDED FFT analyses.
...
CHANGED abandon the unpredictable behaviour of the Simulation Command
dialog. You now separately add simulation tabs (which have invariant
command types once created), and the dialog edits the current tab.
Also a bunch of bug fixes to make multiple simulation plots actually
work.
2023-07-07 12:33:50 +01:00
jean-pierre charras
27072e52f7
Fix a compil and Coverity warnings
2023-07-07 10:28:01 +02:00
John Beard
10d32bb1d6
Explain wxASSERT in COMMIT::Stage
2023-07-06 21:11:51 +01:00
jean-pierre charras
88ffcec4b5
Plotters (especially DXF) add more precision when plotting arcs (and others)
...
- in DXF coordinates were using 6 digits for coordinate mantissa: this is not
enough for coord in inches. Now use 16 digits
- Arc( VECTOR2I& aCentre, EDA_ANGLE& aStartAngle, EDA_ANGLE& aEndAngle, ...)
was using integers for coord. This creates significant errors for start point
and end points of the arc. Now the center is given in double, and its position
is calculated from angle end points (and radius) to do not generate a position error
for these end points (previously the error could be 20 ... 50 nm)
Fixes #15056
https://gitlab.com/kicad/code/kicad/-/issues/15056
2023-07-06 18:09:38 +02:00
Kuba Sunderland-Ober
bb27f09108
Fix the missing segments in certain newstroke glyphs.
...
Fixes #14987 https://gitlab.com/kicad/code/kicad/-/issues/14987
2023-07-05 17:19:01 +00:00
Ian McInerney
2baf4db2b6
Fix tool manager handling in ACTION_MENU event processing
...
The event handler may not have access to a tool manager, so we must
always check for it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15107
2023-07-04 21:40:14 +01:00
Alex Shvartzkop
e892405738
Altium PCB import: read and apply TrueType font names to text.
2023-07-04 13:29:42 +03:00
Alex Shvartzkop
afe176abe2
Optimize PDF plot data size for property popups; fix unicode escape.
...
Adds a document-level action JSInit, which defines ShM function,
allowing more compact data representation. Also reduces whitespaces.
2023-07-04 08:57:29 +03:00
Jeff Young
87c106965d
Code clarity.
2023-07-03 15:46:05 +01:00
Alex Shvartzkop
698fffb128
PDF plotting: Fix "Show Page" in Foxit PDF Reader.
...
pageNum is an Integer. Acrobat seems to convert automatically.
2023-07-03 09:13:37 +03:00
Alex Shvartzkop
b242779f3b
Put background color behind transparent bitmaps in eeschema printing.
...
Most virtual printers don't support alpha blending via AlphaBlend (MSW)
properly, nor masks.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
4cb7e92aad
Fix overlapping transparent images covering each other in OpenGL GAL.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
f286015bc7
Fix bitmap transparency in Cairo GAL.
...
Cairo ARGB32 format needs alpha pre-multiplied with color.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
0d7b4bbb09
Blend transparent images with background color in PDF plotter.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop
7b5e725b98
Improve GAL panel refresh logic.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15041
2023-07-03 02:15:05 +03:00
Ian McInerney
236de6679c
Avoid copying tool parameter in intermediate function call
2023-07-02 22:18:24 +01:00
Ian McInerney
5e740c354e
Don't skip loading the wxWidgets message catalogs
...
The wxWidgets message catalog contains translations for strings that are
in the wx-provided dialogs, and these strings aren't contained in our
message catalog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15035
2023-07-02 19:21:14 +01:00
Jon Evans
632e94ef81
Add a few more schematic properties
2023-07-01 22:24:25 -04:00
Jeff Young
980ef55356
Fix grammatical error in opt-in request.
...
Also makes it even more clear that design files aren't shared.
2023-07-01 15:47:12 +01:00
Jeff Young
773e1a1ab6
Actions with a COMMIT must be run synchronously.
...
Note that "immediate" doesn't mean quite the same thing: while it will
enter the tool immediately, it won't necessarily finish the tool during
the call if the tool has an event loop. So for something like Rotate
"immediate" and "synchronous" have the same behaviour, but for something
like Move they do not.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15085
2023-06-30 18:57:37 +01:00
Jon Evans
2ae646136e
Prevent crashes on invalid use of tools
...
See https://gitlab.com/kicad/code/kicad/-/issues/15085
2023-06-29 23:45:22 -04:00
Jon Evans
8fcd58038b
Properties: fix click not working multiple times on a color
2023-06-29 23:11:50 -04:00
Jon Evans
59495971ee
Properties: fixes to color swatches
2023-06-29 22:53:06 -04:00
Ian McInerney
e17cd5abc6
Allow action description to be different from tooltip
...
The tooltip should be short and easy to read, the description can be
longer and more detailed.
2023-06-30 00:06:03 +01:00
Ian McInerney
8b8586f54b
Add case to ignore the unused scroll events in the view framework
2023-06-29 23:21:15 +01:00
Jon Evans
3487124a4a
Properties: Improve color picker UX
2023-06-28 23:54:27 -04:00
Jon Evans
0e617774dd
DbLib: Remove slashes from table display names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15074
2023-06-28 19:38:21 -04:00
Ian McInerney
107c79484d
Give default nullptr to gridSetOrigin to denote no known origin
...
Fixes KICAD-2BE
2023-06-29 00:17:12 +01:00
Youbao
4cb993d872
ADDED: Cadence Allegro PCB Designer netlist exporter
2023-06-28 22:47:30 +00:00
Kuba Sunderland-Ober
1edb9bb0ce
Get rid of VECTOR2U.
2023-06-28 20:48:07 +00:00
Jeff Young
c2f2247ae3
Don't process SCINTILLA_TRICKS onCharHook when autocomplete is active.
...
(ESC being the exception that proves the rule.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15001
2023-06-28 00:05:38 +01:00
Kuba Sunderland-Ober
95b9196703
Update the scripts to make the font source file fully reproducible.
2023-06-27 20:23:22 +00:00
Ian McInerney
2a940a5f70
Add COMMIT to TOOL_EVENTs instead of passing as a parameter
2023-06-27 00:57:59 +01:00
Ian McInerney
2fb6f19a84
Separate immediate and delayed action dispatch
...
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Steve Bollinger
a318c57d77
Move E-series resistor selector table out of resistor value
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14627
2023-06-26 23:21:40 +00:00
Jeff Young
1b7473c353
Make sure Help menu is at end of menubar.
2023-06-26 14:11:13 +01:00
Jon Evans
c7f6b20405
Properties: Use color picker dialog
2023-06-25 16:32:43 -04:00
Jon Evans
a2ff3bce7d
Properties: custom rendering for COLOR4D
2023-06-25 16:13:07 -04:00
Jon Evans
bf2e9f8261
Properties for SCH_LINE
...
Also rename an incongruous setter
2023-06-24 20:08:42 -04:00
jean-pierre charras
1094cc5331
Fix issues related to the splash screen when no config file found:
...
- do not show it before the application is actually started.
- hide the splash screen before displaying dialogs.
Fixes #15047
https://gitlab.com/kicad/code/kicad/-/issues/15047
2023-06-24 18:09:43 +02:00
Jeff Young
5195bc28fe
Don't prune already-added items from the COMMIT.
...
We perform undo/redo backwards from each other specificially to allow
multiple entries (for instance, a wire is modified and then deleted).
This bus is almost certainly in 7.0 as well, but it comes up mostly
in schematics where 7.0 doesn't use COMMIT. It's also possible that it
will cause unwanted effects in some cases, so I'm leaving it only in
master.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15032
2023-06-24 15:08:26 +01:00
jean-pierre charras
965aaa217c
RULER_ITEM: fix incorrect position of the shadow text shape (round 3).
...
Depending on the text orientation, the shadow shape position was incorrect.
2023-06-23 12:50:56 +02:00
jean-pierre charras
1698fb6608
Refinement of commit 355575e4
(drawing shadow texts of RULER_ITEM and pin names)
...
Also handle non Kicad fonts (that do not use shadow texts)
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-06-23 10:32:23 +02:00
Jon Evans
3a0f8214fa
ADDED: Properties panel for schematic editor
...
Initial infrastructure work; follow-ons will add more
properties for schematic items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6351
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14105
2023-06-22 22:32:24 -04:00
Jon Evans
39a5929f33
Database libraries performance improvements
...
Rework caching system and optimize queries
2023-06-22 18:49:37 -04:00
3GO
206f66aee2
Make user cache path adjustable by env var.
2023-06-22 13:35:48 +00:00
jean-pierre charras
355575e477
Fix some (minor) issues when drawing shadow texts of RULER_ITEM and pin names.
...
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-06-22 13:28:43 +02:00
Kuba Sunderland-Ober
b60f7d4136
Make comparison operators const.
2023-06-21 08:49:26 +00:00
Marek Roszko
74d6dc6642
ADDED: Startup splashscreen
...
This is purely loading in the background based and has no artificial delay.
Will be more useful once kicad.exe ends up loading more on launch immediately ;)
Right now the splash is probably visible the longest launching pcbnew standalone.
The actual splash image can be considered a placeholder
2023-06-20 20:51:08 -04:00
Ian McInerney
480223f67c
More RunAction specialization
2023-06-20 21:52:50 +01:00
Ian McInerney
b0363023a5
Parameterize the tool manager RunAction function to ensure type stabilty
2023-06-20 21:52:50 +01:00
Ian McInerney
3718ecfcd8
Simplify forcing action parameters to have a specific type
2023-06-20 21:52:50 +01:00
Ian McInerney
07cc85e76c
Fix more places where casts into RunAction were happening
2023-06-20 21:52:50 +01:00
Ian McInerney
6c031a4aa4
Fix some more incorrect types in event parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
55a7cfcf36
Translate doDelete action to new framework and add default parameter
2023-06-20 21:52:50 +01:00
Ian McInerney
9ebe6e7614
Update tool manager to handle the std::any parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
b04e54dbea
Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter
...
Using std::any from C++17 allows for proper type handling in the
parameter field, removing the need for casting to void* and then casting
the void* to the desired type.
2023-06-20 21:52:50 +01:00
Ian McInerney
0a22bb951c
Add custom UI IDs to the action framework
...
This replaces a hack where the parameter was used to identify a custom
UI ID with a proper solution. This moves the cut/copy/paste actions to
the new system, but more like help/quit/close should also be moved over
in the future.
2023-06-20 21:52:50 +01:00
Ian McInerney
b63bbdea5f
Add function-chain contructor for TOOL_ACTION
...
A function-chain constructor method allows for the long list of
parameters to the constructor to be shrunk to only the ones needed by
each action, and allow self-documenting code for what each part of a
TOOL_ACTION constructor does.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/7617
2023-06-20 21:52:50 +01:00
Mike Williams
85f889bc19
Fields: Description now mandatory
...
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams
636db607c1
Footprints: upgrade Sheetpath and Sheetfile to tagged items in file
...
Rather than loose kv properties.
2023-06-20 18:34:52 +00:00
Mike Williams
7d84fa2a9d
Validators: drop unused is m_isLibEditor
2023-06-20 18:34:52 +00:00
Mike Williams
ddafa2e75d
Common: move SCH_FIELD_VALIDATORS to FIELD_VALIDATORS
...
Fields are now common across PCB/SCH
2023-06-20 18:34:52 +00:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
2023-06-20 18:34:52 +00:00
Mike Williams
968785382e
PCB_FIELD: add new field item similar to SCH_FIELD
2023-06-20 18:34:52 +00:00
Jeff Young
8c29091001
Add a "hyperzoom" mode for debugging "up close".
2023-06-20 14:19:21 +01:00
Jeff Young
30336b2fe3
Unify go-back-one-step processing for drawing tools (and router).
...
Also warps mouse on all go-back-one-step operations for better feedback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
2023-06-19 17:14:32 +01:00
Jon Evans
55c00f1845
ADDED: Initial support for importing Solidworks PCB files
2023-06-19 11:57:33 -04:00
Jeff Young
ecb2fcd559
Don't trip over null strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14989
2023-06-18 20:28:11 +01:00
Jeff Young
9199d7a781
Update simulation results as the sim runs.
...
Also adds a time axis which grows by 2X at a time rather than to the
size of the current data.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11255
2023-06-18 16:52:11 +01:00
Jon Evans
b424dc11e1
Hotkey feedback for inactive layer display mode
2023-06-17 23:47:26 -04:00
Jon Evans
fc69939190
ADDED: GUI feedback when grid setting is changed by hotkey
...
Can be extended to other cyclical hotkey settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-06-17 23:18:50 -04:00
Jeff Young
7f453d7943
Fix bug in wildcard search handling.
2023-06-17 23:53:37 +01:00
Alex Shvartzkop
940f92a44f
GAL: improve redraw handling, allowing higher refresh rates.
...
minRefreshPeriod can't be set in SwitchBackend because OpenGL isn't
initialized yet.
2023-06-17 12:42:22 +03:00
Jeff Young
ef6866757e
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
2023-06-16 22:08:21 +01:00
Jeff Young
b3235ce667
Handle some Mac-standard keyboard shortcuts in Scintilla.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14973
2023-06-16 17:19:18 +01:00
Alex Shvartzkop
d3be62f644
Adapt panels to PAGED_DIALOG sizing algorithm.
...
Also some cosmetic fixes (GTK).
2023-06-16 19:12:37 +03:00
Alex Shvartzkop
6ace80700e
PAGED_DIALOG: make sure the dialog is big enough to contain page.
2023-06-16 19:12:37 +03:00
Alex Shvartzkop
f5da58e17d
PAGED_DIALOG: allow setting initial size in ctor.
2023-06-16 18:53:00 +03:00
jean-pierre charras
e7fac08c2f
Worksheet editor: fix crash when adding new graphical text object.
...
Was due to use of a null pointer.
Fixes #14966
https://gitlab.com/kicad/code/kicad/-/issues/14966
2023-06-16 17:31:38 +02:00
Jeff Young
75e78f9088
Move bitmap2cmp and pcb_calculator to tool framework.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1939
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7561
2023-06-16 15:37:58 +01:00
Jeff Young
d8debfa0ee
Require regular expressions to be explicit.
...
Normally this means surrounded by forward slashes, but we also still
allow any regular expression in a netclass match to keep from breaking
existing documents.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14944
2023-06-16 15:37:58 +01:00
Wayne Stambaugh
285f8a0e59
Command line PCB gerber export fix and improvement.
...
The --board-plot-params argument was never parsed so it was always ignored.
[ADDED] A '--no-protel-ext' option to allow plotting gerbers with the KiCad
file extension (gbr) instead of the Protel gerber file extensions.
(cherry picked from commit 4e79d1ecdd
)
2023-06-16 07:17:39 -04:00
Jeff Young
150e2b8a19
Separate BITMAP2CMP_PANEL from BITMAP2CMP_FRAME.
...
This is primarily to allow wxFormBuilder to create the panel without
the dangerous hack of passing a wxWindow ID into KIWAY_PLAYER's ctor.
2023-06-15 17:39:10 +01:00
Jon Evans
c90fe84cc1
Fix missing change in d996ec14
2023-06-14 23:23:36 -04:00
Jon Evans
d996ec143f
Fix STD_BITMAP_BUTTON for GTK HiDPI
2023-06-14 23:14:07 -04:00
Jeff Young
46564055f4
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).
2023-06-14 12:52:49 +01:00
Alex Shvartzkop
dfb05c4f4b
Fix lock condition in GL_CONTEXT_MANAGER, remove unnecessary assert.
...
Assert handler is already being called from wxCHECK.
2023-06-14 07:45:34 +03:00
Mark Roszko
03990ee7e0
Move the custom assert handler to release builds only
2023-06-13 13:04:37 +00:00
Marek Roszko
992ed34365
Disable sizer asserts in release
2023-06-13 07:08:33 -04:00
Seth Hillbrand
f76c94e622
Don't log asserts in release mode
2023-06-12 15:26:18 -07:00
Jeff Young
782c73300b
Move drawing sheet datastructures to EDA_IU_SCALE.
...
Or mostly, at least. Plotters still define their own mils-to-iu scale.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14934
2023-06-12 22:34:25 +01:00
Jeff Young
b7f0aae006
Nullptr safety for UI Conditions.
...
We don't really control when these are called, so best not to assume
we've finished initialization of the frame/screen/document/whatever.
Possible fix for KICAD-KY.
2023-06-12 12:38:50 +01:00
Jeff Young
d6aefc458c
Clear the playerFrame lookup cache when closing frames.
...
WindowIds aren't actually guaranteed to be unique, and we don't
perform a dynamic_cast on the result of FindWindowById() because
of linker issues....
This is an attempt to fix KICAD-39.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14928
2023-06-11 20:34:24 +01:00
Alex Shvartzkop
eaf65f7d53
Avoid deadlock when OpenGL context can't be created.
...
Previously, with aContext == nullptr, the mutex would lock, but not unlock.
Then it got deadlocked inside OPENGL_GAL dtor.
2023-06-11 18:59:00 +03:00
Roberto Fernandez Bautista
3f758711fd
Use external REPORTER for EESCHEMA_JOBS_HANDLER / PCB_JOBS_HANDLER
2023-06-10 23:35:32 +02:00
Jeff Young
f66b9f75a3
Allow EDA_COMBINED_MATCHER use in KiCad find architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12532
2023-06-10 14:50:06 +01:00
Jeff Young
f2c2017068
Formatting. No (intentional) functional changes.
2023-06-10 13:36:17 +01:00
Alex
2450435131
Support --mirror option in "kicad-cli pcb export pdf"
2023-06-10 04:54:11 +03:00
Jon Evans
4e6092a280
Turns out only MSW has odd behavior for bitmap sizing
2023-06-09 08:58:52 -04:00
Jeff Young
d5b5a3eaf4
Add action info to Undo/Redo menus.
...
Note that this only works where a BOARD_COMMIT or SCHEMATIC_COMMIT is used.
(BOARD_COMMIT is used almost universally in PCBNew, but SCHEMATIC_COMMIT
has very little adoption in EEschema so far.)
2023-06-07 14:37:34 +01:00
Nils VAN ZUIJLEN
518741c52a
cli: add an option to the pcb exports for plotting negative svg and pdf
...
ADDED: The -n or --negative option for exporting negative svg or pdf plots
from kicad-cli. Example usage: kicad-cli pcb export svg -n -l B.Cu board.kicad_pcb
2023-06-07 13:28:52 +00:00
jean-pierre charras
47c0c7b3b7
pcb_calculator: add iec60664 electrical spacing panel.
...
From patches from by Fabien Corona and Aris_kimi
2023-06-07 12:01:30 +02:00
Jeff Young
9fe00bb808
Cleanup. No (intentional) functional changes.
2023-06-06 12:30:35 +01:00
Jeff Young
c5e7d800a4
Back out earlier diamond-to-rectangle fix for one that's more targeted.
...
(And doesn't fail qa_pcbnew.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14828
2023-06-05 21:26:37 +01:00
Jeff Young
4dda7d39ab
Tranform diamonds back to rects after rotating to a cardinal orientation.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14828
2023-06-05 18:55:18 +01:00
Mike Williams
d48858e298
LibTree: add numpad enter as enter
...
Written by Andrej Valek
2023-06-05 09:20:22 -04:00
Jeff Young
1528f4700c
Treat canvas item as current when tree view contains no selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12702
2023-06-04 20:52:12 +01:00
Jeff Young
9da66ccb58
Hack Mac icon buttons back to size.
...
It remains unclear to me how this *should* be going forward, but
this at least gets us back to the status quo.
2023-06-03 21:41:56 +01:00
Jeff Young
5875f89531
Centralize text size clamping.
...
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2023-06-03 20:29:51 +01:00