Jeff Young
78fd268b18
Retire PARAM_OBSOLETE in favour of a schema migration.
2021-08-02 17:38:15 +01:00
Jeff Young
7d501e8a43
Add PARAM_OBSOLETE to clean out old JSON structures.
...
While not technically necessary, the old structures can be confusing
to users looking at the files.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 12:53:57 +01:00
Jeff Young
4876e1b327
Make sure user.json file gets created if it didn't already exist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 02:48:23 +01:00
Jeff Young
6f1837b300
Formatting.
2021-08-02 01:52:58 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
29b23df7a1
Save both front and back soldermask colour preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-07-27 22:26:13 +01:00
Jeff Young
886dc2f43e
Do-not-show-again section for common prefs & zone fill warning infobar.
...
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Jeff Young
625006ca30
Remove front/back SMD pad color now that we have opacity sliders.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8761
2021-07-10 10:13:55 +01:00
Jon Evans
4f3674bd1d
Fix mangling of direct json_pointer access
2021-07-05 12:33:08 -04:00
Jon Evans
3f55093bff
JSON_SETTINGS: Provide explicit CloneFrom
2021-07-05 12:26:21 -04:00
Jeff Young
0d2ea6223b
Don't throw in a release build if the "keep" namespace is missing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8618
2021-06-16 17:31:31 +01:00
Jeff Young
38312f0aca
Don't rely on exception processing for normal flow.
...
Also make sure when we do update the json in the parent to use the
form that will create the object if it doesn't already exist.
2021-06-15 00:17:39 +01:00
Seth Hillbrand
ea283625a7
Further simplification of AA regime
...
Reduce each (Accel & Fallback) to 3 options: Off, Fast, Good. Fast AA
in accelerated canvas uses SMAA with tweaks suggested by David Beinder.
Good AA is super-sampled x2.
Cairo is similarly reduced to Off, Fast, Good, which map to the Cairo
options themselves. Best is removed as it mostly affects text rendering
and not line drawing (as our text is)
2021-06-08 17:20:41 -07:00
Seth Hillbrand
4c293e0936
Clarify AA options
...
Moves the OpenGL AA options to the same Fast/Balanced/HQ options as used
in Fallback. Fast and Balanced are the SMAA options, with decreasing
threshholds and more processing in the balanced version. HQ is
supersampling x2. This takes more memory and may not work for HiDPI
screens with underpowered graphics cards. But it looks the best of the
three options.
The SSx4 option is removed as it added little benefit in either regular
or HiDPI screens
Fixes https://gitlab.com/kicad/code/kicad/issues/5196
2021-06-07 09:40:15 -07:00
Dominik Sliwa
3d45e8dccc
Fix macos build
2021-06-06 14:37:39 +00:00
Jon Evans
eaf178cd2a
Fix load of nested settings
2021-06-06 08:39:02 -04:00
Jon Evans
28909c1a72
Maybe fix arch build
2021-06-05 22:10:23 -04:00
Jon Evans
c9a660a80c
Rework JSON integration to speed up build
2021-06-05 17:08:38 -04:00
Marek Roszko
cf2bb5692a
Remove the wxLog calls from math/util.h for now
...
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Jon Evans
5b040f16a3
Refactor environment variable storage
...
CHANGED: Environment variables defined outside of KiCad will no longer
be saved in the settings file. Paths can be configured via
the Configure Paths dialog and those changes will be saved in
the settings file if the new path is different from the default
and the path variable was not defined in the system environment.
2021-05-01 13:39:43 -04:00
Jon Evans
e7d3bf29aa
Don't save project for legacy board without explicit action
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7368
2021-04-21 21:27:23 -04:00
Jon Evans
693413b47e
Fix project saving in pcbnew standalone when project is new
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8244
2021-04-20 20:59:51 -04:00
Jeff Young
f7cc6d1e1e
Fix save as and save copy as for project files.
2021-04-13 17:56:50 +01:00
Jon Evans
c1573744be
Lock project files when opening; open locked projects read-only
...
Also clean up an include-what-you-use problem
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8037
2021-04-02 19:29:56 -04:00
Jeff Young
676d862bee
Don't allow really narrow widths for tree control.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-03-30 20:59:11 +01:00
Jon Evans
0377eea45e
Do not migrate hotkeys from old versions
...
We don't have a migration handler that can resolve conflicts
and tell the difference between hotkey changes that KiCad made
that we want users to adapt to, and hotkey changes made by the
user.
So, the least-bad option for 6.0 is to just not migrate old
hotkey config files.
See https://gitlab.com/kicad/code/kicad/-/issues/7816
2021-03-29 18:14:24 -04:00
Jon Evans
cc8413c841
Tweak default zoom settings for Windows
...
Acceleration seems to be worse than constant on many
systems, so let's turn it off by default.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5434
2021-03-21 19:46:23 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jon Evans
7231f1dc68
Fix caching strategy
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7960
2021-03-19 12:13:00 -04:00
Jon Evans
472d0e03fc
Remove unused color layer
2021-03-18 22:30:24 -04:00
Jon Evans
405fa183b2
Add icon theme selection behind advanced config flag
2021-03-11 08:37:35 -05:00
Jon Evans
dbb6d0fb4a
Move paste and mask clearance settings back to board file
...
These are needed for correct Gerber plotting so need to be stored
along with the board file
2021-02-28 14:04:28 -05:00
Wayne Stambaugh
50712f7280
Attempt to fix Coverity issue 305290.
2021-02-24 14:32:34 -05:00
Jon Evans
aedc65f20f
Fix footprint editor default grid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7659
2021-02-23 20:07:46 -05:00
Jeff Young
efae25e24e
Splitter bar for netclass setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7668
2021-02-23 15:06:41 +00:00
Jeff Young
cad5198ab7
Worksheet -> (industry standard) Drawing Sheet.
2021-02-22 17:35:46 +00:00
Jon Evans
f1039dfb94
Disable project saving outside explicit save actions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7589
2021-02-21 21:31:45 -05:00
Jon Evans
6fa0ac45af
Re-enable custom grid settings for Pcbnew
...
Add a reset button that will only show up if the user
edits the JSON configuration for grids. This is a temporary
measure until we have a real grid editor GUI in V7.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7595
2021-02-21 15:33:13 -05:00
Jon Evans
5433adda2e
Add extra search paths for importing settings in FlatPak builds
2021-02-14 15:04:42 -05:00
Jon Evans
9ce255dc77
Use a different color for front and back courtyards
2021-02-09 20:15:30 -05:00
Wayne Stambaugh
5ecef204cd
Coding policy fixes.
...
Using "this->" violates coding policy section 2.7.
2021-02-09 11:35:43 -05:00
Jon Evans
d25341901c
Skip backup if project folder isn't writeable
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7405
2021-02-03 19:17:32 -05:00
Jon Evans
3ac5fd6342
Get rid of wx popups when opening a read-only project
2021-02-03 19:17:32 -05:00
Marek Roszko
47ada0ffba
Remove duplicate LAYER_VIA_THROUGH entry in theme
2021-02-01 11:51:42 -05:00
Jeff Young
a235103e48
Redo pad & via painting (again).
...
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.
Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.
Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast. The hole wall
is drawn in high contrast. This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).
Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00
Marek Roszko
4c14406788
Further path refinements
2021-01-27 21:48:02 -05:00
Marek Roszko
a47e8af0d0
Fix up naming of the kiplatform helpers
2021-01-27 19:12:20 -05:00
Marek Roszko
6d4bae1136
Make calculateUserSettingsPath a little more compact and use kiplatform
2021-01-27 19:12:20 -05:00
Jon Evans
bea310569b
Fix parsing of track/via user sizes from legacy boards
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6134
2021-01-26 21:51:36 -05:00
Jeff Young
fa93cd8faa
Remove colour setting for internal layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7149
2021-01-19 11:28:15 +00:00
Jeff Young
a36f655dcd
Consistent formatting.
2021-01-11 22:09:36 +00:00
Jeff Young
50889a9ed6
Promote mouse drag settings to full enums.
2021-01-11 22:09:36 +00:00
Jeff Young
6c648df4c6
Support 3 drag vs. select options, and unifiy with other drag prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00
Jon Evans
decca8baba
Do not migrate the versioned env variables
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6914
2021-01-02 10:47:06 -05:00
Werni
599c35edce
Fix memory leak in COLOR_SETTINGS
2020-12-24 00:24:44 +00:00
Jon Evans
81ce1a07ee
Fix a few issues with builtin color themes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6754
2020-12-20 14:43:41 -05:00
Marek Roszko
3ae87ba613
Use wxFFileOutputStream in place of previous wxFFile switch
...
wxFFile with fwrite still has a chance of partial writes.
wxFFileOutputStream provides WriteAll which will iterate until all bytes written or error.
2020-12-12 10:46:30 -05:00
Marek Roszko
b4e4e1cf5e
Use wxFFile instead of wxFile for saving json settings/json_settings.cpp
...
wxFile is dangerous, it's ::Write method is a direct map to the write syscall. It does not handle partial writes!
This must be handled in our code which we don't.
2020-12-12 10:00:49 -05:00
Jeff Young
de9d1eb93e
Don't write local settings of imported project into current settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6552
2020-11-30 23:10:21 +00:00
Jon Evans
c085375531
Create color settings path if missing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5274
2020-10-25 17:09:58 -04:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
Jon Evans
7fcef7268b
Handle read-only settings files better
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5688
2020-10-22 20:31:04 -04:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jon Evans
f8d38fc6c0
Slight tweak to schematic background color
2020-10-19 20:55:34 -04:00
Jon Evans
a28f154cc5
Fix fallback color theme name
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6064
2020-10-19 12:02:55 -04:00
Jon Evans
c388bf0f92
Update default color theme
...
Blue is the new green :)
ADDED: built-in read-only color themes support
Classic theme is still available for those who love it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
Jon Evans
728c207105
Deduplicate settings migration handling
2020-10-05 23:21:57 -04:00
Jon Evans
76bfa47a77
Allow creating new projects when doing a Save As in eeschema
2020-10-05 22:36:26 -04:00
Ian McInerney
43c14face0
Switch to showing metric/imperial units in comboboxes and menus
...
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
jean-pierre charras
b38cef409b
Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
...
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.
Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Jon Evans
45d7f2b6f5
Expose via holes to color theme properly
2020-10-02 21:12:59 -04:00
Jon Evans
4a17205e76
Turn off "prefer selection to dragging" by default
2020-10-01 18:24:07 -04:00
Jon Evans
0c5aabc7f7
Add an option to not migrate library tables when migrating settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3924
2020-09-24 20:54:31 -04:00
Wayne Stambaugh
564f363c57
Pcbnew: fix user defined layer bugs.
2020-09-24 10:19:10 -04:00
Jon Evans
690575e2b6
Improve edit point legibility with a hover state
2020-09-23 21:27:23 -04:00
Jon Evans
e8369c94df
SETTINGS_MANAGER: Don't try to retrieve system paths in headless mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5748
2020-09-22 20:25:44 -04:00
Ian McInerney
9e6a1225db
Catch exception when creating app settings objects
...
These settings objects could be created in a constructor/destructor
so we should catch the exception since those are noexcept.
Also change the settings trace to match the other kicad traces
as KICAD_SETTINGS
2020-09-21 12:07:51 +01:00
Ian McInerney
e0c2531f53
Catch exception inside JSON_SETTINGS constructor
...
This exception will probably never be thrown in real life,
but the constructors are normally noexcept, so throwing
any exception from the json library causes Coverity to
have a fit.
2020-09-20 23:50:09 +01:00
Jon Evans
375f1b8129
Avoid throwing exception when starting from scratch
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5661
for some reason
2020-09-18 20:41:27 -04:00
Ian McInerney
a53f3899d4
Initialize variables properly
2020-09-18 11:17:37 +01:00
Jon Evans
ae7877c6cb
Migrate dimension precision
2020-09-11 21:12:36 -04:00
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
...
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
jean-pierre charras
276d77a1d7
SETTINGS_MANAGER: Fix bug: ensure the destination folder exists.
...
Better fix than a0df876d
For new users, if this folder does not exist, saving colors does not work,
because if this folder does not exist, it is not created.
2020-09-05 13:04:49 +02:00
jean-pierre charras
a0df876d58
SETTINGS_MANAGER::SaveColorSettings(): Ensure the destination folder exists.
...
For new users, this folder noes not exists, and saving colors does not work.
If this folder does not exist, it is not created.
2020-09-04 19:49:19 +02:00
Mario Luzeiro
820e3089a2
3D-Viewer: use the correct opacity meaning in the color settings
2020-09-01 01:08:38 +00:00
Mario Luzeiro
40d5746df6
3D-Viewer: Parameterize body board transparency
...
Fix/workarround raytracing render issues related with refraction
2020-09-01 01:08:38 +00:00
Mario Luzeiro
0302fe5570
3D-Viewer: Parameterize soldermask transparency
2020-09-01 01:08:37 +00:00
Jeff Young
2697fc3864
Remove canvas-switching from OSX.
...
The Cairo renderer doesn't work on Retina displays.
Fixes https://gitlab.com/kicad/code/kicad/issues/4788
2020-08-31 18:48:25 +01:00
Jon Evans
9f7bca38b3
A better way of handling standalone project files
2020-08-30 16:04:39 -04:00
Jeff Young
20211eed49
Unroll a level of prefs for fieldname templates.
...
It was playing havoc with the saving of project and global templates
without one overwriting the other.
Fixes https://gitlab.com/kicad/code/kicad/issues/5415
2020-08-30 18:58:18 +01:00
Jon Evans
046fef2cc1
Only load an empty project if we don't have one already
...
We may have multiple projects if one of them is a temporary
project used for importing settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5423
2020-08-30 12:27:20 -04:00
Jon Evans
cd54ba7b01
Fix project unloading in LoadProject
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5380
2020-08-26 20:46:20 -04:00
Jon Evans
dc7e1783b3
Make sure a project is loaded at all times
...
For now, much of KiCad depends on Prj() working, so when we
are asked to unload a project, immediately load the null project
so that nothing breaks.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5374
2020-08-26 18:37:34 -04:00
Mark Roszko
89e74140eb
Save file / window states for kicad project locally
2020-08-24 02:01:14 +00:00
jean-pierre charras
c80d029681
json_settings.cpp: add more log traces on errors, when trying to save a json config.
...
pcb_calculator: fix a minor cosmetic issue: disabled wxStaticTexts are not very readable
on wxWidgets 3.1.4, so do not use disabled wxStaticTexts.
2020-08-23 15:01:52 +02:00
Jon Evans
eb9756840d
Better defaults for brightness factors
...
Also store them in the JSON so they can be tweaked
2020-08-18 20:55:39 -04:00
Jeff Young
8234e70e77
Remove unused footprint text front & back colours.
2020-08-17 23:55:31 +01:00
Jeff Young
aceed2b0a4
Cleaner look for colour swatches and the undefined colour.
2020-08-17 18:31:20 +01:00