Alex Shvartzkop
05a8e59884
Move wxString and std::optional JSON serializers to core header.
2023-09-07 10:57:02 +03:00
Jon Evans
1a8fcdfdd7
Do not crash if PARAM_LIST backing data contains unexpected type
2023-08-30 14:31:27 -04:00
Mike Williams
b8a61719c3
Grids: make overrides use existing grids (choice box)
2023-08-30 13:33:04 -04:00
Mike Williams
b1a388ca69
Grids: Support X and Y for all grids, add optional names
2023-08-30 11:22:19 -04:00
Mike Williams
9002ade554
Schematic: default editors to mils
2023-08-30 11:22:19 -04:00
Jeff Young
4fefd95e0c
Move grid definitions to Prefs and grid origin to a separate dlg.
...
Grid origin is document-wide, while grid definitions are app-wide.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
Mike Williams
2764e59400
Grids: add buttons to re-order grids
2023-08-24 13:58:22 -04:00
Mike Williams
1628b65d79
Grid Settings: keep sane via value when hidden in schematic editors
2023-08-24 12:38:54 -04:00
Jeff Young
0f81dd3b5e
Give Grid Settings a more standard KiCad look and feel.
...
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).
This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Mike Williams
f770500bb4
Grids: make user editable
2023-08-21 15:48:25 -04:00
Rastersoft
5936960c1e
Allow to reverse the mouse wheel movement
...
This MR adds a CheckBox in the preferences window to reverse the
horizontal pan direction
2023-08-17 19:17:50 +00:00
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2023-08-14 18:08:36 +01: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
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
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
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
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
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
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
Seth Hillbrand
c7758999af
Handle LOCKFILE logistics for ro
...
We need to check if a lockfile is valid to determine if we should
override the lock. Valid() is true if the lockfile couldn't be created
b/c of permissions or if the lockfile could be created and acquired.
2023-05-31 17:04:32 -07:00
Seth Hillbrand
122be418bb
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
2023-05-24 13:51:54 -07:00
Wayne Stambaugh
24b04795fd
Add net navigator panel to schematic editor.
...
[ADDED]: A panel to the schematic editor that allows quick access to all
of the items connected to the currently highlighted net.
This is an initial swag at implementing a full net navigator feature. For
now it only shows the currently highlighted net nodes. The incremental
net list advanced setting must be enabled in order to use this feature due
to performance reasons. There are still some issues with saving the panel
position which will be addressed in the future.
Initial code for serializing wxAuiPaneInfo settings to and from JSON have
be implemented.
2023-05-20 13:48:03 -04:00
Marek Roszko
573b66d243
Fix a bunch of C5266 warnings (pointless const on bool/int returns)
...
warning C5266: 'const' qualifier on return type has no effect
Microsoft doesn't even document C5266
2023-05-18 21:35:06 -04:00
Jon Evans
2ab47ee1e9
Allow for settings to be added during load
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14691
2023-05-07 08:48:07 -04: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
Alex
b89545e484
GTK: Fix settings import paths showing up twice.
2023-03-19 12:51:37 +03: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
150d2fd281
Tweak the Mac default selection highlight color for better visibility.
2023-02-24 12:44:55 +00: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
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
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
Alex
822d7af4b7
Hide scrollbars in editors by default.
2023-02-11 16:39:09 +03:00
Marek Roszko
719be61627
Silence some kicad-cli loading errors on clean installs
2023-01-31 20:57:31 -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
Seth Hillbrand
a9ed47f06c
Update KICAD6->KICAD7
2023-01-23 22:21:12 +00:00
Marek Roszko
0ff32d20cd
wxS more things
2023-01-22 09:41:42 -05:00
Marek Roszko
1edf84d756
More wxS ugh
2023-01-17 07:43:04 -05:00
Alex
53dedb2c99
Prefer later versions in import of previous settings
2023-01-08 00:24:23 +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
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
Alex
e03a91c9c7
Reduce static ratsnest opacity when moving items; tweak colors.
2022-12-07 21:01:56 +03:00
Jeff Young
f5770fe7e0
Actually free the projects before the settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-01 00:05:21 +00:00
Jeff Young
a0b6247a06
Try a different order of destruction.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-11-16 00:42:38 +00:00
Marek Roszko
29bf96f7f0
Sanitize the variable names in the 3d alias migration
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12683
2022-11-10 06:21:57 -05:00
Jon Evans
d9d3ccd6eb
DbLib: Allow inheriting field properties from source symbol
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12856
2022-11-09 21:24:31 -05:00
Jon Evans
3a15fa5e0f
Don't remove a read-only settings file
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12844
2022-11-08 23:27:26 -05:00
Jon Evans
995a153f27
Update nlohmann::json to 3.11.2
...
Also update json_schema_validator to match new deprecations
2022-11-05 10:53:57 -04:00
Alex
e992bd13bf
Remove what looks like forgotten lines
2022-11-02 11:06:41 +05:00
Tomasz Wlostowski
f25d449d5f
JSON_SETTINGS: added direct serialization to a string (FormatAsString) and parsing
...
from explicitly provided file (bypassing the migration and settings framework). Used for
router regression tests.
2022-10-31 11:17:31 +01:00
Seth Hillbrand
27add591ec
Add Clipper2
...
Currently this lives behind the advanced config flag `UseClipper2`.
Enabling this flag will route all Clipper-based calls through the
Clipper2 library instead of the older Clipper. The changes should be
mostly transparent.
Of note, Clipper2 does not utilize the `STRICTLY_SIMPLE` flag because
clipper1 did not actually guarantee a strictly simple polygon.
Currently we ignore this flag but we may decide to run strictly-simple
operations through a second NULL union to simplify the results as much
as possible.
Additionally, the inflation options are slightly different. We cannot
choose the fallback miter. The fallback miter is always square. This
only affects the CHAMFER_ACUTE_CORNERS option in inflate, which does not
appear to be used.
Lastly, we currently utilize the 64-bit integer coordinates for
calculations. This appears to still be faster than 32-bit calculations
in Clipper1 on a modern x86 system. This may not be the case for older
systems, particularly 32-bit systems.
2022-10-19 16:25:45 -07:00
Alex
2577ebb94d
Increase dynamic ratsnest opacity for better visibility.
2022-10-07 21:50:12 +00:00
Marek Roszko
3fe004fd1b
New kicad-cli will now be the cli interface
2022-10-04 22:24:13 -04:00
Jon Evans
7059ef9b89
Store netclass visibility separately from nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10290
2022-10-01 19:54:13 -04:00
Jeff Young
c0a666507c
Work around more instances of the wxWidgets color string locale bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
2022-09-30 20:56:25 +01:00
dsa-t
01572c0f7d
ADDED: Focus follows mouse between SCH and PCB editors (option).
2022-09-30 18:32:06 +00:00
Jon Evans
375b530dad
ADDED: Column selection and reordering in symbol chooser
2022-09-25 22:49:49 -04:00
Marek Roszko
8e96751af2
Strip out and migrate 3d search paths in favor of env vars
...
This mainly stops reading/writing 3dresolver.cfg
We still keep some sillyness for kicad2step for now
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9164
2022-09-25 21:29:52 -04:00
Ian McInerney
1683e552f7
Add/fix some variable initializations
2022-09-25 00:48:38 +01:00
qu1ck
6ebb3baa3b
PCM: autoload libs from installed packages to global lib tables
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9713
2022-09-23 16:16:13 +00:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
aris-kimi
7bd8cfd7f9
Added common option to hide scrollbars
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9093
2022-09-13 22:15:27 +03:00
Jeff Young
b95d9d660d
Move gerbview colors to preferences dialog.
2022-09-10 16:11:24 +01:00
Jeff Young
9523586bf1
Remove atrophied PCB NO_CONNECTS layer and its colour.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12316
2022-09-08 00:28:31 +01:00
Jon Evans
e294fe2074
ADDED: Dynamic field columns in symbol chooser
...
CHANGED: Symbol chooser search now considers custom symbol fields
Visible columns can be controlled in database libraries.
In standard KiCad libraries, we show columns for all custom fields for now.
Customizable column visibility will be added in the future.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11946
2022-09-05 16:38:14 -04:00
Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Roberto Fernandez Bautista
20ed9b475b
Configurable hyperlink hovering color
2022-08-27 19:17:42 +01:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
jean-pierre charras
27c31061b1
Set locale in SaveToFile routine before calling json stuff.
...
It avoid wxWidgets alerts about locale when running some python scripts
2022-08-24 07:36:57 +02:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
qu1ck
f4fa3b02c5
PCM: automatic check for repository updates
2022-08-18 20:41:43 +00:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Jeff Young
e015f5b086
Formatting.
2022-08-15 23:48:38 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young
62cef3d830
Add LAYER_PRIVATE_NOTES for private text & graphics in symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11957
2022-07-08 17:27:05 -06:00
Marek Roszko
7473528cf4
Ensure user paths are created early
...
Fix #11962
2022-07-05 20:47:53 -04:00
Seth Hillbrand
a852286eb5
Cleanup compile warnings
2022-06-21 17:04:56 -07:00
jean-pierre charras
57e59a4959
Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards
2022-05-20 12:58:05 +02:00
Mark Roszko
f0f33ef1d3
Introduce sentry for crash data collection
2022-04-02 01:21:55 +00:00
Jeff Young
48a70a65b5
Fix a typo and add a missing color definition.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10351
Fixes https://gitlab.com/kicad/code/kicad/issues/10352
2022-03-31 22:10:45 +01:00
Jeff Young
92a229eec7
ADDED separate user-defined color for page limits.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5271
2022-03-24 14:11:41 +00:00
Jon Evans
507d7916ee
Use actual project path when saving project
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
(cherry picked from commit 9c386026a8
)
2022-03-10 09:08:48 -05:00
jean-pierre charras
016af235db
Pcbnew: add a GAL layer (LAYER_LOCKED_ITEM_SHADOW) to draw markers on locked footprints
2022-03-09 17:54:58 +01:00
Jon Evans
cb6d6d7ef4
Settings: allow multiple project access from Python standalone
...
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
(cherry picked from commit 1394509734
)
2022-03-05 13:04:19 -05:00
Marek Roszko
ad251b7b8c
Simplify KICAD6_TEMPLATE_DIR default
...
The search_stack method is bugland
Fix https://gitlab.com/kicad/code/kicad/-/issues/10119
2022-02-21 12:22:23 -05:00
Seth Hillbrand
168ad58eef
Convert strings to wide when using wxString routines
...
WxString does not allocate space for wide strings needed during
conversion unless the string is explicitly wide. This can cause buffer
over/underflow
Fixes https://gitlab.com/kicad/code/kicad/issues/10605
(cherry picked from commit 7601a3385f
)
2022-02-03 13:08:33 -08:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Jeff Young
0036f44e37
Support (and save/recall) zoom in/out in Custom Rules editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5796
2022-01-28 21:38:15 +00:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jon Evans
59be6a8d19
Load local settings even when not setting project active
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10179
(cherry picked from commit 0065036899
)
2022-01-02 12:40:49 -05:00