Jon Evans
3cb7ca1db4
Remove manual canvas scale from GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9912
2021-12-09 18:36:44 -05:00
Ian McInerney
cec258f7dd
Normalize the settings migration path to have no trailing slash
...
If we use the raw user input, it may or may not have a trailing slash on
the directory name, and then if the user provides a trailing slash
migrating the folders inside the old settings directory will fail.
2021-12-03 01:43:53 +00:00
qu1ck
18b4ebcc17
Skip migrating installed_packages.json
2021-11-23 14:49:40 -08:00
Jon Evans
22b9856a6a
Fix shadowing
2021-11-20 15:32:28 -05:00
Roberto Fernandez Bautista
bfad40bdcc
Also erase KICAD6_TEMPLATE_DIR when library tables are not migrated
...
That path contains the default library table and should be set to the
latest one in from the installation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9660
2021-11-17 19:45:33 +00:00
Jon Evans
f6263e0129
Erase library env vars if tables are not migrated
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9660
2021-11-16 20:48:25 -05:00
Jeff Young
36fd62ccdc
Another round of beautification changes for PCM.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 13:11:19 +00:00
Jon Evans
42eb063697
PCM: Treat color themes as read-only; don't copy to settings dir
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9548
2021-11-09 22:11:59 -05:00
Seth Hillbrand
6e5a918377
Writeable -> Writable
2021-11-08 15:56:51 -08:00
Jeff Young
696619fdb6
Larger set (and larger default) of grid sizes for drawing sheet editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9494
2021-10-30 20:32:23 +01:00
Jeff Young
b42fce430d
Separate default grid between eeschema/symeditor and other apps.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9472
2021-10-28 22:16:33 +01:00
Seth Hillbrand
61025de865
Update default paths for symbols/footprints
...
Changes the default search path (if not initialized) to "symbols" from
"library" and to "footprints" from "modules"
2021-10-17 16:07:46 -07:00
Seth Hillbrand
3c29e68992
Use wxFFileInputStream to avoid dangling pointer
...
Cases where fp was left open could lead to dangling files until KiCad is
closed. Stack-based file stream automatically closes after parsing and
on exception
Fixes https://gitlab.com/kicad/code/kicad/issues/9336
2021-10-08 13:42:04 -07:00
Jon Evans
62ef27e372
Remove hard-coded anchor color in eeschema
2021-09-28 20:26:47 -04:00
Jeff Young
c05e4376f9
Update backups folder name when doing project save as.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9254
2021-09-27 13:24:45 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Jeff Young
364ecc02ee
Hide scaling hacks on platforms that don't need them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9171
2021-09-17 12:37:53 +01:00
Jeff Young
2479e1d7b1
Improve common settings property grouping.
...
Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
qu1ck
a1521d338e
Add colortheme package type
2021-08-27 21:11:47 +00:00
qu1ck
4be115ca55
Add KICAD6_3RD_PARTY env variable
2021-08-27 21:11:47 +00:00
Jon Evans
0814219513
Clean up some handling of project files in standalone
...
Add control of project creation to Eeschema; change defaults
to enable project creation in both programs. Properly set
project on newly-created schematics so "Save As" doesn't
get triggered repeatedly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9000
2021-08-21 12:09:21 -04:00
Jon Evans
781fb0ad0d
Fix loading of auxiliary projects
...
Projects list wasn't being used properly to track active Prj
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8998
2021-08-19 20:50:41 -04:00
jean-pierre charras
7d8f51dc2e
COLOR_SETTINGS: fix a typo that created incorrect saving of 2 options:
...
m_overrideSchItemColors and m_useBoardStackupColors
2021-08-19 17:39:18 +02:00
Jon Evans
aae0e7e121
Fix build on Linux
...
wxString does not automatically cast to std::string
2021-08-14 09:57:01 -04:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
ef9f041279
Don't show 3D color opacities where they're not supported.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8938
2021-08-14 14:00:17 +01:00
jean-pierre charras
a0da252a6a
SETTINGS_MANAGER::Prj(): add a wxASSERT to allow python script debug before a crash
...
Due to a bug, SETTINGS_MANAGER::Prj() returns a null PROJECT when running a
python script from the python console. this wxASSERT helps debugging.
2021-08-13 11:15:12 +02:00
Jeff Young
d6443d5a2c
Reduce type-casting a bit.
2021-08-04 17:11:35 +01:00
Jeff Young
ae99e627bd
Quiet Coverity.
2021-08-04 13:55:42 +01:00
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
Jon Evans
92174d414c
Ensure pads and zones come up visible by default
...
These visibility layers didn't exist until now
2020-08-16 10:17:20 -04:00
Jon Evans
bd14f8a82a
ADDED: New appearance control widget for PcbNew
...
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls
CHANGED: Simplified object visibilty controls
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
Jon Evans
2fc9c7233d
Add color layer for schematic aux items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4825
2020-08-09 17:39:52 -04:00
Ian McInerney
c458b50fd9
Ensure the environment variables are synchronized between KiCad and Python
...
Before this, the environment variables inside Python wouldn't reflect
the updates to them made after the interpreter was started in Pcbnew.
This will call into Python and set the variables when they are changed,
since Python can't synchronize itself when running in an embedded
interpreter.
Fixes https://gitlab.com/kicad/code/kicad/issues/5071
2020-08-09 19:56:12 +01:00
Jon Evans
43ab43ec9e
Fix a few issues with Close Project
...
A new empty project needs to be reopened for now
Footprint info cache write only works with a project for now
2020-08-09 11:13:50 -04:00
Peter Montgomery
4d460ec073
Delete 3D cache files with GUI settable number of days
...
KiCad stores 3D cache files but never gets rid of any of them.
This patch adds a new function called 'CleanCacheDir()'. Any cache
files older than the passed 'number of days' parameter are deleted.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1928
2020-08-09 10:41:45 +00:00
Jon Evans
79e40cf765
Fix a few issues with Close Projects MR
...
Store list of previously open projects only in kicad.json
Keep all management of open projects in SETTINGS_MANAGER
Also add kicadSettings() for convenience
2020-08-08 16:00:49 -04:00
jean-pierre charras
f46c1ccb32
Fix another incorrect (and useless) conversion of a wxString to and from std::string.
...
This useless conversion breaks non ASCII8 strings.
2020-08-07 19:44:34 +02:00
jean-pierre charras
ea71d9db81
Fix incorrect (and useless) conversion of a wxString to and from std::string.
...
This useless conversion breaks non ASCII8 strings.
2020-08-05 18:34:49 +02:00
jean-pierre charras
a146cd9e2e
JSON_SETTINGS: add more wxLogTrace() calls.
2020-08-03 08:44:34 +02:00
jean-pierre charras
df4226f896
Settings management: try to fix full filename issues when using non ASCII7 chars.
...
The fix convert all std::string storing a path to wxString (unicode support)
wxString were already used at many place to store paths, but not all.
For internal calculations mixing char strings and wide char strings is a recipe
for bug: any missing conversion between UTF8 and wxString breaks paths.
2020-08-02 21:31:03 +02:00
Jon Evans
aae40148dc
Switch to ordered_json and enable ignore_comments parser option
2020-08-02 13:11:16 +00:00
Jeff Young
a58a75366e
Give up on a cross-platform solution to non-ascii filenames.
...
Sometime it might be worth giving another go at it, but for now I
just put conditional compilation in.
Fixes https://gitlab.com/kicad/code/kicad/issues/5024
2020-08-01 19:47:29 +01:00
Jeff Young
689910ab0a
Add missing include.
2020-08-01 15:57:44 +01:00
jean-pierre charras
91e00e14a9
JSON_SETTINGS: partial fix of non ascii7 filenames on Windows.
...
It should work with ASCII8 filenames, but the member
m_filename is probably not always correctly initialized in all cases.
2020-08-01 16:08:39 +02:00
Jeff Young
61c817377f
Support for wchar_t Windows filenames in JSON settings.
2020-07-31 21:01:13 +01:00
Jeff Young
6e4d4401ae
Make sure to translate UTF8 std::string to wchars for wxString.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5024
2020-07-31 14:48:45 +01:00
Mark Roszko
8324cb30b7
Save the wxDisplay index to set the position of windows correctly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4338
2020-07-27 02:53:56 +00:00
Jeff Young
f97c50bfde
Give excluded DRC items their own layer.
...
(And fix a bug with the new mulit-layer zones and rule-based keepouts
at the same time which prevented me from testing it.)
Fixes https://gitlab.com/kicad/code/kicad/issues/4954
2020-07-24 01:28:25 +01:00
Jon Evans
a107f7ce5b
Fix a few issues with legacy project loading
...
- Prevent crash on project tree for "Empty project" item
- Correctly handle loading of legacy projects in tree view
- Fix an issue where legacy projects would not get saved
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4944
2020-07-20 19:39:59 -04:00
Ian McInerney
50b2271f84
Fix missing variable initialization
2020-07-18 23:56:39 +01:00
Jon Evans
5401f06fce
Don't nag when we can't save project settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4164
2020-07-16 22:56:02 -04:00
Jeff Young
7d07e6719f
Make sure eeschema default grid is 50mils.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4835
2020-07-15 13:51:12 +01:00
Jon Evans
b1b9cef5fb
Full-project automatic backup system
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4763
2020-07-09 13:55:19 +00:00
jean-pierre charras
8c15ecf8e4
Gerbview: fix issues when setting the grid color and the worksheet color.
...
The issue for the grid color was due to the fact there are 2 places to
store the color: the color settings and the m_gridColor GERBVIEW_FRAME member.
The worksheet color (color set to RED after a color change in layer render)
is a bit strange: looks like LAYER_GERBVIEW_WORKSHEET and LAYER_WORKSHEET
are both used to draw the worksheet.
2020-07-08 18:49:12 +02:00
Jon Evans
3dd2dc89ad
Fix default values for color theme editor
...
At the time of creating a copy, the defaultColors map
is not initialized, so needs to be initialized from the
copy constructor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4841
2020-07-08 12:19:10 -04:00
Jon Evans
6eca886292
Fix some UTF8 issues with project settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4808
2020-07-05 12:26:14 -04:00
Jon Evans
d143e14694
Fix memory leaks in color theme editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4794
2020-07-03 22:34:41 -04:00
Jon Evans
4dbbe1cf68
Project settings fixes from review
...
- Fix file extension for new project
- Fixes for exceptions on MSW
- Fix some ASAN issues
- Allow SETTINGS_MANAGER to run headless
- Don't flag schematic as modified after schematic setup is closed
- Don't automatically unload projects when LoadProject is called
- Don't unload project if it's the same as the current one
- Make sure to properly init/de-init template field names
2020-07-02 22:08:54 -04:00
Jon Evans
fe5959b625
Remove the schematic and board backup file system
...
Per discussion on the developers list, this old system
no longer provides much value and is seen as annoying
by many users. The new save logic should prevent any
cases of file corruption on save, which was a major
reason for the backup file system existing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2012
2020-07-02 22:08:54 -04:00
Jon Evans
12b4a55ae8
Port Eeschema to new project settings
...
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jon Evans
0e2f9cb1bd
Migrate CvPcb project parameters
2020-07-02 22:08:54 -04:00
Jon Evans
a4fadfcdf2
Begin moving project file load to new system
2020-07-02 22:08:54 -04:00
Jon Evans
a5a19076fd
Move PROJECT storage to SETTINGS_MANAGER
2020-07-02 22:08:54 -04:00
Jon Evans
a7708fa6dc
Add PROJECT_FILE and basic load/unload methods
2020-07-02 22:08:54 -04:00
Jon Evans
bd19c580f4
Add configuration for cross-probing behavior
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
jean-pierre charras
534bcc8db0
very minor fix: change the default value user grid size to 10mils
...
Previously, was 12.5 mils, acceptable for pcbnew but not for eeschema.
Now set to 10 mils.
2020-06-25 10:17:27 +02:00
Ian McInerney
9d78aa604f
Force OSX to automatically scale the canvas on legacy settings read
...
As of ab83c862
, the canvas scaling setting is now used on OSX
(before it was ignored). Legacy settings would have this set to 1.0,
which would not automatically scale the canvas and break on Retina
displays. OSX auto detection works well enough in wx 3.0, so we
can use it now.
2020-06-15 00:30:52 +00:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
Seth Hillbrand
810f668d45
Fix compile error
...
Reading integer config values are implicitly cast and need to be
specified.
2020-06-14 06:53:12 -07:00
Jeff Young
c48f4272f3
Collapse a level out of the zoom settings.
...
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Jeff Young
fc44506fe1
Give up on enforcing non-defined-internal-units.
...
It results in trade-offs in packaging and/or conidtional compilation
which are worse than the disease.
2020-06-13 22:44:16 +01:00
Jeff Young
f84406009b
Push a couple of layers of indirection out of grid settings.
2020-06-13 11:35:56 +01:00
Ian McInerney
60915fbc76
Default canvas scale setting to automatic on OSX
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4652
2020-06-12 18:39:08 +01:00
Jon Evans
daad2824c5
Add ability to skip JSON writes if the params aren't modified
2020-05-30 18:07:24 -04:00
Jeff Young
9f2be3714f
Add unresolved variable testing for worksheet items.
2020-05-28 17:36:22 +01:00
Jon Evans
40dc7a5eef
Update legacy migration of common settings for mousewheel pan
2020-05-26 21:43:59 -04:00
Jon Evans
a52435bbb0
ADDED: New mouse settings panel, expanded mouse settings
...
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Ian McInerney
4ecf99e7c8
Give the footprint viewer a toolbar and remove the options dialog
...
CHANGED: Cvpcb fpviewer and the pcbnew fpviewer no longer have an options dialog
ADDED: Add a side toolbar to the pcbnew footprint viewer (and the measure tool)
This also cleans up some of the settings structs in the viewers, since
it was somewhat confusing before.
Fixes https://gitlab.com/kicad/code/kicad/issues/2205
2020-05-24 11:58:33 +01:00
Jon Evans
d599648ec7
ADDED: Enable color themes for schematic printing
2020-05-16 13:19:43 -04:00
jean-pierre charras
3f8d11144e
Avoid crash when reading a json config file having an unexpected parameter value.
...
Now print the json path in debug mode instead of crashing.
In release mode, skip the parameter (the default value is still used)
Fixes #4451
https://gitlab.com/kicad/code/kicad/issues/4451
2020-05-15 15:02:40 +02:00
Jeff Young
3c3984a6fc
Generalize default footprint fields.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2289
2020-05-08 23:30:33 +01:00
Jeff Young
001a50bf14
Moved PANEL_COLOR_SETTINGS from buttons to swatches.
...
This allows us to correctly display non-100%-opacity colors (ie:
over the correct background color).
2020-05-06 19:02:21 +01:00
Jon Evans
9916f24fab
Split out footprint editor color settings
...
Migrate COLOR_SETTINGS 0->1 to remove fpedit section
Migrate FOOTPRINT_EDITOR_SETTINGS 0->1 to use new theme if created
Remove COLOR_CONTEXT that is no longer needed
2020-05-05 21:46:00 -04:00
Jon Evans
d00df0169f
A few tweaks to settings migration infrastructure
2020-05-05 21:46:00 -04:00
Jon Evans
c0a345882e
Fix schema version for APP_SETTINGS_BASE derivatives
2020-05-05 21:46:00 -04:00
Jon Evans
f7ebf2af5e
Add separate color setting for bus junctions
...
Fix plotting and printing to use bus color when
connectivity detects that the junction is on a bus.
Fixes #4098
2020-04-22 21:55:48 -04:00
Tomasz Wlostowski
ee70c6dd5b
NESTED_SETTINGS: allow to create/load without a parent settings object. Used for test/mocking
2020-04-15 13:00:48 +02:00
Jeff Young
f4e22a9264
Add ability to override individual item colors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4167
2020-04-09 17:17:27 +01:00
Jeff Young
317e98b344
Simplify user model for editing color themes.
2020-04-08 22:34:56 +01:00
Jeff Young
5b70856a85
Change default sheet background color to transparent.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4166
2020-04-06 12:31:59 +01:00
jean-pierre charras
b1b8a32078
fix a few Coverity warnings and compil minor warnings.
2020-04-03 09:54:47 +02:00
Jeff Young
a76ddb52a0
Add sheet borders and backgrounds to Edit Text & Graphics.
...
Also moves sheet border and sheet background colours to preferences
so it's clearer they're just for newly-created items.
Fixes https://gitlab.com/kicad/code/kicad/issues/4144
2020-04-02 14:01:30 +01:00
Jeff Young
c4aed3a8de
Add user-configurability of the LibEdit axes color.
2020-03-24 19:00:25 +00:00
Jon Evans
8cb8d55843
Remove unnecessary exception handling in settings
...
Use optionals instead where a value can be absent
Fixes #4024
2020-03-07 16:06:33 -05:00
Ian McInerney
a2ad9d67ba
Expose more version strings from CMake
...
Let cmake generate the needed version strings, so we don't
have to spend program time doing it. This simplifies the
settings manager versioning.
Also, convert some file line endings to UNIX from Windows.
A more robust fix for https://gitlab.com/kicad/code/kicad/-/issues/4015 .
2020-03-07 18:43:24 +00:00
Jon Evans
1e61668cee
Make GetSettingsVersion handle extra version appends better
...
Fixes #4015
2020-03-07 09:33:35 -05:00
Jeff Young
fe3e0307d8
Move sheet name and filename to SCH_FIELD architecture.
...
Only internal storage architecture has changed (so far).
2020-03-06 16:23:44 +00:00
Jon Evans
8660b4c144
ADDED: New color theme editor and multi-theme support
2020-03-06 00:01:03 -05:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00